c语言程序设计china,C语言程序设计试题

《C语言程序设计试题》由会员分享,可在线阅读,更多相关《C语言程序设计试题(15页珍藏版)》请在人人文库网上搜索。

1、全国软件专业人才设计与开发大赛校内选拔赛C语言程序设计试题说明:本试题共15页,请把答案写在答题卡上。一、单选题(共60小题,每题1分,共60分)1. 执行下列程序中的输出语句后,x的值是______.main()int x ;printf(“%dn”,(x=5*6,x*2,x+20);A)30 B)60 C)50 D)802. 下列程序的输出结果是_______. main()int x=1,y=0,z;z=(x=0);printf(“%d %d% d%n”,z,x,y) ;A)0 -1 -1 B)0 -1 0 C)0 1 0 D)0 1 -13. 在C语言中,下列选项属于合法的长整型常数的。

2、是_______. A)0L B)1234567 C)0.0234567 D)3.14159e34. 下列选项中属于不正确的赋值语句的是_____. A)t+; B)n1=(n2=(n3=0); C)k=i= =j; D)a=b,c=1;5. 若有定义:int a,b;char x,y;并有以下输入数据: 14 22 XxYy (回车)则能给a赋整数14,给b赋整数22,给x赋字符x,给y赋字符y的正确程序段是________. A) scanf(“%d %d”,&a,&b);x=getchar();y=getchar();B) scanf(“%d%d %c %c”, &a, &b,&x,&x。

3、,&y,&y);C) scanf(“%d %d %c%c%c %c”, &a,&b,&x,&x,&y,&y);D) scanf(“%d%d %c %c”, &a, &b,&x,&y);6. 下列转义字符不正确的是_______.A) B) C)053 D)07. 下列选项可作为C语言赋值语句的是_______.A)x=3,y=5 B)a=b=6 C)i- -; D)y=int(x);8. 当c的值不为0时,下列选项中能正确将c的值赋给变量a、b的是_______.A)c=b=a; B)(a=c)(b=c); C)(a=c)&(b=c); D)a=c=b;9. 有以下程序:main() unsi。

4、gned int a ;int b=-1;a=b;printf(“%u”,a);该程序运行后的输出结果是_______.(知识点4.5)A)-1 B)65535 C)32767 D)-3276810. 若x、b、m、n均为int型变量,执行下面语句后b的值为_______.m=20;n=6;x=(- -m= =n+)?- -m:+n;b=m+;A)11 B)6 C)19 D)1811. 有以下程序:main() int a=111,b=222;printf(“%dn”,a,b);该程序运行后的输出结果是_______. A)错误信息 B)111 C)222 D)111,22212. 以下程序的。

5、输出结果是_______. main() int a=2,c=5;printf(“a=%d,b=%dn”,a,c);A) a=%2,b=%5 B) a=2,b=5 C) a=%d,b=%d D) a=%d,b=%d13. 对于浮点型变量f,能实现对f中的值在小数点后第三位进行四舍五入的表达式是_______. A)f=(f*100+0.5)/100.0 B)f=(f*100+0.5)/100C)f=(int)(f*100+0.5)/100.0 D)f=(f/100+0.5)*10014. 设 a=5, b=6, c=7, d=8, m=2, n=2, 执行(m=ab)&(n=cd) 后m,n的。

6、值为______. A) 2,2 B) 2,0 C) 0,2 D) 0,015. 语句printf(“%dn”,strlen(“asdnx121”);的输出结果是______. A) 9 B) 11 C) 7 D) 816. 有以下程序:main( )int y=1234;printf(“y=%6d”,y);printf(“y=%+06dn”,y);该程序的运行结果是______.A) y= 1234y=001234 B) y= 1234y=+01234C) y=1234y=+01234 D) y= 1234y=123417. 语句:printf(“%d”, !9);的输出结果是______.。

7、A) 0 B) 1 C) 有语法错误,不能执行 D) -918. 已有定义语句:int x=6,y=4,z=5;执行以下语句后,能正确表示x、y、z值的选项是______.if(xb)if(cd)x=2 ;else x=3 ;else x=4 ;else x=5 ;A)2 B)3 C)4 D)522. 下列程序的运行结果是________.main() int y=10;do y- - ; while(- -y);printf(“%dn”,y- -);A)-1 B)1 C)8 D)023. 下列程序的运行结果是________.# include main()int i ;for(i=1;ij。

8、) 语句共执行的次数是_____. main() int i=0,j=10,k=2,s=0;for(;) i+= k ;if(ij) printf(“%d”,s);break ;s+=i ;A)4 B)7 C)5 D)630. 以下程序的功能是:按顺序读入10名学生和4门课程的成绩,计算出每位学生的平均分进行输出,但运行结果不正确。main() int n,k;float score,ave;ave=0.0;for(n=1;nmain() int c =23,1,56,234,7,0,34,i,j,t;for(i=1;i=0&tcj) cj+1=cj;j- - ;cj+1=t;for(i=0;。

9、imain() char *p1,*p2,ch20=“ABCDEFabcdef”;p1=“1234”;p2=“abcd”;strcpy(ch+1,p2+1);strcpy(ch+3,p1+3);pintf(“%sn”,ch);A)Abc4EFabcde B)Abc4EF C)AbcdEF D)Abc438. 下列程序的运行结果是_______.# include int 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(10);printf(“b=%d。

10、n”,b);A) 12 B)10 C)9 D)839. 有以下程序:fun(int n) if(n= =1| n= =2)return 2;return s=n-fun(n-2);main()printf(“%dn”,fun(7);该程序运行后的输出结果是_____.A) 1 B)2 C)3 D)440. 下列程序中函数sort的功能是对a数组中的数据进行由大到小的排序:void sort(int a ,int n) int i,j,t;for(i=0;in,p3.m-n); A)1,2 B)1,3 C)2,0 D)程序出错55. 下列程序的输出结果是_______.struct st int。

11、 x;int *y;*p;int dt4=10,20,30,40;struct st aa4=50,&dt0,60,&dt1,70,&dt2,80,&dt3;main() p=aa;printf(“%d ”,+p-x);printf(“%d ”,(+p)-x);printf(“%d ”,+(*p-y);A)10 20 20 B)50 60 21 C)51 60 21 D)60 70 3156. 字符0的ASCII码的十进制数为48,且数组的第0个元素在低位,则以下程序的执行结果是_______.#include main() union int i4;long k;char c6;a,*s=&。

12、a ;s-i0=0x39;s-i1=0x38;printf(“%cn”,s-c0);A)5 B)3 C)6 D)957. 下列程序的运行结果是_______.main() unsigned c1=0xff,c2=0x00;c1=c2|c12;c2=c10236;printf(“%x,%xn”,c1,c2);A)0x3f,0XA1 B)3f,A1 C)ffff,61 D)3f,a158. 若有运算符void fun(char *fname,char *st) FILE *myf;int i;myf=fopen(fname,“w”);for(i=0;imain() FILE *fp;int i=2。

13、0,j=30,k,n;fp=fopen(“d1.dat”,“w”);fprintf(fp,“%dn”,i);fprintf(fp,“%dn”,j);fclose(fp);fp=fopen(“d1.dat”,“r”);fscanf(fp,“%d%d”,&k,&n);printf(“%d %dn”,k,n);fclose(fp);该程序运行后的输出结果是_______.A)20 30 B)20 50 C)30 50 D)30 20二、多选题(共20小题,每题2分,共40分)1. 下列符号串中,不属于C语言合法标识符的有_____.A)_1_2_3 B)a-b-c C)int D)9cd2. 当把下。

14、列四个表达式用作if语句的控制表达式时,含义相同的选项有_______.(假设k0)A)k%2 B)k%2= =1 C)(k%2)!=0 D)!k%2= =03. 已有定义 int a=-2;和输出语句printf(“%8lx”,a);下列叙述不正确的有_______.A) 整型变量的输出形式只有%d一种B) %x是格式符的一种,它可以适用于任何一种类型的数据C) %x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D) %8lx不是错误的格式符,其中数字81规定了输出字段的宽度4. 下列选项中,没有构成死循环的程序段有_____.A)int i=100; B)for( ; ; )。

15、while(1) i=i%100+1;if(i=100)break;C)int k=0; D)int s=36;do +k; while(k=0); while(s);s;5. t为int类型,进入下面的循环之前,t的值为0:while(t=1) 。则下列叙述不正确的有________.A)循环控制表达式的值为0 B)循环控制表达式的值为1C)循环控制表达式不合法 D)循环有可能是个无限循环6. 下列判断正确的是_______.A) char *a=“china”;等价于 char *a;*a=“china”;B) char str6=“china”;等价于char str = “china”。

16、;C) char *s=“china”;等价于char *s;s=“china”;D) char c4=“abc”,d4=“abc”;等价于char c4=d4=“abc”;7. 若变量已正确定义,以下能正确计算1+2+3+4+5的程序段有_____.A)i=1;s=1; B)i=0;s=0;do do s=s+i;i+; i+; s=s+i;while(ia B)*plink=a-link-link ;a-link-link=s;B)a=a-link ; a-link=s ;s-link=NULL;C)s-link=NULL ;a=(*a)。link ; (*a)。link =s;D)a=a。

17、-link ; s-link=a-link;a-link=s-link;15. 设有定义语句: int x6=2,4,6,8,5,7,*p=x,i;要求依次输出x数组6个元素中的值,下列选项中能完成次操作的语句有_______.A)for(i=0;i6;i+)printf(“%2d”,*(p+);B)for(i=0;i6;i+)printf(“%2d”,*(p+i);C)for(i=0;i6;i+)printf(“%2d”,*p+);D)for(i=0;i6;i+)printf(“%2d”,(*p)+);16. 下列叙述正确的有_____.(知识点8.5)A) 函数可以嵌套定义,但不能嵌套调用。

18、B) 函数可以嵌套调用,也可以嵌套定义C) 函数不可以嵌套定义,但可以递归调用D) 函数可以嵌套调用,但不能嵌套定义17. 下列叙述不正确的有_____.A)全局变量可以为本文件中其他函数所调用,编译时分配在静态存储区B)局部变量只在本函数范围内有效,形式参数属于局部变量C)局部变量如没有被说明为静态的存储类别,则会被分配动态存储空间,存储在动态存储区中D)局部静态变量在函数调用结束后依然存在,但其他函数不能引用它18. 若变量已正确定义,要求程序段完成求5!的计算,下列选项中不能完成此操作的程序段有____.A)for(i=1,p=1;i=5;i+)p*=i;B)for(i=1;i=5;i+。

19、)p=1;p*=i;C)i=1;p=1;while(i=5) p*=i;i+;D)i=1;p=1;do p*=i;i+; while(i=5);19. 若有以下说明,则对strcpy库函数的调用不正确的有_______.char *str1=“copy”,str210,*str3=“abcde”,*str4,*str5=“hijk”A)strcpy(str2,str1); B)strcpy(str3,str1);C)strcpy(str4,str1); D)strcpy(str5 ,str1);20. 下列选项中可以将变量n清零的表达式有_______.A)n=n&n B)n=n&0 C)n=nn D)n=n|n三、附加题(共20分)现有21根火柴,两人轮流取,每人每次可取走1- 4根,不可多取,也不能不取,谁取最后一根火柴则谁输。请编写一个程序进行人机对弈,要求人先取,计算机后取;计算机一方为“常胜将军”。分析问题,描述算法设计思想:(不需编程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值