A)18 B)9 C)-18 D)-9
(8)对一维整形数组a的声明语句中正确的是()。
A)int a(10); B)int n=10,a[n];
C)int n; D)#define SIZE 10
cin>>n; int a[SIZE];
int a[n];
(9)执行下面的程序段后,变量k中的值为()。
int k=3,s[2];
s[0]=k; k=s[1]*10;
A)不定值B)33 C)30 D)40
(10)若二维数组a有m列,则在a[i][j]前的元素个数为()。
A)j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+1
(11)以下不能对二维数组a进行正确初始化的语句是()。
124
A)int a[2][3]={0}; B)int a[2][3]={{1,2},{3,4},{5,6}}
C)int a[][3]={{1,2}{0}}; D)int a[][3]={1,2,3,4,5,6};
(12)若有声明:int a[3][4]={0};则下面正确地说法是()。
A)只有元素a[0][0]可以得到初值0
B)此声明语句不正确
C)数组a中各元素都可以得到初值,但其值不一定为0
D)数组a中每个元素均可得到初值0
(13)阅读下面的数组定义,正确的说法是()。
char sa[]=“ abcdefg” ;
char sb[]={…a‟,‟b‟,‟c‟,‟d‟,‟e‟,‟f‟,‟g‟};
A)数组sa和数组sb等价B)数组sa和数组sb的长度相同
C)数组sa的长度大于数组sb的长度D)数组sa的长度小于数组sb的长度
二、综合计算题
(1)若int x=2,y=0; 则表达式(y = = x>>2)? x/++y : ++x 的运算结果是什么?
(2)若int x(0), y=1 ; 则经过语句y+=x+2, x+=++y, x+=y- -; 的运算, 则x, y的结果值各是什么?
(3)若int x=0, y=1; 则表达式(y = x<<2)? x/(++y +5): ++y 的运算结果是什么?
(4)若unsigned char x=016, y =0xf0; 则x^~y; 的值是什么?
(5)若unsigned char x=024, y =0xfa, z=48; 则表达式(x & ~y) ^ z 的值是什么?
(6)若char x=…1‟, y= …=‟ ; int z; z = x + = 3;
则cout<< x<<"的ASCII码"<< y << z <(7)若char x =…a‟, y= 0x20; int z; y = z = x – y ;
则cout<< y << " 的ASCII码为" << z <>1) * sizeof(x) 的值是什么?
(9)若声明int a= -1; double b(4) ; 则表达式(a<<2) * sizeof(b) 的值是什么?
三、编程题
(1)实现从键盘任意输入20个整数,统计非负整数的个数,并统计非负数之和。
(2)输入一行字符,统计其中的英文字符、数字字符、空格及其他字符的个数。
125