ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:33KB ,
资源ID:3398959      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3398959.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言期末复习题.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

C语言期末复习题.docx

1、C语言期末复习题C程序设计复习题一、单项选择题(请从4个备选答案中选择最适合的一项,每小题1分,共20分)1.算法具有5个特性,以下选项中不属于算法特性的是( )。 A) 有穷性 B) 简洁性 C) 有效性 D) 确定性2.设有定义:float a=2,b=4,h=3;,其中a为梯形的上底,b为梯形的下底,h为梯形的高,以下C语言表达式不能计算出梯形面积的( ) A) (a+b)*h/2 B) (1/2)*(a+b)*h C) (a+b)*h*1/2 D) h/2*(a+b)3.经int a=7; float x=2.5, y=4.7;说明后,表达式 x+a%3*(int)(x+y)%2/4

2、的值是( )。 A) 2.500000 B) 2.750000 C) 3.500000 D) 0.0000004.若t为double类型,表达式t=1,t+5, +t的值是 A)1 B)6.0 C)7.0 D)2.05. 若有以下定义和语句: int u=010,v=0x10,w=10; printf(“%d,%d,%dn”,u,v,w); 则输出结果是 A)8,16,10 B)10,10,10 C)8,8,10 D)8,10,106. 以下选项中不合法的用户标识符是A)_12 B)abc7 C)a-2 D)AS_88_mj7. 若有以下定义和语句 char c1=b,c2=e; printf

3、(%d,%cn,c2-c1,c2-a+A); 则输出结果是 A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定 8. 若有以下定义: char s20=programming,*ps=s; 则不能代表字符o的表达式是 A)ps+2 B)s2 C)ps2 D)ps+=2,*ps9.设变量a为int,f为float,i为double,则表达式10+a+i*f 的数据类型是( )。 A) int型 B) float 型 C) double型 D) 不确定10.设a为int, 不能正确表达数学关系: 10a15 的C语言表达式是( )。 A) 10a10 & a15

4、D) !(a=15)11.语句for(x=0,y=0;(y!=123)&(x4);x+);循环( )。 A) 是无限循环 B) 循环次数不定 C) 执行4次 D) 执行3次12. 下面的程序 main( ) int a,b,s; scanf(%d%d,&a,&b); s=a; if(sb) s=b; s=s*s; printf(%dn,s); 运行时,若从键盘输入3和2,则输出( )。 A) 14 B) 16 C) 18 D) 913. 若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是 for (i=5;i;i-) for(j=0;j4;j+). A)20 B)25 C)24

5、D)30 14. 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是 A)1 B)2 C)2.0 D)2.515. 在C语言中,不合法的字符常量是A)014 B)xab C)D D)”e”16. C语言中用于结构化程序设计的三种基本结构是 A) if、switch、while B) for、while、do-while C) if、while、continue D) 顺序结构、选择结构、循环结构17已知a=1,b=2,c=3,d=4,则表达式 ab?a:cd?a:d 的结果是A)4 B)3C) 1 D)218.若执行下面程序时,从键盘输入3,4,则输出是( )。 main

6、() int a,b,s; scanf(%d,%d,&a,&b); s=a; if (ab) s=b; else s=s*s; printf(%dn,s); A) 4 B) 16 C) 18 D) 20 19.若函数的类型和return语句中的表达式的类型不一致,则( )。 A) 编译时出错 B) 运行时出现不正确的结果 C) 不会出错,且返回值的类型以return语句中表达式的类型为准 D) 不会出错,且返回值的类型以函数类型为准20.在C语言程序中,以下叙述正确的是 ( )。 A) 函数的定义和函数的调用均可以嵌套 B) 函数的定义可以嵌套,但函数的调用不能嵌套 C) 函数的定义和函数的调

7、用均不能嵌套 D) 函数的定义不能嵌套,但函数的调用可以嵌套 21.若用数组名作为函数调用的实参,则传递给形参的是 ( )。 A) 数组的首地址 B) 数组的第一个元素的值 C) 数组中全部元素的值 D) 数组元素的个数22. 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( )。 A) 外部(extern) B) 寄存器(register) C) 自动(atuo) D) 静态(static)23在下面一组运算符中,优先级最高的运算符是 A) = B) = C) % D) &24. 有如下函数调用语句func(rec1,rec2+rec3

8、,rec4);该函数调用语句中,含有的实参个数是A)3 B)4 C)5 D)有语法错25. 表示关系X=Y=Z的c语言表达式为A) (X=Y)&(Y=Z) B) (X=Y)AND(Y=Z)C) (X=Y=Z) D) (X=Y)&(Y=Z)26. C语言中,若未说明函数的类型,则系统默认该函数的类型是( )。 A) float型 B) int型 C) long型 D) double型27.若定义数组int a34;,并以f(a)语句调用函数f,则在定义f函数时,对形参数组array 错误的定义方式为( )。 A) f(int array6) B) f(int array3) C) f(int a

9、rray4) D) f(int array25)28.下列一维数组初始化语句中,正确的是( )。 A) int a5=0,2,0,3,5; B) int a5=0; C) int a5=5*2; D) int a=(0,2,0,3,7); 29.现要定义一个二维字符型数组 cMN 来存放字符串 China, Tianjin和Education, 则常量M和N的合理取值应为( )。 A) 3和9 B) 2和10 C) 4和9 D) 3和10 30.若有说明 char c=N,a,n,K,a,i; 则对其元素的非法引用是( )。 A) c0 B) c9-6 C) c2*2 D) c731. 在C语

10、言中,运算对象必须是整型的运算符是A) * B) % C) / D) !32. 设有以下宏定义: #define N 3#define Y(n) ( (N+1)*n)则执行语句:z=2 * (N+Y(5+1);后,z的值为 A)出错 B) 42 C) 48 D)5433. 以下结构体变量的字节数是 struct student int num; char name8; double score; union int class; char position10; category; stu; A) 18 B) 30 C) 28 D) 3234. 若有代数式,则错误的表达式是 A) a/b/c*

11、e B) a*e/c/b C) a*e/b/c D) a*e/b*c 35.要将字符串str2连接到字符串str1后,应使用的函数是( )。 A) strcpy(str1,str2); B) strcat(str2,str1); C) strcat(str1,str2); D) strcmp(str2,str1); 36.若定义 int a=8,b,*p=&b;则赋值语句p=&a执行后,结果为 ( )。 A) p同时指向a和b B) p指向a,而不再指向b C) p指向b,而b取a的值 D) p指向a,a取b的值37.定义以下结构体类型 struct s int a; float f; m3;

12、语句printf(%d,sizeof(m)的输出结果为( )。 A) 4 B) 12 C) 18 D) 638. 下面程序的输出是 main() int x=32; printf(%dn,x=x1); A) 100 B) 160 C) 120 D) 64 39. 不正确的转义字符是 A) “018” B) “ ” C) “xaa” D) “”40. 以下程序执行后sum的值是 void main() int i , sum; for(i=1;i6;i+) sum+=i; printf(%dn,sum); A)15 B)14 C) 不确定 D)0二、程序填空题(每空1分)1以下程序调用readr

13、ec函数读入数据,把3名学生的学号、姓名、四门成绩以及平均分放在一个结构体数组中,学生的学号、姓名和四门成绩由键盘输入,然后计算出平均分放在结构体对应的域中,调用writrec函数输出3名学生的记录。请填空。#include#define N 3struct stud char num5,name10; int s4; int ave; stN;writrec(struct stud *s) int k,i; printf(numtnametmark1tmark2tmark3tmark4taven); for(k=0;knum,s-name); for(i=0;isi); printf(%dn

14、,s-ave); readrec(struct stud *p) int i,j,sum; for(j=0;jnum); gets(p-name); for(i=0;isi); getchar(); sum=0; for(i=0;isi ; p-ave=sum/4; main() readrec(st); writrec(st);2求1!+3!+5!+7!+21!之和#include void main() float s,t; int n; s=0; t=1; for(n=1;n=21;n+) t=t*n; if(n%2!=0)s+=t; printf(“1!+3!+5!+7!+21!=%e

15、n”,s);3. 用数组来处理求Fibonacci数列(即:1,1,2,3,5,8,13)问题,每行控制输出5个数据。#includevoid main() int i; int f20=1,1; for(i=2;i20;i+) fi=fi-1+fi-2; for(i=0;i20;i+) if(i%5=0) printf(“n”); printf(“%12d”,fi); printf(“n”); 4以下程序调用readrec函数读入数据,把3名学生的学号、姓名、四门成绩以及平均分放在一个结构体数组中,学生的学号、姓名和四门成绩由键盘输入,然后计算出平均分放在结构体对应的域中,调用writrec

16、函数输出3名学生的记录。请填空。#includestruct stud char num5,name10; int s4; int ave; ;writrec(struct stud *s) int k,i; for(k=0;knum,s-name); for(i=0;isi); printf(ave:%5dn,s-ave); readrec(struct stud *rec) int i,sum; gets(rec-num); gets(rec-name); for(i=0;isi); getchar(); sum=0; for(i=0;isi ; rec-ave=sum/4;main()

17、struct stud st30; int k; for(k=0;k3;k+) readrec(&stk); writrec(st);5下面程序把文件file1.dat中的内容复制到一个名为file2.dat的新文件中,请填空。#includeFILE *fp1,*fp2;main() char ch; if(fp1=fopen(“file1.dat”,”r”)=NULL) exit(0); if(fp2=fopen(“file2.dat”,”w”)=NULL) exit(0); while(fp1!=EOF)ch=fgetc(fp1);fputc(ch,fp2); fclose(fp1);f

18、close(fp2);三、读程序写运行结果(每小题2分,共30分)1下面程序运行后,输出结果是 #include main() int a=4,b=7; printf(“%dn”,(a=a+1,b+a,b+1); 2下面程序运行后,输出结果是 #include float fun(int x,int y)return(x+y); main()int a=2,b=5,c=8;printf(“%3.0fn”,fun(int)fun(a+c,b),a-c); 3下面程序运行后,输出结果是 #include main() int k=017,g=111; printf(%dn,+k); printf(

19、%xn,g+); 4下面程序运行后,输出结果是 #include main() int m=7,n=4; float a=38.4,b=6.4,x; x=m/2+n*a/b+1/2; printf(“%fn”,x);5下面程序运行后,输出结果是 #include main() int a=9; a + = a - = a + a; printf(“%dn”,a);6. 以下程序运行后的输出结果是#includevoid main() int i,n=0,0,0,0,0; for (i=1;i=4;i+) ni=ni-1*2+1; printf (%d ,ni); 7. 下面程序运行后,输出结果

20、是 #include void main( ) char s=after, c; int i, j=0; for (i=1; i5; i+ ) if (sjsi) c=sj; sj=si; si=c; printf(%s, s); 8. 以下程序执行后的输出结果是 #include void main( ) char *s= one, two, three,*p; p=s1; printf (%c,%sn,*(p+1),s0); 9.以下程序运行后的输出结果是 #include #define N 20 fun(int a,int n,int m) int i; for(i=m;i=n;i-)

21、 ai+1=ai; void main() int i,aN=1,2,3,4,5,6,7,8,9,10; fun(a,2,9); for(i=0;i5;i+) printf(%d,ai); 10.写出下列程序结果 #include int m=1;int fun(int m) int n=1; static int i=1; n+;i+; return m+n+i; void main() int i; for(i=1;i3;i+) printf(%4d,fun(m+); printf(n); 11已知字母a的ASCII码是为十进制的97,下面程序的输出是main()char c1,c2;c1

22、=a+6-2;c2=a+6-3;printf(“%c,%dn”,c2,c1);12下列语句的输出结果是 char a=31; printf(“%d,%o,%x,%un”,a,a,a,a);13下面程序运行后,输出结果是#includevoid main() int j,x=0; for(j=0;j=3;j+) if(j%2)continue; x+; printf(%dn,x);14下面程序运行后,输出结果是 void main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; b

23、reak; case 2: a+;b+; break; case 3: a+;b+; printf(“na=%d,b=%d”,a,b); 15下面程序运行后,输出结果是 #include #define MAX(a,b,c) (a)(b)? (a)(c)? (a): (c): (b)(c)? (b): (c) void main() int x,y,z; x=1,y=2,z=3; printf(%dn,MAX(x+y,y,y+x); 16有以下程序程序的执行结果是 #include char fun(char x,char y) if(xy) return x; return y; void

24、main( ) char a=9,b=8,c=7; printf(%cn,fun(fun(a,b),fun(b,c) ); 17.以下程序执行后输出结果是 #include void main() int p7=11,13,14,15,16,17,18,i=0,k=0; while (i7&pi%2) k=k+pi;i+; printf (%dn,k); 18定义以下结构体数组 struct int num; char name10; s3=1,china,3,USA,4,England;语句printf(n%d,%s,s0.num,s1.name)的输出结果为。19以下程序执行后输出结果是

25、#include float fun(int x,int y) return(x-y); main() int a=2,b=5,c=8; printf(“%3.0fn”,fun(int)fun(a+c,b),a-c); 20下面程序运行后,输出结果是 #include main() int k=015,g=112; printf(%dt,+k); printf(%xn,g+); 21下面程序运行后,输出结果是 #include int f(int n) if(n=1)return 1; else return f(n-1)+1; void main() int i,j=0; for(i=1;i3;i+) j+=f(i); printf(“%dn”,j); 22. 下面程序运行后,输出结果是 #include void main() unsigned char a,b,c; a=0x3; b=a|0x8; c=b

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2