C语言期末模拟试题

上传人:人*** 文档编号:458351130 上传时间:2022-11-06 格式:DOC 页数:35 大小:98KB
返回 下载 相关 举报
C语言期末模拟试题_第1页
第1页 / 共35页
C语言期末模拟试题_第2页
第2页 / 共35页
C语言期末模拟试题_第3页
第3页 / 共35页
C语言期末模拟试题_第4页
第4页 / 共35页
C语言期末模拟试题_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《C语言期末模拟试题》由会员分享,可在线阅读,更多相关《C语言期末模拟试题(35页珍藏版)》请在金锄头文库上搜索。

1、一、选择题:(20分,每题2分)1以下不正确的C语言标识符是( D )。2C程序是由B构成的。A. 主程序与子程序 B. 主函数与若干子函数C. 一个主函数与一个其它函数D. 主函数与子函数3以下说法中正确的是: A 。A. 在C语言中,实参与其对应的形参各占独立的存储单元;B. 在C语言中,实参与其对应的形参共占同一个存储单元;C. 在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;D. 在C语言中,形参是虚拟的,不占存储单元。4设n=3;则n+的结果是(B )。A. 2 B. 3 C. 4 D. 55设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是( A

2、)。 A. 0 B. 1 C. 2 D. 36凡是函数中未指定存储类别的局部变量其隐含的存储类别是( A )。 A. 自动(auto) B. 静态(static) C. 外部(extern) D. 寄存器(register)7在while(x)语句中的x与下面条件表达式等价的是: D 。A. x= =0 B. x= =1 C. x!=1 D. x!=08若有以下说明和语句: struct worker int no;char *name; work, *p=&work; 则以下引用方法不正确的是( D )。 A. work.no B. (*p).no C. p-no D. work-no9以下

3、对二维数组进行正确初始化的是(B )。A. int a23=1,2,3,4,5,6; B. int a3=1,2,3,4,5,6; C. int a2=1,2,3,4,5,6;D. int a2=1,2,3,4; 10二维数组a有m列,则在aij之前的元素个数为: B 。A) j*m+i B) i*m+j C) i*m+j-1 D) i*m+j+1二、给出下列程序的运行结果:(20分,前四题每题3分,后两题每题4分)1#includemain()int i=16,j,x=6;j=i+1;x*=i=j;printf(“%d,%dn”,j,x); 运行结果是:2#include #include

4、main() int a=1,b=4,c=2;float x=10.5,y=4.0,z;z=(a+b)/c+sqrt(double)y)*1.2/c+x;printf(“%fn”,z); 运行结果是:3#include main() int a,b,c,d;a=c=0;b=1;d=20;if(a) d=d-10;else if(!b) if(!c) d=25; else d=15;printf(“d=%dn”,d); 运行结果:4main()int i=10;switch(i) case 9: i+=1; case 10: i+=1; case 11: i+=1; default : i+=1

5、; printf(“%d”,i);运行结果:5#includemain() int a=1,2,3,4,i,j,s=0; j=1; for(i=3;i=0;i-) s=s+ai*j; j=j*10; printf(s=%dn,s);运行结果:6func(int x) x=20; main()int x=10;func(x);printf(“%d”,x);运行结果:三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(20分,每空2分)1已知能被4整除而不能被100整除的或者能被400整除的年份是润年,则判断某一年是否是润年的程序如下:main() int yea

6、r,leap; scanf(“%d”,&year); if( ) leap=1; else leap=0; if( ) printf(“是润年”); else printf(“不是润年”);2将100至200间不能被3整除的数输出:main()int n;for(n=100;n=200;n+) if(n%3=0) ;printf(“%d ”,n); 3判断m是否是素数 #include main()int m,i,k;scanf(“%d”,&m); k=sqrt(m);for(i=2;i=k+1) printf(“%d is a prime numbern”,m);else printf(“%

7、d is not a prime numbern”,m);4给定一3*4的矩阵,求出其中值最大的元素的值,及所在的行列号。main() int i,j,row=0,colum=0,max; static int a34=1,2,3,49,8,7,610,-10,-4,4; ;for(i=0;i=2;i+) for(j=0;jmax) max=aij; ; ; printf(“max=%d,row=%d,colum=%dn”,max,row,colum);5下面函数的功能是将两个字符串s和t连接起来。char *conj(char *s, char *t) char *p=s; while(*s

8、) ; while(*t) *s= ;s+;t+;*s=0; ; 四、编程(40分)1计算1-1/2+1/3-1/4+1/99-1/100+,直到最后一项的绝对值小于10-4为止。(13分)2输入一行字符,分别统计求出其中英文字母、空格、数字和其他字符的个数并输出结果。(13分)3任意从键盘输入10个整数,按从小到大的顺序排序,并输出结果。(14分)答案一、选择题1、D,2、B,3、A,4、B,5、A, 6、A,7、D,8、D,9、B,10、B二、给出下列程序的运行结果1、17,1022、3、d=204、135、s=12346、10三、阅读程序,在标有下滑线的空白处填入适当的表达式或语句,使程

9、序完整并符合题目要求。1、 (year%4= = 0 & year%100 !=0)| year%400= =0) leap2、 continue3、 break4、 max = a00row = i +1colum = j +15、 s+*treturn(p)四、编程 1、#includemain() int i; float sum,sign; i=1; sum=0; sign=1.0; while(1.0/i)=1e-4) sum += sign / i ; i+; sign = - sign; printf(sum=%.4f,sum);2、#includemain() char str

10、81; int i ; int letter,space ,num ,other ; char c; printf (Please enter a string : ); gets(str); letter=space=num=other=0; for( i= 0;stri!=0; i+) c=stri; if(c= A&c=a& c=0 & c=9) num+; else if ( c= ) space+; else other +; printf(In this string : letter =%d,space=%d ,num=%d,other=%d,letter ,space,num,other);3、#includemain() int num10; int i,j,k; int temp; printf(Please enter 10 numbers :n); for(i=0;i10;i+) scanf(%d,&numi); for (i=0;i9;i+) k= i ; for (j=i+1;jnumj) k=j; if(k!=i)temp=numi;numi=numk;numk=temp; printf(After sorted :n); for (i=0;i10;i+) printf (

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 习题/试题

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