7、在所有函数之前,定义一个外部变量的形式为static int x;那么错误的叙述是( )。正确答案:A

        A. x的值不可以永久保留

        B. 将变量存放在静态存储区

        C. 使变量x可以由系统自动初始化为0

        D. 使x只能被本文件中的函数引用

【解析】:x会存放在全局静态区;x会被编译器自动初始化为0;程序停止时,x就不被保存了。static: 在函数内部,表示该变量的值在各个调用期间一直保持延续性。在函数外,表示只能对本文件可见。


14、C语言的输入、输出功能是由系统提供的输入、输出语句实现的。(错误)

【解析】:C语言的输入、输出功能是由系统提供的库函数实现的。应该是错在这儿了吧


22、函数strlen("ASDFG\n")的值是7。(错误)

【解析】:

1 strlen求的是字符串的长度,也就是从起始到\0的字符个数,不包括\0.
2 对于写成常量字符串形式的"ASDFG\n"在最后有一个隐藏的\0.
3 在这里\n是C语言字符表达的转义字符形式,代表换行。也就是说,\n是一个字符,而不是\和n两个字符。
4 综上,这个字符串包含的字符为A S D F G \n一共6个,于是strlen的结果就是6.


23、在程序中的第二个函数之后定义了某全局变量,则该程序的所有函数均可使用它。(错误)

【解析】:既然是在第二个函数之后定义的,那肯定就是局部变量了,局部变量只能总在定义的那个函数里不能用在其他


41、功能:在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出矩阵第一行与第三行元素之和,设计fun()函数求这个和。

        #include
        void main()
        {
            int i,j,s,a[3][3];
            int fun(int a[3][3]);
            void TestFunc();
            for(i=0;i<3;i++)
            {
                for(j=0;j<3;j++)
                    scanf("%d",&a[i][j]);
            }
            s=fun(a);
            printf("Sum=%d\n",s);
            TestFunc();
        }
        int fun(int a[3][3])
                {
            int sum;
            int i,j;
            _____1_____
            for(_____2_____)
                for(_____3_____)
                    _____4_____
            _____5_____
        }

【解析】:                       我的答案                                                         答案

    1                                sum=0;                                                          sum=0;                                              

    2                               i=0;i<3;i+=2 (错了)                                 i=0;i<3;i+=2

    3                                 j=0;j<3;j++                                                 j=0;j<3;j++

    4                                 sum=sum+a[i][j];                                   sum=sum+a[i][j];   

    5                              return sum;                                                    return sum; 


42、   功能:求出二维数组外围元素之和,作为函数值返回。二维数组的值在主函数中赋予。

        #define M 4
        #define N 5
        #include
        int fun(int a[M][N])
        {
            int s=0;
            int i,j;
            for(_____1_____)
                _____2_____
            for(_____3_____)
                _____4_____
            _____5_____
        }
        ......
        void main()
        {
            int a[M][N]={{1,3,5,7,9},{2,4,6,8,10},{2,3,4,5,6},{4,5,6,7,8}};
            int y;
            y=fun(a);
            printf("s=%d\n",y);
            TestFunc();
        }

【解析】:                       我的答案                                                             答案

    1                    i=0,j=0;i<M,j<N;I++,j++(写错了)                          i=0;i<M;i++                                                  

    2                 if(i==1||i==M-1)       s=s+a[i][j]; (写错了)               s=s+a[i][0]+a[i][N-1];

    3                  i=1,j=0;i<M-1,j<N;i++,j++(写错了)                        j=1;j<N-1;j++

    4                  if(j==1||j==N-1)       s=s+a[i][j];(写错了)                s=s+a[0][j]+a[M-1][j];

    5                                  return s;                                                       return s;


点赞(0)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论