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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复