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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言复习题.docx

1、C语言复习题 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,

2、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,&m,

3、&n,&p); 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&(-1); printf(%d,%dn,a,b); 程序运行后的输出结果是 (B)(A)6,1 (B)2,1 (C)6,0 (D)2,0 (9) 在嵌套使用if语句时,C语言规定else

4、总是 (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_

5、D、_1_213. 若有定义语句:int a=10;double b=314;,则表达式A+a+b值的类型是 C 。A、char B、int C、double D、float14. 表达式3.6-5/2+1.2+5%2的值是 D 。 A、4.3 B、4.8 C、3.3 D、3.815. 若有定义语句:int x=12,3=8,z;,在其后执行语句z=09+x/y;,则Z的值为 。 A、1.9 B、1 C、2 D、2.416. C语言对嵌套if语句的规定是else总是与 A 配对。 A、之前最近的尚未配对的if B、第一个if C、缩进位置相同的if D、最前面的if17、在C 语言程序中,_

6、_A_ _是在所有函数外部声明的。 A、全局变量 B、全程变量 C、外部变量 D、内部变量18、若有定义:int a,b;,通过语句scanf(d;d,&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是_C_。 A、3 5 B、3,5 C、3;5 D、3519、若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1k2)&(k2=k2k1)后,k1和k2的值分别为_B_。A、0和1 B、0和20 C、10和1 D、10和2020. 下面C代码的输出结果是_B_。int answer,result; answer=100; result=answer-10; prin

7、tf(“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 10021. 用来将两个字符串合并为一个字符串的函数是_ _A_。 A、strcat( ) B、strcpy( ) C、strlen( ) D、length()22. 若用数组名作为函数调用的实参,传递给形参的是 A 。 A、数组的首地址 B、数组中第一个元素的值 C、数组中的全部元素的值 D、数组元素的个数23. 若有定义int *p,m=5,n; 以下程序段正确的是 D 。 A、p

8、=&n; scanf(“%d”,&p); B、p=&n; scanf(“%d”,*p); C、scanf(“%d”,&n); *p=n; D、p=&n; *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

9、%d”, *x, *y); *x=3; *y=4; main() int x=1,y=2; fun(&y,&x); 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) 2027.在循环结构的循环体中执行break语句,其作用是 ( C ) A) 结束本次循环,进行下次循环 B) 继续执行break语句之后的循环体中各语句 C) 跳出该循环体,提前结束循环 D)

10、终止程序运行28. C语言的简单数据类型包括 ( D )A)整型、实型、逻辑型 B)整型、实型、字符型、逻辑型C)整型、字符型、逻辑型 D)整型、实型、字符型29. 下列程序段的运行结果是 ( B )int i=1,a=1,5,10,9,13,7;while(ai=10) ai=ai+2;i+;for (i=0;i x ) & ( b = y z ) ; A)6 B) 0 C) 1 D) 432.阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果为(“CR”表示回车) ( A )main( ) int x,y,z; scanf(“%d%d%d”,&x,&y,&z); print

11、f(“x+y+z=%dn”,x+y+z);A、x+y+z=48 B、x+y+z=35 C、x+z=35 D、不确定值33.C语言中while 与do - while语句的主要区别是 ( A )A)do -while的循环体至少无条件执行一次B)do -while允许从外部转到循环体内C)do -while的循环体不能是复合语句D)do -while的循环体不能提前结束34. 以下正确的描述是 ( B )在C语言程序中:A)函数的定义可以嵌套,但函数的调用不可以嵌套 B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和函数的调用均不可以嵌套 D)函数的定义和函数的调用均可以嵌套35.以

12、下不正确的描述是 ( D ) A) 在函数外部定义的变量是全局变量 B) 在函数内部定义的变量是局部变量 C) 函数的形参是局部变量 D) 局部变量不能与全局变量同名36. 在 C 程序中,用(B)表示逻辑值“真”。 A、1 B、非0的数 C、非1的数 D、大于 0 的数37. C 语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(C )。(A) 必须为字母(B) 必须为下划线(C) 必须为字母或下划线(D) 可以是字母、数字和下划线中任一种字符38. 一个C 语言程序的执行是从( A)。(A) 本程序的main 函数开始,到main 函数结束(B) 本程序文件的第一个函数开始

13、,到本程序文件的最后一个函数结束(C) 本程序的main 函数开始,到本程序文件的最后一个函数结束(D) 本程序文件的第一个函数开始,到本程序的main 函数结束39. 表达式3.6-5/2+1.2+5%2的值是 (D)。 A、4.3 B、4.8 C、3.3 D、3.840. 合法的数组定义是( D)。(A) int a=“string”; (B) int a5=0,1,2,3,4,5;(C) char a=“string”; (D) char a=0, 1, 2, 3, 4, 5;41. C语言对嵌套if语句的规定是else总是与 ( A)配对。 A、之前最近的尚未配对的if B、第一个if

14、 C、缩进位置相同的if D、最前面的if42、 以下程序段的输出结果是(A )。int a=1234;printf(%2dn,a);(A) 12 (B) 34 (C) 1234 (D) 提示出错、无结果43. 对于while语句,错误的说法是(B)。 A、用条件控制循环的执行次数 B、循环体至少要执行一次 C、循环体有可能一次也不执行 D、循环体中可以包含若干条语句44、下面的程度段的循环次数是(B )。 for (i=2;i= =0; ) printf(“%d”,i-); A、无限次 B、0次 C、1次 D、2次45. 已知:int a23=1,2,3,4,5,6;,则a12的值为( C)

15、。(A) 4 (B) 2 (C) 6 (D) 下标超出范围46. 表达式 strlen(“ hello”) 的值是 (B )。 A、4 B、5 C、6 D、747. 若用数组名作为函数调用的实参,传递给形参的是( A )。 A、数组的首地址 B、数组中第一个元素的值 C、数组中的全部元素的值 D、数组元素的个数48. 已知函数abc 的定义为:Void abc ()则函数定义中 void 的含义是(A )。(A) 执行函数abc 后,函数没有返回值 (B) 执行函数abc 后,函数不再返回(C) 执行函数abc后, 可以返回任意类型 (D) 以上三个答案全是错误的49. 对以下语句的正确理解是

16、(B )。int a10=6,7,8,9,10;(A) 将5 个初值依次赋给a1至a5(B) 将5 个初值依次赋给a0至a4(C) 将5 个初值依次赋给a6至a10(D) 因为数组长度与初值的个数不相同,所以此语句不正确50. 阅读以下程序,当输入数据的形式为25,13,10时,正确的输出结果为( )。main(D)int x,y,z;scanf(%d%d%d,&x,&y,&z);printf(x+y+z=%dn,x+y+z);(A) x+y+z=48(B) x+y+z=35(C) x+z=35(D) 不确定值二、阅读程序,写出程序的正确运行结果。1. 以下程序运行后的输出结果是_ #defi

17、ne S 4 main() int i=6,j=8; printf(%dn,S*i*j); 答案: _192_2. 以下程序运行后的输出结果是_ main() int a,b,c; a=10; b=20; c=(a%b1); printf(%d %d %dn,a,b,c); 答案: 10 20 0 3. 已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33.则输出结果是_ #include main() char a,b; a=getchar();scanf(%d,&b); a=a-A+0;b=b*2; printf(%c %cn,a,b); 答案: 1 B 4、float

18、f=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是:3.141593,3.1416,3.142.5、int x=6, y=7;printf(“%d,”,x+);printf(“%dn”,+y);程序的输出结果是:6,86.从键盘上输入若干个学生成绩,统计并输出最高成绩和最低成绩,输入负数时结束。 #includemain()float s,gmax,gmin;scanf(%f,&s);gmax=s; gmin=s;while( s0 )if(sgmax)gmax=s; if( sgmin )gmin=s; scanf(%f,&s);prin

19、tf(gmax=%fn gmin=%fn,gmax,gmin);7对输入的一个整数进行判断,若是偶数,输出ever,否则输出odd,在子函数fun2的功能是判定整数是否为偶数,若是偶数,返回1,否则返回0。 #includeint fun2(int x)if(x%2=0) return 1 ;return 0;main()int n;scanf(%d,&n);if( fun2(n)或fun2(n)=1 )printf(evenn); else printf(oddn); ;8.#include main() int a,b,product;a=30; b=20;product=a*b;prin

20、tf(“a*b=%dn”,product);运行结果: a*b=600 9.#include main() int a,b;float x,y;a=12;b=-24;a=a+b;x=3.14;y=x*5*5;printf(“n a=%d”,a);printf(“n y=%f”,y);运行结果: a=-12 y= 78.5 10.#include main() int a,b,c;a=10;b=50;c=30;if(ab) 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

21、 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;k3;k+)printf(“%d,n”,ak2-k);运行结果: 3, 5, 7, 13.#include fun(int x,int y)main() int x=2,y=3;printf(“%d,%dn”,x,y);fun(x,y);printf(“%d,%dn”,x,y);fun (int x,int y) in

22、t t;t=x;x=y;y=t;printf(“%d,%dn”,x,y);运行结果: 2,3 3,2 2,3 14. 要求以下程序实现输出x,y,z 三个数中的最大者,请在_上填写正确内容。#include main() int x=23 , y=34 , z=17;int u,v;if (_xy_) u=x;else u=y;if (_uz_) v=u;else v=z;printf(v=%d,v); 15以下程序的功能是以每行4 个数据的形式输出a 数组元素,请在_上填写正确内容。#include #define N 20main() int a N,i;for (i=0;i=N-1;i+

23、)scanf (%d, _&ai_) ;for (i=0;i2 & 25 %5的结果是_0_。4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是-112 。5、有如下语句:char A =”I am a student”; 该字符串的长度是14,A3=m 。6、符号”a”和a的区别是”a”是字符串常量,而a是字符常量 。7、所谓“指针”就是存放地址值的变量或常量,或者答地址 。 “&”运算符的作用是取运算对象的地址。 “*”运算符的作用是取指针变量所指的内容。8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,

24、c的值为2,从键盘输入数据的正确形式应是a=1,b=3,c=2 。9、C语言的三种基本程序结构是 顺序结构_、 选择结构 _、 循环结构_。10、C语言的三个循环语句分别是 for语句_、 _while语句_、 do-while语句_。11. 能表述“20x30或x20&x30|x-100 。12、若有定义:int a3 4=7,10,4,2,3,5,7;则初始化后a01的值为 ,a12的值为 ,a21的值为 。13. 若在程序中用到“putchar”,应在程序开头写上包含命令 ,若在程序中用到“strlen()”函数时,应在程序开头写上包含命令 。14. 有以下程序(注:字符a的ASCIl码

25、值为97)#includemain()char *s=abe;do printf(d, (*s)10);+s;while(*s);程序运行后的输出结果是_ 781_。15、下列程序段的输出结果是 _5 _。 int *p, *q, k = 5 , j = 6 ; q = &k ; p = q ; q = &j ; printf(%d, *p);16. C 语言程序的语句结束符是_分号_。17. 编写一个C 语言程序,上机运行需要经过_编辑、_编译_、_连接、_运行_、_四个步骤。18、若有定义:int a3 4=1,204,6,8,10;则初始化后a12的值为 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(#);四、仔细阅读如下程序,按题意填

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1