华中师范大学网络教育学院《C语言程序设计》练习测试题及答案

更新时间:2024-05-07 18:59:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《C语言程序设计》练习测试题及答案

一、选择题(下列各题有四个选项,只有一个答案是正确的,请选出正确选项) 1.一个C程序的执行是从 。

A) 本程序的main函数开始,到main函数结束

B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序的main函数开始,到本程序文件的最后一个函数结束 D) 本程序文件的第一个函数开始,到本程序main函数结束

2.以下叙述正确的是 。

A) 在C程序中,main函数必须位于程序的最前面 B) C程序的每行中只能写一条语句 C) C语言本身没有输入输出语句

D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误

3.以下叙述不正确的是 。

A) 一个C源程序可由一个或多个函数组成 B) 一个C源程序必须包含一个main函数 C) C程序的基本组成单位是函数

D) 在C程序中,注释说明只能位于一条语句的后面

4.C语言规定:在一个源程序中,main函数的位置 。

A) 必须在最开始

B) 必须在系统调用的库函数的后面 C) 可以任意 D) 必须在最后

5.一个C语言程序是由 。

A) 一个主程序和若干子程序组成 B) 函数组成 C) 若干过程组成 D)若干子程序组成

6.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序

为 。

A) char

7.若x、i、j和k都是int型变量,则执行下面表达式后x的值为 。 x=(i=4,j=16,k=32)

A)4 B)16 C)32 D)52

8.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是 。

A)7 B)8 C)6 D)2

9.下列四组选项中,均不是C语言关键字的选项是 。

A) define IF type B) getc char printf C) include scanf case D) while go pow

10.下列四个选项中,均是C语言关键字的选项是 。

A) auto enum include B) switch typedef continue C) signed union scanf D) if struct type

11.下面四个选项中,均不合法的用户标识符的选项是 。

A) A P_0 do B) float la0 _A C) b-a goto int D) _123 temp INT

12.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 。

A) 必须为字母 B) 必须为下划线

C) 必须为字母或下划线

D) 可以是字母、数字和下划线中任一种字符

13.下面四个选项中,均是合法整型常量的选项是 。

A) 160 -0xffff 011 B) -0xcdf 01a 0xe C) -01 986,012 0668 D) -0x48a 2e5 0x

14.下面四个选项中,均是不合法的整型常量的选项是 。

A) --0f1 -0xffff 0011 B) -0Xcdf 017 12,456 C) -018 999 5e2 D) -0x48eg -068 03f

15.下面四个选项中,均是不合法的浮点数的选项是 。

A) 160. 0.12 e3 B) 123 2e4.2 .e5 C) -.18 123e4 0.0 D) -e3 .234 1e3

16.下面四个选项中,均是合法浮点数的选项是 。

A) +1e+1 5e-9.4 03e2 B) -.60 12e-4 -8e5 C) 123e 1.2e-.4 +2e-1 D) -e3 .234 5.e-0

17.下面四个选项中,均是合法转义字符的选项是 。

A) ‘\\’’ ‘\\\\’ ‘\\n’ B) ‘\\’ ‘\\017’ ‘\\”’ C) ‘\\018’ ‘\\f’ ‘xab’ D) ‘\\\\0’ ‘\\101’ ‘x1f’

18.下面四个选项中,均是不合法的转义字符的选项是 。

A) ‘\\”’ ‘\\\\’ ‘\\xf’ B) ‘\\1011’ ‘\\’ ‘\\a’ C) ‘\\011’ ‘\\f’ ‘\\}’ D) ‘\\abc’ ‘\\101’ ‘xlf’

19.下面正确的字符常量是 。 A)“c” B) ‘\\\\’’ C) ‘W’ D) ‘’

20.下面四个选项中,均是不正确的八进制数或十六进制数的选项是 。

A) 016 0x8f 018 B) 0abc 017 0xa C) 010 -0x11 0x16 D) 0a12 7ff -123

21.下面四个选项中,均是正确的八进制数或十六进制数的选项是 。

A) -10 0x8f -011 B) 0abc -017 0xc C) 0010 -0x11 0xf1 D) 0a12 -0x123 -0xa

22.下面四个选项中,均是正确的数值常量或字符常量的选项是 。

A) 0.0 0f 8.9e ‘&’ B) “a” 3.9E-2.5 1e1 ‘\\”’ C) ‘3’ 011 0xFF00 0a D) +011 0xabcd 2e2 50.

23.下面不正确的字符串常量是 。 A)‘abc’ B)“12’12” C)“0” D)“ ”

24.对应以下各代数式中,若变量a和x均为double类型,则不正确的C语言表达式

是 。

代数式 A)

C语言表达式

exp(x*x/2)/sqrt(2*3.14159)

e^(x^2/2)2?1?2?B) ?ax?a?x?? 4a?

1.0/2.0*(a*x+(a+x)/(4*a)

C) (sinx)^2.5 D) x^2?e^5

25.若有代数式

sqrt((pow(sin(x*3.14159/180),2.5)) x*x-exp(5.0)

3ae,则不正确的C语言表达式是 。 bcA) a/b/c*e*3 B) 3*a*e/b/c C) 3*a*e/b*c D) a*e/c/b*3

26.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第

一列开始输入数据时,正确的数据输入方式是 。

int a1,a2; char c1,c2; scanf(“%d%d”,&a1,&a2); scanf(“%c%c”,&c1,&c2);

A)1020AB B)10 20 AB

C)10 20 AB D)10 20AB

27.已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为 。 main() { int a; float f; printf(“\\nInput number:”); 输入语句 printf(“\\nf=%f,a=%d\\n”,f,a); } Input number:4.5 2

A) scanf(“%d,%f”,&a,&f); B) scanf(“%f,%d”,&f,&a); C) scanf(“%d%f”,&a,&f); D) scanf(“%f%d”,&f,&a);

28.根据定义和数据的输入方式,输入语句的正确形式为 。 已有定义:float f1,f2; 数据的输入方式:4.52 3.5

A) scanf(“%f,%f”,&f1,&f2); B) scanf(“%f%f”,&f1,&f2);

C) scanf(“%3.2f %2.1f”,&f1,&f2); D) scanf(“%3.2f%2.1f”,&f1,&f2);

29.阅读以下程序,当输入数据的形式为 25,13,10 正确的输出结果为 。 main() { int x,y,z; scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\\n”,x+y+z); }

A) x+y+z=48 B) x+y+z=35 C) x+z=35 D) 不确定值

30.阅读以下程序,若运行结果为如下形式,输入输出语句的正确内容是 。 main() { int x; float y; printf(“enter x,y:”); 输入语句 输出语句 } 输入形式 enter x,y:2 3.4 输出形式 x+y=5.40

A) scanf(“%d,%f”,&x,&y);

printf(“\\nx+y=%4.2f”,x+y); B) scanf(“%d%f”,&x,&y);

printf(“\\nx+y=%4.2f”,x+y); C) scanf(“%d%f”,&x,&y);

printf(“\\nx+y=%6.1f”,x+y); D) scanf(“%d%3.1f”,&x,&y);

printf(“\\nx+y=%4.2f”,x+y);

31.以下说法正确的是 。

A) 输入项可以为一实型常量,如scanf(“%f”,3.5); B) 只有格式控制,没有输入项,也能进行正确输入,如

scanf(“a=%d,b=%d”);

C) 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如

scanf(“%4.2f”,&f);

D) 当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);

32.根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确的形式应该

为 。

main() { char ch1,ch2,ch3; 输入语句 printf(“%c%c%c”,ch1,ch2,ch3); } 输入形式:A B C 输出形式:A B

A) scanf(“%c%c%c”,&ch1,&ch2,&ch3); B) scanf(“%c,%c,%c”,&ch1,&ch2,&ch3); C) scanf(“%c %c %c”,&ch1,&ch2,&ch3); D) scanf(“%c%c”,&ch1,&ch2,&ch3);

33.有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b为3,c为

2,从键盘输入数据的正确形式应当是 。 A) 132<回车> B) 1,3,2<回车>

C) a=1 b=3 c=2<回车> D) a=1,b=3,c=2<回车>

34.以下能正确地定义整型变量a,b和c并为其赋初值5的语句是 。 A)int a=b=c=5; B)int a,b,c=5; C)a=5,b=5,c=5; D)a=b=c=5;

35.已知ch是字符型变量,下面不正确的赋值语句是 。

A)ch=‘a+b’; B)ch=‘\\0’; C)ch=‘7’+‘9’; D)ch=5+9;

36.逻辑运算符两侧运算对象的数据类型 。

A) 只能是0或1

B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何类型的数据

37.以下关于运算符优先顺序的描述中正确的是 。

A) 关系运算符<算术运算符<赋值运算符<逻辑与运算符 B) 逻辑与运算符<关系运算符<算术运算符<赋值运算符 C) 赋值运算符<逻辑与运算符<关系运算符<算术运算符 D) 算术运算符<关系运算符<赋值运算符<逻辑与运算符

38.下列运算符中优先级最高的是 。

A)< B)+ C)&& D)!=

39.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式

是 。

A) (x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B) (x>=1)||(x<=10)||(x>=200)||(x<=210) C) (x>=1)&&(x<=10)||(x>=200)&&(x<=210) D) (x>=1)||(x<=10)&&(x>=200)||(x<=210)

40.表示图中坐标轴上阴影部分的正确表达式是 。 //// //// //// ////

X a b c

A) (x<=a)&&(x>=b)&&(x<=c) B) (x<=a)||(b<=x<=c)

C) (x<=a)||(x>=b)&&(x<=c) D) (x<=a)&&(b<=x<=c)

41.判断char型变量ch是否为大写字母的正确表达式是 。 A)‘A’<=ch<=‘Z’ B)(ch>=‘A’)&(ch<=‘Z’) C)(ch>=‘A’)&&(ch<=‘Z’) D)(‘A’<=ch)AND(‘Z’>=ch)

42.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是 。

A) ‘x’&&‘y’ B) x<=y

C) x||y+z&&y-z D) !((x

43.已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!y)的值是 。 A)0 B)语法错 C)1 D)“假”

44.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,

则以下不能满足要求的表达式是 。

A)A%2==1 B)!(A%2==0) C)!(A%2) D)A%2

45.设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d)后n的值为 。 A)1 B)2 C)3 D)4

46.设有程序段 int k=10; while(k=0) k=k-1; 则下面描述中正确的是 。

A)while循环执行10次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次

47.设有以下程序段 int x=0,s=0; while(!x!=0) s+=++x; printf(“%d”,s); 则 。

A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次

48.语句while(!E);中的表达式!E等价于 。

A)E==0 B)E!=1 C)E!=0 D)E==1

49.下面程序段的运行结果是 。 a=1; b=2; c=2; while(a

A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,1

50.下面程序段的运行结果是 。 x=y=0; while(x<15) y++,x+=++y; printf(“%d,%d”,y,x);

A)20,7 B)6,12 C)20,8 D)8,20

51.下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。 #include main() { int a,max=0; scanf(“%d”,&a); while(【1】) { if(max

本文来源:https://www.bwwdw.com/article/47xg.html

Top