备考计算机二级 C++ 程序设计考试,选择题是不容忽视的重要部分。
今天为大家带来 10 道选择题,聚焦数组与指针的核心考点,助力巩固基础。
1、若有数组定义为 “char a [2][4] ;”,则下列语句中,错误的是( )
A. cout<<!strcmp (a [0], a [1]);
B. strcpy (a [1], “C++”);
C. a [1][0]=‘C’;
D. a [1]=“C++”;
答案:D
分析:数组名是常量指针,不能直接赋值字符串,D 选项错误;A 选项用 strcmp 比较字符串,B 选项用 strcpy 复制字符串,C 选项直接修改字符均正确,故选 D。
2、有如下语句序列:int count=10, &ref=count; count+=100; cout<<ref; 执行后的输出结果是( )
A. 未知
B. 110
C. 10
D. 100
答案:B
分析:ref 是 count 的引用,两者指向同一变量。count 加 100 后为 110,ref 输出同样为 110,故选 B。
3、下列叙述中,错误的是( )
A. ‘\t’ 是一个字符型常量
B. 13.14 是一个浮点型常量
C. true 是一个逻辑型常量
D. 018 是一个整型常量
答案:D
分析:以 0 开头的是八进制数,八进制数字只能是 0-7,018 中的 8 非法,D 选项错误;A、B、C 均正确,故选 D。
4、执行语句 “for (int i=0, x=0;!x&&(i<=5);i++);” 时,for 循环的循环次数是( )
A. 1
B. 5
C. 无限
D. 6
答案:D
分析:循环条件!x&&(i<=5),x 初始为 0,!x 为真。i 从 0 到 5 共 6 次,当 i=6 时 i<=5 为假,循环结束,故选 D。
5、下列选项中,错误的 C++ 表达式是( )
A. x++=33
B. a+++1
C. ‘b’==65
D. int (x)
答案:A
分析:x++是右值,不能被赋值,A 选项错误;B 选项等价于(a++)+1,C 选项比较字符 ‘b’ 与 ASCII 码 65,D 选项是类型转换,均正确,故选 A。
6、有如下程序段:
int i=0;
while(1) {
i++;
if(i ==30) break;
if(i/20 ==0) cout <<'*';
}
执行这个程序段输出字符 ‘*’ 的个数是( )
A. 19
B. 29
C. 0
D. 9
答案:A
分析:i 从 1 到 29,i/20==0即 i<20,因此 i=1 到 19 时输出 ‘*’,共 19 个,故选 A。
7、下列数组定义中错误的是( )
A. char s [7]=“ABCDE”;
B. char s [6]=“ABCDE”;
C. char s [5]=“ABCDE”;
D. char s []=“ABCDE”;
答案:C
分析:“ABCDE” 含 5 个字符,加上结束符 ‘\0’ 共 6 个字节,数组长度 5 不足,C 选项错误;A、B、D 均正确,故选 C。
8、有如下程序段:
#include<iostream>
using namespace std;
int i=1;int j=4;
int main(){
int i=5;j+=i;
cout<<i<<j<<endl;
return 0;
}
运行时的输出结果是( )
A. 55
B. 14
C. 95
D. 59
答案:D
分析:全局变量 i=1,main 函数中局部变量 i=5 覆盖全局变量。j 初始为 4,加上局部 i=5 后为 9,输出 i=5 和 j=9,故选 D。
9、下列语句中能正确定义变量的是( )
A. const int x=0;
B. const int y==99;
C. const int *p NULL;
D. const int z:100;
答案:A
分析:B 选项用 == 错误,应为 =;C 选项缺少赋值符 =;D 选项用:错误,应为 =;A 选项正确定义常量,故选 A。
10、若有数组定义 “int a []={1,2,3,4}, *p=a;”,则下列表达式中,值不为 2 的是( )
A. *p+1
B. *(p+1)
C. p+1
D. a [1]
答案:C
分析:A 选项*p是 1,加 1 得 2;B 选项指向 a [1],值为 2;C 选项是指针地址,不是值;D 选项 a [1] 值为 2,故选 C。
希望这 10 道题能帮助大家对数组与指针知识点有更深入的理解和掌握。如果想要获取完整版 PDF(含二级更多题目题库)
计算机二级C++选择题:数组与指针考点

1382

被折叠的 条评论
为什么被折叠?



