365文库
登录
注册
2

计算机二级C语言测试题(含答案)

138阅读 | 5收藏 | 13页 | 打印 | 举报 | 认领 | 下载提示 | 分享:
2
计算机二级C语言测试题(含答案)第1页
计算机二级C语言测试题(含答案)第2页
计算机二级C语言测试题(含答案)第3页
计算机二级C语言测试题(含答案)第4页
计算机二级C语言测试题(含答案)第5页
计算机二级C语言测试题(含答案)第6页
计算机二级C语言测试题(含答案)第7页
计算机二级C语言测试题(含答案)第8页
计算机二级C语言测试题(含答案)第9页
计算机二级C语言测试题(含答案)第10页
计算机二级C语言测试题(含答案)第11页
计算机二级C语言测试题(含答案)第12页
计算机二级C语言测试题(含答案)第13页
福利来袭,限时免费在线编辑
转Pdf
right
1/13
right
下载我编辑的
下载原始文档
收藏 收藏
搜索
下载二维码
App功能展示
海量免费资源 海量免费资源
文档在线修改 文档在线修改
图片转文字 图片转文字
限时免广告 限时免广告
多端同步存储 多端同步存储
格式轻松转换 格式轻松转换
用户头像
思念 上传于:2024-05-30
(第一章) 1. 以下关于算法的描述不正确的是__________。 A. 任何一个问题,它的实现算法是唯一的 B. 描述算法常用的表达工具有流程图、N-S图、PAD图、伪码等 C. 算法的最终实现是计算机程序 D. 正确性和清晰易懂性是一个好算法的基本条件 2.下面是一个加法程序,指出存在的逻辑错误和语法错误。 /* 求整数a和b的和 */ main( ) { int a,b; a=8; b=2000; print("%d
",a-b); } 3.在每个C程序中都必须包含有这样一个函数,该函数的函数名为__________。 A.main B. MAIN C. name D. function 4.以下叙述不正确的是__________。 A.C程序书写格式规定,一行内只能写一个语句 B.main()函数后面有一对花括号,花括号内的部分称为函数体 C.一个C程序必须有main()函数 D.C规定函数内的每个语句以分号结束 5.以下各标识符中,合法的用户标识符为_________。 A.A#C B.mystery C.main D.ab* 6.已知求解某问题的算法如下: ⑴ 输入a、b、c三个数。 ⑵ 将a和b比较,较大者放在a中,小者放在b中。 ⑶ 将a和c比较,较大者放在a中,小者放在c中。 ⑷ 将b和c比较,较大者放在b中,小者放在c中。 ⑸ 依次输出a、b、c。 请根据上述算法描述,把算法的功能表达出来。 【答案】把任意输入的三个数a、b、c按降序排列的顺序输出。 7.一个C语言程序可以包括多个函数,程序总是按照如下_________所描述的方式执行当前的程序。 A.从本程序的main()函数开始,到本程序文件的最后一个函数结束。 B.从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C.从main()函数开始,到main()函数结束。 D.从本程序文件的第一个函数开始,到本程序main()函数结束。 8.以下叙述正确的是_________。 A.在C程序中,main()函数必须位于程序的最前面。 B.C程序的每行中只能写一条语句。 C.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。 D.C语言本身没有输入输出语句。 答案: 1. A 2.语法错误是print, 应该为printf;逻辑错误是a-b,应该为a+b。 3.A 4.A 5.B 6.把任意输入的三个数a、b、c按降序排列的顺序输出。 7.C 8.D C语言测试题(第二章) 1.C语言中的实数可以写成不同表示形式,下列表示形式中正确的是_________。 A.5.4321 B.5.43E2.1 C.e5.4321 D.e6 2.下列程序执行后的结果是_________。 main() { int x='f'; printf("%c
", 'A'-'a'+x)); } 3.能正确表示数学描述中0≤a≤10的C语言表达式是________。 A.a>=0&a<=10       B.a>=0||a<=10 C.a>=0&&a<=10       D.0≤a&&a≤10 4.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是________。 A.-3 B.9 C.-12 D.6 5.假设所有变量均为int型,则表达式(a=2,b=5,b+1,a+b)的值是________。 A.7 B.8 C.6 D. 2 6.执行下面程序段后,y的结果是________。 int x,y; x=y=2; x=x-2&&(y=y+1); printf("%d",y); A. 3 B. 2 C. 1 D. 0 7.表达式(int)1.7*2+8/3-3%2的值是_________。 A. 2 B. 3 C. 4 D. 5 答案: 1. A 2. F 3. C 4. C 5. A 6. B 7. B C语言测试题(第三章) 1.以下程序的输出结果是________。 main() { int k=8765; printf("*%-06d*
",k); } A.输出格式描述符不合法 B.*008765* C.*8765* D.*-08765* 【答案】 C. 2.有程序段如下: int i; float f; scanf("i=%d,f=%f",&i,&f); 若要求把数值100和765.12分别赋给变量i和f,则正确的输入格式为________。 A.100765.12 B.i=100,f=765.12 C.100,765.12 D.i=100f=765.12 【答案】B 3.有程序如下: main() { int i; float x,y; scanf("%2d%f%*d%f",&i,&x,&y); printf("%d,%f,%f
",i,x,y); } 执行该程序时,若按如下形式输入数据,则输出结果是________。 输入数据:567890123445 A.56,789.000000,45.000000 B.56789,123.000000,45.000000 C.56,789.000000,123.000000 D.56,789.000000,123445.000000 【答案】A 4.输入字母a时,下列程序的执行结果是________。 #include "stdio.h" main() { char ch; ch=getchar(); (ch>='a'&&ch<='z')?putchar(ch+'A'-'a'):putchar(ch); } 【答案】输出大写字母A C语言测试题(第四章) 1.下面是由if构成的一个程序段: if(a",z); } A.3 B.2 C.1 D.0 3.有程序段如下: int a=1,b=2,c=3; if(a>b) c=a; a=b; b=c; 执行该程序段后,变量a、b、c的值是__________。 A.a=1,b=2,c=3 B.a=2,b=3,c=3 C.a=2,b=3,c=1 D.a=2,b=3,c=2 4.有程序如下: #include "stdio.h" main( ) { int c; while((c=getchar())!='
') switch(c-'2') { case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); default:putchar(c+2);break; } printf("
"); } 若运行该程序时,按如下形式从键盘输入数据,则程序的运行结果为________。 输入数据:2473 A.668977 B.668966 C.66778777 D.6688766 5.执行下面的程序段后,a和b的值分别为________。 int a=3,b=5,c; c=(a>--b)?a++:b--; A.3,2 B.3,3 C.4,4 D.4,5 答案: 1. D 2. B 3. B 4. A 5. B C语言测试题(第五章) 1.有程序段如下: int k=10; while(k=0) k=k-1; 则下面描述中正确的是________。 A.语句“k=k-1;”被执行10次 B.语句“k=k-1;”被执行无限多次 C.语句“k=k-1;”一次也不执行 D.语句“k=k-1;”只执行一次 2.有程序段如下: int k=10; do { k=k-1; }while(k>=0); 则下面描述中正确的是________。 A.语句“k=k-1;”执行1次 B.语句“k=k-1;”执行10次 C.语句“k=k-1;”执行11次 D.语句“k=k-1;”执行12次 3.下面是一个程序段: int x,y; for(y=1,x=2;y<=50;y++) { if(x>=10)break; x+=5; } 执行该程序段后,x值为________。  A. 2 B. 7 C. 12 D. 15 4.有程序段如下: int i,j; for(i=5;i;i--) for(j=1;j<5;j++) { ...... } 假若内循环体内不存在中止循环的控制语句,则内循环体执行的总次数为________。 A. 20 B. 24 C. 25 D. 30 5.下面是一个循环控制程序: #include "stdio.h" #include "math.h" main() { float x,y,z; scanf("%f,%f",&x,&y); z=x/y; while(1) { if(fabs(z)>1.0) { x=y; y=z; z=x/y; } else break; } printf("%5.2f
",y); } 运行该程序,按如下形式从键盘输入数据,程序的数出结果是________。 键盘输入数据:3.6,2.4 A. 1.50 B. 1.60 C. 2.0 D. 2.40 答案: 1. C 2. C 3. C 4. A 5. B C语言测试题(第六章) 1.若有数组定义int m[][2]={1,3,5,7,9},则以下叙述正确的是________。 A.该定义存在语法错误 B.该定义等价于int m[3][2]={1,3,5,7,9} C.该定义等价于int m[][2]={{1,3,5},{7,9}} D.该定义等价于int m[2][2]={1,3,5,7,9} 2.对两个数组a和b进行如下的初始化: char a[]={'a','b','c','d','e','f'}; char b[]="abcdef"; 则以下叙述正确的是________。 A.a数组与b数组完全相同 B.a数组与b数组具有相同的长度 C.a数组和b数组的最后一个字符都是字符串结束标志符'\0' D.a数组的长度比b数组的长度小 3.下面程序的功能是输出数组s中最大元素的下标。请在横线上填上适当的内容,使它能得出正确的结果。 main() { int k,p,s[]={1,-9,7,2,-10,3}; for(p=0,k=p;p<6;p++) if(s[p]>s[k])____________; printf("%d
", k); } 4.下面程序的功能是将一字符串中的小写英文字母全部改成大写形式,然后输出。请在横线上填上适当的程序代码,使它能输出正确的结果。 #include "stdio.h" main() { int i=0; char str[80]; scanf("%s",str); while ( ① ) { if( ② ) str[i]= str[i]-32; ③ ; } printf("%s
", str); } 5.下面程序的功能是将一个字符串str的内容颠倒过来。请在横线上填上适当的内容,使它能输出正确的结果。 #include "string.h" main() { int i,j, ① ; char str[]="abcdefghijk"; j=strlen(str) ② ; for(i=0;i",str); } 答案: 1. B 2. D 3. k=p 4.① str[i]!= '\0' 或简写成str[i] ② str[i]>= 'a'&& str[i]<= 'z' ③ i++ 或 ++i 或 i=i+1 或 i+=1 5.① k ② -1。 C语言测试题
tj