Advertisement

青少年编程能力等级测评试卷及答案 C++编程(一级)

阅读量:

(当年的我掉了这个坑,唉!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)

一、单项选择题(共20题,每题3.5分,共70分)

1 C++中,用来定义无符号整型变量的关键字是( )。

A:unsigned int

B:int

C:short int

D:signed int

答案:A

2 下列数据中,不合法的C++常量的是( )。

A. 0xa5

B. 2.5e-2

C. 300

D. 0582

答案:D

3 在C++中,下列标识符合法的是( )。

A:c+b

B:_tmp

C:52C++

D:J#P

答案:B

4 下列定义整型变量num并初始化为0的语句是( )。

A:int num;

B:int num(0);

C:char num=0;

D:char num=’0’;

答案:B

5 下列转义字符中表示回车换行符的是( )。

A:\n

B:\t

C:\b

D:\a

答案A

6 下列有关cin的叙述中,不正确的是( )。

A:使用cin输入多个数据并读入到变量时,数据之间使用空格分隔

B:使用cin获取用户输入,不加头文件"iostream.h"也可以

C:使用cin输入多个数据并读入到变量时,数据之间使用回车分隔

D:使用cin输入多个数据并读入到变量时,数据之间使用Tab键分隔

答案:B

7 若定义int a=066,则执行cout << a;语句后,输出的结果是( )。

A:66

B:54

C:78

D:102

答案:B

8 运行下列程序,输出结果是( )。

#include

#include

using namespace std;

int main()

{ float x=2/3.0;

cout << x <<' ';

cout << setiosflags(ios::fixed);

cout << setprecision(0) << x << ' ';

cout << setprecision(2) << x << '\n';

}

A:0.66 0 0.67

B:0.67 1 0.66

C:0 0.6 0.66

D:0.666667 1 0.67

答案:D

9 若定义int a;char b;double c;则表达式a*b-c的类型是( )。

A:float

B:int

C:char

D:double

答案:D

10 阅读如图所示的框图,若输入 ab 的值分别为20,5,则输出的 S 值为( )。

uploading.4e448015.gif

正在上传…重新上传取消

A:15

B:25

C:100

D:205

答案:B

11 下列有关分支结构的叙述中,正确的是( )。

A:if(x>y) ; 不是一个正确的C++语句

B:switch(x){……}语句中的x可以是浮点类型

C:switch语句中不一定要使用break语句

D:若有语句if(a) x++; 则表达式a 是不正确的

答案:C

12 运行下列程序,若输入:2↙,则输出结果是( )。

#include

using namespace std;

int main()

{ float x,y;

cin >> x;

if(x<0.0) y=0.0;

else if(x<10.0) y=1.0/x;

else y=1.0;

cout << y << endl;

return 0;

}

A:0.0

B:1.00

C:0.5

D:0.50

答案:C

13下列有关循环控制语句的叙述中,正确的是( )。

A:do-while 语句构成的循环不能用其他语句构成的循环来代替

B:do-while 语句构成的循环只能用break 语句退出

C:用do-while 语句构成的循环,在while 后的表达式为非零时结束循环

D:用do-while 语句构成的循环,在while 后的表达式为零时结束循环

答案:D

14 运行下列程序,输出结果是( )。

#include

using namespace std;

int main()

{ int i=1;

int s=1, a=0;

for(i=0;i<3;i++)

{

s+=i;

a++;

}

cout << s <<','<< i <<','<< a << endl;

return 0;

}

A:3,3,4

B:4,4,3

C:3,4,3

D:4,3,3

答案:D

15 下面程序的功能是输出10到100中的完全数。则在空白处应填入( )。

若一个自然數的所有正因數(除自身之外)相加之 和等於該自然數,则稱其為完美數。例如:數字6的正因數值為1、2、3;其因數總 和為1+2+3=6;由此可知6是一個完美數字

#include

using namespace std;

int main()

{ int i,j,s;

for (i=10 ;i<=100 ;i++)

{ s=0;

for (j=1;j<i;j++)


if (i==s)

cout <<s<<endl;

}

return 0;

}

A:if (i%j==0) s+=j;

B:if (i%j==0) s-=j;

C:if (i%j!=0) s-=j;

D:if (i%j!=0) s+=j;

答案:A

16 在定义数组时,对数组元素赋初值,下列不正确的是( )。

A:int a[5]={0,1,2,3,4};

B:int a[5]={0};

C:int a[5]={0,1,2,3,4,5};

D:int a[5]={0,1,2};

答案:C

17 运行下列程序,若输入:88 66 77 55 90↙,则输出结果是( )。

#include

#define N 5

using namespace std;

int main()

{ int a[N],m1,m2,i;

for(i=0; i<N; i++)

cin >> a[i];

m1=m2=a[0];

for (i=1; i<N; i++)

if (a[i]<m2) m2=a[i];

else if (a[i]>m1) m1=a[i];

cout << m1 <<','<< m2 <<endl;

return 0;

}

A:55,90

B:90,55

C:88,66

D:66,77

答案:B

18 若有定义:char a[ ]="ZHAO"; 则a[1]的值是( )。

A:Z

B:H

C:HAO

D:ZHAO

答案:B

若定义为char类型的数组str长度为20并赋值给定字符串'Hello!'的内容,则运行上述代码会输出strlen函数计算出的字符数量与str变量占用的空间大小是多少。

A:20,6

B:6,20

C:7,20

D:20,7

答案:B

20 运行下列程序,若输入:10↙,则输出结果是( )。

#include

using namespace std;

int main()

{ char k; int i;

for(i=1;i<3;i++)

{

cin >> k;

switch(k)

{

case '0': cout<<"ok"<<endl;

case '1': cout<<"book"<<endl;

}

}

}

A:ok

book

ok

B:book

book

ok

C:ok

book

D:book

ok

答案:A

二、编程题(共2题,每题15分,共30分)

21编写程序,输出以下图形。




要求用双重循环。

复制代码
 #include <iostream>

    
 using namespace std;
    
 int main()
    
 { int i,j;
    
 for (i=1; i<=4; i++)
    
 { for (j=1; j<=i; j++)
    
 cout << " ";
    
 for (j=1;j<=9-2*i;j++)
    
 cout << "*";
    
 cout << "\n";
    
 }
    
 return 0;
    
 }

全部评论 (0)

还没有任何评论哟~