第五届C语言预赛试题

上传人:20****03 文档编号:170320614 上传时间:2021-03-01 格式:DOC 页数:23 大小:79KB
返回 下载 相关 举报
第五届C语言预赛试题_第1页
第1页 / 共23页
第五届C语言预赛试题_第2页
第2页 / 共23页
第五届C语言预赛试题_第3页
第3页 / 共23页
第五届C语言预赛试题_第4页
第4页 / 共23页
第五届C语言预赛试题_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《第五届C语言预赛试题》由会员分享,可在线阅读,更多相关《第五届C语言预赛试题(23页珍藏版)》请在金锄头文库上搜索。

1、第五届全国ITAT教育工程就业技能大赛预赛试题C语言程序设计一、单选题(共计60题)(1) 在下述程序中,if (ij) 语句共执行的次数是( )。main() int i=0,j=14,k=2,s=0; for(;) i+= k ; if(ij) printf(“%d”,s); break ; s+=i ; A、6B、9C、7D、12(2) 若要用fopen函数打开一个二进制文件,该文件要既能读也能写,当文件不存在时新建文件,则文件打开方式应是( )。A、ab+B、rb+C、wb+D、ab(3) 下列程序的输出结果是( )。struct student int a, b, c; ; main

2、() struct student stu2=2,3,4,5,6,7; int t; t=stu0.a+stu1.b%stu0.c; printf(%d n,t); A、0B、1C、4D、5(4) 对于浮点型变量f,能实现对f中的值在小数点后第四位进行四舍五入的表达式是( )。CA、f=(f*1000+0.5)/1000.0B、f=(f*1000+0.5)/1000C、f=(int)(f*1000+0.5)/1000.0D、f=(f/1000+0.5)*1000(5) 现已定义整型变量int i=1; 执行循环语句“while(i+5);”后,i的值为( )。A、1B、5C、6D、以上三个答案

3、均不正确(6) 下列程序的输出结果是( )。struct LH int n;struct LH *m;p4;main() int i;for(i=0;in,p2.m-n);A、0,1B、0,2C、0,0D、程序出错(7) 下列程序的运行结果是( )。#include stdio.hint f(int a) switch (a) case 0:return 0; case 1:case 2:return 1; return(f(a-2)+f(a-3);main() int b;b=f(9);printf(“%dn”,b);A、10B、7C、8D、9(8) 以下程序的输出结果是( )。int f(

4、int b,int m,int n)int i,s=1; for(i=m;in;i+) bi=bi-1+bi+1; s+=bi; return s; main() int x,a=1,2,3,4,5,6,7,8,9,10; x=f(a,3,5); printf(%dn,x); A、23B、26C、42D、35(9) 以下程序运行后,输出结果是( )。main() char ch34=123,456,78,*p3;int i; for(i=0;i3;i+) pi=chi; for(i=0;i2C、a&(b+c+d+e)0; k) s += k; return s; void main( ) in

5、t k; k=f(2); printf(%d, %d), k, f(k); A、(3, 3)B、(1, 1)C、(3, 6)D、(6, 12)(12) 若有定义:int a,b;char x,y;并有以下输入数据: 12 13 AaBb(回车)则能给a赋整数12,给b赋整数13,给x赋字符a,给y赋字符b的正确程序段是( )。A、scanf(“%d”,&a); scanf(“%d”,&b); x=getchar();y=getchar();B、scanf(“%d%d %c %c”, &a, &b,&x,&y);C、scanf(“%d %d %c %c”, &a,&b,&x,&x,&y,&y);

6、D、scanf(“%d %d %c%c%c%c”,&a,&b,&x,&x,&y,&y);(13) 以下对结构体成员的运算结果是( )。#include main()struct st int x; int y; cnum2=1,3,2,7; printf(%dn,cnum0.y/cnum0.x*cnum1.x);A、0B、1C、3D、6(14) 函数f定义如下,执行语句“m=f(5);”后,m的值应为( )。 int f(int k) if(k=0|k=1) return 1; else return f(k-1)+f(k-2); A、3B、8C、5D、13(15) 若有以下定义:char s

7、10=a,b,c,0, 2,x32 ,0,123;执行语句printf(“%d”,strlen(s);的结果是( )。A、3B、6C、8D、9注释;strlen函数遇到0时终止计算 (16) 若i为整型变量,则以下循环执行的次数是( )。for(i=0;i=5;i+) printf(%d,i+);A、5次B、2次C、3次D、6次注释:好题目!(17) 执行以下程序段后的输出结果是( )。 int x = 3; int m, n; n = (+x) + (+x); m = (x) + (x); printf(%d %dn, m, n);A、10 6B、9 9C、10 10D、10 8括号的优先级

8、最高,所以n = (+x)+ (+x);先计算两个括号里面的内容。前置+,是先加后用,n = (+x)+ x;此时x=4,然后n = x+ x;此时x=5,所以n=10同理m = (x-) +(x-); 后置-,先用再减,m=10,自减后x=3。(18) 设有定义:int a22=1,2,3,4,(*p)2;,则在语句p=a;p+;后,*p的值为( )。A、2B、3C、4D、以上都不对int (*p) 2 /定义指向一维数组的指针;p=a /将首行的地址赋给p. 此时,*p的值为二维数组a的首行的地址,*p即为首行第一个元素的值,即1;p+ /此时p指向二维数组a的第二行,*p的值为第二行的地

9、址,*p为第二行第一个元素的值,即3.(19) 以下关于循环的程序的输出结果是( )。#include stdio.hvoid main() int k=4,n=0; for(;nk;) n+; if(n%3!=0) continue; k; printf(%d %d,k,n);A、1 1B、2 2C、3 3D、4 4(20) 下列关于字符串操作的输出结果是( )。#include stdio.h#include string.hvoid main() char p120=abcd,p220=ABCD; char str50=xyz; strcpy(str+2,strcat(p1+2,p2+1

10、); printf(%sn,str);A、xyabcABB、abcABzC、AbabczD、xycdBCD(21) 下列选项中属于正确的switch语句的是( )。A、swicth(a) case a:printf(“An”); case b:printf(“Bn”); B、switch(1.0) case 1.0 :printf(“An”); case 2.0 :printf(“Bn”);C、switch(int)(x+2.5) case 1 :printf(“An”); case 1+2 :printf(“Bn”);D、switch(“a”); case “a” :printf(“An”); case “b” :printf(“Bn”);(22) 以下程序的运行结果为( )。#include stdio.hvoid main()int y=2,a=1;while(y!=-1)doa*=y;a+;while(y);printf(%d,%dn,a,y);A、1,-2B、2,1C、1,0D、2,-1(23) C语言的输入与输出操作是由( )完成的。A、输入语句B、输出语句C、输入与输出函数D、输入与输出语句(24) 若有以下程序段 int a =4,0,2,3,1,i,j,t;for(i=1;i=0&taj) aj+1=aj;j

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号