C语言各章习题(选择)

更新时间:2023-12-01 04:17:01 阅读量: 教育文库 文档下载

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

第1~2章习题

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语言中,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 B)getc C)include D)while IF char scanf go type printf case pow

10、设以下变量均为int类型,则值不等于7的表达式是

A)(x=y=6,x+y,x+1) B)(x=y=6,x+y,y+1) C)(x=6,x+1,y=6,x+y) D)(y=6,y+l,x=y,x+1)

11、下面四个选项中,均是不合法的用户标识符的选项是: A)A B)float C)b-a D)-123 P_0 La0 goto temp do -A int INT

1

12、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A)必须为字母 B)必须为下划线

C)必须为字母或下划线 D)可以是字母,数字和下划线中任一种字符

13、下面四个选项中,均是合法整型常量的选项是: A)160 B)-0xcdf C)-01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x

14、若有以下定义,则能使值为3的表达式是: int k=7,x=12;

A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5)

15、下面四个选项中,均是不合法的浮点数的选项是: A) 160. B)123 C)-.18 D)-e3 0.12 2e4.2 123e4 .234

e3 .e5 0.0 1e3

16、设有说明: char w; int x; f1oat y; double z;则表达式w*x+z-y值的数据类型为: A)float B)char C)int D)double

17、下面四个选项中,均是合法转义字符的选项是: A)'\\'' B)'\\' C)'\\018' D)'\\\\0' '\\\\' '\\017' '\\f' '101' '\\n' '\\\

18、设int a=6,则执行完语句a-=a+=a*=a后,a的值是 A) 36 B) 72 C) -36 D) 0

19、下面正确的字符常量是:

A)\

20、下面四个选项中,均是不正确的八进制数或十六进制数的选项是: A)016 B)oabc C)010 D) 0a12

0x8f 017 -0x11 7ff 018 0x8 0x16 -123

21、设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为: A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647

22、下面四个选项中、均是正确的数值常量或字符常量的选项是: A)0.0 B)\ 0f 3.9E-2.5 011 0xabcd 8.9e lel0xFFOO 2e 2 '&' '\\''' 0a 50.

23、下面不正确的字符串常量是:

A)'abc' B)\

2

24、若有代数式3ae/bc,则不正确的C语言表达式是:

A) a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*3 25、已知各变量的类型说明如下: int k,a,b;

unsigned long w= 5; double x=1.42;

则以下不符合C语言语法的表达式是:

A)x%(-3) B) w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=(b=4)*(a=3)

26、已知各变量的类型说明如下: int i=8,k,a,b;

unsigned long w=5; double x=1.42,y=5.2;

则以下符合C语言语法的表达式是:

A)a+=a-=(b=4)*(a=3) B)a=a*3=2 C)x%(-3) D)y=f1oat(i)

27、以下不正确的叙述是:

A)在C程序中,逗号运算符的优先级最低 B)在C程序中,APH和aph是两个不同的变量

C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。 D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。

28、以下正确的叙述是:

A)在C程序中,每行中只能写一条语句

B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 C)在C程序中,无论是整数还是实数,都能被准确无误地表示 D)在C程序中,%是只能用于整数运算的运算符

29、表达式18/4*4.0/8值的数据类型为: A) int B)float C)double D)不确定

30、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A' + '6'-'3';后,c2中的值为:

A)D B)E C)不确定的值 D)C

31、在C语言中,要求运算数必须是整型的运算符是: A) / B) ++ c) != D)%

32、若以下变量均是整型,且num=sum=7;则执行表达式sum=num++,sum++,++num后sum的值为: A) 7 B) 8 C) 9 D) 10

33、在C语言中,int、char和short种类型数据在内存中所占用的字节数

A)由用户自己定义 B)均为2个字节 C)是任意的 D)由所用机器的机器字长决定

34、若有说明语句:char c='\\72'则变量c A)包含1个字符 B)包含2个字符

C)包含3个字符 D)说明不合法,c的值不确定

3

35、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 A)2.500000 B)2.7500OO C) 3.500000 D)0.000000。

36、sizeof(float)是:

A)一个双精度型表达式 B)一个整型表达式 C)一种函数调用 D)一个不合法的表达式

37、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为 A)int B) float C) double D)不确定

38、以下选项中,与k=++n完全等价的表达式是

A) k=n,n=n+1 B)n=n+1,k=n C)k=n++ D)k+=n+1

39、在C语言中,char型数据在内存中的存储形式是: A)补码 B)反码 C)原码 D)ASCII码

40、设变量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 D)n=(n/100+0.5)*100.0

第3~5章习题

1、putchar函数可以向终端输出一个:

A)整型变量表达式值 B)实型变量值 C)字符串 D)字符或字符型变量值

2、若运行以下程序时,从键盘输入ADescriptor(CR)表示回车),则下面程序的运行结果是: #include main() { char c;

int v0=0,v1=0,v2=0; do{

switch(c=getchar())

{ case 'a':case 'A' :

case 'e':case ' E' : case 'i':case 'I' : case 'o':Case 'O' :

case 'u':case 'U' :v1+=1; default:v0+=1;v2+=1 ; }

}while(c!='\\n');

printf(\}

A)v0=7,v1=4,v2=7 B) v0=8,v 1=4,v2=8 C)v0= 11,v1=4,v2=11 D) v0=12,vl=4,v2=12

4

3、若希望A的值为奇数时,表达式的值为\真\的值为偶数时表达式的值为\假\。则以下不能满足要求的表达式是:

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

4、已有定义int x; f1oat y;且执行scanf(\语句,若从第一列开始输入数据12345 678(回车),则x 的值为:

A)12345 B)123 C) 45 D) 345

5、设有程序段 int k=10;

while (k=0) k=k-1; 则下面描述中正确的是

A)while循环执行10次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次 6、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是: int a1,a2; char c1,c2; scanf(\scanf(\

A)1020AB B)10 20AB C)10 20 AB D)10 20AB

7、已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为: main()

{int a;float f;

printf(\ 输入语句

printf(\}

Input number: 4.5 2

A)scanf(\D)scanf(\

8、以下说法正确的是:

A)输入项可以为一实型常量,如scanf(\

B)只有格式控制,没有输入项,也能进行正确输入,如scanf(\

C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(\D)当输入数据时,必须指明变量的地址,如scanf(\

9、阅读以下程序,当输入数据的形式为25,13,10正确的输出结果为: main()

{int x,y,z;

scanf(\ printf(\“,x+y+z); }

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

10、阅读下程序,若运行结果为如下形式,输入输出语句的正确内容是: main()

5

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

Top