二级测评试卷八

选择题


1、2024年10⽉8⽇,诺贝尔物理学奖“意外地”颁给了两位计算机科学家约翰·霍普菲尔德(John J. Hopfield)和杰弗⾥·⾟顿(Geoffrey E. Hinton)。这两位科学家的主要研究⽅向是(   )
          

          

          

          
2、计算机系统中存储的基本单位⽤B来表⽰,它代表的是(  ),⽐如某个照⽚⼤⼩为3MB。
          

          

          

          
3、C++语句cout << (3 + 3 % 3 * 2 - 1)执⾏后输出的值是( )。
          

          

          

          
4、 下⾯C++代码执⾏后其输出是( )。
for (int i=0; i<10; i++)
     printf("%d", i);

          

          

          

          
5、 下⾯C++代码的相关说法中,正确的是( )。
int tnt;
for (int i=0; i<10; i++)
        tnt += i;
 cout << tnt;

          

          

          

          
6、 下⾯C++代码执⾏后输出是( )。
 int i; 
 for (i=1; i<10; i++) 
     if (i % 2) 
         continue; 
     else 
         break; 
 cout << i;
          

          

          

          
7、 下⾯C++代码执⾏后的输出是( )。
for (i=0; i<10; i++){ 
     if (i % 3) 
         continue; 
     printf("0#"); 
 } 
 if(i>=10) 
     printf("1#");
          

          

          

          
8、 下⾯C++代码⽤于输出0-100之前(包含100)能被7整除但不能被3整除的数,横线处 填⼊的代码是( )
for (i=0; i<100; i++) 
     if(_____________) 
         cout << i << endl;
          

          

          

          
9、 下⾯C++代码⽤于求正整数各位数字之和,横线处 填⼊代码是( )。
 int tnt, N;
 printf("请输入正整数:");
 cin >> N;
 tnt = 0;
 while (N != 0){
     ________________
     N /= 10;
 }
 cout <<tnt;

          

          

          

          
10、 下图的C++程序执⾏后的输出是( )。
for (i=0; i<5; i++)
    for (j=0; j<i; j++)
         cout <<j;

          

          

          

          
11、 下⾯C++代码⽤于实现图⽰的九九乘法表。相关说法 的是( ) 。
/* 1*1=1 
 1*2=2 2*2=4 
 1*3=3 2*3=6 3*3=9 
 1*4=4 2*4=8 3*4=12 4*4=16 
 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 
 */ 
 for (int Hang=1; Hang<10; Hang++){ 
     for (int Lie=1; Lie<Hang+1; Lie++){
        if (Lie * Hang > 9) 
             printf("%d*%d=%d ", Lie, Hang, Lie*Hang); 
        else printf("%d*%d=%d ", Lie, Hang, Lie*Hang); // L2 
    } 
    printf("\n"); // L1
}

          

          

          

          
12、 在数学中N!表⽰N的阶乘,即1到N的乘积,如 3!=1*2*3 。下⾯的C++⽤于求1-N的阶乘之和,如N为3,则是 1!+2!+3! 。下⾯代码段补充选项后⽤于实现上述功能,其中不能 实现阶乘和的选项是( )。
int N; 
cin >> N; 
int tnt=0, nowNum = 1; //tnt保存求和之值,当前N的阶乘
for (int i=1; i < N + 1; i++){ 
    ______________ // 基于上一个计算出当前数的阶乘 
    ______________ // 从1到i每个数阶乘之和 }
cout << tnt;
          

          

          

          
13、 下⾯C++代码⽤于输出N和M之间(可以包括N和M)的孪⽣素数。孪⽣素数是指间隔为2的两个数均为素 数,如11和13分别是素数,且间隔为2。isPrime(N)⽤于判断N是否为素数的函数。为完成上述功能,横线处应填上的 代码是( )。
 int N, M; //本题假设N小于M 
cin >> N >> M; 
for (int i = N; i < __________; i++) 
    if (isPrime(i) && isPrime(i + 2)) 
        printf("%d %d\n", i, i + 2);
          

          

          

          
14、 下⾯C++代码实现输出如下图形,横线应填⼊的代码是( )。
/*
高度:5
 *
 ***
 *****
 *******
 *********
 */
int height;
cout << "高度: ";
 //获取用户输入的高度
cin >> height;
for (i=0; i<height; i++){
    //打印每行前面的空格
    for (j = 0; j < _______________; j++)
        cout << " ";
    //打印每行的星号
    for (k = 0; k < _______________; k++)
        cout << "*";
    //输出一行后,换行
    cout << endl;
 }

          

          

          

          
15、 下⾯C++代码执⾏后的输出是30,则横线处不能填⼊( )。
int a=10, b=20, c=30; 
cout << _____________________ << endl; 
cout << endl;
          

          

          

          

判断题


1、在Windows的资源管理器中为已有⽂件A建⽴副本的操作是Ctrl+C,然后Ctrl+V。( )
                    
2、在C++代码中,假设N为正整数,则 cout << (N - N / 10 * 10)将获得N的个位数。( )
                    
3、在C++语句 cout << (10 <= N <= 12) 中,假设N为12,则其输出为1。( )
                    
4、如果C++表达式 int(sqrt(N))*int(sqrt(N)) == N 的值为True,则说明N为完全平⽅数,如4、9、25 等。( )
                    
5、 下⾯C++代码执⾏后将输出2*3=6。 ( )
int a = 2, b = 3; 
printf("%%a*%%b=%d", a*b);
                    
6、 以下C++代码因为循环变量为将导致错误,即不能作为变量名称,不符合C++变量命名规范。( )
for (int _ = 0; _ < 10; _++) 
    continue; 
                    
7、 下⾯C++代码执⾏后因为有break,将输出0。( )
int i; 
for (i = 0; i < 10; i++){ 
    continue; 
    break; 

cout << i;
                    
8、 下⾯的C++代码执⾏后将输出18⾏“OK”。( )
int i, j; 
for (i = 8; i > 2; i-=2) 
    for (j =0; j < i; j++) 
        printf("OK\n");
                    
9、 将下⾯C++代码中的i = 1调整为i = 0的输出结果相同。( )
int i; 
int cnt = 0; 
for (i = 1; i < 5; i++) 
    if(i%2) cnt += 1; 
cout << cnt;
                    
10、下⾯两段C++代码都是⽤于求1-10的和,其运⾏结果相同。通常说来,for循环都可以⽤while循环实现。(    )
int tnt;
int i;
tnt = 0;
for (i = 1; i < 10 + 1; i++)
tnt += i;
cout << tnt << endl;




int tnt;
int i;
tnt = 0; i = 1;
while (i <= 10){
    tnt += i; 
    i += 1;
}
cout << tnt << endl;