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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

最新C语言复习题2.docx

1、最新C语言复习题2题型: 选择题(20题2=40分) 填空题(15空2=30分) 编程题:(4题共30分)红色为参考解答一、选择题(1) 以下叙述中正确的是( )CA) C语言程序将从源程序中第一个函数开始执行。 B) 可以由在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行。C) C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束。D) main可以作为用户标识符,用户可以命名任意一个函数作为主函数。(2) 若有定义语句:char s10=”123456700”; 则strlen(s)的值是( ) A A)7 B)8 C)9 D)10(3) 若有定义:float x

2、=1.5;int a=1,b=3,c=2;则正确的switch语句是( )BA) switch(x) B) switch(int)x) case 1.0:printf(*n); case 1:printf(*n); case 2.0:printf(*n); case 2:printf(*n);C) switch(a+b) ; D) switch(a+b) case 1:printf(*n); case 1:printf(*n); case 2+1:printf(*n); case c:printf(*n);(4) 有以下程序 D void main( ) inta=0,2,4,6,8,*p=a

3、,*q=p+3; printf(%dn,*p+*q); 程序运行后的输出结果是( ) A) 10 B) 4 C) 8 D) 6(5) 若有定义:int x=0, *p=&x;,则语句printf(%dn,*p);的输出结果是( )B A)随机值 B)0 C)x的地址 D)p的地址(6) 下列叙述中错误的是( )AA) 一个C语言程序可以包含多个main函数B) C程序可以由多个程序文件组成C) C程序可以由一个或多个函数组成D) 在C程序的函数中不能定义另一个函数A) and_2007 B) abc C)int D) Double(7) 设有int x=11; 则表达式 x % 5的值是( )

4、 A A) 1 B) 2 C) 3 D) 4(8) 以下的for循环( )C for(x=0; x10; x + =2 );A) 是无限循环 B)循环次数不定 C)执行5次 D)执行4次(9) 以下错误的定义语句是( )CA)int x3=0,1,1,2,3;B)int x43=1,2,3,1,2,3,1,2,3;C)int x4=1,2,3,1,2,3,1,2,3,1,2,3;D)int x3=1,2,3,4;(10) C语言中while和do-while循环的主要区别是( ).AA)do-while的循环体至少无条件执行一次B)while的循环控制条件比的循环控制条件严格C)do-whil

5、e允许从外部转到循环体内D)do-while的循环体不能是复合语句(11) 对于基类型相同的两个指针变量之间,不能进行的运算是 ( ) AA) B) = C) + D) -(12) 设有定义:intn1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是( )A A)*p=*q; B)p=q; C)*p=&n1; D)p=*q; (13) 以下叙述错误的是( )D A) 用户定义的函数中可以没有return语句 B) 用户定义的函数中可以有多个return语句,一次调用可以返回多个值 C) 用户定义的函数中若没有return语句,则应当定义函数的类型为void类型

6、 D) 函数的return语句中可以没有表达式(14) 有以下程序C #include int fun(int x,int y) if(xy) return x; else return y; void main( ) inta=4,b=5; printf(%dn,fun(a,b); 程序运行后的输出结果是( ) A) 3 B) 4 C) 5 D) 6(15) 以下叙述中错误的是( )DA)在程序中凡是以”#”开始的代码行都是预处理指令行B)预处理指令行的最后不能以分号表示结束C)#define MAX是合法的宏定义指令行D)C程序对预处理指令行的处理是在程序执行的过程中进行的(16) 按照C

7、语言的用户标识符命名规则,不能出现在标识符中的是( )D A) 字母 B) 数字 C) 下划线 D) 连接符(17) 若有定义语句int a32;按在内存中的存放顺序,a数组的第3个元素(a00是第一个元素)是( )AA) a10 B) a11 C) a00 D) a01(18) 以下不合法的标识符是( )AA) for B) a_b C) print D) x1(19) 若函数中有定义语句:int k;,则( )B A)系统将自动给k赋初值0 B)这时k中的值无定义 C)系统将自动给k赋初值-1 D)这时k中无任何值(20) 以下叙述中正确的是( )DA) 函数的定义可以嵌套,但函数的调用不

8、可以嵌套。 B) 函数的定义不可以嵌套,但函数的调用可以嵌套。C) 函数的定义和调用都不可以嵌套。D) 函数的定义和调用都可以嵌套。(21) 下面关于标识符的叙述不正确的是( )B A)标识符中可以有数字 B)关键字可以做标识符 C)标识符中可以有大写字母 D)标识符中可以有下划线(22) 以下关于字符串的叙述中正确的是( )BA) C语言中有字符串常量和变量 B) C语言中没有字符串变量 C) 可以用关系运算符对字符串大小进行比较D) 所有字符串末尾都有结束标志(23) 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )DA)函数的实参和其对应的形参共占同一存储单元 B

9、)形参只是形式上的存在,不占用具体存储单元 C)同名的实参和形参占同一存储单元 D)函数的形参和实参分别占用不同的存储单元(24) 以下不合法的标识符是( )CA)j2_key B) Int C)4d D)_8_(25) 设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是( ) D A) 3 B) 0 C) 9 D) 12 (26) 在C程序中,若对函数类型未加说明,则函数的隐含类型为( )。AA)int B)double C)void D)char(27) 设变量定义为int a, b;,执行下列语句时,输入( ),则a和b的值都是10。Dscanf(a=%d, b=%

10、d,&a, &b);A)10 10 B)10, 10 C)a=10 b=10 D) a=10, b=10 (28) 设变量定义为int a4;,则表达式( )不符合C语言语法。DA) *a B) a0 C) a D) a+(29) 下列程序输出结果是( ) C #include void main( )int k=5; k-;printf(%d,+k);A) 3 B) 4 C) 5 D) 6(30) 有以下程序A#include void main( )int x,y,z; x=y=1;z=x+,y+;printf(%d,%d,x,y);程序运行后的输出结果是( )A) 2,2 B) 2,3

11、C) 3,2 D) 1,2(31) 以下能正确定义字符串的语句是( )DA) char str=”kx43”; B) char str=”; C) char str=064; D) char str=”0”;(32) 已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能 将变量c中的大写字母转换为小写字母的语句是( )D A)c=(c-A)%26+a; B)c=c+32; C)c=c-A+a; D)c=(A+c)%26-a;(33) 下列程序段的输出结果是( )C#include void main( )int t=1,i=5;for(;i=0;i-)t*=i;prin

12、tf(%dn,t);A)5 B)120 C)0 D)1(34). 执行以下程序后,j的值是多少( )A#include main()int i,j=0;for(i=0;i3;i+) if(i%2= =0) continue; j+;printf(%dn,j); A)1 B)2 C)3 D)4(35) 在C语言中,函数返回值的类型最终取决于 ( )A A) 函数定义时在函数首部所说明的函数类型 B) return语句中表达式值的类型 C) 调用函数时主调函数所传递的实参类型 D) 形式参数的类型(36) 设有以下语句Ctypedef struct TTchar c;int a4;CIN;则下列叙

13、述正确的是( )A)可以用TT定义结构体变量 B)TT是struct类型的变量C)可以用CIN定义结构体变量 D)CIN是struct TT类型的变量(37) 下列程序输出结果是( ) C #include void main( )int k=5; printf(%d,k+);A) 3 B) 4 C) 5 D) 6(38) 若变量已正确定义,语句if(ab) k=0; else k=1; 和( )等价。CA) k=(ab)?1:0; B) k=ab;C) k=a=b; D) a=b ? 0 : 1;(39). 执行以下程序后,j的值是多少( )A#include main()int i,j=0

14、;for(i=0;i3;i+) if(i%2=0) continue; j+;printf(%dn,j); A)1 B)2 C)3 D)4(40)有以下程序 B void fun(int *a, int *b) a=b; (*a)+; main () int a=3, b=4, *p1, *p2; p1=&a; p2=&b; fun(p1,p2); printf(“%d%dn”,a,b); 程序运行后的输出结果是( ) A) 3 4 B) 3 5 C) 4 4 D) 4 5(41) 表达式3.6-52+1.2+52的值是( )D A)4.3 B)4.8 C)3.3 D)3.8(42) 下列程序

15、输出结果是( )A#include void main( )int k=5;while(-k)printf(%d,k-=3);printf(n);A)1 B)521 C)52-1 D)41(43) C语言源程序名的后缀是( )BA) .exe B) .c C) .obj D) .cpp(44) 按照C语言的用户标识符命名规则,不能出现在标识符中的是( )D A) 字母 B) 数字 C) 下划线 D) 连接符(45) 有以下程序C #include void main( ) int i, s=0, t =1,2,3,4,5,6,7,8,9; for(i=0; i9; i+=2) s+=*(t+i

16、); printf(%dn, s); 程序执行后的输出结果是( ) A)45 B)20 C)25 D)36(46) 设有int x=21; 则表达式 x % 5的值是( ) A A) 1 B) 2 C) 3 D) 4(47) 设有int x=11; 则表达式5/2+ x % 3的值是( ) C A) 2 B) 3 C) 4 D) 0(48) 有以下程序 C #include int fun(int x,int y) if(xy) return x; else return y; void main( ) inta=4,b=5; printf(%dn,fun(a,b); 程序运行后的输出结果是(

17、 ) A) 3 B) 4 C) 5 D) 6(49) 下列程序输出结果是( ) C#include void main( )int k=5; k+;printf(%d,k+);A) 3 B) 4 C) 5 D) 6(50) 若有定义语句int a34;按在内存中的存放顺序,a数组的第8个元素(a00是第一个元素)是( )AA) a13 B) a14 C) a03 D) a04(51) 若变量已正确定义为int型,要通过语句scanf(“%d,%d,%d”, &a,&b,&c); 给a赋值1,给b赋值2,给c赋值3,以下输入形式中错误的是( )B A)1,2,3 B)123 C)1,2,3 D)

18、1,2,3(52) 以下关于函数的叙述中正确的是( )C A)每个函数都可以被其它函数调用(包括main函数) B)每个函数都可以单独运行 C)每个函数都可以被单独编译 D)在一个函数内部可以定义另一个函数(53) 若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是( )DA)#define N 10 B)#define n 5 int aN; int a2*n;C)int a5+5; D)int n=10,an; (54) 下列程序段的输出结果是 ( ) Avoid fun(int *x, int *y) printf(“%d %d”, *x, *y); *x=3; *y

19、=4;main() int x=1,y=2;fun(&y,&x);printf(“%d %d”,x, y); A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2(55) 以下叙述中正确的是( )CA) C语言程序将从源程序中第一个函数开始执行。 B) 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行。C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束。D) main可以作为用户标识符,用户可以命名任意一个函数作为主函数。(56)有以下程序 A #include void main( ) char *p10=abc,aabd

20、fg,dcdbe,abbd,cd; printf(%dn,strlen(p4); 执行后输出结果是( ) A)2 B)3 C)4 D)5(57) C语言源程序名的后缀是( ) BA) .exe B) .c C) .obj D) .cpp(58) 有以下程序段 Cint k=0;while(k=1)k+;while 循环执行的次数是 ( )A) 无限次 B) 有语法错,不能执行C) 一次也不执行 D) 执行1次(59) 当调用函数时,实参是一个数组名,则向函数传送的是 ( ) BA) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D) 数组每个元素中的值(60) 下列程序输出结果是

21、( )D#include void main( )int k=5; k+;printf(%d,k+);A) 3 B) 4 C) 5 D) 6(61) 有以下程序 B#includeint f(int x,int y)return(y-x)*x);void main()int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c);printf(“%dn”,d);程序运行后的输出结果是( )A)10 B)9 C)8 D)7(62) 下面关于标识符的叙述不正确的是( )B A)标识符中可以有数字 B)关键字可以做标识符 C)标识符中可以有大写字母 D)标识符中可以有下划线(63) 有以下程

22、序 D#include void main( )int a=1,b=0; printf(%d,b=a+b);printf(%d,a=2*b);程序运行后的输出结果是( )A) 0,0 B) 1,0 C) 3,2 D) 1,2(64)设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句 if (ab) if(c= =d) y=0; else y=1; 该语句所表示的含义是( ) CA) B) C) D) (65)若有定义语句:int m =5,4,3,2,1,i=4;则下面对m数组元素的引用中错误的是( ) C A)mi B)m2*2 C)mm0 D)mmi(66) 有以下程序 B#in

23、clude int fun(int x,int y) if(x=y) return(x);else return (x+y)/2);void main() int a=4,b=5,c=6;printf(“%dn”,fun(2*a,fun(b,c);程序运行后的输出结果是A)3 B)6 C)8 D)12填空题(1) 结构化程序设计中的三种基本结构是顺序结构、选择结构和()。循环结构(2)当定义一个无返回值函数时,则函数的返回值类型是()。int(3) 在C语言中整数可用()进制数、十进制数、十六进制数三种数制表示。八(4)若有char a3=ab;则*a=(),*(a+2)=()。a 0(5)设

24、y是int型变量,请写出判断y为偶数的关系表达式()y%2= =0(6)已知a=3,b=2,则表达式a*=b+8的值是()。30(7) C语言中的实型变量分为两种类型,分别是()和双精度。单精度(8)在C程序中,可用()语句结束本次循环,跳过循环体重下面尚未执行的语句,提早进入下一次的循环。 continue(9) 当a=5,b=4,c=2时,表达式ab!=c的值是()。1 (10) 设有定义语句:int a34=1,2,0,4,6,8,9,则数组元素a21的值是 ()。6(11) C程序是由函数构成的,一个C源程序至少包含一个()函数。main(12)设有说明语句int a34,则数组a中包

25、括了()个数据元素12(13)a数组定义如下:char a3;则a数组中可用最小下标是(),最大下标是()。0 2(14) 表达式 strlen(”hello”) 的值是()。5(15) 在循环语句中,break语句的作用是()。 退出循环(16) C语言源程序的基本单位是()。函数 (17) 表示“xyz”的C表达式是()。x=y & y=z(18) 在C语言中,表示逻辑“真”值用()。 1 (19) 若有int a32 = 1,3,2,4,5;,则a11的值是 (),a20的值是 () 2 4(20) )以下程序运行后的输出结果是()。 3 4 #include void main() i

26、nt i,j; for(i=6;i3;i-)j=i; printf(”ddn”,i,j); (21) 有以下程序 6#include #define f(x) x*xmain() int a=2,s; s=f(a+1); printf(“%dn,s);程序运行后的输出结果是()。 (22) 下面程序的功能是计算s的值:s=1!+2!+3!+n!,其中n由键盘敲入,n30,请填空补充完整。#include void main( )long s, t;int i, n;printf(input n(n30):);scanf(%d, &n);();s=0;();t=1;for(i=1; i=n; i

27、+) ();t=t*i;s+=t;printf(1!+2!+3!+%d!=%ldn, n, s);(23) 以下程序的运行结果是()7 8 9int f(int a) int b=0;static int c=3;b=b+1;c=c+1;return(a+b+c);void main( ) int a=2,i;for(i=0;i3;i+)printf(“%d ”,f(a);(24)求e的近似值,直到某一项的值小于或等于10-7为止。将下列程序补充完整。#include void main( )int n;double t,sum,m;n=1;(); sum=1;m=1;do (); t=1/m;sum+=t;n+;( ); m=m*n; while(t1e-7);printf(e=%fn,sum);(25) 有以下程序 #include

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

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