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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言复习题文档格式.docx

1、printf(%dn,s);A)18 B)19 C)20 D)21 9、设有以下宏定义:()#define N 3#define Y(n)(N+1)*n)则执行语句:z=2*(N+Y(5+1);后,z 的值为:A)出错 B)42 C)48 D)54 10、下列程序执行后输出的结果为:()f(int a)static int b,c=3;b=+c;return(a);main()int a=2,j,k;for(j=0;j2;j+)k=f(a);A)4 B)0 C)6 D)5 11、下列程序语句的输出是:()int n=0;while(n+=2);printf(%d,n);(A)2(B)3(C)4

2、 (D)有语法错误 12、下列程序语句的输出是:()int a=011;printf(%dn,+a);(A)12(B)11(C)10(D)9 13、执行语句 for(i=1;i+4;);后,变量 i 的值是:()(A)3(B)4(C)5(D)不确定 14、定义 int x=0,y=8,z=9后,则下面表达式的值为 0的是:()(A)x&y(B)x=y(C)x|y+z&y-z(D)!(xy)&!z|1)15、对下述程序段描述正确的是:()int k=0;while(k=1)k+;A)有语法错误,不能执行 B)循环是无限的 C)循环体语句一次也不能执行 D)循环体语句执行一次 16、下述程序的运行

3、结果是:()#includestdio.h main()int i;i=5;i+)if(i%2)printf(*);else continue;printf(#);printf($n);(A)*#*#*#$(B)#*#*#*$(C)*#*#$(D)#*#*$17、下述程序的输出结果是:()#includestdio.h int x;void fun();void main()int x=1;if(x=1)int x=2;printf(%d,x+);extern int x;printf(%d,+x);fun();void fun()printf(%d,x+);A)2,1,1 B)1,2,1 C

4、)2,2,2 D)2,2,1 18、下面对宏定义的描述,不正确的是:()A)宏不存在类型问题,宏名无类型,它的参数也无类型 B)宏替换不占用运行时间 C)宏替换是先求出实参表达式的值,然后代入形参运算求值 D)其实,宏替换只不过是字符替代而已 19、以下程序的输出结果是:()#include int func(int a,int b);void main()int k=4,m=1,p;p=func(k,m);printf(%d,p);int func(int a,int b)static int m=0,i=2;i+=m+1;m=i+a+b;return(m);A)8,17 B)8,16 C)

5、8,20 D)8,8 20、若有说明:int a 3=1,2,3,4,5,6,7;则 a数组第一维的大小是:()(A)2(B)3(C)4(D)无确定值 19、下列程序段执行后,s 的值为:()char ch=”600”;int a,s=0;for(a=0;cha=0&cha3;j-)if(j%3)j-;-j;printf(“%d”,j);a)6 3 b)7 4 c)6 2 d)7 3 24、下列程序段的输出结果为()int x=3;doprintf(“%3d”,x-=2);while(!(-x);a)1 b)3 0 c)1-2 d)死循环 25、设变量已正确定义并赋值,则符合 C语言语法的表达

6、式是:()(A)a=a+5;(B)a=b=c+(C)int(34.5%5)(D)a=a+8=b-c 26、下列程序段的运行结果是:(A)2(B)3(C)4(D)有语法错误 27、若有说明:int a34;则对 a 数组元素的正确引用是:()(A)a24(B)a1,3(C)a1+10(D)a(2)(1)45、针对以下程序段,说法正确的是()int a=5,b=0,c=0;if(a=b+c)printf(*);else printf(&(A)有语法错误不能通过编译(B)可以通过编译但不能通过连接(C)输出*(D)输出&28、执行下面的程序段后,a 的值为()int a,b;for(a=1,b=4;

7、a=23)break;if(b%3=1)b+=3;continue;b-=5;(A)7(B)8(C)9(D)10 29、以下描述中错误的是()(A)函数调用可以出现在执行语句中 (B)函数调用可以出现在表达式中(C)函数调用可以作为函数的实际参数(D)函数调用可以作为函数的形式参数 30、以下程序的输出结果是()#define ADD(x)x+x main()int m=1,n=2,k=3;int sum=ADD(m+n)*k;printf(sum=%d,sum);(A)sum=9(B)sum=10(C)sum=12(D)sum=18 31、以下程序的输出结果是()void fun(int a

8、,int b,int c)a=456;b=567;c=678;main()int x=10,y=20,z=30;fun(x,y,z);printf(“%d,%d,%d”,z,y,x);(A)30,20,10(B)10,20,30(C)456,567,678(D)678,567,456 32、下面程序应能对两个整型变量的值进行交换。以下说法正确的是()main()int a=10,b=20;printf(1)a=%d,b=%dn,a,b);swap(&a,&b);printf(2)a=%d,b=%dn,a,b;swap(int p,int q)int t;t=p;p=q;q=t;(A)该程序完全

9、正确(B)该程序有错,只要将语句 swap(&中的参数改为 a,b 即可(C)该程序有错,只要将 swap()函数中的形参 p和 q以及 t 均定义为指针变量即可(D)以上说法都不正确 33.执行下面的程序段后,a 的值为:int a,b;for(a=1,b=1;a=20)break;A.7 B.8 C.9 D.10 34.该程序的输出结果是多少?#include main()int i,j,x=0;i2;i+)x+;j=3;j+)if(j%2)continue;x+;printf(x=%dn,x);A.x=4 B.x=8 C.x=6 D.x=12 35.下面这个程序的输出是什么?#inclu

10、de main()int y=10;while(y-);printf(y=%dn,y);A.y=0 B.while 构成死循环 C.y=1 D.y=-1 36 C语言可执行程序从什么地方开始执行?A.程序中第一条可执行语句 B.程序中第一个函数 C.程序中的 main 函数 D.包含文件中的第一个函数 37.以下对 C语言函数的有关描述中,正确的是:A.在 C中,调用函数时,只能把实参的值传给形参,形参的值不能传给实参 B.C函数既可以嵌套定义又可以递归调用 C.函数必须有返回值,否则不能使用函数 D.C程序中有调用关系的所有函数必须放在同一个源程序文件中 38.以下叙述中不正确的是:A.在

11、C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值 B.在 C中,在调用函数时,实参和对应形参在类型上只需赋值兼容 C.在 C中,全局变量的隐含类别是自动存储类别 D.在 C中,函数形参可以说明为 register变量 39、表示关系 x=y=z的 c 语言表达式为:()a)(x=y)&(y=z)b)(x=y)AND(y=z)c)(x=y=z)d)(x=y)&(y=z)40、假定 a 和 b 为 int型变量,则执行以下语句后 b的值为:()a=2;b=8;dob-=a;a+;while(b-0|a0 B.a C.!a=0 D.!a 15.若变量 f已说明为 float 类型,i 为 i

12、nt 类型,则下面哪些表达式(或语句)能够实 现将 f中的数值保留小数点后两位,第三位进行四舍五入的运算?A.f=(f*100+0.5)/100.0 B.i=f*100+0.5,f=i/100.0;C.f=(int)(f*100+0.5)/100.0;D.f=(f/100+0.5)*100.0;16.请选择您认为正确的说法。A.在 C语言中,函数可以嵌套定义。B.程序中的注释部分可有可无,通常可以省略。C.在函数中,只能有一条 return语句。D.C程序中,编译程序会检查数组下标是否越界。E.在 C程序中,ABC和 abc 是两个不同的变量。F.在 C语言中,函数中的变量可以赋初值,每调用一

13、次该函数,就赋一次初值。G.C语言中不能对数组名进行加减和赋值运算。17.下面各语句行中,不能正确进行赋字符串操作的语句行是 A.char s10;scanf(%s,&s);B.char st45=ABCDE;C.char s5=A,B,C,D,E;D.char s50;s=ABCDE;18.不合法的数组定义是 A.int a=string;B.int a5=0,1,2,3,4,5;C.vhst s=string;D.char a=0,1,2,3,4,5;19.指出下面哪些是保留字:A.char B.abc C.printf D.Int E.float F.define G.include H

14、.PI 20.指出下面哪些是合法的用户定义的标识符?A.P-S B.putchar C.double D._908 E.*par F.sheep!G.wind H.x y 21.C语言的基本类型哪些:A.整型 B.枚举型 C.数组型 D.指针型 E.字符型 F.构造型 G.实形 H.空类型 22.这段程序中的常量有:#define PI 3.14 void main()int sum;sum=10+15;printf(sum=%dn,sum);printf(result is 25n);这段程序中常量有:A.10 B.sum C.15 D.25 E.main F.PI 23.C语言的主要特点有

15、哪些?A.简洁、紧凑,使用方便、灵活,易于学习和应用。B.语言是面向结构化程序设计的语言。C.语言允许直接对位、字节和地址进行操作。D.数据类型丰富。E.语言生成的目标代码质量高。24、以下说法正确的有:A输入项可以为一个实型常量,如 scanf(%f,3.5);B只有格式控制,没有输入项,就不能进行正确输入,如scanf(a=%d,b=%d);C当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4.2f,&f);D当输入数据时,必须指明变量的地址,如 scanf(%f,&25、以下叙述中正确的有()(A)预处理命令行都必须以#号开始(B)在程序中凡是以#号开始的语句行都

16、是预处理命令行(C)C程序在执行过程中对预处理命令行进行处理(D)以下是正确的宏定义#define IBM_PC pc#3 26、以下正确的叙述有()(A)C语言的预处理功能仅仅是指完成宏替换和包含文件的调用 (B)预处理命令只能位于 C源程序文件的首部 (C)一条预处理命令必须单独占一行 (D)C程序中,编译预处理是在编译开始之前进行的 三、填空题 1、设 a=3,b=4,c=5,则逻辑表达式 a|b+c&b-c 的值是:1。2、语句 printf(%5.3fn,123456.12345);的输出为_123456.123_ _。11。int i=0,sum=1;do sum+=i+;whil

17、e(i(y)?(x):(y)main()int a=5,b=2,c=3,d=3,t1,t2;t1=MAX(a+b,c+d)*10;t2=MAX(c+d,a+b)*10;printf(t1=%d,t2=%d,t1,t2);6、要使以下程序段输出 3个整数,请填入一个整数:for(j=1;j=7(7-14都可以);printf(“%dn”,j+=j+);7、下面程序段是找出整数的所有因子(包括 1和整数本身),请填空:scanf(%d,&x);i=1;for(;i=x;)if(x%i=0)printf(%3d,i);i+8、函数 fun 的功能是:使一个字符串按逆序存放,请填空 void fun(

18、char str)char m;int i,j;for(i=0,j=strlen(str);i j-1;i+,j-)m=stri;stri=strj-1;strj-1=m;printf(%sn,str );9、设 x和 y 均为 int型变量,且 x=1,y=2;则表达式 1.0+x/y的值为 1.0。10、设 i,j,k均为 int 型变量,则执行完下列 for循环:for(i=0,j=10;i=j;i+,j-)k=i+j;之后,k 的值为 10。11、若输入字符串:abcde,则以下 while 循环体将执行 0 次。while(ch=getchar()=e)printf(*);12、下面

19、程序段统计从键盘输入的字符中数字字符的个数,换行符结束,请填空 int n=0;char c;c=getchar();while(c!=n)if(c=0&c=9)n+;13、若定义:int a34=1,2,0,4,6,8,10;则初始化后,a12得到的 值是:0;a21得到的值是:6。14、若 x为 int 型变量,则执行以下语句 x=7;x+=x-=x+x;后 x 的值是:-14 。15、Turbo C环境中,用 RUN菜单中的 RUN命令运行 C程序的快捷键是 Ctrl+F9。16、若有定义:int a=2,4,6,8,10,12,*p=a;则*(p+1)的值是 4,*(a+5)的值是 1

20、2。17、若已知 a=7,b=3,c=0,则表达式 a+b|c 的运算结果是 1。18、条件“2x3 或者 x-10”的 C语言表达式是:2&X3|x-10。19、若变量 a、b为 int 型,以下语句可以不借助任何变量把 a、b的值交换,请填空:a+=b;b=a-b ;a-=b ;20、以下程序的输出结果是 12。int a10,i,k=0;i4;i+)k+=ai+i;printf(%dn,k);21、以下程序中 for语句的循环体被执行的次数为:#define N 2#define M N+2#define NUM 2*M+1 main()int i;iNUM;i+)printf(%dn,

21、i);22、下面程序段是找出整数的所有因子(包括 1和整数本身),请填空:(15);i+23、下述程序的功能是查找数组中元素的最大值输出,请填空完成。#define A 10 main()int aA;int max,i;#if A=10 for(i=0;iA;i+)ai=10+i;#else for(i=0;i+)scanf(%d,&ai);#endif max=a0;i+)if(maxai)max=ai;printf(Max=%dn,max);24、下面程序将二维数组 a 的行和列元素互换后存到另一个二维数组 b 中。#include main()int a23=1,2,3,4,5,6;i

22、nt b32,i,j;prntf(arrary a:n);J=2 ;j+)printf(%5d,aij);Bji=aij ;printf(n);printf(array b:i=2;j=1;j+)printf(%5d,bij);25、若 a 是 int 型变量,则表达式(a=4*5,a*2),a+6)的值为 26;若 a 是 int型变量,且 a 的初值为 6,则表达式(a+=a-=a*a)计算后 a 的值为-60。26、读懂程序并填空。#include void main()char ch=0 x31;printf(%dn,ch);/屏幕显示 49 printf(%on,ch);/屏幕显示

23、64 printf(%cn,ch);/屏幕显示 1 27、执行下面程序段后,k的值是 36 。k=1;n=263;do k*=n%10;n/=10;while(n);29、设有以下程序,为使之正确运行,请在下面的横线处填入应包含的命令行。#include#include main()printf(n);try_me();/*函数调用*/printf(n);注:try_me()函数在 myfile.txt 中有定义,其内容如下:/*myfile.c*/try_me()char c;if(c=getchar()!=n)try_me();putchar();四、判断题 判断题:(F )1、(n+1)

24、+是一个正确的表达式。(F )2、若有说明 int c;则 while(c=getchar();是错误的 C语句。(F )3、break 语句只能用于 for 循环。(F )4、使用 continue 和 break语句,都可以使得 C程序的执行直接从循环中跳出。(T )5、C语言不支持动态数组。(T )6、在一个函数内部的复合语句中定义的变量,只在该复合语句范围内有效。(T )7、C程序中,一个文件中的函数可以引用存储在另一个文件中的函数和变量。(T )8、内部静态变量有隐含初值。(F )9、一个 C程序的执行是从本程序的 main 函数开始,到本程序文件的最后一个函数结束。(T)10、一个

25、函数通过其他函数间接的调用了自身,这种情况也是一种递归调用。(F)11、在对一个 C程序进行编译的过程中,可以发现注释中的错误。(T)12、continue 语句不能作用于 switch 语句。(F)13、for循环只能用于循环次数已经确定的情况。(F)14、C语言认为变量 number 和 NuMbEr是相同的。(F)15、do-while 循环中,根据情况可省略 while。(F)16、形参可以是常量、变量或表达式。(T)17、若 return 语句指定的返回值类型与函数值的类型不一致,则以函数值的类型为准。(F)18、若用数组名作函数的实参,则传递给形参的是数组中全部元素的值。(F)20

26、、设有数组定义 int data5=1,2,3,4,5;则 data5的值为 5。(F)21、Printf()函数总是从新行的起始位置开始打印。(F)22、在申明变量时必须给出变量的类型。(F)23、打印三行输出的 C语言程序必须用三条 printf语句。(F)24、switch 选择结构中必须有 default子句。(T )25、所有的变量在使用前都必须予以申明。(T )26、求余运算符%只能用于两个整数操作数。(F)27、如果 xy 或 ay&ab)为真。(F)31、可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值。(F )32、putchar函数可以向终端输出一个字符串。(F )3

27、3、库函数中,puts 函数是无参函数。(F )35、C语言中,for语句和 do-while语句实现当型循环结构。五、编程题 1、用冒泡法对 10个整数排序(由小到大),要求排序操作用函数调用实现。2、用选择法对 10个整数排序(由小到大),要求排序操作用函数调用实现。3、将一个二维数组行和列的元素互换,存放到另一个二维数组中。如:a=1 2 3 1 4 4 5 6 b=2 5 3 6 4、分别用函数和带参的宏,从三个数(要求从键盘输入三个数)中找出最大数。5、将一个数组中的值按逆序存放。例如原来顺序为:8、6、10、5、2。要求改为:2、5、10、6、8。如有侵权请联系告知删除,感谢你们的配合!

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

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