版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2011-2012年度第一学期“C语言程序设计”期末考试复习提纲一、考试题型序号题型每题得分题量总分一选择题21530二填空2510三程序阅读4520四编程题1011015230二、题例:(一)项目二 数据类型、运算符和表达式选择题:1. 不合法的C语言整型常量是 A 。A. 012B. 0x35C. 123LD. 8E22. 不合法的C语言实型常量是 A 。A. E3B. . 123C. 6.2E4D. 5.03. 不合法的C字符常量是 C 。A. 2B. 101C. ABD. n4 下列四组选项中,均是不合法的用户标识符的选项是 B 。A. WP_0doB. b-agotointC.flo
2、atla0_AD. -123abcTEMP5 下列四组选项中,均是合法转义字符的选项是 A 。A. ”nB. 017”C. 018fxabD. 0101xlf6. 定义三个变量a、b、c,并分别赋初值为5。能实现该功能的语句是 C 。A. int a=b=c=5;B. int a,b,c=5; C. int a=5,b=5,c=5;D. int a=5;b=5;c=5;7. 若x,y,t均为int类型,则执行语句x=y=3;t=+x|+y;后,y的值是 D 。A. 不定值 B. 4 C. 1 D. 38 若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=
3、16,k=32)A 4B. 16C. 32D. 529设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。A. floatB. charC. intD. double10设以下变量均为int类型,则值不等于7的表达式是 C 。A. (x=y=6,x+y,x+1)B. (x=y=6,x+y,y+1) C. (x=6,x+1,y=6,x+y)D. (y=6,y+1,x=y,x+1)填空题:1 若有定义int m=5,y=2;,则计算表达式y+=y-=m*=y后的y值是 -16 。2 若s是int型变量,且s6,则表达式s%2+(s
4、+1)%2的值为 1 。3. 若a是int型变量,则表达式(a=4*5,a*2),a+6的值为 26 。4 若x和a均是int型变量,则计算表达式x=(a=4,6*2)后的x值为 12 ,计算表达式x=a=4,6*2后的x 值为 4 。5. 若a是int型变量,则计算表达式a=25/3%3后a的值为 2 。6 若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n+后x的值为 10 ,n的值为 6 。7. 若有定义:char c=010;则变量c中包含的字符个数为 1 。8 若有定义:int x=3,y=2;float a=2.5,b=3.5; 则下面表达式的值为 1 。 (x+
5、y)%2+(int)a/(int)b9. 已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=a+8-3的值为 102 。阅读题:(写出程序运行结果)1. #include main() int x=97; char y=b; printf(“%c,%d”, x, y); 答:a,982. #include main() int x=6; x+=x-=x*x; printf(“x=%dn”, x); 答:x=60 3. #include main() int x; (x=4*5,x*5),x+25; printf(“x=%dn”, x); 答: x=20 4. #inc
6、lude main() int i=1,j; j= -i+; printf(“%dn”, j); 答:1hr编程题:(顺序结构编程)1. 输入华氏温度,输出摄氏温度。C=5/9*(F-32)#include main() float C,F; printf(请输入华氏温度F:); scanf(%f,&F); C=5.0/9*(F-32); printf(%.2f=%.2fn,F,C);2. 输入底面半径r和高度h,计算并输出圆柱体的体积v。v=r2h(取3.14,v计算结果保留到小数点后两位)#include #define PI 3.14main() float r,h,V; printf(
7、请输入底面半径r和高度h:); scanf(%f%f,&r,&h); V=PI*r*r*h; printf(圆柱体的体积V=%.2fn,V);3从键盘输入一扇形的半径和角度,求扇形的面积和周长。#include #define PI 3.14main() float r,n,S,C; printf(请输入扇形的半径r和角度n:); scanf(%f%f,&r,&n); S=(n*PI*r*r)/360; C=(n*PI*r)/180+2*r; printf(扇形的面积S=%.2f,周长C=%.2fn,S,C);4. 从键盘输入学生的三门考试成绩,计算并输出平均成绩。#include main(
8、) float a,b,c,avg; printf(请输入学生三门考试的成绩:); scanf(%f%f%f,&a,&b,&c); avg=(a+b+c)/3; /*求平均成绩*/ printf(平均成绩为:%.2fn,avg);(二)项目三 C语言程序控制结构选择题:1. 下列for循环的循环次数是D 。int i=0,j;for (j=10;i=j=10;i+,j-)printf(”ok”);A. 0次B. 1次C. 10次D. 无限次2. 下列for循环的循环次数是 B。int i=0,j=0; for(;!j&i=5;i+)j+;A5次 B1次 C无限D6次3. 语句for(i=0,j
9、=0;i=100;i+)j=j+i;运行后j的值为 D。A500B. 100 C. 5000D. 50504、有以下程序:#includemain()charc;while(c=getchar()!=?)putchar(- -c);程序运行时,如果从键盘输入:Y?N?,则输出结果为 D 。A. Y B. XY C. YX D. X5.下面的程序段执行时,若从键盘输入5,则输出为D。int a;scanf(”%d”,&a);if (a-5)printf(”%dn”,a+);else printf(”%dn”,a);A7 B6 C5 D46. 若int a=5;则执行下列语句后打印的结果为A。do
10、 printf (“%2dn”, a-); while (!a);A5 B不打印任何结果 C4 D陷入死循环7.语句for(i=0,j=0;i=100;i+)j=j+i;运行后j的值为D。A500B100C5000D50508下面程序段的运行结果是 C 。 int n=0; while(n+=2);printf(“%d”,n); A. 2B.3C.4D.有语法错误9若i为整型变量,则以下循环执行次数是 B 。 for(i=2;i=0;)printf(“%d”,i- -);A. 无限次B. 0次C. 1次D. 2次10执行语句for(i=1;i+4; );后变量i的值是 C 。和第八题相似A.
11、3B. 4C. 5 D. 不定填空题:1、若输入字符串:abcdef,则以下while循环体将执行_0 _次。While(ch=getchar( )= =d) printf(“*”);2、下面程序段的运行结果是_a=-5_。 i=1;a=0;s=1; doa=a+s*i;s=-s;i+;while(i=0 & c=9 )n+; c=getchar(); 4. 以下程序中,while语句的循环次数是 无限次 。 #include main() int i=0; while(i10) if(i1) continue; if(i=5) break; i+; printf(“%d”,i); 5下面程序
12、的功能是用“辗转相除法”求两个正整数的最大公约数。请填空。 #include main() int r,m,n; scanf(“%d%d”,&m,&n); if(mn)_ r=m;m=n;n=r_; r=m%n; while(r)m=n;n=r;r=_ m%n _; printf(“%dn”,n); 6. 执行以下程序后,输出“#”的个数是_6_。 #include main() int i,j; for(i=1;i5;i+) for(j=2;j=i;j+) putchar(#); 阅读题:(写出程序运行结果)1.#include main() int y=10; doy-;while(-y)
13、; printf(“%dn”,y-); 答:0 2. #include main() intx=15; while(x10&x50) x+; if(x/3)x+;break; elsecontinue; printf(“%dn”,x);答: 17 3. #include main()int a=1,b=0; for( ; a3; a+) switch(a+) case 1:b-;break; case 2:b+; case 3:b+=3; printf(“%dn”,b); 答:1 4. #include main()int s,i;for(s=0,i=1; i3; i+,s+=i); prin
14、tf(“%dn”,s); 答: 5编程题:1. 计算s=1+1/2+1/3+1/n#include main() int i,n; float s; scanf(%d,&n); for(s=0.0,i=1;i=n;i+) s=s+1.0/(i); printf(s=%fn,s);2. 求和:从1加到100#include main() int n,s; for(s=0,n=1;n=100;n+) s=s+n; printf(s=%dn,s);3. 如果0n17, 使之能正确地计算n!#include main() int n,i; long s; printf(请输入整数n:); scanf(
15、%d,&n); if(n0&n17) for(i=2,s=1;i=n;i+) s=s*i; printf(%d!=%dn,n,s); else printf(输入错误!请输入1-16中的整数!n);4. 如果0n8,请计算 s=1!+2!+3!+n! ,并打印输出计算结果s。(注:n!=1*2*3*n)#include main() int n,i,s,fact; printf(请输入整数n:); scanf(%d,&n); if(n0&n8) for(i=1,s=0,fact=1;i=n;i+) fact=fact*i; /*求n!*/ s=s+fact; /*求s=1!+2!+3!+n!*
16、/ printf(s=%dn,s); else printf(输入错误,请输入1-7中的整数!n);5. 从键盘输入一个大于1的整数,输入是否为素数,是,则输出“YES”,否则输出“NO”#include main() int n,i; printf(请输入整数n:); scanf(%d,&n); if(n1) for(i=2;in;i+) if(n%i=0)break; if(i=n)printf(YESn); else printf(NOn); else printf(输入错误,请输入大于1的整数!n);(三)项目四 数组选择题:1若二维数组a有m列,则在aij前的元素个数为_B_.(注意
17、列)A. j*m+IB. i*m+j C. i*m+j-1 D. i*m+j+12以下对二维数组a的正确说明是_C_.A. int a3;B. float a(3,4);C. double a14;D. float a(3)(4);3若有说明:int x3=1,3,5,7,9,11;,则x数组的行数为_A_。A.2 B. 3 C. 4 D. 无确定值4若有以下定义int a =1,2,3,4,5,6,7;char c1=b,c2=2;则数值不为2的表达式是_A_。A. c2-0 B. a1 C. d-c1 D. a3-c25以下程序的输出结果是_B_。main( ) int a33=1,2,3
18、,4,5,6,i,j,s=0; for(i=0;i3;i+) for(j=0;j=i;j+) s+=aij; printf(“%dn”,s);A.18 B. 19 C. 20 D. 216有两个字符数组a、b,则以下正确的输入语句是_B_.A. gets(a,b); B. scanf(“%s%s”,a,b);C. scanf(“%s%s”,&a,&b); D. gets(“a”),gets(“b”);7当执行下面的程序时,如果输入ABC,则输出结果为_A_。#include #include main()char ss10=“1,2,3,4,5”; gets(ss);strcat(ss,”67
19、89”);printf(”%sn”,ss);A. ABC6789 B. BC67 C. 12345ABC6 D. ABC8判断字符串s1是否大于字符串s2,应当使用_D_.A. if(s1s2) B. if(strcmp(s1,s2)C. if(strcmp(s2,s1)0) D. if(strcmp(s1,s2)0)填空题:1下面程序以每行4个数据的形式输出a数组,请填空。 #define N 20 main() int aN,i; for(i=0;iN;i+)scanf(“%d”,_ &ai_); for(i=0;iN;i+) if (_i%4=0_) _ printf(“n”); _ p
20、rintf(“%3d”,ai); printf(“n”);2若有定义:int a34=1,2,0,4,6,8,10;则初始化后,a12的初值是_0_,a21的初值是_6_。3下面程序的运行结果是_7,3_。main( ) int a10=10,2,-13,21,11,67,-78,8,90,-53; int i,x=0, y=0; for(i=0;i0) x+;else y+;printf(“%d,%dn”, x, y );4.下面程序的功能是:输入50个数,按逆序输出,请填空。 main( ) int a50,i; for(i=0;i=0;_ i- -_) printf(“%4d”,ai);
21、 5. 下面程序可求出矩阵a的主对角线上的元素之和,请填空。 main() int a33=1,3,5,7,9,11,13,15,17,sum=0,i,j; for(i=0;i3;i+) for(j=0;j3;j+) if(_i=j _)sum=sum+_ aij_; printf(“sum=%dn”,sum);6. 下面程序的功能是在三个字符串中找出最小的,请填空。 #include #includemain() char s20,str320; int i; for(i=0;i3;i+)gets(stri); strcpy(s,_ str0_);if(strcmp(str1,s)0)str
22、cpy(s,str1); if(strcmp(str2,s)0)strcpy(s,str2); printf(“%sn”, _s_);阅读题:1. #include main() int a10, i; for(i=9; i=0;i-) ai=10 - i; printf(“%d%d%dn”,a2,a5,a8);答:852 2. #include main() int a33=1,2,3,4,5,6,7,8,9, i,s=0; for(i=0;i=2;i+) s=s+aii; printf(“s=%dn”,s);答: s=153. #include main() int a44=1,3,5,2
23、,4,6,3,5,7; printf(“%d%d%d%dn”,a03,a12,a21,a30);答:06504. #include #include main() char s10=“a”,”good”,”world”; strcat(s0,s1); printf(“%s”,s0);答: agood5. #include main() char s=“abcdef”; s3=0; printf(“%sn”,s);答: abc 编程题:1. 从键盘输入10个整数,存入数组a,从数组a的第二个元素起,分别将后项减前项之差存入数组b,按每行3个元素输出数组b。#include main() int
24、a10,b10,i,j; for(i=0;i10;i+) scanf(%d,&ai); for(i=0,j=0;i9;i+,j+) bj=ai+1-ai; printf(%5d,bj); if(i%3=2)printf(n); 2. 输入一个字符串,将其中的大写字符转换成小写,其它的不做转换,然后输出得到的字符串。#include main() int i; char s100; scanf(%s,s); for(i=0;si!=0;i+) if(si=A&si=Z) si=si+32; for(i=0;si!=0;i+) printf(%c,si); printf(n);3. 读入20个整数
25、,统计非负数个数,并计算非负数之和#include main() int a20,i,n,s=0; for(i=0;i20;i+) scanf(%d,&ai); for(i=0;i=0) n+; s=s+ai; printf(非负数个数:n=%dn,n); printf(非负数之和:s=%dn,s);4. 某班有30名学生,考试共5门课程,输入各门成绩,计算每人的总分,输出全班学生的各科成绩及总分。#include main() int i,j; float score305,sumr30=0.0,0.0,sum=0; printf(请输入30个同学各5门课程的成绩:n); for(i=0;i
26、30;i+) for(j=0;j5;j+) scanf(%f,&scoreij); for(i=0;i30;i+) for(j=0;j5;j+) sumri=sumri+scoreij; sum=sum+sumri; printf(t 课程一 课程二 课程三 课程四 课程五n); for(i=0;i30;i+) printf(第%2d个同学:,i); for(j=0;j5;j+) printf(%8.2f,scoreij); printf(n); printf(%.2fn,sum);5. 从键盘输入10个数,从小到大排列(或从大到小排列),将其输出(冒泡法或选择法任选)。冒泡法排序:#incl
27、ude main() int a10,i,j,t; for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i9;i+) for(j=0;jaj+1) t=aj; aj=aj+1; aj+1=t; printf(从小到大排列:n); for(i=0;i10;i+) printf(%d ,ai); printf(n);选择法排序:#include main() int a10,i,j,k,t; for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i9;i+) k=i; for(j=i+1;jak) k=j; if(i!=k) t=ai; ai=ak
28、; ak=t; for(i=0;i10;i+) printf(%5d,ai); printf(n);(四)项目五和项目六 函数、指针选择题1以下正确的函数定义形式是_A_.A. double fun(int x,int y) B. double fun(int x; int y)C. double fun(int x, int y); D. double fun(int x,y);2. 以下函数调用语句中实参的个数是_A_。 fun(v1,v2),(v3,v4,v5),v6);A. 3 B. 4 C. 5 D. 62若有说明;int *p,m=5,n;以下正确的程序段的是_D_.A. p=&n
29、; B. p=&n;scanf(“%d”,&p); scanf(“%d”,*p);C. scanf(“%d”,&n); D. p=&n; *p=n; *p=m;2以下程序的运行结果是_ A+B=9_. int a=5;int b=7; main() int a=4,b=5,c; c=plus(a,b); printf(“A+B=%dn”,c); plus(int x,int y) int z; z=x+y; return(x); 3以下正确的程序段是_B _.A. char str20; B. char *p; scanf(“%s”,&str); scanf(“%s”,p);C. char s
30、tr20; D. char str20,*p=str; scanf(“%s”,&str2); scanf(“%s”,p2);填空题:1若有定义:int a=2,4,6,8,10,12,*p=a;则*(p+1)的值是_4_. *(a+5)的值是_2_.2下面程序段的运行结果是_ hELLO!_. char s80,*sp=“HELLO!”; sp=strcpy(s,sp); s0=h; puts(sp);3. 理解下面的程序,填空使程序完整。#include int max(_int x,int y_) int z; if (xy) z=x; else z=y; _ return(z)_;mai
31、n() int a,b,c; scanf(“%d%d”,_&a&b_); c=_ max_(a,b); printf(“a=%d,b=%d,max=%dn”,a,b,c);阅读题:1. #include void func(int x) x=20; main() int x=10;func(x);printf(“%d”,x);答:102. #include void fun(float *a,float *b) float w; *a=*a+*a;w=*a; *a=*b; *b=w;main() float x=2.0,y=3.0; float *px=&x,*py=&y; fun(px,py); printf(“%f,%f”,x,y);答:3.,4.(五)项目七和项目八 结构体、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗废物处理与安全防护指南(标准版)
- 电信行业客户服务规范与流程手册
- 企业危机管理规范
- 公路客运服务流程与规范(标准版)
- 印刷行业生产流程操作手册
- 审计工作流程与质量控制指南
- 健身房会员管理与运营指导
- 翻译服务标准操作规范
- 旅行社业务操作手册
- 旅游行业导游服务与培训指南
- 《城轨供电系统继电保护与二次回路》电子教案 10变压器瓦斯保护
- 2025年幼儿园中、高级教师职称考试(综合素质)综合试题及答案
- 农村菜园买卖协议书
- 2025年福建省考申论试题及答案
- 2025年新课标综合卷高考真题理综试卷(含答案)
- JJG 264-2025 谷物容重器检定规程
- 海尔卡萨帝复式洗衣机C8 U12G1说明书
- 坟地长期租赁协议书
- 成人脑室外引流护理团体标准解读
- 大学美育(同济大学)学习通测试及答案
- 《事故快速处理协议书》电子版
评论
0/150
提交评论