logo资料库

C语言题库-谭浩强选择题及答案.doc

第1页 / 共71页
第2页 / 共71页
第3页 / 共71页
第4页 / 共71页
第5页 / 共71页
第6页 / 共71页
第7页 / 共71页
第8页 / 共71页
资料共71页,剩余部分请下载后查看
C 语言试题库 \1 A -个 C 程序的执行是从 A)本程序的 main 函数开始,到 main 函数结束 B)本程序文件的第-个函数开始,到本程序文件的最后-个函数结束 C)本程序的 main 函数开始,到本程序文件的最后-个函数结束 D)本程序文件的第-个函数开始,到本程序 main 函数结束 \2 C 以下叙述正确的是: A)在 C 程序中,main 函数必须位于程序的最前面 B)C 程序的每行中只能写-条语句 C)C 语言本身没有输入输出语句 D)在对-个 C 程序进行编译的过程中,可发现注释中的拼写错误 \3 D 以下叙述不正确的是 A)-个 C 源程序可由-个或多个函数组成 B)-个 C 源程序必须包含-个 main 函数 C)C 程序的基本组成单位是函数 D)在 C 程序中,注释说明只能位于-条语句的后面 \4 C C 语言规定:在-个源程序中,main 函数的位置 A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后 \5 B -个 C 语言程序是由 A)-个主程序和若干子程序组成 C)若干过程组成 \6 A 在 C 语言中(以 16 位 PC 机为例),5 种基本数据类型的存储空间长度的排列顺序为 A)char
D)52 B)16 C 若 x,i,j 和 k 都是 int 型变量,则执行下面表达式后 x 的值为 x=(i=4,j=16,k=32) A)4 C)32 \8 B 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是: A)7 \9 A 下列四组选项中,均不是 C 语言关键字的选项是 D)while A)define B)8 C)6 D)2 IF B)geto char printf C)include scanf case go pow A do -A int INT P_0 1a0 goto temp enum typedef union struct include continue scanf type type \10 B 下面四个选项中,均是 C 语言关键字的选项是 A)auto B)switch C)signed D)if \11 C 下面四个选项中,均是不合法的用户标识符的选项是 A) B)float C)b-a D)-123 \12 C C 语言中的标识符只能由字母、数字和下划线三种字符组成,且第-个字符 A) 必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母,数字和下划线中任-种字符 \13 A 下面四个选项中,均是合法整型常量的选项是: A)160 -0xffff 011 \14 D 下面四个选项中,均是不合法的整型常量的选项是: C)-01 986, 012 D)-0x48a B)-0xcdf 0668 01a 0xe 2e5 0x
017 12,456 B)-0Xcdf C)-018 999 A)--0f1 -0xffff 0011 \15 B 下面四个选项中,均是不合法的浮点数的选项是 A)160. C)-.18 D)-e3 B)123 5e2 D)-0x48eg -068 03f 0.12 e3 2e4.2 .e5 123e4 0.0 .234 1e3 +le+1 D)-e3 '101' 'xlf' '\f' 'xab' 1.2e-.4 +2e-1 B)-.60 C) 123e C)'\018' D)'\\0' B)'\1011' .8e4 5.e-0 12e-4 -8e5 '\017' '\"' \16 b 下面四个选项中,均是合法浮点数的选项是 A) 5e-9.4 03e2 \17 A 下面四个选项中,均是合法转义字符的选项是 A)'\'' '\\' '\n' \18 B 下面四个选项中,均是不合法的转义字符的选项是 A)'\'' '\\' '\xf' \19 C 下面正确的字符常量是: A)"a" \20 d 下面四个选项中,均是不正确的八进制数或+六进制数的选项是。 A) 0x8f 018 \21 C 下面四个选项中,均是正确的八进制数或+六进制数的选项是。 A)-10 0x8f -011 \22 C)'\011' '\f' '\}' D) 7ff -123 -0xl23 -0x8 '\101' 'xlf' -0x11 0x16 -017 0xc '\' '\a' D) 0al2 B)'\\'' C)'W' D)'' 016 B)oabc B)0abc C)0010 C)010 0a12 -0x11 0xf1 D)'\abc' B)'\' 017 0x8
k,a,b; w= 5; x=1.42; C)'3' 011 0xFFOO 0a B)"a" 3.9E-2.5 lel '\''' D)+001 0xabcd 2e2 50. B)3*a*e/b/c D)a*e/c/b*3 B)"12'12" C)"0" D)"" d 下面四个选项中、均是正确的数值常量或字符常量的选项是: A)0.0 0f 8.9e '&' \23 A 下面不正确的字符串常量是 A)'abc' \24 c 若有代数式 3ae/bc,则不正确的 C 语言表达式是: A) a/b/c*e*3 C)3*a*e/b*c \25 A 已知各变量的类型说明如下: int unsigned long double 则以下不符合 C 语言语法的表达式是: A) C)k=(a=2,b=3,a+b) \26 A 已知各变量的类型说明如下: int i=8,k,a,b; unsigned long double 则以下符合 C 语言语法的表达式是: A)a+=a-=(b= 4)*(a=3) C)x%(-3) \27 D 以下不正确的叙述是 A)在 C 程序中,逗号运算符的优先级最低 B)在 C 程序中,APH 和 aph 是两个不同的变量 C)若 a 和 b 类型相同,在执行了赋值表达式 a=b 后 b 中的值将放人 a 中,而 b 中的值不变。 D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。 \28 D 以下正确的叙述是: A)在 C 程序中,每行中只能写-条语句 B)w+=-2 D)a+= a-=(b=4)*(a=3) w=5; x=1.42,y=5.2; B)a=a*3=2 D)y=f1oat(i) x%(-3)
B)68 D)C B)++ C)!= D)% D)10 B)8 C)9 C)不确定的值 B)d=9+e,f=d+9 D)d=9+e++=d+7 B)若 a 是实型变量,C 程序中允许赋值 a=10,因此实型变量中允许存放整型数 C)在 C 程序中,无论是整数还是实数,都能被准确无误地表示 D)在 C 程序中,%是只能用于整数运算的运算符 \29 B 以下符合 C 语言语法的赋值表达式是 A)d=9+e+f=d+9 C)d=9+e,e++,d+9 \30 A 已知字母 A 的 ASCII 码为+进制数 65,且 c2 为字符型, 则执行语句 c2='A'+'6'-'3';后,c2 中的值为 A)D \31 D 在 C 语言中,要求运算数必须是整型的运算符是: A)/ \32 A 若以下变量均是整型,且 num=sum=7;则执行表达式 sUM=num++,sUM++,++num 后 sum 的值为 A)7 \33 D 在 C 语言中,int、char 和 short 种类型数据在内存中所占用的字节数 A)由用户自己定义 C)是任意的 \34 A 若有说明语句:char c='\72'则变量 c A)包含 1 个字符 B)包含 2 个字符 C)包含 3 个字符 D)说明不合法,c 的值不确定 \35 A 若有定义:int a=7;float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4 的值是 A)2.500000 \36 B sizeof(float)是: A)-个双精度型表达式 C)-种函数调用 \37 C 设变量 a 是整型,f 是实型,i 是双精度型,则表达式 10+'a'+i*f 值的数据类型为 A)int B)均为 2 个字节 D)由所用机器的机器字长决定 B)-个整型表达式 D)-个不合法的表达式 B)float C)double D)不确定 B)2.7500OO C)3.500000 D)0.000000。
B)反码 '\0' "a" '\01' 12,456 C)原码 D)ASCII 码 B)'\\' c)-0xl8 D)0xabc 01177 0xf B)float C)double D)n=(n/100+0.5)*100.0 \38 A 下面四个选项中,均是非法常量的选项是 A)'as' -0fff '\0xa' \39 D 在 C 语言中,char 型数据在内存中的存储形式是: A)补码 \40 B 设变量 n 为 f1oat 类型,m 为 int 类型,则以下能实现将 n 中的数 值保留小数点后两位,第三位进行四舍五人运算的表达式是: A)n=(n*100+0.5)/100.0 B)m=n*100+0.5 ,n= m/100.0 C)n=n*100+0.5/100.0 \41 C 表达式 18/4*sqrt(4.0)/8 值的数据类型为: A)int \42 C 设 C 语言中,-个 int 型数据在内存中占 2 个字节, 则 unsigned A)0~255 \43 D 设有说明:char w; int x; 则表达式 w* x+z-y 值的数据类型为: A)float \44 D 若有以下定义,则能使值为 3 的表达式是: int A)x%=(k%= 5) C)x%=k- k%5 \45 C 设以下变量均为 int 类型,则值不等于 7 的表达式是 A)(x= y= 6, x+y,x+1) C)(x= 6,x+1,y= 6,x+y) \46 D putchar 函数可以向终端输出-个: int 型数据的取值范围为: B)0~32767 B)(x= y= 6,x+y,y+1) D)(y=6,y+l,x = y,x+1) B)x%=(k-k%5) D)(x%=k)-(k%=5) f1oat y; double z; B)char C)int k= 7,x =12; C)0~65535 D)0~2147483647 D)不确定 D)double
A)整型变量表达式值 B)实型变量值 C)字符串 D)字符或字符型变量值 \47 B printf 函数中用到格式符%5s ,其中数字 5 表示输出的字符串占用 5 列。 如果字符串长度大于 5,则输出按方式 A)从左起输出该字串,右补空格 B)按原字符长从左向右全部输出 C)右对齐输出该字串,左补空格 D)输出错误信息 \48 C printf 函数中用到格式符%5s ,其中数字 5 表示输出的字符串占用 5 列。 如果字符串长度小于 5,则输出按方式。 A)从左起输出该字串,右补空格 B)按原字符长从左向右全部输出 C)右对齐输出该字串,左补空格 D)输出错误信息 \49 D 已有定义 int a=-2;和输出语句:printf("%8lx",a);以下正确的叙述是: A)整型变量的输出格式符只有%d-种 B)%x 是格式符的-种,它可以适用于任何-种类型的数据 C)%x 是格式符的-种,其变量的值按+六进制输出,但%8lx 是错误的 D)%8lx 不是错误的格式符,其中数字 8 规定了输出字段的宽度 \50 D 若 x ,y 均定义为 int 型,z 定义为 double 型,以下不合法的 scanf 函数调用语句是: A) B) C) D) \51 A 已有如下定义和输入语句 ,若要求 a1,a2,c1,c2 值分别为 10,20,A 和 B, 当从第-列开始输入数据时,正确的数据输入方式是 int scanf("%d%c%d%c",&a1,&c1,&a2,&c2); A)10A 20B< CR> B)10 A 20 B C)10A20 \52 scanf(" %d%lx,%le",&x,&y,&z); scanf("%2d * %d%lf"&x,&y,&z ); scanf("%x %* d%o",&x,&y); scanf("%x%o%6.2f",&x,&y,&z); D)10A20 B。 a1,a2; char c1,c2;
f1oat f1oat AB B)123 C)45 D) 345 B)45.0000 a1,a2; char c1,c2; y;且执行 scanf("%3d%f",&x,&y);语句, y;且执行 scanf("%3d%f",&x,&y);语句, 678(回车),则 y 的值为: D)123.00000 C)678.000000 B)10 20AB D)10 20AB B 已有定义 int x; 若从第 1 列开始输入数据 12345678(回车),则 x 的值为 A)12345 \53 B 已有定义 int x; 若从第-列开始输入数据 12345 A)无定值 \54 D 已有如下定义和输入语句,若要求 a1,a2,c1,c2 的值分别为 10,20,A,B, 当从第-列开始输入数据时,正确的数据输入方式是: int scanf("%d%d",&a1,&a2); scanf("%c%c",&c1,&c2); A)1020AB C)10 20 \55 D 已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为 main() {int a;float f; printf("\nInput number:"); 输入语句 printf("\nf=%f,a= %d\n ,f,a); } Input A)scanf("%d,%f",&a,&f); C)scanf("%d%f",&a,&f); \56 B 根据定义和数据的输入方式,输入语句的正确形式为: 已有定义: 数据的输入方式:4.52 3.5 A)scanf("%f,%f",&f1,&f2); C)scanf("%3.2f%2.1f",&f1,&f); D)scanf("%3.2f%2.1f",&f1,&f2); \57 D 阅读以下程序,当输入数据的形式为 25,13,10正确的输出结果为: main() {int x,y,z scanf("%d%d%d",&x,&y,&z ); B)scanf("%f,%d",&f,&a) D)scanf("%f%d",&f,&a); B)scanf("%f%f",&f1,&f2 ); float fl,f2; number: 4.5 2
分享到:
收藏