若有定义:int bb[ 8];。则以下表达式中不能代表数组元bb[1]的地址的是( )。
A. &bb[0]+1 B. &bb[1] C. &bb[0]++ D. bb+1 67.
假定int类型变量占用两个字节,其有定义:int
x[10]={0,2,4};,则数组x在内存中所占字节数是( )。 A. 3 B. 6 C. 10
68.
执行下面的程序段后,变量k中的值为( )。 int k=3, s[2]; s[0]=k; k=s[1]*10;
A. 不定值 B. 33 C. 30 D. 10 69.
以下程序的输出结果是( )
void main() {
int i, a[10];
for(i=9;i>=0;i--) a[i]=10-i; cout<
A. 258 B. 741 C. 852 70.
若说明:int a[2][3]; 则对a数组元素的正确引用是( ) 。
A. a(1,2) B. a[1,3] C. a[1>2][!1] D. a[2][0] 71.
若有定义:int b[3][4]={0};则下述正确的是( ) 。
A. 此定义语句不正确 B. 没有元素可得初值0 C. 数组b中各元素均为0
D. 数组b中各元素可得初值但值不一定为0 72.
若有以下数组定义,其中不正确的是( ) 。
A. int a[2][3];
B int b[][3]={0,1,2,3}; C. int c[100][100]={0};
D. int d[3][]={{1,2},{1,2,3},{1,2,3,4}}; 73.
若有以下的定义:int t[5][4];能正确引用t数组的表达式是( )A. t[2][4] B. t[5][0] C. t[0][0] D. t[0,0]
D. 20
D. 369 。
74.
在定义int m[ ][3]={1,2,3,4,5,6};后,m[1][0]的值是( )。
A. 4 B. 1 C. 2 D. 5 75.
在定义int n[5][6]后第10个元素是( )。
A. n[2][5] B. n[2][4] C. n[1][3] D. n[1][4] 76.
下述对C语言字符数组的描述中错误的是( )。
A. 字符数组可以存放字符串
B. 字符数组中的字符串可以整体输入、输出
C. 可以在赋值语句中通过赋值运算符\对字符数组整体赋值 (strcpy()) D. 字符数组可以像普通数组那样初始化 77.
下述对C++语言字符数组的描述中正确的是 ( )。 A.
任何一维数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占存储空间
B. 一维数组的元素在引用时其下标大小没有限制 C.
任何一个一维数组的元素,可以根据内存的情况按照其先后顺序以连续或非连续的方式占用存储空间
D. 一维数组的第一个元素是其下标为1的元素 78.
不能把字符串:Hello!赋给数组b的语句是( )。
A. char str[10]= {'H', 'e', 'l', 'l', 'o', '! '}; B. char str[10];str=\C. char str[10];strcpy(str,\D. char str[10]=\79.
合法的数组定义是( )。
A. int a[]=\ C. int s=\80.
以下程序运行后,输出结果是( )。 main() {
char arr[2][4];
strcpy(arr[0],\
B. int a[5]={0,1,2,3,4,5}; D. char a[]={0,1,2,3,4,5};
arr[0][3]='&';
cout<
}
A. you&me B. you C. me D. err 99.
若有说明:int a=2, *p=&a, *q=p;,则以下非法的赋值语句是( )。 A. p=q; B. *p=*q; C. a=*q; D. q=a; 100.
若定义:int a=511, *b=&a;,则cout<<*b;的输出结果为:( ) A. 无确定值 B. a的地址 C. 512 D. 511 101.
已有定义 int a=2, *p1=&a, *p2=&a; 下面不能正确执行的赋值语句是( )。 A. a=*p1+*p2; B. p1=a; C. p1=p2; D. a=*p1*(*p2); 102.
变量的指针,其含义是指该变量的( )。
A. 值 B. 地址 C. 名 D. 一个标志 103.
若已定义int a=5; 下面对(1)、(2)两个语句的正确解释是( )。 (1) int *p=&a; (2) *p=a;
A. 语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值。 B. (1)和(2)语句的执行结果,都是把变量a的地址值赋给指针变量p。 C. (1)在对p进行说明的同时进行初始化,使p指向a;
(2)变量a的值赋给指针变量p。
D. (1)在对p进行说明的同时进行初始化,使p指向a; (2)将变量a的值赋予*p。 104.
若有语句int *p, a=10; p=&a; 下面均代表地址的一组选项是( )。
A. a, p, *&a B. &*a, &a, *p C. *&p, *p, &a D. &a, &*p, p 105.
若需要建立如图所示的存储结构,且已有说明double
则正确的赋值语句是( )。
p
0.2345 x
*p,
x=0.2345;
A. p=x; B. p=&x; C. *p=x; D. *p=&x; 106.
有如下语句:int
m=6, n=9, *p, *q;
p=&m; q=&n;
如图1所示,若要实现下图所示的存储结构,可选用的赋值语句是( )。
p
q p
q m
n m n
A. *p=*q; B. p=*q; C. p=q; D. *p=q;
107.
下面判断正确的是( )。
A. char *s=\girl\; 等价于 char *s; *s=\girl\; B. char s[10]={\girl\}; 等价于 char s[10]; s[10]={\girl\}; C. char *s=\girl\; 等价于 char *s; s=\girl\; D. char s[4]= \boy\, t[4]= \boy\; 等价于 char s[4]=t[4]= \boy\ 108.
以下不能正确进行字符串赋初值的语句是( )。
A. char str[5]= \good!\; B. char *str=\good!\; C. char str[]=\good!\;
D. char str[5]={'g', 'o','o', 'd'};
109.
下面程序段的运行结果是( )。 char *s=\abcde\; s+=2; cout<< s;
A. cde B. 字符'c' C. 字符'c'的地址 D. 无确定的输出结果110.
设有如下的程序段:char s[]=\girl\, *t; t=s;则下列叙述正确的是( )。 A. s和t完全相同
B. 数组s中的内容和指针变量t中的内容相等 C. s数组和t指针指向的字符串没有关系 D. *t与s[0]相等 111.
若有说明语句:char
s[]=\it
is
a
example.\,
*t=\it
is
example.\;则以下不正确的叙述( )。
A. s表示的是第一个字符i的地址,s+1表示的是第二个字符t的地址 B. t指向另外的字符串时,字符串的长度不受限制
a
C. t变量中存放的地址值可以改变 D. s中只能存放16个字符 112.
若已定义char s[10];则在下面表达式中不表示s[1]地址的是( )。
A. s+1 B. s++ C. &s[0]+1 D. &s[1] 113.
下面程序段的运行结果是( )。(注:└┘代表空格) main() { char s[6];
s=\abcd\; cout<< s; }
A. \abcd\ B. \abcd└┘\ 113.
下列程序的输出结果是( )。
main() {
int a[]={1,2,3,4,5,6,7,8,9,0}, *p; p=a;
cout<<*p+9< A. 0 B. 1 114. 有以下程序: #include char *p=\cout< 程序运行后的输出结果是( )。 A. 12 B. 15 115. 有以下程序: int main() { C. \\\abcd\\\ C. 10 C. 6 D. 编译出错 D. 9 D. 5