C语言程序的设计复习试题库完整_第1页
C语言程序的设计复习试题库完整_第2页
C语言程序的设计复习试题库完整_第3页
C语言程序的设计复习试题库完整_第4页
C语言程序的设计复习试题库完整_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、19.定义一个指针p,它指向一个有 6个整型元素的一维数组,定义语句为int *p=a6;填空1. break 语句通常用于 switch / 循环中。2. C语言对数组下标的引用一般从_0开始。3. C语言中,一个函数一般由两个部分组成,它们是函数首部 和 函数体。4. C标准库函数中,字符串的处理函数包含在string.h头文件中,数学函数包含在math.h 头文件中。5. C程序的运行需要经过编译和 链接两步进行。6. C程序中用 1*1括起来的内容是程序的注释语句。7. C语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数类型、 函数名和函数参数。8. C语言提供的三种逻辑

2、运算符是&,/,!。9. C语言源程序经过编译后,生成文件的后缀名是二。10. C语言源程序经过连接后,生成文件的后缀名是.exe。11. C语言中,关系表达式和逻辑表达式的值是_1/0。12. C语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。13. C语言中的每条基本语句以:作为结束符,每条复合语句以M乍为结束符。14. C语言中函数返回值的类型是由函数类型决定的。15. C源程序的基本单位是函数 。16. int a = 2, b = 3; 表达式 a b ? a + :+ b 的值为 4。17. int x=1,y=1,z=1; x+=y+=z;则表达式 xbc的值是 0。

3、20. 定义一个指针数组p,它有4个元素,每个指针指向一个整型数据,定义语句为int*P4;。21. 赋值语句是由=加上一个分号构成。22. 构成数组的各个元素必须具有相同的类型。23. 关系表达式x+y5的相反表达式为_x+y ! 5。24. 函数 strlen(12340xy)的值为:_9。25. 函数的形参在未被调用前不分配空间,函数形参的数据类型要和实参相同。26. 函数体用开始,用结束。27. 结构化设计中的三种基本结构是顺序,选择,循环。28. 如果一个函数无返回值,定义它时函数类型应是void 。29. 若x、y、z均为int型变量,则描述x或y中有一个小于z”的表达式是(x|y

4、)=10 or a=0|a=10&a=10|a=029 、判断 char 型变量 c 1 是否为小写字母的正确表达式为 DA.a = cl = a) &(c1 =c1)( z = a )&(c1 =A & ch=Z)?ch+32:ch的值是 BA) ZB) aC) zD) AA) 1B) 2 C) 331 、表示关系 X =Y =Z 的 C 语言表达式为 AA. (X =Y)&(Y =Z)B. (X =Y)AND(Y =Z)C. (X =Y =Z)D. (X =Y)&(Y =Z)32 、如果 a=4,b=3,c=2,d=1,则条件表达式 ab?a:c d?c:d 的值是 AD) 433 、语句

5、 printf(%d n,12&12) ;的输出结果是 BA. 12 B. 1 C. 24 D. 034 、若有条件表达式(exp)?a+:b- ,则以下表达式中能完全等价于表达式 (exp) 的是 BA. (exp=0)B. (exp!=0) C. (exp=1) D. (exp!=1)35 、若要求在 if 后一对圆括号中表示 a 不等于 0 的关系 ,则能正确表示这一关系的表达式 DA) a0B) !aC) a=0D) a36 、设 x 、 y 、 z 、 t 均为 int 型变量 ,则执行以下语句后 ,t 的值为 Cx=y=z=1;t=+x | +y & +z;A) 不定值 B) 4C

6、) 1D) 037 、对表达式 for( 表达式 1; ; 表达式 3) 可理解为 BA.)for( 表达式 1;0; 表达式 3)C)for( 表达式 1; 表达式 1; 表达式 3)38 、语句 while(!e); 中的条件 !e 等价于 AB) for( 表达式 1;1; 表达式 3)D) for( 表达式 1; 表达式 3; 表达式 3)A) e=0B) e!=1C) e!=0D) efor(i=1;i=5;)printf(%d,i);i+;A) 12345 B) 1234 C) 15 D) 无限循环40 、设执行变量 y 值为 3 ,执行下列循环语句后,变量 y 的值是 Cdo y

7、+;while(y+4);(A)3(B)4(C)5( D)641 、执行语句:for(i=1;i9; i+)后; 变量 i 的值是 B( A ) 10(B)9(C )不定(D ) 1142 、执行语句:for(i=1;i=9; i+);后变量 i 的值是 AA. 10B. 9C. 不定D. 1143 、在定义一个一维数组时,不能用来表示数组长度的是DA) 常量B)符号常量C) 常量表达式D)已被赋值的变量44 、判断字符串是否相等,应当使用 D( A) if(a=b)( B ) if(a=b)(C)if(strcpy(a,b)(D) if(!strcmp(a,b)45 、执行程序段 char

8、str20=a,b,c,0; int len=strlen(str);变量 len 的值 CA. 20 B. 4C. 3 D. 3 或 4 或 2046 、若有说明 :charc10=E,a,s,t,0;,则下述说法中正确的是 DA) c7 不可引用B) c6 可引用,但值不确定C) c4 不可引用D) c4 可引用,其值为空字符47 、运行下面程序段的输出结果是 Achar s110=S,e,t,0,u,p,0;printf(%s,s1);A) SetB) SetupC) Set upD) Set、以下程序段的输出结果是 B char s =an apple; printf(%dn,strl

9、en(s);A) 7B) 8C) 9D) 10下列一维数组初始化语句中,正确且与语句float a =0,3,8,0,9; 等价的是 DA) floata6=0,3,8,0,9;B) floata4=0,3,8,0,9;C) floata7=0,3,8,0,9;D) floata5=0,3,8,0,9;如有定义语句 int a=1,8,2,8,3,8,4,8,5,8;,则数组 a 的大小是 AA) 10B) 11C) 8D) 不定、若二维数组 a 有 m 列,则在 aij 前面的元素个数为 BA. j*m+i B. i*m+j C. i*m+j-1D. i*m+j+1、在定义 int a56;

10、 后,数组 a 中的第 10 个元素是 CA) a25 B) a24C) a13D) a15、以下二维数组 a 的正确说明是 CA) int a1,1;B) float a(3,4); C) double a14;D) float a(3)(4);、在定义 int a54; 之后,对 a 的引用正确的是 CA) a24 B) a1,3 C) a43 D) a50、若有说明: int a34; 则对 a 数组元素的正确引用是 C(A)a24(B ) a1, 3 (C)a1+10( D ) a(2)(1)、以下对二维数组 a 的正确说明是 CA. int a3B. float a(3,4)C. d

11、ouble a14D. float a(3)(4)、若有定义: int b3; 则数组元素的不合法引用是 D48495051525354555657(A) b1(B) b0(C) b2(D) b3(A )地址传递B )单向值传递A) 将 5 个初值依次赋给 a1 至 a5C)将5个初值依次赋给 a6至a1059 、设已定义: int x24=1,2,3,4,5,6,7,8A. 6B. 5C. 7 D. 160、在 int a 3=1,3,2,4,5,6,0A、0B 、 6B)将5个初值依次赋给a0至a4D) 因为数组长度与初值的个数不相同 不正确; 则元素 x11 的正确初值是 A所以此语句中

12、 a11 的值是 DC、5D、 261 、设已定义: int x24=1,2,3,4,5,6,7,8; 则元素 6 对应的是 AA. x11B. x12C. x21 D. x2262 、以下正确的函数定义形式是 AA. double fun(int x, int y)C. double fun(int x, int y);B. double fun(int x ;int y)D. double fun(int x,y);,含有的实参个63 、有如下函数调用语句 func(rec1,rec2+rec3,rec4,rec5); 该函数调用语句中 数是 BA) 3B) 4C) 5D) 有语法错误64

13、 、在 C 语言中 ,全局变量的存储类别是AA) static B) externC) voidD) register65 、在 C 语言中,以下说法中正确的是 AA. 实参与其对应的形参各占用独立的存储单元B. 实参与其对应的形参占用同一个存储单元C. 只有当实参与形参同名时才占用同一个存储单元D. 实参占用存储单元,但形参是虚拟的,不占用存储单元66 、 C 语言中,简单变量做实参时,它和对应的形参之间的数据传递方式是C )由实参传给形参,再由形参传递给实参D )同用户指定传递方式67 、在一个源文件中定义的全局变量的作用域为A. 本文件的全部范围B. 从定义该变量开始至本文件结束C. 本

14、函数的全部范围D. 本程序的全部范围68 、如果一个函数位于 C 程序文件的上部, 在该函数体内说明语句后的复合语句中定义了一个变 量,则该变量 CA) 为全局变量,在本程序文件范围内有效B) 为局部变量,只在该函数内有效C) 为局部变量,只在该复合语句中有效D) 定义无效,为非法变量69 、调用函数时,当实参和形参都是简单变量时,它们之间数据传递的过程是DA) 实参将其地址传递给形参,并释放原先占用的存储单元B) 实参将其地址传递给形参,调用结束时形参再将其地址回传给实参C) 实参将其值传递给形参,调用结束时形参再将其值回传给实参D) 实参将其值传递给形参,调用结束时形参并不将其值回传给实参

15、70 、以下叙述中,不正确的是 BA) 在同一 C 程序文件中,不同函数中可以使用同名变量B) 在 main 函数体内定义的变量是全局变量C) 形参是局部变量,函数调用完成即失去意义D) 若同一文件中全局变量和局部变量同名,则全局变量在局部变量作用范围内不起作用71 、对于 C 语言的函数,下列叙述中正确的是 AA) 函数的定义不能嵌套,但函数调用可以嵌套B) 函数的定义可以嵌套,但函数调用不能嵌套C) 函数的定义和调用都不能嵌套D) 函数的定义和调用都可以嵌套72、 数组定义为:int a45;弓I用“ a1+3 ”表示的是 A(A) a数组第2行第4列元素的地址(B ) a数组第2行第4列

16、元素的值(C) a数组第4行的首地址(D ) a数组第1行第3个元素的地址73、 若定义:int a=511,*b=&a;贝U printf(%dn,*b);的输出结果为 DA.确定值B) a的地址C) 512D) 51174、 若有 inta10=1,2,3,4,5,6,7,8,9,10;int *p=a;则值为 9 的表达式是 BA. *p+9B. *(p+8) C. *p+=9D. p+875、 若有说明语句:int a,b,c,*d=&c ;,则能正确从键盘读入三个整数分别赋给变量a、b、c 的语句是A。A) scan f(%d%d%d,&a,&b,d);B) sca nf(%d%d%

17、d,&a,&b,& d);C) scan f(%d%d%d,a,b,d);D) scan f(%d%d%d,a,b,*d);76、设有语句” int a=1,3,5,7,9,*p=&a0;”则值为7的表达式是 CA. *p+3 B. *p+4 C. *(p+3) D. *(p+4)77、 已知赋值语句 wang.year=2004;则wang的变量类型是CA.字符或文件 B.整型或实型C.共用或结构 D.实型或指针78、设有以下说明语句:struct stu int a; float b; stutype;则下面的叙述不正确的是CA. struct是结构体类型的关键字B . struct st

18、u是用户定义的结构体类型名C. stutype是用户定义的结构体类型名D. a和b都是结构体成员名79、 下列关于结构的语法错误的是DA .结构是由用户自定义的一种数据类型B .结构中可设定若干个不同数据类型的成员C .结构中成员的数据类型可以是另一个已定义的结构D .在定义结构时,可以为成员设置默认值80、 说明一个结构体变量时,系统分配给它的内存是AA .各成员所需内存量的总和B .结构中第一个成员所需内存量C .成员中占内存量最大者所需的容量D .结构中最后一个成员所需内存量三、程序理解1.以下程序运行结果是 #in elude int mai n()int a,b,c,d; a=b=5

19、;c=(a+)+(a-)-(a+); d=(b+)-(+b)+(-a);prin tf(a=%d,b=%dn,a,b); prin tf(c=%d,d=%dn,c,d);return 0;int mai n()2以下程序运行结果是#i nclude int mai n()int x=1,a=0,b=0;switch(x)case 0: b+;case 1: b=+a;case 2: a+;b+;break;case 3: +a;+b;prin tf(a=%d,b=%dn,a,b);return 0;3以下程序运行结果是#in clude int a,b,c=246;a=c/100%9;b=(1

20、) &(-1)|0;prin tf(%d,%dn,a,b); return 0;4以下程序运行结果是return 0;#i nclude int mai n()int a=-1, b=4, k;k=(+a=0)&(b-=0); prin tf(%d,%d,%dn,k,a,b); return 0;5以下程序运行结果是#i nclude int mai n()int a=5,b=60,c;if (ab)c=a*b;pri ntf(%d*%d=%dn,b,a,c); elsec=b/a;pri ntf(%d/%d=%dn,b,a,c);6以下程序运行结果是/60=0#i nclude int ma

21、i n()int a=60,b=5,c;if (ab)c=a*b;pri ntf(%d*%d=%dn,b,a,c);else c=b/a;pri ntf(%d/%d=%dn,b,a,c); return 0; 2,87以下程序运行结果是#i nclude int mai n()int a=1,b=10;do b_=a;a+; while(b-0);prin tf(%d,%dn,a,b);return 0;8以下程序运行结果是#in clude int mai n()int x;for(x=10;x3;x-) if(x%3) x-;-x; -x;prin tf(%d ,x);return 0;9

22、以下程序运行结果是#i nclude int mai n()int i;for(i=1;i6;i+) if (i%2!=0) printf(A);continue;prin tf(B);prin tf(n);return 0;以下程序运行结果#in clude int mai n()10int i;for(i=1;i6;i+) if (i%2=0)pri ntf(A);break;prin tf(B);prin tf(n);return 0;11 以下程序运行结果是MS?#in elude int mai n() int i,x33=1,2,3,4,5,6,7,8,9;for(i=0;i3;i

23、+) prin tf(%d ”,xii);prin tf(n);return 0;12 以下程序运行结果是#i nclude int mai n()i nt i, n =0,0,0,0,0;for(i=1;i=4;i+)ni=ni-1*2+1;prin tf(%d ”,n i);return 0;13 以下程序运行结果是#i nclude int mai n()int a =5,4,3,2,1,i,j;long s=0;for(i=0;i5;i+)s=s*10+ai;prin tf(s=%ldn,s);return 0;14 以下程序运行结果是S3#in clude int mai n()ch

24、ar s=abcdef: s3=0;prin tf(%sn,s); return 0;15以下程序运行结果#in clude #in eludeint mai n()i nt a33=1,2,3,4,5,6,i,j,s=0; for(i=0;i3;i+)for(j=0;ji;j+)s+=aij;prin tf(%dn,s);return 0;16 以下程序运行结果是#i nclude #in clude int mai n() char p110=abc, p210=ABC, str50=xyz;strcpy(str+2,strcat(p1,p2);prin tf(%sn,str);retur

25、n 0;17.以下程序运行结果是#in clude int fun (i nt x,i nt y,i nt z) z=x*x+y*y; int mai n() int a=31;fun (5,2,a);prin tf(%dn,a);return 0; 18.以下程序运行结果是#in elude int fun (i nt x,i nt y,i nt z) z=x*x+y*y;retur n z; int mai n() int a=31;a=fu n( 5,2,a);prin tf(%dn,a);return 0; 1419.以下程序运行结果是 #i nclude f(int b , int

26、n) int i, r=0;for(i=0; i=n; i+) r=r+bi;return r;int mai n()int x, a= 234,5,6,7,8,9;x=f(a, 3);prin tf(%dn,x);return;20.以下程序运行结果是#in clude f(int b , int n) int i, r=1;for(i=0; i=n; i+) r=r*bi;return r;int mai n()int x, a= 234,5,6,7,8,9;x=f(a, 3);prin tf(%dn,x);return;a21. 以下程序运行结果是int fun c(i nt a,i n

27、t b) return(a+b); int mai n() int x=2,y=5,z=8,r; r=func(fun c(x,y),z);prin tf(%dn,r);return 0;22. 以下程序运行结果是 #in clude int f(char s) int i,j;i=O;j=O;while( sj!= 0) j+;return (j-i);int mai n()pri ntf(”dn,f(ABCDEF);return 0;23. 以下程序运行结果是#i nclude int f(i nt a) int b=0,c;c=3;b+ ;c+;return (a+b+c);int ma

28、i n() int i;for(i=0;i3;i+)prin tf(%dn,f(i);return 0;h71Y24. 以下程序运行结果是 #in clude int f(i nt a) int b=0;static c=3;b+ ;C+;return (a+b+c);int mai n() int i;for(i=0;i3;i+)prin tf(%dn,f(i);return 0;25. 以下程序运行结果是 #in clude in t fun 3(i nt x)static int a=3;a+=x;return(a); void mai n() int k=2,m=1,n;n=fu n3

29、(k);n=fun 3(m);prin tf(%dn, n);26. 以下程序运行结果是月#i nclude int m=13;int fun 2(i nt x, int y) int m=3;return(x*y-m);int mai n() int a=7, b=5;prin tf(%dn,fu n2(a,b)/m);return 0;27.以下程序运行结果是kpo intel =100r pn intep=10#i nclude int mai n() int a=100,b=10;int *po in ter_1, *po in ter_2;poin ter_1= &a;poin te

30、r_2=&b;prin tf(a=%d,b=%dn,a,b);prin tf(*poi nter_ 1=%d,*poi nter_2=%dn,*poi nter_1,*poi nter_2);return 0;28.以下程序运行结果是a=llb=121 iieix-lSliiiin-lL#in elude int mai n() int *p1,*p2,*p,a,b;a=11,b=121;p仁&a;p2=&b;if(ab)p=p1;p 仁p2;p2=p;prin tf(a=%d,b=%dn,a,b);prin tf(max=%d,mi n=%dn,*p1,*p2);return 0;29.以下

31、程序运行结果是#in clude void mai n()int i,j,(*p)2;int b32 = 1,2, 3, 4, 5, 6;p = b;for(i=0; i3; i+)for(j=0; j2; j+) printf(%d ”,pij);prin tf(n);30.以下程序运行结果是#in clude void mai n()int i,*p2;int a3 = 1, -2, 9;int b4 = 4, 7, 0, 10;p0=a;p1=b;for(i = 0; i 3; i+)prin tf(%dt, *(p0+i);prin tf(n ”);for(i = 0; i 4; i+

32、)prin tf(%dt, *(p1+i);prin tf(n);No.:13101na.nke : LzL Lin吕耳K : Fl31.以下程序运行结果是address:123 Beijing Boad#in clude int mai n()struct stude ntlong int num;char n ame20;char sex;char addr20;a=10101,Li Lin,M,123 Beijing Road;prin tf(NO.:%ldn name:%snsex:%c naddress:%sn,a. nu m,a. name,a.sex,a.addr); retur

33、n 0;Mo _Maresexage10101LI Linia1W102Zliang Funn1R104Wang MinF2032.以下程序运行结果是#in clude struct stude ntint num;char n ame20;char sex;int age;struct student stu3=10101,Li Lin,M,18,10102,Zhang Fun”,M,19,10104,Wa ng Mi n,F,20;int mai n()struct stude nt *p;printf(” No.Namesex agen);for (p=stu;p num, p- nam

34、e, p-sex, p-age); return 0;四、编程1 设有一个函数如下。编程,输入x,求y值。y=JC4丄at*#in clude#in clude int mai n()float x,y;sca nf(%f, &x);if (x0)y=sqrt(x);else if(x0) y=(x+1)/(x*x+2);elsey=0;printf(x=%6.2f,y=%6.2fn,x,y);return 0;2下面程序的功能是计算1-3+5- 7+-99+101 的值存在 s 中。#include #include #include int main()int main()int main

35、()int i,t=1,s=0;int i=1,t=1,s=0;int i=1,t=1,s=0;for(i=1;i=101;i+=2)while(i=101)dos=s+i*t;s=s+i*t;s=s+i*t;t=-t;t=-t;t=-t;i+=2;i+=2;printf(sum=%dn, s); while(i=101);return 0;printf(sum=%dn, s);printf(sum=%dn, s);return 0;return 0;3 一个整数被 5 除余 3,被 7 除余 5,被 9 除余 7,这个数最小是几? #includeint main()int i=8;doif

36、 (i%5=3) & (i%7=5) & (i%9=7)printf(%5dn,i);break;i=i+5; while(1);return 0;4. 编写一程序,将两个字符串连接起来,要求不用 strcat 函数。 #include#includevoid main() char s180,s240;int i=0,j=0;printf(input string1:n);gets(s1);printf(input string2:n);gets(s2);i=strlen(s1);while( s2j!=0)s1i+=s2j+;s1i=0;puts(s1);5 写一个函数计算 2016 以内

37、最大的 10 个能被 13 或 17 整除的自然数之和。输出格式: sum=23456#includevoid main()long sum;sum=sum2016();printf(sum=%ldn,sum);long sum2016()long sum=0;int i,count=0;for(i=2016;i-) if(i%13=0|i%17=0)count+;sum+=i;if(count=10) break;return sum;6 已知圆柱高 h=5 ,要求用 scanf 输入圆的半径,求出圆周长,圆面积和圆柱体积。#include int main ()float h=5,r,l,

38、s,vz;float pi=3.1415926;printf( 请输入圆半径r:);scanf(%f,&r);/要求输入圆半径 rl=2*pi*r;/计算圆周长 ls=r*r*pi;/计算圆面积 svz=pi*r*r*h;/计算圆柱体积 vzprintf( 圆周长为 :l=%6.2fn,l);printf( 圆面积为 :s=%6.2fn,s);printf( 圆柱体积为 :vz=%6.2fn,vz);return 0;7.试编写程序输出100300间的所能同时被3和5整除的数。#include int main()int i;for(i=100;i=300;i+)if(i%3=0)&(i%5=0)printf(%5d,i);return 0;8 一个球从 100m 高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在 第 10 次落地时,共经过多少米,第 10 次反弹多高。#include int main()double sn=100,hn=sn/2;int n;for (n=2;n=10;n+)sn=sn+2*hn; /* 第 n 次落地时共经过的米数 */hn=hn/2; /* 第 n 次反跳高度 */prin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论