1、C语言程序设计形考任务一、选择题(共20分,每小题2分)题目1当处理特定问题时的循环次数已知时,通常采用的语句是( )。选择一项:a. for b. while c. do-while d. switch 正确答案是:for题目2在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成的语句是( )。选择一项:a. for b. if c. do d. while 正确答案是:if题目3for语句能够被改写成的语句是( )。选择一项:a. 复合 b. if c. switch d. while 正确答案是:while题目4下面循环语句执行结束后输出
2、的i值为( )。for(int i=0; in/2) coutiendl; break;选择一项:a. n/2 b. n/2+1 c. n/2-1 d. n-1 正确答案是:n/2+1题目5在下面循环语句中,内层循环体S语句的执行总次数为( )。for(int i=0; in; i+) for(int j=i; jn; j+) S;选择一项:a. n2 b. (n+1)/2 c. n(n-1)/2 d. n(n+1)/2 正确答案是:n(n+1)/2题目6在下面的do循环语句中,其循环体被执行的次数为( )。int i=0; do i+; while(i*i10);选择一项:a. 4 b. 3
3、 c. 5 d. 2 正确答案是:4题目7在下面的一维数组定义中,有语法错误的选项是( )。选择一项:a. int a=1,2,3; b. int a10=0; c. int a; d. int a5; 正确答案是:int a;题目8在下面的二维数组定义中,语法正确的选项是( )。选择一项:a. int a5; b. int a5; c. int a3=1,3,5,2; d. int a(10); 正确答案是:int a3=1,3,5,2;题目9假定一个二维数组的定义语句为“int a34=3,4,2,8,6;”,则元素a11的值为( )。选择一项:a. 2 b. 4 c. 6 d. 8 正确
4、答案是:8题目10假定一个二维数组的定义语句为“int a34=3,4,2,8,6;”,则元素a21的值为( )。选择一项:a. 0 b. 4 c. 8 d. 6 正确答案是:0二、判断题(共20分,每小题1分。叙述正确则回答“是”,否则回答“否”)题目11在执行“typedef int DataType;”语句后,标识符DataType与保留字int具有完全相同的含义和作用。选择一项:对 错 正确的答案是“对”。题目12在switch语句中,每个case和冒号之间的表达式只能是常量。选择一项:对 错 正确的答案是“对”。题目13为了结束本层循环类语句或switch语句的执行过程,在语句体中需
5、要使用break语句。选择一项:对 错 正确的答案是“对”。题目14在程序中执行到break语句时,将结束所在函数的执行过程,返回到调用该函数的位置。选择一项:对 错 正确的答案是“错”。题目15在程序执行完成任一个函数调用后,将结束整个程序的执行过程,返回到操作系统或C语言集成开发环境界面窗口。选择一项:对 错 正确的答案是“错”。题目16假定一维数组的定义为“char* a8;”,则该数组所含元素的个数大于8。选择一项:对 错 正确的答案是“错”。题目17假定二维数组的定义为“int a35;”,则该数组所占存储空间的字节数为60。选择一项:对 错 正确的答案是“对”。题目18假定二维数组
6、的定义为“char aMN;”,则该数组所含元素的个数为M+N。选择一项:对 错 正确的答案是“错”。题目19假定二维数组的定义为“double aMN;”,则每个数组元素的行下标取值范围在0M-1之间。选择一项:对 错 正确的答案是“对”。题目20假定二维数组的定义为“double aMN;”,则每个数组元素的列下标取值范围在0N之间。选择一项:对 错 正确的答案是“错”。题目21存储一个空字符串需要占用0个字节的存储空间。选择一项:对 错 正确的答案是“错”。题目22使用“typedef char BB1050;”语句定义标识符BB为含有10行50列的二维字符数组类型。选择一项:对 错 正
7、确的答案是“对”。题目23存储字符a需要占用1个字节的存储空间。选择一项:对 错 正确的答案是“对”。题目24空字符串的长度为1。选择一项:对 错 正确的答案是“错”。题目25字符串a:xxk数据的长度为13。选择一项:对 错 正确的答案是“错”。题目26为了存储一个长度为n的字符串,所使用的字符数组的长度至少为n+1。选择一项:对 错 正确的答案是“对”。题目27strcmp函数用于进行两个字符串之间的比较。选择一项:对 错 正确的答案是“对”。题目28strcpy函数用于把一个字符串拷贝到另一个字符数组空间中。选择一项:对 错 正确的答案是“对”。题目29一个二维字符数组a1020能够最多
8、存储9个字符串。选择一项:对 错 正确的答案是“错”。题目30一个二维字符数组a1020能够存储的每个字符串的长度不超过20。选择一项:对 错 正确的答案是“错”。三、填空题:写出下列每个程序运行后的输出结果(共40分,每小题4分)题目31#include void main() int x=5; switch(2*x-3) case 4: printf(%d ,x); case 7: printf(%d ,2*x+1); case 10: printf(%d ,3*x-1); break; default: printf(%s,defaultn); 11 14题目32#include voi
9、d main() int i,s=0; for(i=1;i=5;i+) s+=i*i; printf(s=%dn,s); 正确答案是:s=55题目33#include void main() int i, s1=0, s2=0; for(i=0;i10;i+) if(i%2) s1+=i; else s2+=i; printf(%d %dn,s1,s2); 正确答案是:25 20题目34#include void main() int n=6,y=1; while(n) y*=n-; printf(y=%dn,y); 正确答案是:y=720题目35#include const int M=20
10、; void main() int i,c2,c3,c5; c2=c3=c5=0; for(i=1; i=M; i+) if(i%2=0) c2+; if(i%3=0) c3+; if(i%5=0) c5+; printf(%d %d %dn,c2,c3,c5); 正确答案是:10 6 4题目36#include void main() int i,s; for(i=1,s=0;i10;i+) if(i%3=0) continue; s+=i; printf(%dn,s); 正确答案是:27题目37#include void main() int a8=12,39,26,41,55,63,72,40; int i, i1=0, i2=0; for(i=0;i8;i+) if(ai%2=1) i1+; else i2+; printf(%d %dn,i1,i2); 正确答案是:4 4题目38#include int a10=4,5,6,15,20,13,12,7,8,9; void main() int i,s4=0; for(i=0; i10; i+) switch(ai%4) case 0: s0+=ai;break; case 1: s1+=ai;break; case 2: s2+=ai;break;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1