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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

《C语言程序设计》综合练习题与答案.docx

1、C语言程序设计综合练习题与答案C语言程序设计综合练习题与答案一、简要问答下列问题1什么是源程序?2C语言源程序的编译过程是怎样的?3简述C语言的特点4C/C+程序都是由函数组成的,其中最主要的、不可缺少的函数是哪一个?举例说明该函数的结构。5函数的返回值是通过什么语句来实现的,它的格式是什么?6在编写C程序时,为什么要把库函数的头文件包含到用户源程序中?如何把用户的头文件包含到用户源程序?7在计算机中,存储的数据为什么要分成多种不同的数据类型?8什么是常量?什么是变量?9C语言的五种基本数据类型有哪些?它们的关键字和所占的字节数分别是什么?10判断标识符是否合法的三条规则是什么?11什么是C语

2、言的关键字?关键字对标示符有何影响?12全局变量和局部变量有什么区别?13什么是空语句,什么是语句块?14结构化程序设计的三种基本结构是什么?15三种循环语句各有什么特点?16什么叫多重循环结构?17Continue语句与break语句有什么区别?18字符与字符串有什么区别?b与“b”相同吗?19什么是数组?一维数组的定义形式是怎样的?20字符串的结束标记是什么?21什么是按位操作?C语言对按位操作有哪些要求?22什么是指针?指针的两个操作符表示什么意义?23指针和数组有什么关系?24指针有那几种算术运算?说明指针变量的算术运算与一般变量的算术运算有何区别?25函数是由哪三部分组成的?函数定义

3、的一般形式是什么?26函数原型是什么情况下使用?有什么作用?27形参和实参有什么关系,函数的两种调用方式是什么?28什么是函数的递归调用?29什么是函数指针?说明定义函数指针的一般形式。30什么是内部函数?什么是外部函数?31C语言的四种用户定义数据类型是什么?32C系统提供的三种主要预处理功能是什么?33什么是文件包含?34什么是文件?什么是流? 二、写出下列程序段的输出结果 (1) int a,b,c=1; for (a=0;a3;a+) for (b=0;b=3;b+) c=c+1; printf(“a=%d,b=%d,c=%dn”,a,b,c); (2) int i=1; do if

4、(i%10) i=i+1; continue; printf(“%5d”,i); i+; While(i=50); (3) int x=2; there: x=x+1; if (x6) goto there; printf(x=%d,x); printf(End of program.); (4) int x=1, y=1; while (y6) x=x*y; y=y+1; printf(x=%dn,x); (5) int i,j,x22; for (i=0;i2;i+) for (j=0;j2;j+) xij=i十j; printf (xdd=d,i,j,xij); printf(n); (

5、6) int a5=5,4,3,2,1,i=0,x=0; whi1e (i5) x=ai十x; i+; printf(x=dn,x); (7) main( ) int x=10,y=20; printf(result=dn,abc(x,y); return 0; abc(int a,int b) int c; if (b) c=a/b+a; return c; e1se return 0; (8) main( ) int x=10; int i; for (i=0;i3;i+) printf(“d”,fun(x); return 0; fun (int x) static int Z=3; Z

6、=Z+x; return Z; (9) main( ) int a,b; a=50;b=90; printf(dn,(a,b); return 0; (10) main( ) int a10=19,23,44,17,37,28,49,36,*P; P=a; printf(%dn,(P+=3)3); return 0; (11) main( ) int i=3,j=2; char *a=DCBA; printf(%c%cn,ai,aj); return 0; (12) #include fun(int x) int k; if (x = 0 | x = 1) return(3); k=x-fun

7、(x-2); return k; main( ) printf(%dn,fun(9); return 0; (13) #include void myFunc( ); void rnain( ) int X=5; coutn In main X is : X; myFunc( ); coutn Back in main, X is :X; void myFunc( ) int X=8; coutn In myFunc, local X: X; coutn In block in myFunc , X is:X; int X=9; coutn Very local, X: ”X; coutn O

8、ut of block, in myFunc, X is: X; (14) #include f(int a) int i=0; while (ai=10) printf(%d ,ai); i+; main() int a=1,5,10,9,11,7; f(a+1); (15) #include swap(int *p1,int *p2) int p; p=*p1;*p1=*p2;*p2=p; main() int a=5,b=7,*ptr1,*ptr2; prt1=&a; ptr2=&b; swap(ptr1,ptr2) printf(*ptr1=%d,*ptr2=%dn,*ptr1,*pt

9、r2); printf(*ptr1=%d,*ptr2=%dn,a,b); (16) #include void main(void) int x,y=-2,z=0; if (z=y)0) x=4; else if (y=0) x=5; else x=6; printf(t%dt%dn,x,z); if (z=(y=0) x=5; x=4; printf(t%dt%dn,x,z); if (x=z=y) x=4; printf(t%dt%dn,x,z); (17) #include int fac(int n) static int f=1; f=f*n; return(f); main() i

10、nt i; for (i=1;i=5;i+) printf(%d!=%dn,i,fac(i); return; (18) #include int fac(int n) int f=1; f=f*n; return(f); main() int i; for (i=1;i=5;i+) printf(%d!=%dn,i,fac(i); return; 三、单项选择题1一个C程序的执行是从_。(A)本程序的main函数开始,到main函数结束(B)本程序的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到

11、本程序main函数结束2一个C语言程序是由_。(A)一个主程序和若干个子程序组成(B)函数组成(C)若干个过程组成(D)若干个子程序组成3下面选项中,均是不合法的用户标示法的选项是_。(A)A P_0 do(B)float la0 _A(C)b-a goto int(D)_123 temp INT4以下叙述正确的是_。(A)在C程序中,每行中只能写一条语句(B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整数(C)在C程序中,如论是整数还是实数,都能被准确无误地表示(D)在C程序中,%是只能用于整数运算的运算符5以下C程序的正确的运行结果是_。(注:表示空格)main()

12、long y=-43456; printf(y=%-8ldn,y); printf(y=%-08ldn,y); printf(y=%08ldn,y); printf(y=%+8ldn,y);(A) y=-43456 (B) y=-43456y=-43456 y=-43456y=-0043456 y=-0043456y=-43456 y=+-43456(C) y=-43456 (D) y=-43456y=-43456 y=-0043456y=-0043456 y=00043456y=-43456 y=+434566设x,y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是_。

13、(A)x&y (B)x=y(C)x|y+z&y-z (D)!(x0)printf(%f,x)else printf(%f,-x);(B)if (x0) x=x+y;printf(%f,x); else printf(%f,-x);(C)if (x0) x=x+y;printf(%f,x);else printf(%f,-x);(D)if (x0) x=x+y;printf(%f,x);else printf(%f,-x);9以下程序段_。x=-1;do x=x*x; while (!x);(A)是死循环(B)循环执行二次(C)循环执行一次(D)有语法错误10执行语句for (i=1;i+4;)

14、;变量的值是_。(A)3 (B)4 (C)5 (D)不确定11对以下说明语句的正确理解是_。int a10=6,7,8,9,10;(A)将5个初值一次赋给a1至a5(B)将5个初值一次赋给a0至a4(C)将5个初值一次赋给a6至a10(D)因为数组长度与初值的个数不相同,所以语句不正确12下面程序段的运行结果是_。char a=a,b,0,c,0printf(%s,c);(A)ab (B)ab (C)abc (D)abc13在C语言中,以下正确的说法是_(A)实参和与其对应的形参各占独立的存储单元(B)实参和与其对应的形参占用同一个存储单元(C)只有当实参和与其对应的形参同名时才占用同一个存储

15、单元(D)形参是虚拟的,不占用存储单元14用数组名作为函数调用的实参,传递给形参的是_。(A)数组的首地址(B)数组第一个元素的值(C)数组中全部元素的值(D)数组元素的个数15凡是函数中未指定存储类别的局部变量,其隐含的存储类别为_。(A)自动(auto) (B)静态(static)(C)外部(extern) (D)寄存器(register)16以下叙述中正确的是_。(A)在程序的一行上可以出现多个有效的预处理命令行(B)使用带参的宏时,参数的类型应与宏定义时一致(C)宏替换不占用运行时间,只占编译时间(D)以下定义中C R 是称为“宏名”的标示符#define C R 04517若有以下宏

16、定义: #define N 2 #defin Y(n) (N+1)*N)则执行语句z=2*(N+Y(5);后的结果是_。(A)语句有错误 (B)z=34(C)z=70 (D)z无定值18下面程序应能对两个整型变量的值进行交换。以下正确的说法是_。 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)该程序完全正确(B)该程序有错,只要将语句swap(&a,&b);中的参数该为a,b即可(

17、C)该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可(D)以上说法都不正确19若有定义int a=5;下面对(1)和(2)两个语句的正确解释是_。(1)int *p=&a; (2)*p=a;(A)语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值。(B)(1)和(2)语句的执行结果,都是把变量a的地址值赋给指针变量p(C)语句(1)在对p进行说明的同时进行初始化,使p指向a语句(2)将变量a的值赋给指针变量p(D)语句(1)在对p进行说明的同时进行初始化,使p指向a语句(2)将变量a的值赋给*p20若已定义char s10; 则在下面表达式中不表示

18、s1的地址的是_。(A)s+1 (B)s+ (C)&s0+1 (D)&s121编译执行下列程序,结果是:_。 #inclucle main( ) int i=6;y=4;z=2; printf(%dn,i/y%z); return0; (A) 显示出错信息,不能执行。 (B) 0 (C) 1 (D) 222以下程序的输出结果是:_。 #inclucle main( ) int x=10,y=10; printf(%d%dn,x-,-y); retum 0; (A) 10 10 (B) 9 9 (C) 9 10 (D) 10 923以下程序的输出结果为:_。 #inclucle main( )

19、int x=023; printf(%dn,-x); return 0; (A) 18 (B) 22 (C) 23 (D) 19 24不能进行+和-运算的数据类型是:_。 (A) 指针 (B) double (C) int (D) long25下列字符序列中,不可用作C语言标识符的是:_ (A) $4568 : (B) sum (C) STUD_name (D) basic_1226设X的值为3,则表达式(X+)+(X+)+(X+)的值是_。 (A) 10 (B) 6 (C) 12 (D) 927设a=12,b=12345,执行语句printf(%4d,%4d,a,b)的输出结果为:_ (A)

20、 12,123 (B) 12,12345 (C) 12,1234 (D) 12,12345628以下程序的输出结果是:_。 main( ) int i=1,sum=0; while (i10) sum=sum+1; i+; printf(i=%d,sum=%d,i,sum); return 0; (A) i=10, sum=9 (B) i=9,sum=9 (C) i=2,sum=1 (D) 运行出现错误29以下程序的的输出结果为:_。 #inclucle main( ) int a,b,c,x,y,z; a=10;b=2; c=!(a%b);x=!(ab); y=(a=0); z=(a=0);

21、 printf(c=%d,x=%d,y=%d,z=%dn,c,x,y,z); return 0; (A)c=0,x=1,y=l,z=0 (B) c=5,x=0,y=l,z=0 (C)c=1,x=0,y=0,z=1 (D) c=10,x=2,y=0,z=130执行下列程序段后,xy的值是:_。 int *pt,xy; xy=270; pt=&xy; xy=*pt+30; (A) 270 (B) 240 (C) 330 (D) 30031用scanf(%d,%d,&a,&b)输人数据时,下面输入法正确的是:_ (A) 123,4 (B) 123 4 (C) 123;4 (D) 123:4 32以下

22、程序的输出结果是:_。 point(char *pt); main( ) char b4=a,c,s,f, *pt=b; point(pt); printf(%cn,*pt); return 0; point(char *P) P+=3; (A) s (B) c (C) f (D) a33标有* *的语句的执行次数是:_。 int y,i; for(i=0;i20;i+) if (i%2=0) continue; y=y+i; /* */ (A) 20 (B) 19 (C) 10 (D) 9 34以下程序的输出结果是:_。 #inclucle sub(x,y,z) int x,y,*z; *z

23、=y-x; main( ) int a,b,c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf(%d,%d,%dn,a,b,c); return 0; (A) -5,-12,-17 (B) -5,-3,-2 (C) -5,-12,-7 (D) -5,-2,-735以下程序的输出结果为:_。 main( ) char cl=a,c2=b,c3=c; printf(a%cb%ctc%cn,c1,c2,c3); return 0; (A) abc abc abc (B) aabb cc (C)a b c (D) aaaa bb36经过以下语句定义后,表

24、达式z+=xy?+x:+y的值是:_。 int x=1,y=2,z=3; (A) 2 (B) 3 (C) 6 (D) 5 37在下列各m的值中,能使m%3=2m%5=3&m%7=2为真的是:_ (A) 8 (B) 23 (C) 17 (D) 638下列语句执行后的结果是:_。 y=5; P=y; x=*P+; (A) x=5,y=5 (B) x=5,y=6 (C) x=6,y=5 (D) x=6,y=639以下程序的输出结果是:_。 #inclucle int a=1,3,5,7; main( ) int n; int *P=a; for (n=0;n4;n+) an=*P+; printf(%dn,a3); return 0; (A) l (B) 3 (C) 5 (D) 740以下程序的输出结果是:_

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

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