(完整版)C语言选择题(附答案).pdf
(完整版)C 语言选择题(附答案)第一单元第一单元C C 语言概述语言概述一、选择题一、选择题1、C 语言中主函数的个数为(A)个。A)1 B)2D)任意个C)无穷个2 2、以下关于、以下关于 C C 语言描述错误的是语言描述错误的是(D)(D)。A)一个 C 程序总是从 main 函数开始执行 TB)每个语句和数据声明的最后必须有一个分号 TC)C 语言的注释符是以“/”开始并以“/”结束的D)一个 C 程序可以包含多个 main 函数 F3、C 语言源程序文件后缀为(C).A).EXE B).OBJ C).C4、C 语言是由(C)组成的.A)子程序 B)主程序与子程序C)函数D)过程5、C 语言属于(B)语言A)机器语言B)汇编语言C)高级语言D)面向对象语言TD).ASM第二单元第二单元 C C 语言基础语言基础一、选择题一、选择题1、C 语言中普通整型变量 int 在内存中占(B)字节。A)1B)2C)3D)42、下列不是 C 语言基本数据类型的是(A)。1(完整版)C 语言选择题(附答案)A)字符型 B)整型C)浮点型 D)结构体3、有关自增、自减运算,以下只有(D)是正确的。A)-f B)+78 C)ab+D)d+4、已知 A=7.5,B=2,C=3.6,表达式(AB&CA)|(AB !CB)的值是(A)。A)0B)10C)1D)55、若有 x=1,y=2,z=3,则表达式(xy?x:y)=z 的值是(D)。A)1B)2C)3D)06、判断 char 型变量 ch 是否为大写字母的正确表达式是(C)。A)A=ch=A)(ch=A)(ch=Z)D)(A=0)(ch=9)C)(ch=0)&(ch=ch)8、一个 C 程序的执行是从(A).A)本程序的 main 函数开始,到 main 函数结柬B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的 main 函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序 main 函数结束9、在以下标识符中,合法的是(C)A)if B)0 xy C)_xy D)case10、C 语言中各种类型的数据其实决定了占用内存的字节数。float 占(C)。A)一字节 B)二字节 C)四字节 D)八字节2(完整版)C 语言选择题(附答案)11、下列各选项中,(A)是有效的标识符。A)ab B)3day C)day3 D)#abc12、以下叙述正确的是(C)A)在 C 程序中,每行只能写一条语句B)若 a 是实型变量,C 程序中不允许 a=10 这种赋值。C)在 C 程序中,是只能用于整数运算的运算符D)在 C 程序中,无论是整数还是实数,没有什么区别13、有输入语句:scanf(“a=d,b=d,c=d”,a,b,&c);为使变量 a 的值为 1,b 的值为 3,c 的值为 2,则正确的数据输入方式是(B).A)132 B)1,3,2 D)a=1,b=3,c=2C)a=1 b=3 c=214、设整型变量 a 为 5,使 b 不为 2 的表达式是(C)。A)b=a/2 B)b=6-(-a)C)b=a%2 D)b=a3?2:115、以下程序的输出结果是(D).int x=10,y=10;printf(“d%dn”,x,y);A)10 10 B)9 9 C)9 10 D)10 916、选出下列标识符中不是合法的标识符的是(D)。A)hot_do B)cat1 C)_pri D)2ab17、设有如下定义:int x=10,y=3,z;则语句 printf(”%dn,z=xy);的输出结果是(D)。A)1 B)0 C)4 D)318、各种基本数据类型的存贮空间正确的长度排列为(C)。3(完整版)C 语言选择题(附答案)A)int char floatdouble B)doublefloat intcharC)charint floatdouble D)floatint char=0)&(a0|b023、C 语言中,合法的字符型常数是(D)。A)AB)“A”C)65 D)A24、下列程序段的输出结果是(C).char c1,c2;c1=65;c2=65+32+1;printf(“%c,%c,c1,c2);A)a,B B)a,b C)A,b D)A,B25、下列语句不具有赋值功能的是(C)A)a=b B)x=1C)a+b D)a+4(完整版)C 语言选择题(附答案)26、在 C 语言中,存储一个整型、字符型、双精度实型变量所需的字节(A)。A)2、1、8 B)4、1、4C)4、1、4 D)2、2、827、下列程序段输出结果是(B).int j=2,i=1;j/=ij;printf(“%d”,j);A)0 B)1 C)2 D)328、不是 C 语言提供的合法关键字是(D)。A)switch B)char C)case D)this2929、在、在 C C 语言中,要求参加运算的数必须时整数的运算符是语言中,要求参加运算的数必须时整数的运算符是(C C)。A)/B)C)D)=30、若已定义 x 和 y 为 double 类型,且 x=1;则表达式 y=x+3/2 的值是(C)。A)1 B)2 C)2.0 D)2。531、设 a 为整型变量,不能正确表达数学关系:10 a 15 的 C 语言表达式是(C).A)10a15 B)a=11|a=12 a=13|a=14C)a10&a=z)B)(x=y)AND(y=z)C)(x=y=z)D)(x=z)(y=z)4848、C C 语言的输入与输出操作是由(语言的输入与输出操作是由(C C)完成的。)完成的。A)输入语句 B)输出语句C)输入与输出函数D)输入与输出语句49、设有 int x=11;则表达式(x+1/3)的值是(C)。7C)3,C)(完整版)C 语言选择题(附答案)A)11。3 B)11。333333 C)11 D)1250、若已定义 x 和 y 为 double 类型,则表达式 x=1,y=x+3/2 的值是(C)A)1 B)2 C)2。0 D)2。5二、判断题二、判断题()1、“A”是一个字符常量.X()2.、在程序运行过程中其值可以改变的量称为变量。V()3、在 C 语言中,变量可以先使用再定义。X()4、在 C 语言中,所有算术运算符的优先级都相同。X()5、程序中若要使用数学函数就必须包含头文件”math.h”。V()6、程序中若要使用 printf()函数就必须引用头文件”stdio.h”。V()7、在标准 C 中,“=是判断两个数是否相等。X()8、在标准 C 中,使用所有输入输出函数必须包含“stdio。h”文件.X()9、在 C 语言中输出数据时可以指定数据的精度,即小数点后保留几位。V()10、C 语言中的基本数据类型有字符型、整型和浮点型。V()11、所有的 C 语言程序都必须有一个名为 main 的主函数。V()12、/运算符要求运算数必须是整数。XX()13、Int,#a15,char 都是合法的标识符。()14、b和b”是不同的两种常量。V()15、C 语言本身没有输入输出语句,要实现输入输出必须调用相应的输入输出函数。V第三单元第三单元算法算法一、判断题一、判断题8(完整版)C 语言选择题(附答案)()1、算法简而言之就是基于某种计算机语言,利用数据结构来解决具体问题的思路和利用数据结构来解决具体问题的思路和方法。方法。V()2、描述算法的图形化方法之一就是程序流程图.V()3、描述算法可以用自然语言、传统流程图、NS 流程图来描述。V()4、算法要有一定的逻辑性和健壮性。V()5、算法的特点之一是无穷性。X第四单元第四单元顺序结构顺序结构一、选择题一、选择题1、下列标识符中合法的标识符是(A )A)int2 B)if C)2two D)a#b2、选出下列标识符中不是合法的标识符的是(B)A)hot_do B)cat113 C)INT D)_2ab3 3。、以下选项中属于、以下选项中属于 C C 语言的数据类型是语言的数据类型是(B(B)A)字符串型 B)双精度型 C)逻辑型 D)布尔型4、设有如下定义:int x=10,y=3,z;则语句 printf(dn”,z=xy);的输出结果是(D)A)3 B)0 C)4 D)15、设整型变量 n 的值为 2,执行语句n+=n;后,n 的值是(B )A)0 B)4 C)-4 D)2二、判断题二、判断题()1、结构化程序设计的三种结构是顺序结构、选择结构和循环结构。V()2、可以用 printf(d”,123);语句输出一个十六进制整数。X9(完整版)C 语言选择题(附答案)()3、可以用 scanf(x”,da);语句从键盘接收一个八进制整数给变量 da.X()4、语句 scanf(%5。2f,&a);是正确的.X()5、如果 a 是一维字符数组名,则语句 scanf(”%s”,&a);是正确的。X第五单元第五单元选择结构选择结构一、选择题一、选择题1、有以下程序段int a;if(3&2)a=1;elsea=2;执行后 a=(A)。A)1 B)2 C)3 D)02、表达式:10!=9 的值是(D)。A)trueB)非零值C)0D)13、设 int x=1,y=1;表达式(!x+|y-)的值是_(B)。A)0 B)1 C)2 D)14、设整型变量 s,c1,c2 的值均为 2,则执行语句(s=(c1=c2))后,s 的值为:(A)0 B)1 C)2 D)35、设整型变量 a,b 的值分别为 1,0,那么 a&b 的结果是(A).A)0 B)1 C)2 D)都不对10B).(完整版)C 语言选择题(附答案)6、设整型变量 a,b 的值分别为 1,0,那么 a|b 的结果是(B)。A)0 B)1 C)2 D)都不对7、设整型变量 a,b 的值分别为 1,0,那么 a!=b 的结果是(B).A)0 B)1 C)2 D)都不对8、设整型变量 a,b 的值分别为 1,0,那么 a (b+)的结果是(B)。A)0 B)1 C)2 D)都不对9 9、设整型变量、设整型变量 a a,b b 的值分别为的值分别为 1 1,0,0,那么那么 a a&(+b)&(+b)的结果是的结果是(B B)。A)0 B)1 C)2 D)都不对10、设整型变量 a,b 的值分别为 1,2,那么表达式 a b?a+b:ab 的结果是(A)1 B)2 C)3 D)-111、下边程序段int a=2,b=3,c=4;if(c=a+b)printf(“OK!)else printf(“NO!”);输出结果是(A)。A)OK!B)NO C)程序错误 D)以上都不对12、设整型变量 a,b 的值分别为 1,0,那么 a=b 的结果是(A).A)0 B)1 C)2 D)都不对13、设整型变量 a,b 的值分别为 1,0,那么!(a=b)的结果是(B)。A)0 B)1 C)2 D)都不对14、设整型变量 a,b 的值分别为 1,2,那么!a&b 的结果是(A)。A)0 B)1 C)2 D)都不对15、设 x 为非零,则下列描述错误的是(D).11D)。(完整版)C 语言选择题(附答案)A)!(x=0)B)x!=0 C)3x!=0 D)x016、下列表达式的值中哪个表示为逻辑假(C)。A)1 B)3 C)0 D)-117、设整型变量 a,b 的值分别为 6,2,那么 ab!=0 的结果是(A).A)0 B)1 C)2 D)318、下列属于分支结构的是(B).A)while B)switch C)for D)以上都不是1919、设整型变量、设整型变量 a a,b b 的值分别为的值分别为 1 1,0 0,那么,那么 a a|(+b+b)的结果是()的结果是(B B)。A)0 B)1 C)2 D)都不对2020、设整型变量、设整型变量 a a,b b 的值分别为的值分别为 1 1,0 0,那么,那么 a a&(b+b+)的结果是()的结果是(A A)。A)0 B)1 C)2 D)都不对二、判断题二、判断题()1、在分支结构 switch 中,case 后面跟的一定是常量。V()2、逻辑运算符优先级高于关系运算符的优先级。X()3、关系运算符中,=的优先级要高于=的优先级。X()4、关系运算符中,的优先级要高于 =的优先级。X()5、在条件表达式中,-3 代表为真。V()6、在条件表达式中,非 0 代表为真。V()7、条件运算符?:是 2 目运算符。X()8、在 switch 语句中,有没有 break 的情况都是相同的。X()9、判断 a,b 两个数是否相等,用 a=b.X()10、判断 a,b 两个数是否相等,用 a=b.V12(完整版)C 语言选择题(附答案)第六单元第六单元 for for 循环结构循环结构一、选择题一、选择题1、对下边 for 循环,循环体体执行次数是(B)。for(i=1;i=10;i=i+2);A)6 B)5C)4D)72、对下边 for 循环,循环体执行次数是(C).for(i=5;i 1;i-);A)6 B)5C)4D)73、下边循环执行完后,a 为(C)。for(a=1;a 5;a+)a=2 a;A)5B)4 C)7 D)84、下边循环执行完后,s 为(A )./无法确定 for(a=1;a 5;a+)for(b=s=0;b a;b+,s=s+a);A)6B)4C)7D)无答案7、下边程序段输出结果是(A).int i,a=0;for(i=0;i 10;i+)13(完整版)C 语言选择题(附答案)a+,i+;printf(”%d,a);A)5 B)6 C)9 D)108 8、以下、以下 forfor 循环的次数为(循环的次数为(D D)。for(x=0,y=0;(y=123)&(x4);x+);A)不循环 B)无限次 C)3 D)49、从循环体内某一层跳出,继续执行循环外的语句是:(A)。A)break 语句 B)return 语句 C)continue 语句 D)空语句1111、循环语句循环语句 for for(x=0(x=0,y=0;y=0;(y!=123(y!=123)(x4(x 3)break;A)3 B、4 C、5 D)618、for 循环中,能省略的表达式有(D)。A)表达式 1 B)表达式 2 C)表达式 3 D)3 个都可以A)3 次 B)2 次 C)6 次 D)9 次20、下面循环体被执行的次数是(2).for(i=0;i-10;i-);D。for(;i0;);2222、定义变量、定义变量 int i=2;int i=2;则以下是无限循环的是则以下是无限循环的是:(D ):(D )。A.for(i=0;i=1;i+);B。for(i=0;i0;)-i;C.for(;i10;i+);D。for(;i;+i);23、以下 for 循环语句,循环体的执行次数是:(A )。/该题经验证是 3 次,不知道怎么回事,自己取研究/for(i=1;i=5;i+=2);A.4 B.5 C.6 D.724、以下 for 循环语句,循环体的执行次数是:(A)。for(i=5;i1;i-);A.4 B.5 C.3 D。215(完整版)C 语言选择题(附答案)2525、下面的循环体执行完后,、下面的循环体执行完后,a a 的值是:的值是:(A )A )。for(a=2;a8;a+)a=2;4A.10 B。9 C.12 D。11二、判断题二、判断题()1、continue 语句只能用于循环语句中。V()2、在 for 循环中允许使用嵌套循环,但只能是嵌套 while 循环。X()3、break 语句只能用于循环语句中.X()4、for 循环可能一次都不执行。V()5、break 语句是结束本层循环.V()6、break 语句是结束本次循环。X()7、continue 语句是结束本层循环.X()8、continue 语句是结束本次循环.V()9、在循环过程中,使用 break 语句和 continue 语句的作用是一样的.X()10、for(;)这写书写 for 循环是合法的,即 for 三个表达式都是可以省略的。V三、程序阅读三、程序阅读1、以下程序运行完后的输出数据是:_aaaaaaaaa_main()int a=10;for(;a;)16(完整版)C 语言选择题(附答案)a;if(a=0)break;printf(a”);2 2、以下程序运行完后、以下程序运行完后 a a 的值是:的值是:_1_ _1_main()int i,a=0;for(i=0;i10;i+)i+;a+;printf(%d”,a);3 3、以下程序运行完后以下程序运行完后 a a 的值是:的值是:_5_ _5_main()int i,a=0;for(i=0;i1;n-)s=s+1/n;printf(”%6.1fn,s);第七单元第七单元 while while 与与 dodowhilewhile 循环循环一、选择题一、选择题1、break 语句的正确的用法是(C )。18(完整版)C 语言选择题(附答案)A)无论在任何情况下,都中断程序的执行,退出程序。B)在多重循环中,只能退出最靠近的那一层循环语句。C)跳出多重循环。D)只能修改控制变量。2 2、int i=0int i=0;while(i+5 while(i+5);循环结束后循环结束后 i i 的值是的值是(C(C)。A)6 B)7 C)5 D)83 3、语句、语句 whilewhile(E E);括号中的表达式括号中的表达式 E E 等价于等价于(D(DA)E=0 B)E!=1 C)E!=0 D)E=14、int i=1;while(-i);循环次数是(B)。A)无限次 B)0 C)2 D)17 7、dodowhilewhile 语句的循环体(语句的循环体(B B)。A)可能一次都不执行 B)至少要执行一次C)由循环条件决定循环次数 D)B C 均正确8、对下面的 while 语句,循环体执行次数是(A )次。a=30;while(a-);A)30 B)31 C)39 D)都不对9、在 C 语言中,下列说法中正确的是(B).A)不能使用”do while”的循环。B)”do while”的循环必须使用 break 语句退出循环.C)do while”的循环中,当条件为 0 时将结束循环。D)do while”的循环中,当条件为非 0 时将结束循环。1010、下面的循环执行完后,循环次数是、下面的循环执行完后,循环次数是(B )(B )次次.19。)(完整版)C 语言选择题(附答案)while(k=10)k-;A)9 B)10 C)11 D)无穷次二、判断题二、判断题()1、while 适合控制循环次数不确定的循环。(V)()2、无论循环条件是否满足,do。.while 循环的循环体至少执行一次.(V)()3、while(a);是一个死循环。(V)()4、在实际编程中,do-while 循环完全可以用 for 循环替换。(V)()5、continue;语句和 break;语句有同样的作用.(X)第八单元第八单元数组数组一、选择题一、选择题1、下列描述中不正确的是(A)。A)字符型数组中可能存放字符串。B)可以对字符型数组进行整体输入、输出。C)字符串函数声明在包 ctype。h 中.D)字符串的结束符是0.2、定义如下变量和数组:int i;int x6=1,2,3,4,5,6;则语句 for(i=0;i3;i+)printf(d,x 5-i);的输出结果是(D)。A)123B)135C)246D)6543、以下对二维数组 a 进行正确初始化的是(D)。A)int a2 3=1,2,3,4,5,6;B)int a 320(完整版)C 语言选择题(附答案)=1,2,3,4,5,6;C)int a2=1,2,3,4,5,6;D)int a2=1,2,3,4;4、下列程序的输出结果是(A)。char a=”abcd,b=”ABCD,str50=”xyz”;strcpy(str,strcat(a,b));printf(”s”,str);A)xyabcABB)abcABz C)ABabczD)abcdABCD5、不能把字符串:Hello!赋给数组 b 的语句是(B)。A)char b10=H,e,l,l,o,!;B)charb5=Hello!”;C)char b 10;strcpy(b,Hello!);D)char b10=Hello!”;6、下列对数组定义不正确的语句是(A).A)int m5;B)char b=h,e;C)int a10=1,6,8,4;D)char p;7、以下对二维数组 a 的正确定义是(A )A)int a3;B)float a(3,4);C)double a24;D)float a(3)(4);8、给出以下定义:char x=abcdefg;char y=a,b,c,d,e,f,g;以下正确的叙述是(D)。A)数组 x 和数组 y 等价21(完整版)C 语言选择题(附答案)B)数组 x 和数组 y 长度相等C)数组 x 的长度大于数组 y 的长度,因为还存储了一个结束符D)数组 x 的长度小于数组 y 的长度,因为还存储了一个结束符9、在 int b 3=1,3,2,4,5,6,0;中 b22的值是(C)。A)0 B)5 C)6 D)210、下列初始化正确的是(A)。A)char s1=abcd;B)char s23=zxy;C)char*p=1000;D)char s423=xyz,mnp;11、设有定义:char s12=string;则 printf(%dn,strlen(s);的输出是(A)。A)6 B)7 C)11 D)1212、函数调用 strcat(strcpy(str1,str2),str3)的功能是(A).A)将字符串 str2 复制到字符串 str1 中后再将字符串 str3 连接到字符串 str1 之后B)将字符串 str1 复制到字符串 str2 中后再连接到字符串 str3 之后C)将字符串 str1 复制到字符串 str2 中后再复制到字符串 str3 之后D)将字符串 str2 连接到字符串 str1 中后再将字符串 str1 复制到字符串 str3 中13、使用随机函数需要包含的头文件有(D)。A)includestdlib.h B)includetime。hC)include D)A 和 B14、若有说明 int a34=0;下列叙述正确的是(D).A)只有元素 a00可得到初值 0B)此说明语句不正确C)数组 a 中各元素都可得到初值,但其值不一定为 022(完整版)C 语言选择题(附答案)D)数组 a 中每个元素均可得到初值 0 15、执行下面的程序段后,变量 k 的值为(C)。int k=3,s2;s0=k;k=s0*10;A)不定值 B)33 C)30 D)1016、以下定义数组的语句中正确的是(D)。A)int a(10)B)char str;C)int n=5;int a4n;D)#define N 10 char strN;17、定义如下变量和数组:int k;int a33=9,8,7,6,5,4,3,2,1;则下列语句的输出结果是(B )。for(k=0;k3;k+)printf(“%d”,akk);A)7 5 3 B)9 5 1 C)9 6 3 D)7 4 118、下列描述正确的是(D)。A)两个字符串所包含的字符个数相同时,才能比较字符串B)字符个数多的字符串比字符个数少的字符串大C)字符串“STOP”与“STOP 相等D)字符串“That与字符串“ThaT”不相等19、若二维数组 a 有 n 行 n 列,则副对角线元素是()。(假设 a00位于数组的第一23(完整版)C 语言选择题(附答案)个位置上,且 i0,n))A)aii B)ain-i C)anii D)ain1i20、对以下说明语句的正确理解是(B)。int a10=6,7,8,9,10;A)将 5 个初值依次赋给 a1至 a5。B)将 5 个初值依次赋给 a0至 a4.C)将 5 个初值依次赋给 a6至 a10。D)因为数组长度与初值的个数不相同,所以此语句不正确21、判断字符串 a 和 b 是否相等,应使用(D)。A)if(a=b)B)if(a=b)C)if(strcpy(a,b))D)if(strcmp(a,b)=0)22、判断字符串 s1 的长度是否大于字符串 s2 的长度,应使用(C)。A)if(s1s2)B)if(strcmp(s1,s2)C)if(strlen(s1)strlen(s2)D)if(strcat(s1)strcat(s2))23、下列程序段的运行结果(B ).char c15=a,b,0,c,0;printf(“s”,c);A)a,b B)ab C)abc D)a,b24、假设有两个字符数组 a,b,则以下正确的输入语句是(C)。A)puts(a,b);B)scanf(“ss”,a,b);C)scanf(“s%s”,&a,&b);D)gets(“a”);gets(“b”);25、若有说明 int a 3=1,2,3,4,5,6,7,8,9;则 a 数组行数的大小为(B )。A)2 B)3 C)4 D)无确定值26.若有定义 double x 3 5;则 x 数组中行标的下限为(D),列标的上限为()。24(完整版)C 语言选择题(附答案)A)1 3 B)3 5 C)0 5 D)0 427、若有说明 a34;则数组 a 中的各元素(B)。A)可在程序的运行阶段得到初始值 0 B)可在程序的编译阶段得到初始值 0C)不能得到确定的初始值D)可在程序的编译或运行阶段得到初始值28、若有下列程序段char x80;scanf(“s”,x);printf(“s”,x);从键盘上输入字符串“zhang san”,则输出结果为(A).A)zhang B)zhangsan C)zhang san D)san29、在 C 语言中,引用数组元素时,其数组下标的数据类型允许为(A)A)整型常量 B)整型表达式C)整型常量或整型表达式 D)任何类型的表达式30、设有如下形式的字符数组定义:char str=”welcome;则执行下列语句后的输出结果(B)。printf(“%dn”,strlen(strcpy(str,“Hello));/*该题没有进行强制转换*/A)7 B)5 C)8 D)931、若有 int a3 5=2,2,2,6,2,6,2,则数组 a 共有(C.A)8 B)5 C)3 D)1532、设有如下定义:int a100;则数组下标区间为:(A)。25)个元素(完整版)C 语言选择题(附答案)A)099 B)199 C)0100 D)110033、若有定义:int a34,则对数组 a 中某元素的正确引用是(B )。A)a24 B)a1 3 C)a(5)D)a101034、以下对一维整型数组 a 的正确说明是(D)。A)int a(10);B)int n=10,an;C)int n;D)#define SIZE 10scanf(“%d”,&n);int aSIZE;nt an;35、若要使用字符函数,需要引入的头文件是(A)。A)string.h B)ctype。h C)stdlib。h D)stdio。h二、判断题二、判断题()1、在 定 义 一 维 数 组 时,可 以 将 该 数 组 的 长 度 省略V()2、数组的下标从0开始.V()3、数组的下标从 1 开始。X()4、数组名代表数组的首地址.V()5、在 C 语言中,数组元素在内存中的存放顺序是按顺序存放的。V()6、字符数组可以存放字符串。V()7、字符串函数 strupr(str),可将串中大写字母变成小写字母。X()8、字符串函数 strrev(str),可将 str 串字符颠倒过来。V26(完整版)C 语言选择题(附答案)()9、字符串的结束符不是0。X()10、可如此定义 a 数组:float a3=12。5,z,”school”;X()11、数组边定义边赋值时,大括号内数据项的数目可以大于或等于数组的长度.X()12、数组边定义边赋值时,大括号内数据项的数目可以小于或等于数组的长度。V()13、字符串函数 strcat(str1,str2)的作用是将字符串 str2 连接在字符串str1 后。V()14、定义字符型一维数组 char a80;可用 gets(a0)给 a0赋值。X()15、数组定义 int a10;也可以写成 int a(10);。X三、程序阅读题三、程序阅读题1、下面程序的输出结果是_6 5_。main()char ch7=”65ab21;int i;for(i=0;chi=0chi=9;i+)printf(%c”,chi);2、下面程序执行后,s1=_15.0_,s2=_2。7_。float b=0。5,1。6,2。7,3.8,4。9,5,6。1,6。2,7。3,8.4,s1,s2;27(完整版)C 语言选择题(附答案)int i;for(i=0,s1=s2=0;i9;i+)3、将程序补充完整,实现功能:输出斐氏数列的前 20 项,菲波纳契额数列具有这样的性质:F(0)=1 F(1)=2 F(N)=F(N1)+F(N2)include”stdio。h”void main()int i;long f20=1,2;for(i=2;i20;i+)fi=fi2+fi-1;for(i=0;i20;i+)printf(ldt”,fi);if(i2)s1+=(int)bi;if(i3)s2+=bi (int)bi;4、将程序补充完整,实现功能:输入 2 个字符串,判断两个串是否相同,相同输出yes,不同输出 no.include”stdio.h”#include string。h”void main()28 char x80,y80;gets(x);gets(y);if(strcmp(x,y)=0)puts(yes”);else puts(”no);5、设有以下代码:include stdio.h”void main()int a33,s=0;int i,j;for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d”,&aij);for(i=0;i3;i+)for(j=0;ji;j+)s+=aij;printf(”%dn”,s);假设键盘上输入的 9 个数据为:1 2 3 4 5 6 7 8 929(完整版)C 语言选择题(附答案),(完整版)C 语言选择题(附答案)上面程序的输出结果是_19_。第九单元第九单元指针指针一、选择题一、选择题1、以下定义正确的是(C)。A)int x;float *p=x;B)int x;intp=x;C)int x;intp=&x;D)int x;float *p=x;2、以下定义正确的是(D)。A)float x;floatp=x;B)float x;int *p=x;C)float x;intp=x;D)float x;floatp=x;3、以下定义正确的是(A)。A)float x10;floatp=x;B)float x10;intp=x;C)float x10;intp=&x;D)float x10;floatp=x;4、以下定义正确的是(B)。A)int x10;floatp=x;B)int x10;intp=x;C)int x10;int *p=&x;30(完整版)C 语言选择题(附答案)D)int x10;float *p=x;5、设有以下变量定义int x;float y;double z;z=sizeof(x)+sizeof(y)+sizeof(z);/我觉得答案是 12,大家多研究下/则 z 的值为()。A)8B)4C)6D)10二、判断题二、判断题()1、数组名代表数组的首地址。正确()2、指针的类型必须跟其所指向的变量的数据或数据结构类型一致。正确()3、指针可以不操作数组.错误()4、空指针的值为 NULL。正确()5、指针不能实现对数据的间接访问。错误第十一单元第十一单元函数函数一、选择题一、选择题1、以下不正确的说法是(D)。A)在不同函数中可以使用相同名字的变量B)形式参数是局部变量C)在函数内定义的变量只在本函数范围内有定义D)在某函数内定义的变量可在其余函数中通用31(完整版)C 语言选择题(附答案)2、以下正确的函数定义是(C)。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)3、以下正确的函数定义是(C)。A)double fun(int x,int y)B)double fun(int x,y)z=x+y;return z;int z;return z;C)fun(x,y)D)double fun(int x,int y)int x,y;double z;z=x+y;return z;double z;return z;4 4、若调用一个函数,且此函数中没有、若调用一个函数,且此函数中没有 returnreturn 语句,则正确的说法是(语句,则正确的说法是(D)D)。A)该函数没有返回值B)该函数返回若干个系统默认值C)能返回一个用户所希望的函数值D)返回一个不确定的值5、已知一个函数的定义如下:double fun(int x,double y)则该函数正确的函数原型声明为(C)。A)double fun(int x,double y)B)fun(int x,double y)C)double fun(int x,double y);D)fun(x,y);6、包含标准库函数 scanf()声明的头文件是(A)。A)stdio。h B)stdlib。hC)math。h D)time.h32(完整版)C 语言选择题(附答案)7、C 语言规定,函数返回值的类型是由 决定的。AA)return 语句中的表达式类型 B)调用该函数时的主调函数类型C)调用该函数时由系统临时 D)在定义函数时所指定的函数返回类型 8、若在某程序中定义了多个函数,则以下说法中正确的是(C)。A)C 语言程序总是从第一个的数开始执行 B)在 C 语言程序中,要调用的函数必须在 main()函数中定义 C)C 语言程序总是从 main()函数开始执行 D)C 语言程序中的 main()函数必须放在程序的开始部分 9、一个 C 语言程序是由(D)构成.A)语句B)行号C)数据函数 10、设有某函数 fun,定义如下:int fun(int x,int y)。.以下 fun 函数的调用,正确的是(B)。A)fun(3,4.2)B)fun(3,4)C)int a;D)int a;a=fun(3,4)a=fun(3,4.2)二、判断题二、判断题()1、在不同函数中可以使用相同名字的变量。正确()2、全局变量的作用域是整个程序。错误()3、局部变量的作用域是整个程序。错误()4、函数在做调用时,实际参数必须与形式参数一致,包括数量和数据类型.33D)正确(完整版)C 语言选择题(附答案)()5、函数的返回值必须与函数定义时的返回类型一致。正确三、程序阅读三、程序阅读1、以下程序运行后的结果是:_6,6_int fun()int x=1;int y=1;x+=2;y+=2;return x+y;main()int a,b;a=fun();b=fun();printf(“%d,d”,a,b);2、以下程序运行结果是:_B_void fun();char c=a;void main()34(完整版)C 语言选择题(附答案)char c;myfun(c);printf(“cn”,c+1);void fun()3、下面程序执行过程中若输入 23、45,运行结果是:_68_c-=32;void fun();int