C教材-习题2答案

习题2 一、选择题

C语言基本类型包括( D )

A) 整型、实型、逻辑型 B) 整型、实型、字符型、逻辑型 C) 整型、字符型、逻辑型 D) 整型、实型、字符型

下列四组选项中,均不是C语言关键字的选项是 A 。 A) define IF type B) getc char printf C) include case scanf D) while go pow

语言的字符型数据在内存中的存储形式是( D ) A)原码 B)补码 C) 反码 D) ASCII码

C 语言的整型数据在内存中的存储形式是( B ) A)原码 B)补码 C) 反码 D) ASCII码

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

A) D B) 68

以下叙述正确的是 C 。 A) 在C程序中,每行只能写一条语句

C) 不确定的值

D) C

B) 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

C) 在C程序中,%是只能用于整数运算的运算符

D) 在C程序中,无论是整数还是实数,都能被准确无误地表示

以下叙述不正确的是 D 。

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

C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,二b中的值不变

D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

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

下列四组选项中,均是合法转义字符的选项是 A 。 A) ?\\”?‘\\\\?‘\\n? B) ?\\?‘\\017?‘\\”? C) ?\\018?‘\\f?‘xab? D) ?\\\\0?‘\\101?‘xlf?

下列四组选项中,均是不合法的用户标识符的选项是 B 。

A) W P_0 do B) b-a goto int C) float la0 _A D) -123 abc TEMP

若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52

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

设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。

A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647

若运行时给变量x输入12,则以下程序的运行结果是 。(有错误,应为0) main() { int x,y;

scanf(“%d”,&x); y=x>12 ? x+10 : x-12; printf(“%d\\n”,y); }

A) 4 B) 3 C) 2 D) 1

若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是 C 。

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

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

以下程序的运行结果是 B 。 main()

{ int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b); }

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

已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。

if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30

B) x=20, y=30, z=30

C) x=20, y=30, z=10 D) x=20, y=30, z=20

D) A%2

以下程序的运行结果是 C 。 main() { int m=5; if(m++>5) printf(“%d\\n”,m); else;

printf(“%d\\n”,m--); }

A) 4 B) 5 C) 6 D) 7

判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ?A?<=ch<=?Z?

逻辑运算符两侧运算对象的数据类型 D 。 A) 只能是0和1

sizeof(float)是 B 。

A) 一个双精度型表达式 B) 一个整型表达式

C) 一种函数表达式 D) 一个不合法的表达式

设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为 C A) 4 B) 16 C) 32 D) 52

设有如下的变量定义: int i=8, k, a, b; unsigned long w=5; double x=1, 42, y=5.2;

则以下符合C语言语法的表达式是 A A) a+=a-=(b=4)*(a=3) B) x%(-3);

C) a=a*3=2 D) y=float(i)

假定有以下变量定义: int k=7,x=12;则能使值为3的表达式是 D

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

设x和y均为int型变量,则以下语句:x+=y,y=x-y;x-=y;的功能是 D A) 把x和y按从大到小排列 B) 把x和y按从小到大排列

C) 无确定结果

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

C) 只能是整型或字符型数据

B) (ch>=?A?)&(ch<=?Z?)

C) (ch>=?A?)&&(ch<=?Z?) D) (?A?<= ch)AND(?Z?>= ch)

D) 交换x和y中的值

以下程序的输出结果是 D main()

{ int a=12,b=12;

printf(\ }

A) 10 10 B) 12 12 C) 11 10 D) 11 13

在C语言提供的合法的关键字是 D

A) swicth B) cher C) Case D) default

若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是 C

A)1 B)2 C)2.0 D)2.5

C语言提供的合法的数据类型关键字是 B

A) Double B) short C) integer D) Char

在C语言中,合法的长整型常数是 A A) 0L B) 4962710 C) 0.054838743 D) 2.1869e10

二、填空题

scanf函数的格式化字符串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,则多余的输出项____忽略___。如果格式说明的个数多于输出项的个数,则多余多余的格式将输出______。 以下程序的运行结果是__52.00_____。 #include void main() {int i=5,j=9;

float x=2.3,y=45.;

printf(“%8.2f\\n”,i%(int)(x+y)*j/2/3+y); }

若有定义:char c=?\\010?;则变量c中包含的字符个数为___1个___。 若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为___10___,n的值为____6__。

若a是int型变量,则计算下面表达式A=25/3%3后a的值为__2____。

若x和a均是int型变量,则计算表达式x=(a=4,6*2)后的x值为_12_____,计算表达式x=a=4,6*2后的x 值为__4____。

若a是int型变量,则表达式(a=4*5,a*2),a+6的值为__26____。

若s是int型变量,且s=6,则表达式s%2+(s+1)%2的值为__1____。

在VC++中,一个int型数据在内存中占4个字节,则int型数据的取值范围为__-2147483648~2147483647___。

若有以下定义int m=5,y=2;,则计算表达式y+=y-=m*=y后的y值是___-16___。

设有定义语句:int i=3; float f=456.789; 则表达式1.2+i+?A?+f值的数据类型是__double____。

三、思考以下问题

1. 几种基本数据类型各占几个字节? 2. 标识符分哪几类,各有什么用途? 3. 为什么要定义符号常量? 4. 变量名定义有什么规则?

5. C语言有哪些几类运算符号,又有哪几类表达式?

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4