2、字符串"\"ABC"\"所占内存字节的长度是( )。正确答案:B

 A. 11    B. 8    B. 5    B. 7

【解析】:\,",A,B,C,",\,\0共8个字节长度。


3、用scanf函数输入数据,使得x=9.6,y=81.73,选择正确的输入语句( )。正确答案:D

 A. scanf("x=%3f",x); scanf("y=%5f",&y);

 B. scanf("x=%f",&x); scanf("y=%f",y);

 C. scanf("x=%3.1f",&x); scanf("y=%f",&y);   D. scanf("x=%3.1f",&x); scanf("y=%f",&y);

【解析】:C、D选项是一样的,事实上两个都错了。scanf后面的参数要带上取地址符&;并且scanf输入数据时,可以指定数据的宽度,但不可以指定数据的精度,即小数点后几位。


10、设有如下定义:

struct sk {
    int a;
    float b;
}
data,*p;

若要使p指向data中的a域,正确的赋值语句是( )。正确答案:C

 A. p=(struct sk*) data.a;   B. *p=data.a;   C. p=&data.a;   D. p=&data,a;

【解析】:p为指向struct sk数据类型的指针,而data.n是其中一个元素,他们类型不同,所以要强制&data.n转换成结构体类型的指针才可以赋值。按这个思路,应该是选A。


13/14、getchar、putchar函数的原型(函数说明)在stdio.h内。(正确)


17、for循环语句的三个表达式不能同时省略。(错误)

【解析】:“for循环中,“初始化语句”、“条件语句”和“控制语句”都可以省略,但是其间的分号不能省略。同时,省略“条件语句”时,在for语句{}中必须包含跳出语句控制程序在某个条件满足时跳出for循环,否则将形成死循环 ”


24、在C语言中,主函数可以调用其它函数,同时,其它函数也可以调用主函数。(错误)

【解析】:一个C程序可由一个主函数和若干个其他函数构成,由主函数调用其他函数,其他函数也可以互相调用,同一个函数可以被一个或多个函数任意调用任意多次


27、

int x;
x=-3+4%-5*3;

则x的值为_。正确答案: 9

【解析】:*/%优先级相当,且运算方向是从左至右。4%-5=4,4*3=12;-3+12=9。


33、为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的_语句配对。正确答案: if


37、静态变量和外部变量的初始化是在_阶段完成的,而自动变量的赋值是在_时进行的。正确答案: 编译空  函数调用

【解析】:静态变量和外部变量的初始化是在 编译 阶段完成的,而自动变量的赋值是在 程序运行 时进行的


39、将函数funl的入口地址赋给指针变量p的语句是_。正确答案: p=funl;

【解析】:举例:int max(int a,int b);  int p;   p=max;   于是有语句:(p)(x,y);  等价于max(x,y);


42、功能:计算出k以内最大的10个能被13或17整除的自然数之和。(k<3000)

#include#includeint fun(int k)
{
    int a=0,b=0;
    while(_____1_____)
    {
        if(_____2_____)
        {
            _____3_____
            _____4_____
        }
        _____5_____
    }
    _____6_____
}
void main()
{
    int m;
    void TestFunc();
    printf("Enter m: ");
    scanf("%d",&m);
    printf("\nThe result is %d\n",fun(m));
    TestFunc();
}
void TestFunc()
{
    FILE *IN,*OUT;
    int s;
    int t;
    int o;
    IN=fopen("in.dat","r");
    if(IN==NULL)
    {
        printf("Read File Error");
    }
    OUT=fopen("out.dat","w");
    if(OUT==NULL)
    {
        printf("Write File Error");
    }
    for(s=1;s<=5;s++)
    {
        fscanf(IN,"%d",&t);
        o=fun(t);
        fprintf(OUT,"%d\n",o);
    }
    fclose(IN);
    fclose(OUT);
}

Snipaste_2023-08-02_21-11-49.jpg

【解析】:0和正整数都是自然数,为什么k>=2?至于b<10,当b=9时,执行完a=a+k;后,b++为10,不满足b<10退出while循环;若有"="号,就输出了11个所有自然数之和了


点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论