习题

一、单选题

1.以下选项中合法的浮点型常数是( )。

A.5E2.0    B.E-3     C..2E0    D.1.3E

2.下列关于C语言用户标识符的叙述中,正确的是( )。

A.用户标识符中可以出现下划线和减号

B.用户标识符中不可以出现减号,但可以出现下划线

C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头

D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头

3.以下选项中合法的用户标识符是( )。

A.long    B._2Test    C.3Dmax   D.A.dat

4.在C语言中提供的合法的关键字是( )。

A.swich    B.char     C.case     D.default

5.在C语言中,要求运算数必须是整型的运算符是( )。

A.%     B./      C.<      D.!

6.以下选项中属于C语言的数据类型是( )。

A.复数型   B.逻辑型    C.双精度型   D.集合型

7.变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )。

A.x=x*100+0.5/100.0;      B.x=(x*100+0.5)/100.0;

C.x=(int)(x*100+0.5)/100.0;    D.x=(x/100+0.5)*100.0;

8.a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是( )。

A.6.500000   B.6      C.5.500000   D.6.000000

9.下列不正确的转义字符是( )。

A.“\”    B.“\”     C.“074”   D.“\0”

10.以下选项中不属于字符常量的是( )。

A.“C”    B.“C”    C.“\XCC”   D.“\072”

11.若变量a、i已经正确定义,且i已经正确赋值,则合法的语句为( )。

A.a==1;    B.++i;     C.a=a++5;   D.a=int(i);

12.变量t为double类型,表达式t=1,t+5,t++的值是( )。

A.1     B.6.0     C.2.0     D.1.0

13.下列关于单目运算符++、--的叙述中正确的是( )。

A.它们的运算对象可以是任何变量和常量

B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量

C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量

D.它们的运算对象可以是char型变量、int型变量、float型变量、double型变量

14.以下选项中,与k=n++完全等价的表达式是( )。

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

二、填空题

1.x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为______。

2.a,b,c均为整型数,且a=2,b=3,c=4,则执行以下语句后,a的值是______。

a*=16+(b++)-(++c);

3.C语言基本类型包含有______、______、______和枚举型4种。

4.C语言中的运算符,优先级最低的是______。

5.在程序运行过程中,其值不能改变的量称为______,其值可以改变的量称为______。

6.每个变量必须具有以下两个要素:______和______。

7.字符变量用来存储______,一个字符变量只能存储一个字符常量,一个字符变量在内存中占用______。在存储时,实际上是将该字符的______存储到内存单元中。

8.C语言表达式是用______和______将运算对象(______、______和______等)连接起来的、符合 C 语言语法规则的式子。______(即操作符)是对运算对象(又称操作数)进行某种操作的符号。

9.自增、自减运算的作用是分别使单个变量的值增1或减1,均为______。自增、自减运算符都有两种用法:______和______。

10.在赋值运算符“=”之前加上其他双目运算符可构成______,它是 C 语言中特有的一种运算符。

11.运算对象先与左边的运算符结合的称为具有______;运算对象先与右边的运算符结合的称为具有______。除单目运算符、条件运算符和赋值运算符是______外,其他运算符都是______。

三、设a=12,n=5且a,n都定义为整型变量,分别写出下列表达式运算后a的值。

a+=a;______         a-=2;______

a*=2+3;______         a%=(n%=2);______

a/=a+a;______         a+=a-=a*=a;______

四、读程序,写结果

1.执行下列语句,变量b中的结果是______。

int a=10,b=9,c=8;

c=(a-=(b-5));

c=(a%11)+(b=3);

2.以下程序执行后m、i的输出结果是__________。

void main( )

{

  int k=2,i=2,m;

  m=(k+=i*=k);

}

3.在C语言中,如果下面的变量都是int类型,则pAd输出的结果是______。

sum=pad=5;

pAd=sum + + ,pAd + + , + + pAd;

4.以下程序段输出的结果是______。

int k=10;

float a=3.5,b=6.7,c;

c=a+k%3*(int)(a+b)%2/4;

5.以下程序执行后a、b、c、d的输出结果是______。

void main( )

{

  int a=10, b=11, c=12, d;

  d=++a<=10||b-->=20||c++;

}