二级测评试卷六   

选择题

1、小杨父母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级,那他可以选择的认证语言有几种?( )

                                

2、 下面流程图在yr输入2024时,可以判定yr代表闰年,并输出 2月是29天 ,则图中菱形框中应该填入( )。

                                

3、在C++中,下列不可做变量的是( )。 

                                

4、在C++中,与 for(int i=0; i<10; i++) 效果相同的是( )。 

                                

5、在C++中, cout << (5 % 2 && 5 % 3) 的输出是( )。 

                                

6、 执行下面的C++代码时输入 1 ,则输出是( )。
int month; 
cin >> month; 
switch(month) { 
    case 1: 
        cout << "Jan "; 
    case 3: 
        cout << "Mar "; 
        break; 
    default: 
        ; 
}

                                

7、 执行下面C++代码后,有关说法错误的是( )。
int a, b; 
cin >> a >> b; 
if (a && b) 
    cout << "1"; 
else if (!(a || b)) 
    cout << "2"; 
else if (a || b) 
    cout << "3"; 
else 
    cout << "4"; 

                                

8、 某货币由5元,2元和1元组成。输入金额(假设为正整数),计算出最少数量。为实现其功能,横线处应填入代码是( )。
int N; 
cin >>N; 
int M5, M2, M1; 
M5 = N / 5; 
M2 = ______________; 
M1 = ______________; 
printf("5*%d+2*%d+1*%d", M5, M2, M1); 

                                

9、 下面C++代码执行后的输出是( )。
int loopCount = 0; 
for (int i=0; i < 10; i++) 
    for (int j=1; j < i; j++) 
        loopCount += 1; 
cout << loopCount;

                                

10、 下面C++代码执行后的输出是( )。
int loopCount = 0; 
for (int i=0; i < 10; i++) { 
    for (int j=0; j < i; j++) 
        if (i * j % 2) 
            break; 
    loopCount += 1; 

cout << loopCount;

                                

11、 假设下面C++代码执行过程中仅输入正负整数或0,有关说法错误的是( )。
int N, Sum = 0; 
cin >> N; 
while (N){ 
    Sum += N; 
    cin >> N; 

cout << Sum;

                                

12、 执行下面的C++代码,有关说法正确的是( )【质数是指仅能被1和它本身整除的正整数】。
int N; 
cin >> N; 
bool Flag = true; 
for ( int i = 2; i < N; i++){ 
    if (i * i > N) 
        break; 
    if (N % i == 0){ 
        Flag = false; 
        break; 
    } 

if (Flag) 
    cout << N << "是质数" << endl; 
else 
    cout << N << "不是质数" << endl;

                                

13、 下面C++代码用于实现如下图所示的效果,其有关说法正确的是( )
1
2    4
3    6    9
4    8    12    16
5    10    15    20    25
for (int i = 1; i < 6; i++){  // L1 
    for (int j = 1; j < i+1; j++)  //L2 
        cout << i*j << " "; 
    cout << endl; 
}

                                

14、 下面C++代码执行后,输出是( )。
int cnt1 = 0, cnt2 = 0; 
for (int i = 0; i < 10; i++){ 
    if (i % 2 == 0) 
        continue; 
    if (i % 2) 
        cnt1 += 1; 
    else if (i % 3 == 0) 
        cnt2 += 1; 

cout << cnt1 << " " << cnt2;

                                

15、 在下面的C++代码中,N必须是小于10大于1的整数,M为正整数(大于0)。如果M被N整除则M为幸运数,如果M中含有N且能被N整除,则为超级幸运数,否则不是幸运数。程序用于判断M是否为幸运数或超级幸运数或非幸运数。阅读下面代码,有关说法正确的是( )。 
int N, M; 
cout << "请输入幸运数字:"; 
cin >> N; 
cout << "请输入正整数:"; 
cin >> M; 
bool Lucky; 
if (M % N == 0) 
    Lucky = true; 
else 
    Lucky = false; 
while (M){ 
    if (M % 10 == N && Lucky){ 
        printf("%d是%d的超级幸运数!", M, N); 
        break; 
    } 
    M /= 10; 

if (M == 0) 
    if (Lucky) 
        printf("%d是%d的幸运数!", M, N); 
    else 
        printf("%d非%d的幸运数!", M, N);

                                

判断题

1、执行C++代码 cout << '9'+'1'; 的输出为10。( ) 

                

2、C++表达式 -12 % 10 的值为2。( )

                

3、C++表达式 int(12.56) 的值为13。( ) 

                

4、C++的整型变量N被赋值为10,则语句 cout << N / 3 << "-" << N % 3 执行后输出是3-1。 ( )

                

5、在C++代码中,不可以将变量命名为scanf,因为scanf是C++语言的关键字。( )

                

6、 下面C++代码执行后将导致死循环。( )
for (int i = 0; i < 10; i++) 
    continue; 

                

7、 下面C++代码执行后将输出10。( )
int cnt = 0; 
for (int i = 0; i < 10; i++) 
    for (int j = 0; j < i; j++){ 
        cnt += 1; 
        break; 

cout << cnt;

                

8、 下面C++代码执行后,将输出5。( )
int cnt = 0; 
for (int i = 1; i < 5; i++) 
    for (int j = i; j < 5; j +=i) 
        if (i * j % 2 == 0) 
            cnt += 1; 
cout << cnt;

                

9、 下面C++代码能实现正整数各位数字之和。( )
int N, Sum = 0; 
cin >> N; 
while (N){ 
    Sum += N % 10; 
    N /= 10; 

cout << Sum;

                

10、全国青少年信息学奥林匹克竞赛只使用C++作为编程语言。( )