c++大一模拟试题(带答案)

模拟试卷(A卷)

一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在括号内。每小题2分,共15小题,30分) 1. 下列字符串中不能作为C++标识符使用的是( )。 A、WHILE B、user C、_lvar D、9stars 2. C++语言规定:在一个源程序中,main函数的位置( )。 A、必须在程序的最开始 B、必须在系统调用的库函数的后面 C、可以任意 D、必须在程序的最后

3. 假定int类型变量占用两个字节,其有定义int x[10]={0,2,4};,则数组x在内存中所占字节数是( )。

A、3 B、6 C、10 D、20

4. 判断字符型变量ch是否为大写英文字母,应使用表达式( )。 A、ch>='A' & ch<='Z' B、ch<='A' ||ch>='Z' C、'A'<=ch<='Z' D、ch>='A' && ch<='Z'

5. 已知下列语句中的x和y都是int型变量,其中错误的语句( )。 A、x=y++; B、x=++y; C、(x+y)++; D、 ++x=y; 6. 有如下程序段: int i=1; while (1) { i++;

if(i == 10) break; if(i%2 == 0) cout << '*'; }

执行这个程序段输出字符*的个数是( )。 A、10 B、3 C、4 D、5 7.有如下程序 #include using namespace std; int func (int a, int b)

{

return (a+b); } int main () {

int x=2,y=5,z=8,r;

r=func(func(x,y), z); cout<

该程序的输出的结果是 ( )

A、12 B、13 C、14 D、15 8. 执行语句序列 int n; cin >> n; switch(n) { case 1:

case 2: cout << '1'; case 3:

case 4: cout << '2'; break; default: cout << '3'; }

时,若键盘输入1,则屏幕显示( )。 A、1 B、2 C、3 D、12

9.若二维数组a有m列,则在a[i][j]之前的元素个数为( )。 A、j*m+i B、i*m+j C、i*m+j-1 D、 i*m+j+1

10. 语句的int *p=&k定义于指针P,于这个语句等效的语句序列是( )。 A、int *p; p=&k; B、int*p; p=k; C、int*p; *p=&k; D、int*p;*p=k; 11. 已知:int m=10; 在下列定义引用的语句中,正确的是( )。 A、int &x=m; B、int y=&m; C、int &z; D、int &t=&m; 12、有如下程序段 int i =0, j=1; int&r=i ; // ①

r =j; //② int*p=&i ; //③ *p=&r ; //④

其中会产生编译错误的语句是( )。

A、④ B、③ C、② D、①

13. 在函数中,可以用auto, extem, register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是( )。 A、auto B、extem C、register D、static 14. 已知数组arr的定义如下:( )。

int arr[5] = {1,2,3,4,5}; 下列语句中输出结果不是2的是

A、cout << *arr+1 <

15. 在类声明中,紧跟在“public:”后声明的成员的访问权限是( )。 A、私有

B、公有

C、保护

D、默认

二、改错题( 每题有几处错误,在错误处画线,并写出正确语句。每找对1个错误,加1分,每修改正确1个错误,再加1分。共3小题,共16分) 1. #include using namespace std; const float pi = 3.1416; const float r = 3.2; int main() { float s1; r = 2.8; c1 = pi*r*r; s1 = 2*pi*r;

cout<

2. 下列程序功能是求x的y次方(缺省是x的2次方) #include using namespace std;

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4