C/C++测试题
数据类型和表达式
一、选择题
1、下列数据中,不合法的实型数据的是( C )。
(A) 0.123 (B) 123e3 (C) 2.1e3.5 (D) 789.0
2、若有定义:
int a=7; float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是( A )。
(A) 2.500000 (B) 2.750000 (C) 3.500000 (D) 0.000000
3、设变量a是int型,f是float型,i是double型,则表达式10+’a’+i*f值的数据类型
为( C )。
(A) int (B) float (C) double (D)不确定
4、在位运算中,操作数左移一位,其结果相当于( A )。
(A)操作数乘以2 (B)操作数除以2
(C)操作数除以4 (D)操作数乘以4
5、若有以下说明语句,则该语句( B )。
char s='\092';
(A)使s的值包含1个字符 (B)说明不合法,s的值不确定
(C)使s的值包含4个字符 (D)使s的值包含3个字符
6、若kl,k2,k3,k4均为int型变量,为了将整数10赋给kl和k3,将整数20赋给k2
和k4,则对应以下scanf()函数调用语句的正确输入方式是(D )(<CR>代表换行符,ㄩ代
表空格)。
scanf(“%d%d”,&k1,&l2);
scanf(“%d,%d”,&k3,&k4);
(A)1020<CR> (B) 10ㄩ20<CR> (C) 10, 20<CR> (D) 10ㄩ20<CR>
1020<CR> 10ㄩ20<CR> 10, 20<CR> 10, 20<CR>
7、若变量已正确定义并赋值,以下符合C语言语法的表达式是( B )。
(A)a:= b+1 (B)a=b=c+2 (C) int 18.5%3 (D)a=a+7=c+b
8、在C/C++语言中,逻辑值“真”用( D )表示。
(A) true (B)大于0的数 (C)非0整数 (D)非0的数
9、下列可用于C/C++语言用户标识符的一组是( B )。
(A) void, define, WORD (B) a3_b3,_123,Car
(C) For, -abc, IF Case (D) 2a, DO, sizeof
10、下列选项中非法的表达式为( D).
(A) 0<=x<100 (B) i=j==0 (C) (char)(65+3) (D) x+1=x+1
(A)a==1 (B)++i; (C)a=a++=5; (D)a=int(i);
二、读程序分析程序的运行结果
11、以下程序的结果是( B )。
int a=21,b=11;
cout<<(--a+b)<<","<<(--b+a);
(A) 29,28 (B) 31,30 (C) 28,29 (D) 30,31
12、以下程序的结果是( D )。
int a=3,b=10;
cout<<(a<<2|b>>1);
(A)1 (B)5 (C)12 (D)13
13、两次运行以下程序,如果从键盘上分别输入6盒4,则输出的结果是( A )。
int main( )
{
int a;
cin>>a;
if(a++>5)cout<<a;
else cout<<a--;
}
(A)7和5 (B)6和3 (C)7和4 (D)6和4
三、填空题
14、若有以下说明和语句,则c的二进制数是 0001 。//字符型数据占一个字节,4位
char a=3,b =6, c; c=a^b>>2;
15、若有以下说明和语句,则c的二进制数是 1000 。
char a=3, b=6, c; c=~a&b<<1;
16、设a=00101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的二进
制数应是 11110000 。
posted on 2011-05-31 21:53
DoubleW 阅读(1416)
评论(0) 编辑 收藏 引用