15、已知a=3,b=4,c=5,则逻辑表达式!(a>b) && !c||1的值为1。

【解析】:0&&0||1=1,&&的优先级比||的高


21、gets函数用来输入一个字符串。(正确)

【解析】:注意看清题目,是一个字符串,没说一个字符


22、函数调用结束后,静态局部变量所占用的空间被释放。(错误)

【解析】:第一,对于动态存储方式,在函数调用开始时分配动态存储空间,函数结束时释放这些空间,例如传值的函数调用,int x=3,y=4; fun(x,y)//函数里                          x=4,y=3 ;函数调用结束后释放,main函数仍然是x=3,y=4
                第二,在静态存储区内分配的存储单元,在程序整个运行期间都不释放,若非必要,尽量不要静态变量


26、一个C程序总是从_____开始执行。 答案:main() 或 main函数 或 主函数 或 主函数main

【解析】:main()主函数,多加了一个括号。。。



29、int i=8,j=10,m,n;

        m=++i;

        n=j++;

问语句执行后m=_____,n=_____。答案:9 10

【解析】:注意前加和后加的区别


32、表示"x≥y≥z"的C表达式是_____。答案: x>=y&&y>=z

【解析】:我的答案:(z<=y)&&(y<=x),答案稍微有点变化都不行。。。



34.若输入字符串:abcde

while((ch=getchar())=='e')

    printf("*");

【解析】:注意不是gets,是getchar!!!只能输入一个字符"a"。


39、将数组a的首地址赋给指针变量p的语句是_____。正确答案: p=a;

【解析】:我的答案:p=a[0];


40.设有以下共用体类型说明和变量定义,则变量c在内存所占字节数是__20___。

        union stud

        {

            short int num;

            char name[10];

            float score[5];

            double ave;

        }c;

【解析】:变量所占字节数:short int=2,long int=4,char=1,float=4,double=8;

所以变量c所占字节数=num(2)+name[10] (10)+score[5] (4*5=20)+double(8)=40;

但是,注意是共同体,顾名思义,所有成员共享同一存储空间,则占20个字节(取成员中所占字节数最大的值)


41、功能:判断一个整数w的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。

        #include
        #include
        int fun(int w)
        {
            int k,s=0;
            do {
                _____1_____
                _____2_____
            }
            while(_____3_____)
                if(_____4_____)
                    _____5_____
                else_____6_____
            return k;
        }


【解析】:                       我的答案                                                      答案

    1                        s+=(w%10)*(w%10);(错了)                     s=s+(w%10)*(w%10);                                                    

    2                                 w=w/10;                                                    w=w/10;

    3                                    w>0   (错了)                                          w!=0

    4                                 s%5==0                                                    s%5==0

    5                                   k=1;                                                           k=1;

    6                                   k=0;                                                           k=0;


42、功能:统计出若干个学生的平均成绩,最高分以及得最高分的人数。

        例如:输入10名学生的成绩分别为92 87 68 56 92 84 67 75 92 66,则输出平均成绩为77.9,最高分为92,得最高分的人数为3人。

        #include
        float max=0;
        int j=0;
        float fun(float array[],int n)
        {
            int i;
            float sum=0,ave;
            _____1_____
            for(_____2_____)
            {
                if(_____3_____)
                    _____4_____
                _____5_____
            }
            _____6_____
            for(_____7_____)
                if(_____8_____)
                    _____9_____
            _____10_____
        }
        ......
        void main()
        {
            float  a[10],ave;
            int i=0;
            for(i=0;i<10;i++)
                scanf("%f",&a[i]);
            ave=fun(a,10);
            printf("ave=%4.1f\n",ave);
            printf("max=%4.1f\n",max);
            printf("Total:%d\n",j);
            TestFunc();
        }

【解析】:                       我的答案                                                         答案

    1                                max=array[j];(写错了)                              max=array[0];                                                   

    2                                 i=0;i<n;i++                                               i=0;i<n;i++

    3                                  array[i]>max(错了)                             max<array[i]

    4                                 max=a[i] (写错了数组名。。)                 max=array [i];

    5                                  sum+=array[i];      (错了)                     sum=sum+array [i];

    6                                  ave=1.0*sum/n;     (错了)                    ave=sum/n;

    7                                     i=0;i<n;i++                                                 i=0;i<n;i++

    8                                 array[i]==max(多写了分号。。)                 array [i]==max

    9                                      j++   (少写了分号。。)                     sum=sum+array [i];

   10                                   return ave;(错了)                                      return(ave);  


点赞(0)
 

0.0分

1 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论