习题
一、单选题
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++;
}