已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c语言程序设计复习题 一、选择题 (1) 算法具有五个特性,以下选项中不属于算法特性的是 (B) (A)有穷性 (B)简洁性 (C)可行性 (D)确定性 (2) 一个C语言程序是由( A )。 (A)一个主程序和若干子程序组成 (B)函数组成 (C)若干过程组成 (D)若干子程序组成 (3) 以下叙述中正确的是 (C) (A)用C语言实现的算法必须要有输入和输出操作 (B)用C语言实现的算法可以没有输出但必须要有输入 (C)用C程序实现的算法可以没有输入但必须要有输出 (D)用C程序实现的算法可以既没有输入也没有输出 (4) 如果有定义:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为9的表达式是 B 。 (A)*p+8 (B)*(p+8) (C)*p+=9 (D)p+8 (5) 以下选项中,不能作为合法常量的是 (B) (A)1.234e04 (B)1.234e0.4 (C)1.234e+4 (D)1.234e0 (6)下列叙述中正确的是 (C) (A)break语句只能用于switch语句 (B)在switch语句中必须使用default (C)在switch语句中break语句总是case配对使用 (D)在switch语句中,不一定使用break语句 (7)有以下程序 main() int m,n,p; scanf(m=%dn=%dp=%d, printf(%d%d%dn,m,n,p); 若想从键盘上输入数据,使变量M中的值为123, N中的值为456, P中 的值为789, 则正确的输入是 (A) (A)m=123n=456p=789 (B) m=123 n=456 p=789 (C)m=123,n=456,p=789 (D)123 456 789 (8) 有以下程序 main() int a,b,d=25; a=d/10%9;b=a printf(%d,%dn,a,b); 程序运行后的输出结果是 (B) (A)6,1 (B)2,1 (C)6,0 (D)2,0 (9) 在嵌套使用if语句时,C语言规定else总是 (A) (A)和之前与其具有相同缩进位置的if配对 (B)和之前与其最近的if配对 (C)和之前与其最近的且不带else的if配对 (D)和之前的第一个if配对 (10) 有以下程序 main() int a=0, b=0; a=10; b=20; printf(a+b=%dn,a+b); 程序运行后的输出结果是 (B) (A) a+b=10 (B) a+b=30 (C) 30 (D) 出错 11. 在 C 程序中,用_B_表示逻辑值“真”。 A、1 B、非0的数 C、非1的数 D、大于 0 的数 12. 以下不能做为C语言标识符的是 B A、_1234_ B、2_int_ C、int_2_ D、_1_2 13. 若有定义语句:int a=10;double b=314;,则表达式A+a+b值的 类型是 C 。 A、char B、int C、double D、float 14. 表达式3.6-5/2+1.2+5%2的值是 D 。 A、4.3 B、4.8 C、3.3 D、3.8 15. 若有定义语句:int x=12,3=8,z;,在其后执行语句z=0 9+x/y;,则Z的值为 。 A、1.9 B、1 C、2 D、2.4 16. C语言对嵌套if语句的规定是else总是与 A 配对。 A、之前最近的尚未配对的if B、第一个if C、缩进位置相同的if D、最前面的if 17、在C 语言程序中,_ _A_ _是在所有函数外部声明的。 A、全局变量 B、全程变量 C、外部变量 D、内部变量 18、若有定义:int a,b;,通过语句scanf(d;d, answer=100; result=answer-10; printf(“The result is %d”,result+5); A、The result is 90 B、The result is 95 C、The result is 10 D、The result is 100 21. 用来将两个字符串合并为一个字符串的函数是_ _A_。 A、strcat( ) B、strcpy( ) C、strlen( ) D、length() 22. 若用数组名作为函数调用的实参,传递给形参的是 A 。 A、数组的首地址 B、数组中第一个元素的值 C、数组中的全部元素的值 D、数组元素的个数 23. 若有定义int *p,m=5,n; 以下程序段正确的是 D 。 A、p= scanf(“%d”, B、p= scanf(“%d”,*p); C、scanf(“%d”, *p=n; D、p= *p=m; 24. 在C语言中,若有如下定义: struct student char name18; int age; char sex; struct student a; 则结构变量a占用内存字节数是 C 。 A、3 B、20 C、21 D、不确定 25. 下列程序段的输出结果是 A A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2 void fun(int *x, int *y) printf(“%d %d”, *x, *y); *x=3; *y=4; main() int x=1,y=2; fun( printf(“%d %d”,x, y); 26. 以下程序运行结果是 ( A ) main() int a=3, 4, 5, 6, 7, y=1, x; for(x=0; x3; x+) y=y+ax+1; printf(“%dn”, y); A) 16 B) 17 C) 19 D) 20 27.在循环结构的循环体中执行break语句,其作用是 ( C ) A) 结束本次循环,进行下次循环 B) 继续执行break语句之后的循环体中各语句 C) 跳出该循环体,提前结束循环 D) 终止程序运行 28. C语言的简单数据类型包括 ( D ) A)整型、实型、逻辑型 B)整型、实型、字符型、逻辑 型 C)整型、字符型、逻辑型 D)整型、实型、字符型 29. 下列程序段的运行结果是 ( B ) int i=1,a=1,5,10,9,13,7; while(ai0 ) if(sgmax)gmax=s; if( sb) a=b; b=c; c=a; printf(“a=%d,b=%d,c=%dn”,a,b,c); 运行结果: a=10,b=30,c=10 11.#include main() int a=1,b=10; do b-=a; a+; while(b- -10); printf(“a=%d,b=%dn”,a,b); 运行结果: a=256,b=32651 12.#include main() int k; int a33=1,2,3,4,5,6,7,8,9; for(k=0;ky_) u=x; else u=y; if (_uz_) v=u; else v=z; printf(v=%d,v); 15以下程序的功能是以每行4 个数据的形式输出a 数组元素,请在_上填写正 确内容。 #include #define N 20 main() int a N,i; for (i=0;i=N-1;i+) scanf (%d, _ for (i=0;i2 a+=a-=a*a; 后,a的值是 -112 。 5、有如下语句:char A =”I am a student”; 该字符串的长度 是 14 ,A3= m 。 6、符号”a”和a的区别是 ”a”是字符串常量,而a是字符常量 。 7、所谓“指针”就是 存放地址值的变量或常量,或者答地址 。 “为使变量a的值 为1,b的值为3,c的值为2,从键盘输入数据的正确形式应 是 a=1,b=3,c=2 。 9、C语言的三种基本程序结构是 顺序结构_、 选择结构 _、 循环结构 _。 10、C语言的三个循环语句分别是 for语句_、 _while语句_、 do-while语 句_。 11. 能表述“20x30或x20 q = p = q ; q = printf(%d, *p); 16. C 语言程序的语句结束符是_分号_。 17. 编写一个C 语言程序,上机运行需要经过_编辑、_编译_、_连接、 _运行_、 _四个步骤。 18、若有定义:int a3 4=1,204,6,8,10;则初始化后a1 2的值为 0 ,a21得到的值为 6 19. 以下程序的运行结果是 6069 60 error! main() char grade=C; switch(grade) case A: printf(“85100n”); case B: printf(“7084n”); case C: printf(“6069n”); case D: printf(“60n”); default: printf(“error!n”); 20. 执行以下程序后,输出的“#”的个数为 20 。 for(i=1;i5;i+) for(j=1;j=5;j+) printf(#); 四、仔细阅读如下程序,按题意填写程序空缺 1、输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果 它是一个小写字母,则把它变成大写字母;其它字符不变。 main( ) char ch; scanf (“ %c “ , if ( A*pb) _ num=*pb ; if(num*pc) num=*pc_; printf(Min=%dn,num); 3. 以下函数的功能是计算当n=5 时,的值,请在_上填写正确内容。 # include double fun(int n) double s=0.0, fac=1.0; int i; for(i=1,i=n;i+) fac=fac *1.0/i_ ; s= s+fac ; return s; main( ) printf(%fn,fun(5); 4、下面程序的功能是用do -while语句求1至1000之间满足“用3除余2;用 5除余3;用7除余2”的数,且一行只打印五个数。 #include main ( ) int i = 1 , j = 0 ; do if ( i % 3 = =2 j = j + 1 ; if ( j % 5 = = 0 ) printf ( “ n “ ) ; i = i + 1 ; while ( i 1000) ; 5、求:1 +2+3+ +100的和。 main ( ) int i ; int sum=0 ; for( i = 1 ; ic area=sqrt(s*(s-a)*(s-b)*(s-c); printf(“%f ”,area); if( a=b else if(a*a+b*b=c*c)|(a*a+c*c=b*b)| (c*c+b*b=a*a) printf(“直角三角形”); else printf(“一般三角形”); else printf(“不能组成三角形”); 9.以下程序的功能是计算n!的值,请将下列程序补充完整 #include main( ) int i,s,n; s= 1 ; i= 1 ; scanf(“%d”, do s=s*i; i+; while( i=n ) printf(“s=%dn”,s); 10.以下函数的功能是求x的y次方,请将下列程序补充完整。 #include double fun(double x, int y) int i; double z; for(i=1,z=x;iy; i+) z=x* z ; return z; main( ) double a; int b; scanf(“%f%d”, printf(“%fn”, fun(a,b) ); 五、程序阅读题: 1、写出下面程序的运行结果 #include int myfun(); main() int x=0; x=myfun(); printf(%dn,x); x=myfun(); printf(%dn,x); int myfun() auto int a=10; static int b=10; a+; b+; printf(a=%d,b=%d ,a,b); return a+b; 答: a=11,b=11 22 a=11,b=11 23 2、写出下面程序的运行结果 #include void myswap(int p,int q); void myswap(int p,int q) int k=0; k=p; p=q; q=k; main() int a=5,b=10; printf(Before swap:a=%d,b=%dn,a,b); myswap(a,b); printf(After swap:a=%d,b=%dn,a,b); 答:Before swap:a=5,b=10 After swap:a=5,b=10 3、写出下面程序的运行结果 #include main() int i; for(i=1;i c ) t = a ; a = c ; c = t ; if ( b c ) t = b ; b = c ; c = t ; printf ( “ % d , %d , %d “ , a ,b ,c ) ; 2、假设数组a中已存放10个数据,编写程序,通过指针将这些数据按逆序重新存放在数组a 中。(15分) #include main( ) int a10=1,2,3,4,5,6,7,8,9,10, t=0,*p=NULL,*q=NULL; printf(“Original:n”); for (p=a;pa+10;p+) printf(“%4d”,*p); printf(“n”); p=a; q=p+9; while(pq) t=*p;*p=*q; *q=t; p+;q-; printf(“Final:n”) for(p=a;pa+10;p+) printf(“%4d”,*p); printf(“n”); 3、请编写程序,打印出1000以内的水仙花数(5分)。 #include main() int a,b,c; for(a=1;a10;a+) for(b=0;b10;b+) for(c=0;c=1e-6) s+=1.0/s1; i+; s1*=i; printf(%.6f,s); 5、为小学生出6道测试题,其题目和标准答案如表所示。编写程序,依 题号显示个体后,读入用户答案,比较其内容,若一致,输出“You are right!”,若不一致,输出“You are wrong!”,并输出正确答 案。 题号题目标准答案 110+20=30 210-5=5 38+18=26 440/8=5 55*6+3=33 68+2*5=18 答案 #include main() char a620=10+20=,10-5=,40/5=,3*6-5=, 80- 5*12=,9*2+7=; int i,c,b6= 30,5,8,13,20,25,*p=b; float ratio=0; . . . 6、编写程序,随机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五年级上册数学期中试卷及答案
- 第二学期小学科学教学工作总结
- 课程的公共性
- 钢结构承载力计算技术要点
- 电采暖系统技术应用方法
- 云石线线路改造工程环境影响报告书
- 2026届山东省滨州市高三上学期期末考试历史试题(含答案)
- 社区考试试题解析及答案
- 社会保障法试题及答案
- 青岛焊工证考试题及答案
- 生鲜业务采购合同协议
- GB/T 4340.2-2025金属材料维氏硬度试验第2部分:硬度计的检验与校准
- 销售合同评审管理制度
- 资产评估员工管理制度
- 泳池突发安全事故应急预案
- 2025开封辅警考试题库
- 湖北省武汉市汉阳区2024-2025学年上学期元调九年级物理试题(含标答)
- DB37-T 5316-2025《外墙外保温工程质量鉴定技术规程》
- 2024年佛山市高三一模普通高中教学质量检测(一) 物理试卷
- 山东省德州市乐陵市2024-2025学年七年级上学期期末考试英语试(答案无听力原文及音频)
- 三年级教师数字化教学能力提升计划
评论
0/150
提交评论