2021智慧树知到(山东理工大学)《C语言编程新思路》章节测试答案共14章(3)
D、for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来
答案:D
4、以下下面程序的运行结果是()。 #include <stdio.h> int main() { int a=1,b=2,c=2,t; while(a<b<c) {t=a;a=b;b=t; c--; } printf(“%d,%d,%d”,a,b,c); }
A、1,2,0
B、2,1,0
C、1,2,1
D、2,1,1
答案:A
5、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是()。 for (i=5;i;i--) for (j=0;j<4;j++){...}
A、20
B、25
C、24
D、30
答案:A
6、下面程序的输出结果是()。 #include <stdio.h> int main() { int i,j; for(i=0,j=10;i<j;i+=2,j--) ; printf("%d %d",i,j); }
A、4 8
B、6 7
C、8 6
D、10 5
答案:C
7、下面关于switch语句和break语句的结论中,说法正确的是()。
A、break语句是switch语句的一部分
B、在switch语句中,可以根据需要使用或者不使用break语句
C、在switch语句中,必须使用break语句
D、break语句是for语句的一部分
答案:B
8、以下不是死循环的语句是()。
A、for(;;x+=i)
B、while(1) {x++;}
C、for(i=10;;i--) sum+=i;
D、for( ;(c=getchar())!=’\n’;) printf(“%c”,c);
答案:D
9、与语句头while(!x)等价的语句头是()。
A、while(x==0)
B、while(x!=0)
C、while(x!=1)
D、while(~x)
答案:A
10、在while(x)语句中的x与下列条件表达式等价的是()。
A、x==0
B、x!=0
C、x!=1
D、x=1
答案:B
11、下面程序的功能是:在输入的一批正数中求最大者,输入0结束循环,选择()填空。 #include <stdio.h> int main() { int a,max=0; scanf("%d",&a); while() { if (max<a) max=a ; scanf ("%d",&a); } printf("%d",max); }
A、a==0
B、a
C、!a==1
D、!a
答案:B
12、下面程序的功能是从键盘输入一行字符,从中统计大写字母和小写字母的个数,选择() 填空。 #include <stdio.h> int main() { int m=0,n=0; char c; while (() != '\n') { if (c>='A' && c<='Z') m++; if (c>='a' && c<='z') n++; } printf("m=%d,n=%d\n",m,n); }
A、c=getchar()
B、getchar()
C、c==getchar()
D、scanf("%c",&c)
答案:A
13、下面程序的输出结果是()。 #include <stdio.h> int main() { int k=0,m=0,i,j; for (i=0; i<2; i++) { for (j=0; j<3; j++) k++ ; k-=j ; } m = i+j ; printf("k=%d,m=%d",k,m) ; }
A、k=0,m=3
B、k=0,m=5
C、k=1,m=3
D、k=1,m=5
答案:B
14、下面程序的输出结果是()。 #include <stdio.h> int main() { char c='A'; int k=0; do { switch (c++) {case 'A': k++; break; case 'B': k--; case 'C': k+=2; break; case 'D': k%=2; continue; case 'E': k*=10; break; default: k/=3; } k++; } while (c<'G'); printf ("k=%d",k); }
A、k=3
B、k=4
C、k=2
D、k=0
答案:B
15、下面程序的运行结果是()。 #include <stdio.h> int main() { int i; for(i=1;i<=5;i++) { if(i%2) printf(“*”); else continue; printf(“#”); } printf(“$\n”); }
A、*#*#*$
B、***$
C、*#*#*#$
D、*#*#$
答案:C
16、下面程序段的运行结果是()。 int x=3; do { printf(" %d\n",x -=2);} while(!(--x));
A、输出的是 1
B、输出的是1和-2
C、输出的是3和0
D、是死循环
答案:B
17、下面程序段的运行结果是()。 x=y=0; while(x<15) y++,x+=++y; printf("%d,%d",y,x);
A、20,7
B、6,12
C、20,8
D、8,20
答案:C
18、下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择()填空: #indude <Stdio.h> int main() {int a,b,t; scanf("%d%d",&a,&b); while( 【1】 ) {if(a>b) {t=a;a=b;b=t;} printf("%d,%d",a,b); scahf("%d%d",&a,&b);人 }
A、!a=b
B、a!=b
C、a= =b
D、a=b
答案:B
19、对for(表达式1;;表达式3)可理解为()。
A、for(表达式1; 0;表达式3)
B、for(表达式1;1;表达式3)
C、for(表达式1;表达式1;表达式3)
D、for(表达式1;表达式3;表达式3)
答案:B
20、若i为整型变量,则以下循环执行次数是()。 for (i=2;i==0;) printf("%d",i-- );
A、无限次
B、0次
C、1 次
D、2次
答案:B
第六章测试
1、在C语言中,引用数组元素时,其数组下标的数据类型允许是()。
A、整型常量
B、整型表达式
C、整型常量或整型表达式
D、任何类型的表达式
答案:C
2、以下程序的输出结果是()。 int main() { int a[5]={1,2,3}; printf(“%d\n”,a[3]); }
A、0
B、1
C、3
D、随机值
答案:A
3、以下程序的输出结果是()。 int main(){ int i, k,a[10]={1,5,3,4,2,8,9,6,7,0}; for (i=0,k=0; i<10; i++) if(a[k]<a) k=i; printf("%d",k);}
A、5
B、6
C、7
D、8
答案:B
4、以下程序的输出结果()。 int main(){int i,j,s=0,a[2][3]={1,2,3,4,5,6};for (i=0; i<2; i++) for (j=0; j<3; j++) s=s+a[j];printf(“%d”,s);}
A、10
B、15
C、20
D、21
答案:D
5、有以下程序运行后的输出结果是()。 int main(){int aa[4][4]={{1,2,3,4}, {5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,s=0;for(i=0;i<4;i++)s+=aa[1];printf(“%d ”,s);}
A、11
B、19
C、13
D、20
答案:B
6、数组定义为 int a[3][2]={1,3,4,6,8,10},数组元素()的值为6。
A、a[3][2]
B、a[1][1]
C、a[2][1]
D、a[2][2]
答案:B
7、定义 int a[10][11],则数组a有()个元素。
A、11
B、90
C、110
D、132
答案:C
8、以下不能对二维数组a进行正确初始化的语句是() 。
A、int a[2][3]={0};
B、int a[][3]={{1,2},{0}};
C、int a[2][3]={{1,2},{3,4},{5,6}};
D、int a[][3]={1,2,3,4,5,6};
答案:C
9、若有定义语句:int a[3][5];,按在内存中的存放顺序,a数组的第8个元素是()。
A、a[0][4]
B、a[1][2]
C、a[0][3]
D、a[1][4]
答案:B
10、若有定义 int a[10];则对a数组元素的正确应用是()。
A、a[10.0]
B、a[1+2]
C、a(10)
D、a[10]
答案:B
11、以下能对一维数组a进行正确初始化的语句是()。
A、int a[10]=(0,0,0,0,0)
B、int a[10]={}
C、int a[]={0};
D、int a[10]=10*1;
答案:C
12、以下对二维数组a的正确说明是()。
A、int a[3][];
B、floatf a(3,4);
C、double a[1][4];
D、float a(3)(4);
答案:C
13、若有说明: int a[3][4]={0};则下面正确的叙述是()。
A、只有元素a[0][0]可得到初值0
B、此说明语句不正确。
C、数组a中各元素都可得到初值,但其值不一定为0。
D、数组a中每个元素均可得到初值0
答案:D
14、若有定义:int s[3][4]={{1,2},{0},{3,4,5}};则s[2][1]的值为()。
A、3
B、4
C、0
D、1
答案:B
15、若有定义int a[2][3];则合法引用数组元素的是()。
A、a[0][1/2]
B、a[1][2]
C、a[2][3]
D、a[1][3]
答案:B
16、在以下数组定义中,错误的是()。
A、int a[2][]={1,2,3,4,5};
B、int a[][2]={{0},{1}};
C、int a[2][2]={{1,2},{3}}
D、int a[][2]={1,2,3,4};
答案:A
17、以下程序段执行后p的值是()。int a[3][3]={3,2,1,3,2,1,3,2,1}; int j,k,p=1;for(j=0;j<2;j++)for(k=j;k<3;k++)p*=a[j][k];
A、108
B、18
C、12
D、2
答案:C
18、以下程序段执行后p的值是()。 int a[3][3]={3,2,1,3,2,1,3,2,1}; int j,k,p=1;for(j=0;j<2;j++)for(k=j;k<4;k++)p*=a[j][k];
A、108
B、18
C、12
D、2
答案:A
19、以下程序段运行后s的值是()。 int a[3][3]={1,2,3,4,5,1,2,3,4};int i,j,s=1;for(i=0;i<3;i++)for(j=i+1;j<3;j++)s+=a[j];
A、6
B、120
C、7
D、240
答案:C
20、下面程序段的运行结果是()。 int m[]={5,8,7,6,9,2},i=1;for(i=0;i<6;i++) {if(i % 2 !=0) m+=10; }for(i=0;i<6;i++) printf("%d ",m);
A、5 18 7 16 9 12
B、15 18 17 16 19 12
C、15 8 17 6 19 2
D、5 8 7 6 9 2
答案:A
第七章测试
1、变量的指针,其含义是指变量的()。
A、值
B、名称
C、地址
D、另一个名称
答案:C
2、以下叙述错误的是()。
A、指针变量可以与整数进行加、减算术运算
B、指针变量中存放的是地址值
C、指针变量不占用存储空间
D、多个同类型的指针变量可以指向同一个普通变量。
答案:C
3、已知指针变量P的指向如图1所示,则表达式*P++的值是()。
A、20
B、30
C、21
D、31
答案:A
4、已知指针变量P的指向如图1所示,则表达式*++P的值是()。
A、20
B、30
C、21
D、31
答案:B
5、已知指针变量P的指向如图1所示,则表达式++(*P)的值()。
A、20
以上相关的更多内容请点击“智慧树 ”查看,该题目的答案为网上收集整理仅供参考!
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
- 下列不属于马汉的著作的是()。
- 根据《山东省安全生产条例》,()等
- 题目:我们党是用马克思主义武装起
- 【单选题】下列关于莫奈《日出·印
- 1935年12月,党召开了___,确立了建
- 我国领土最东端所在的省级行政区是
- 平衡计分卡是很有价值的管理工具,
- 【单选题】以下有关法治与德治关系
- 高质量发展,必须坚持()改革方向。
- 替代种植是一种针对毒品原植物产区
- 《医疗保障基金使用监督管理条例》
- 泰坦尼克号沉没后,SOS才被广泛接受
- 有哺乳婴儿()名以上的单位,应逐步
- 省委十届二次全会指出,要准确把握
- 1978年12月18日至22日,召开了开创
- 为了加强安全生产工作,防止和减少
- 2021青骄第二课堂中职一(毒品大拿
- ()应当对其产生的放射性废气进行处
- 下列关于火灾分类的说法,不正确的
- 根据《中华人民共和国民法典》规定
- 只有把马克思主义基本原理同()、同
- 除了激光武器外,激光在军事应用方
- 省委十四届十次全会决定召开党浙江
- 【单选题】“我能站在你的角度想你
- 现状调查是为了()。
- 根据《安全生产许可证条例》,企业
- 我们党新时代的强军目标是:建设一
- 《会计改革与发展“十四五”规划纲
- 在《中华人民共和国电信条例》第五
- 党的纪律处分工作应当坚持什么原则