C语言期末复习题库_第1页
C语言期末复习题库_第2页
C语言期末复习题库_第3页
C语言期末复习题库_第4页
C语言期末复习题库_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、第1章 程序设计及C语言概述一、单选题1)一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是()。A)有零个或多个输入 B)有零个或多个输出C)有穷性 D)可行性2)以下叙述中正确的是()。A)C语言的源程序不必通过编译就可以直接运行 B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令 C)C语言源程序经编译形成的二进制代码可以直接运行 D)C语言中的函数不可以单独进行编译3)用C语言编写的代码程序()。A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行4)结构化程序由三种基本结构组成,三种基本结构组成的算法()。A)可以完成任何复

2、杂的任务 B)只能完成部分复杂的任务C)只能完成符合结构化的任务 D)只能完成一些简单的任务5)以下叙述中正确的是()。 A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出第2章 C语言基础一、单选题1)假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 的表达式是()。A)1/a*b*c B)1/(a*b*c) C)1/a/b/(float)c D)1.0/a/b/c2)以下能正确定义且赋初值的语句是()A)int n1=n2=

3、10; B)char c=32; C)float f=f+1.1; D)double x=12.3E2.5;3)以下不能定义为用户标识符的是()A)scanf B)Void C)_3com_ D)int4)设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32+z)后,x的值为() A)4 B)16 C)48 D)325)设有 int x=11,则表达式(x+ * 1/3)的值是()。A)3B)4C)11D)126)以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是()。A)x/y*z B)x*(1/(y*z) C)x/y*1/z

4、 D)x/y/z7)有以下程序 main() char a1='M', a2='m' printf("%cn", (a1, a2) ); 以下叙述中正确的是() A)程序输出大写字母M B)程序输出小写字母m C)格式说明符不足,编译出错 D)程序运行时产生出错信息8)以下程序运行后的输出结果是() main() char p='a', 'b', 'c', q="abc" printf("%d %dn", sizeof(p), sizeof(q); A)4

5、 4 B)3 3 C)3 4 D)4 39)以下叙述中错误的是()A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头 D)用户定义的标识符中,大、小写字母代表不同标识10)在C语言中,下列属于构造类型的是()A)整型 B)字符型 C)实型 D)数组类型11)下列字符串属于标识符的是()A)INT B)5_student C)2ong D)!DF12)C语言中能用来表示整常数的进制是()A)十进制、八进制、十六进制 B)十二进制、十进制C)六进制、八进制 D)二进制、十进制13)在C语言中,回车换行符是()A)n B)t

6、C)v D)b14)在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码() A)大32 B)大64 C)小32 D)小6415)设d为字符变量,下列表达式不正确的是()。 A)d=97B)d='a' C)d="a" D)d='g'16)设d为字符变量,下列表达式正确的是()。A)d=678 B)d='a' C)d="d"D)d='gjkl'17)已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为()。main() char x, y;x=&#

7、39;0' y='9' printf("%d,%dn", x, y); A) 因输出格式不合法,输出错误信息B)48,57 C)0,9 D)48,5818)已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为()。main() char c='A' int i=10; c=c+10; i=c%i; printf("%c,%dn", c, i); A)75,7 B)75,5 C)K,5 D)因存在非图形字符,无法直接显示出来19)已知在ASCII集中,字母A的序号为65,下面程序的输出结果为()。mai

8、n() char c1='B', c2='Y' printf("%d,%dn", +c1, - -c2); A)输出格式不合法,输出错误信息 B)67,88 C)66,89 D)C,X20)C语言中,运算对象必须是整型数的运算符是() 。 A)% B) C)% 和 D)*21)下列常数中,合法的C 常量是()。 A)-0. B) '105' C)'AB'D)"35"22)下列常数中,合法的C 常量是()。 A)"x-y"B) '105' C)'Be

9、' D)7ff23)下列常数中,合法的C 常量是()。A)'n' B)e-310 C)'DEF' D)'1234'24)下列常数中,不合法的C 常量是()。 A)-0x2a B)lg3 C)' ' D)"CHINA"25)下列常数中,不合法的C 常量是()。 A)-0x3b B)123e+2.3 C)'' D)6e+726)下列符号中,可以作为变量名的是()。 A)+a B)12345e C)a3B D)5e+027)下列符号中,可以作为变量名的是()。 A)+c B)*X C)_DAY

10、 D)next day28)若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值为()。A)1B)2C)2.0 D)2.529)下列程序的执行结果是()。#include <stdio.h>#define sum 10+20main() int b=0,c=0;b=5;c=sum*b;printf("%d",c);A)100B)110 C)70 D)15030)下列程序的执行结果是()。#include <stdio.h>#define sum(10+20)mian() int a=0,b=0,c=0;a=sum;b=5;c=sum

11、*b;printf("%d",c);A)100 B)110 C)70 D)15031)表达式(int)2.1416的值为()。A)2 B)2.1 C)0D)332)表达式(double)(20/3)的值为()。A)6B)6.0 C)2D)333)假设所有变量均为整型, 则表达式( a=5,b=2, a+, a+b ) 的值是()。 A)8 B)7 C)6 D)534)C语言规定标识符由()等字符组成.)字母数字下划线 )中划线字母数字)字母数字逗号 )字母 下划线 中划线35)已知ch是字符型变量,下面不正确的赋值语句是()。 A)ch='0' B)ch=&

12、#39;a+b' C)ch='7'+'9' D)ch=7+936)若x和y都为float型变量,且x=3.6, y=5.8 执行下列语句后输出结果为()。 printf("%f", (x, y);A)3.600000 B)5.800000 C)3.600000,5.800000 D)输出符号不够,输出不正确值37)设整型变量a值为9,则下列表达式中使b的值不为4的表达式()。A)b=a/2 B)b=a%2 C)b=8-(3,a-5) D)b=a>5?4:2二、填空题1)写出下列程序段的执行结果int a, b, c;a=b=c=

13、5;a=+b+(c-);变量a,b,c的值为【1】2)若有如下程序段:int a=10, b=9, c=8;c=(a-=(b-5);c=(a%11)+(b=5);顺序执行上述语句后,变量b的值为【2】3)设有以下变量定义,并已赋确定的值char w; int x; float y; double z;则表达式:w*x+z-y所求得的数据类型为【3】。4)C语言基本数据类型包括【4】、【5】、【6】、【7】。5)C语言在定义变量的同时说明变量的【8】,系统在编译时就能根据变量定义及其【9】为它分配相应数量的存储空间。6)在C语言中,标识符只能由【10】、【11】和【12】三种字符组成,且第一个字

14、符必须【13】或 【14】。7)实型变量分为【15】和【16】,即float和double型。8)C语言中规定,在变量定义的同时也可以给变量赋初值,叫做【17】。9)C的字符串常量是用【18】括起来的字符序列。10)在C 语言中,系统在每一个字符串的结尾自动加一个“字符串结束标志符”即【19】,以便系统据此数据判断字符串是否结束。11)下面的程序mian()float x; int i;x=3.6; i=(int)x;printf("x=%f,i=%d", x, i);运行结果为【20】。第3章 顺序结构一、单选题1)设x为int型变量,则执行以下语句后,x的值为()。 x

15、=10; x+=x-=x-x; A)10 B)20 C)40 D)302)下列可作为C语言赋值语句的是()。 A)x=3,y=5 B)a=b=6 C)i-; D)y=int(x);3)设x,y,z,t均为int型变量,则执行以下语句后,t的值为()。 x=y=z=1; t=+x|+y&&+z; A)不定值 B) 2 C)1 D)04)若以下选项中的变量已正确定义,则正确的赋值语句是()。A)x1=26.8%3 B)1+2=x2 C)x3=0x12; D)x4=1+2=3;5)设有以下定义int a=0;double b=1.25; char c='A' #def

16、ine d 2 则下面语句中错误的是()。A)a+; B)b+; C)c+; D)d+; 6)有以下程序main() int x=102, y=012; printf("%2d,%2dn", x, y); 执行后输出的结果是()。A)10,01 B)02,12 C)102,10 D)02,107)有以下程序 main() int m=3, n=4, x; x=-m+; x=x+8/+n; printf("%dn", x); 程序运行后的输出结果是()。A)3 B)5 C)-1 D)-28)有以下程序 main() char a='a',

17、b; printf("%c,", +a); printf("%cn", b=a+); 程序运行后的输出结果是( )。A)b,b B)b,c C)a,b D)a,c 9)有以下程序main() int m=0256, n=256; printf("%o %on", m, n);程序运行后的输出结果是( )。A)0256 0400 B)0256 256 C)256 400 D)400 400 10)有以下程序main() char a,b,c,d; scanf("%c,%c,%d,%d",&a, &b,

18、 &c, &d); printf("%c,%c,%c,%cn",a, b, c, d);若运行时从键盘上输入:6,5,65,66。则输出结果是()。A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,611)数字字符0的ASCII值为48,若有以下程序main() char a='1', b='2' printf("%c,", b+); printf("%dn", b-a);程序运行后的输出结果是( )。A)3,2 B)50,2 C)2,2 D)2,5012)

19、有以下程序main() int m=12, n=34; printf("%d%d", m+, +n); printf("%d%dn", n+, +m); 程序运行后的输出结果是( )。 A)12353514 B)12353513 C)12343514 D)1234351313)有以下程序main() int m, n, p; scanf("m=%dn=%dp=%d", &m, &n, &p); 若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()。 A)m=123

20、n=456p=789 B)m=123 n=456 p=789C)m=123,n=456,p=789 D)123 456 78914)有以下程序main() int a, b, d=25; a=d/10%9; b=a-1; printf("%d,%dn", a, b); 程序运行后的输出结果是( )。 A)6,1 B)2,1 C)6,0 D)2,015)以下叙述中错误的是()。 A)C语句必须以分号结束B)复合语句在语法上被看作一条语句 C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句 16)以下叙述中正确的是()。 A)调用printf函数时

21、,必须要有输出项 B)使用putchar函数时,必须在之前包含头文件stdio.h C)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出 D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码 17)有以下程序 #include <stdio.h> main()  char c1='1', c2='2' c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); 当运行时输入:a<回车> 后,以下叙

22、述正确的是()。 A)变量c1被赋予字符a,c2被赋予回车符B)程序将等待用户输入第2个字符 C)变量c1被赋予字符a,c2中仍是原有字符2 D)变量c1被赋予字符a,c2中将无确定值 二、填空题1)已知字符A的ASCII码值为65,以下语句的输出结果是【1】。char ch='B'printf("%c %dn", ch, ch); 2)有以下语句段:int n1=10, n2=20; printf("【2】", n1, n2); 要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。n1=10 n2=20 3)有以

23、下程序:#include "stdio.h"main( ) char ch1, ch2; int n1, n2; ch1=getchar(); ch2=getchar(); n1=ch1-'0' n2=n1*10+(ch2-'0'); printf("%dn", n2); 程序运行时输入:12<回车>,执行后的输出结果是【3】。 4)以下程序段的输出结果是【4】。 int i=9; printf("%on", i);5)以下程序运行后的输出结果是【5】。 main() int a, b, c

24、; a=25; b=025; c=0x25; printf("%d %d %dn', a, b, c); 6)以下程序运行时,若从键盘输入:10 20 30<回车>,输出的结果是【6】。#include "stdio.h"main() int i=0, j=0, k=0;scanf("%d%*d%d", &i, &k);printf("%d%d%dn", i, j, k);7)已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是【7】。

25、#include "stdio.h" main() char a, b; a=getchar(); scanf("%d", &b); a=a-'A'+'0' b=b*2; printf("%c %cn", a, b);8)以下程序运行后的输出结果是【8】。  main()   int x=0210; printf("%xn", x); 9)以下程序运行后的输出结果是【9】。  main()   char c

26、; int n=100;  float f=10; double x;  x=f*=n/=(c=50);  printf("%d %fn", n, x);   10)已知字母A的ASCII码为65。以下程序运行后的输出结果是【10】 。  main()   char a, b;  a='A'+'5'-'3' b=a+'6'-'2'

27、;   printf("%d %cn", a, b);   第4章 选择结构一、单选题1)若变量c为char类型,能正确判断出c为小写字母的表达式是()A)'a'<=c<='z' B)(c>= 'a')|(c<= 'z')C)('a'<=c)and ('z'>=c) D)(c>= 'a')&&(c<= 'z')2)设有定义:i

28、nt a=2,b=3,c=4;,则以下选项中值为0的表达式是( )A)(!a=1)&&(!b=0) B)(a<b)&& !c|1 C)a && b D)a|(b+b)&&(c-a)3)能正确表示逻辑关系“a=10或a0”的C语言表达式是()。A)a>=10 or a<=0 B)a>=0|a<=10C)a>=10 && a<=0D)a>=10a<=04)下列运算符中优先级最高的是()。 A)> B)+ C)&& D)!=5)以下关于运算符优先

29、级的描述中,正确的是()。 A)!(逻辑非)>算术运算>关系运算>&&(逻辑与)>|(逻辑或)>赋值运算B)&&(逻辑与)>算术运算>关系运算>赋值运算C)关系运算>算术运算>&&(逻辑与)>|(逻辑或)>赋值运算D)赋值运算>算术运算>关系运算>&&(逻辑与)>|(逻辑或)6)逻辑运算符的运算对象的数据类型()。A)只能是0或1 B)只能是.T.或.F.C)只能是整型或字符型 D)任何类型的数据7)以下程序的运行结果是()。main(

30、 ) int c, x, y; x=1; y=1; c=0; c=x+|y+; printf("n%d%d%dn", x, y, c); A)110 B)211 C)011 D)0018)以下程序的运行结果是()。main( )int c, x, y; x=0; y=0; c=0; c=x+&&y+; printf("n%d%d%dn", x, y, c); A)100 B)211 C)011 D)0019)判断字符型变量ch为大写字母的表达式是()。A)'A'<=ch<='Z' B)(ch&g

31、t;='A') & (ch<='Z')C)(ch>='A')&&(ch<='Z') D)(ch>='A') AND (ch<='Z')10)判断字符型变量ch为小写字母的表达式是()。A)'a'<=ch<='z' B)(ch>=a) && (ch<=z)C)(ch>='a') | (ch<='z') D)(ch>='a

32、') && (ch<='z')11)以下if语句书写正确的是()。A)if(x=0;) B)if(x>0)printf("%f", x ); x=x+1; printf("%f", x);else printf("%f", -x); else printf("%f", -x);C)if(x>0); D)if(x>0)x=x+1;printf("%f",x); x=x+1; printf("%f",x) else

33、printf("%f",-x); else printf("%f",-x);12)分析以下程序:main( ) int x=5, a=0, b=0; if(x=a+b) printf("* *n"); else printf("# #n");以上程序()。A)有语法错,不能通过编译 B)通过编译,但不能连接C)输出* * D)输出# #13)写出下面程序的执行结果()。main( ) int x, y=1; if(y!=0) x=5; printf("%dt", x); if(y=0) x=3;

34、else x=5;printf("%dtn", x);A)1 3 B)1 5 C)5 3 D)5 514)若有以下变量定义:float x; int a,b;则正确的switch语句是()。A)switch(x) case 1.0: printf("*n");case 2.0: printf("* *n"); B)switch(x) case 1,2: printf("*n");case 3: printf("* *n");C)switch(a+b) case 1: printf("*

35、n");case 2*a: printf("* *n");D)switch(a+b) case 1: printf("*n");case 1+2: printf("* *n");15)以下关于运算符优先顺序的描述正确的是()。A)关系运算符<算术运算符<赋值运算符<逻辑运算符B)逻辑运算符<关系运算符<算术运算符<赋值运算符C)赋值运算符<逻辑运算符<关系运算符<算术运算符D)算术运算符<关系运算符<赋值运算符<逻辑运算符16)能正确表示a>=10

36、或a<=0的关系表达式是()。A)a>=10 or a<=0 B)a>=10 | a<=0C)a>=10 && a<=0 D)a>=10 | a<=017)以下不正确的if 语句形式是()。A)if(x>y && x!=y) ;B)if(x=y) x+=y ;C)if(x!=y) scanf("%d", &x) else scanf("%d", &y);D)if(x<y)x+; y+;18)能表示整数x符合下面两个条件的语句是()。(1)“能

37、被4整除,但不能被100整除”.(2)能被4整除,又能被400整除.A)(x%4=0 && x%100!=0) | x%400=0B)(x%4=0 | x%100!=0) && x%400=0C)(x%4=0 && x%400!=0) | x%100=0D)(x%100=0 | x%4!=0) && x%400=019)设有如下定义:char ch=z,则执行下面语句后变量ch是值为()。ch=('A'<=ch && ch<='Z') ? (ch+32): chA)A B

38、)a C)Z D)z20)若i为整型变量,则下列程序段的运行结果为()。i=322;if(i%2=0) printf("#");else printf("*");A)# B)#*C)* D)有语法错误,无法输出结果21)已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为()。 if (x>y | x<z && y>z) z=x; x=y; y=z;A)x=50, y=80, z=80 B)x=50, y=30, z=30C)x=30, y=50, z=80 D)x=80, y=30, z=

39、5022)已知 int x=30, y=50, z=80;以下语句执行后变量x、y、z的值分别为()。if(x>y | x<z && y>z) z=x; x=y; y=z; A)x=50, y=80, z=80 B)x=50, y=30, z=30C)x=30, y=50, z=80 D)x=80, y=30, z=5023)以下程序的输出结果是()。main( ) int x=2, y=-1, z=2; if(x<y) if(y<0) z=0; else z+=1; printf("%dn", z);A)3 B)2 C)1 D

40、)024)设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是()。A)'a'+ 'b' B)a<=bC)a | b+c && b-c D)!( (a<b) &&!c | 1 )25)在C的if语句中,可用作判断的表达式是()。A)关系表达式 B)逻辑表达式C)算术表达式 D)任意表达式26)下面能正确表示变量a在区间0,5或(6,10)内的表达式为()。A)0<=a|a<=5|6<a|a<10 B)0<=a&&a<=5|6<a&

41、;&a<10C)(0<=a|a<=5)&&(6<a|a<10)D)0<=a&&a<=5&&6<a&&a<1027)为了表示关系x>=y>=z,应使用C语言表达式()。 A)(x>=y)&&(y>=z) B)(x>=y)AND(y>=z) C)(x>=y>=z) D)(x>=y)&(y>=z)28)下面程序的输出结果是()。main()int x=40, y=4, z=4; x=y=z;

42、printf("%d", x); x=x=(y-z); printf("%d", x);A)4 0B)4 1C)1 1D)1 029)若x=3, y=z=4,则下列表达式的值分别为()。 (1)(z>=y>=x)?1:0 (2)z>=y && y>=xA)0 1 B)1 1 C)0 0 D)1 030)若x=3, y=z=4,则下列表达式的值分别为()。(1)(z>=y>=x)?1:0(2)y+=z,x*=yA)0 24 B)1 8 C)0 8 D)1 12二、填空题1)下列程序段执行后,变量k、x、y

43、、z的值依次为【1】 int k, x, y, z; x=y=z=0; k=x+&&y+|+z;2)以下程序运行后的输出结果是【2】main() int a, b, c;a=10; b=20; c=(a%b<1)|(a/b>1);printf("%d %d %dn", a, b, c); 3)以下程序运行后的输出结果是【3】。 main() int a=1, b=3, c=5; if(c=a+b) printf("yesn"); else printf("non"); 4)若x为int类型,请以最简单的形式

44、写出与逻辑表达式!x等价的C语言关系表达式 【4】。5)以下程序段的运行结果是【5】。int x=1, y=0;switch(x)case 1: switch(y) case 0: printf("x=1 y=0n"); break; case 1: printf("y=1n"); break; case 2:printf("x=2n");6)输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母,则变成大写字母;其它字符不变。请在()内填入缺省的内容。 main( ) char ch; scanf("%c&quo

45、t;, &ch); if (【6】) ch=ch+32; else if(ch>='a'&&ch<='z') 【7】;printf("%cn", ch); 7)以下程序的运行结果是【8】 main() int a=2, b=3, c;c=a;if(a>b) c=1;else if(a=b) c=0 ;else c= -1;printf("%dn", c);8)mian() int x, y, z;x=3; y=z=4;printf("%d", (x=y=x)?1

46、:0);printf("%d", z>=y && y>x);运行结果为【9】第5章 循环结构一、单选题1)设x和y均为int型变量,则执行以下的循环后,y值为()for(y=1, x=1; y<=50; y+) if(x=10) break; if(x%2=1) x+=5; continue;x-=3; A)4 B)5 C)6 D)72)假定a和b为int型变量,则执行以下语句后b的值为()。a=1; b=10; do b-=a; a+; while (b-<0);A)9 B)-2 C)-1 D)83)设j为int型变量,则下面for

47、循环语句的执行结果是()。 for( j=10; j>3; j-) if(j%3) j-; -j; -j; printf("%d ", j);A)6 3 B)7 4 C)6 2 D)7 34)有以下程序:main( ) char k; int i; for(i=1; i<3; i+) scanf("%c", &k); switch(k) case '0': printf("anothern"); case '1': printf("numbern"); 程序运行时

48、,从键盘输入:01<回车>,程序执行后的输出结果是()。A. another B. another C. another D. numbernumber number number number another number5) 变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是()。A.) for(i=1, p=1; i<=5; i+) p*=i;B)for(i=1; i<=5; i+) p=1; p*=i;C)i=1; p=1; while(i<=5)p*=i; i+;D)i=1; p=1;dop*=i; i+; while(i<=5)

49、;6)有以下程序main() int a=1, b; for(b=1; b<=3; b+) if(a%2=1)a+=3; continue; a-=2; printf("%dn", a); 程序运行后的输出结果是() 。A)3 B)4 C)0 D)27)有以下程序段  int n, t=1, s=0;  scanf("%d", &n);  do s=s+t; t=t-2; while (t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是() 

50、 A)任意正奇数  B)任意负偶数   C)任意正偶数  D)任意负奇数二、填空题1)有以下程序:main( ) int t=1, i=5; for(; i>=0; i-) t*=i; printf("%dn", t); 执行后的输出结果是【1】。2)以下程序运行后的输出结果是【2】。main() int p=11, i=0, j=0;while(i<7 && p%2=1) j+=p; i+; p=p*i;printf("%dn", j); 3)以下程序的功能是计算:s=1+12+123+1234

51、+12345。请填空。 main()   int t=0, s=0,i; for( i=1; i<=5; i+)  t=i+ 【3】; s=s+t;  printf("s=%dn", s);   第6章 函数一、单选题1)有如下函数调用语句 func(recl, rec2+rec3, (rec4,rec5); 该函数调用语句中,含有的实参个数是()。 A)3 B)4 C)5 D)有语法错误2)有如下程序 int func(int a, int b)

52、return(a+b); main() int x=2, y=5, z=8, r; r=func(func(x, y), z); printf("dn", r); 该程序的输出结果是()。 A)12 B)15 C)14 D)133)以下关于函数的叙述中正确的是()A)每个函数都可以被其它函数调用(包括main函数)B)每个函数都可以被单独编译C)每个函数都可以单独运行D)在一个函数内部可以定义另一个函数4)在C语言程序中,有关函数的叙述正确的有()。A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和调用均不可以嵌套

53、D)函数的定义和调用均可以嵌套5)以下程序的输出结果是()。long fib(int n)if(n>2) return(fib(n-1)+fib(n-2); else return(2); main() printf("%dn", fib(3);A)2 B)6 C)4 D)86)下列各函数首部定义正确的是()。A)void play(var:ineger,var b:integer)B)double play(int a, b)C)float play(int a, int b)D)sub play(a as integer, b as integer)7)以下程序运

54、行后的输出结果是()。#define N 20 fun(int a, int n, int m) int i, j; for(i=m; i>=n; i-) ai+1=ai; main() int i, aN=1, 2, 3, 4, 5, 6, 7, 8, 9, 10; fun(a, 2, 9); for(i=0; i<5; i+) printf("%d", ai); A)10234 B)12344 C)12334 D)122348)在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。A)地址传递 B)单向值传递C)由实参传给形参,再由形参传回

55、实参 D)传递方式由用户指定9)设有以下函数:f(int a) int b=0; static int c=3; b+;c+; return(a+b+c);如果在下面的程序中调用该函数,则输出结果是()。main() int a = 2, i; for(i=0; i<3; i+) printf("%d,", f(a);A)7,8,9, B)7,9,11, C)7,10,13, D)7,7,7,10)以下函数值的类型是()。fun(float x) float y; y=3*x-4; return y;A)int B)不确定 C)void D)float11)以下函数定

56、义正确的是()。A) double fun(int x, int y) B) double fun(int x; int y)C) double fun(int x, int y) ; D) double fun(int x ,y)12)C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是()。A)地址传递; B)单向值传递;C)双向值传递; D)由用户指定传递方式13)以下关于语言程序中函数的说法正确的是()。)函数的定义可以嵌套,但函数的调用不可以嵌套;)函数的定义不可以嵌套,但函数的调用可以嵌套;)函数的定义和调用均不可以嵌套;)函数的定义和点用都可以嵌套。14)以下正确的函数形式是()。A)double fun(int x, int y) z=x+y; return z; B)fun(int x, y) int z; return z;C)fun(x,y) int x,y; double z; z=x+y; return z;D)double fun(int x, int y) double z; z=x+y; return z;15)以下说法不正确的是()。 A)实参可以是常量、变量或表达式B)形参可以是常量、变量或表达式 C)实参可以是任意类型D)形参应与其对应的实参类型一致16)C语言允许函数值类型缺省定义,此时该函数

温馨提示

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

评论

0/150

提交评论