C++基础学习笔记(1)---数据类型和表达式(测试题)

2014-11-24 12:59:21 · 作者: · 浏览: 1

一、选择题

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=92;

(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 )(代表换行符,ㄩ代

表空格)。

scanf(“%d%d”,&k1,&l2);

scanf(“%d,%d”,&k3,&k4);

(A)1020 (B) 10ㄩ20 (C) 10, 20 (D) 10ㄩ20

1020 10ㄩ20 10, 20 10, 20

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<

else cout<

}

(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 。