信息素养大赛模拟题三

选择题


1、已知两个整数a, b, 下列哪种方法不能计算出a, b的最大公约数(   )
          

          

          

          
2、下面C++数组的定义中,会丢失数据的是( )。
          

          

          

          
3、32位计算机中,C++的整型变量int能够表示的数据范围是( )
          

          

          

          
4、 C++的数据类型转换让人很难琢磨透,下列代码输出的值是( )
int a=3;
int b=2;
cout<<a/b*1.0<<endl;

          

          

          

          
5、下列说法错误的是?( )
          

          

          

          
6、下面C++代码执行后的输出是?()
int n, i, result;
n = 81;
i = 1, result = 1;
while (i * i <= n){
    if (n % (i * i) == 0)
        result = i * i;
    i += 1;
}
cout << result;
          

          

          

          
7、整数-5的16位补码表示是( )
          

          

          

          
8、执行下面C++代码后输出的第一个数是( )。
int main(){ 
    int a[20], i; 
    for(i = 0; i < 20; i++) 
        a[i] = i+1; 
    for( ; i > 0; i--) 
        cout << a[i-1] << " "; 
    cout << endl; 
    return 0; 

          

          

          

          
9、定义字符数组 char str[20] = {'G', 'E', 'S', 'P'}; ,则 str 的字符串长度为( )。
          

          

          

          
10、定义整型变量 int a=3, b=16 ,则 a|b 的值和 a+b 的关系是( )。
          

          

          

          
11、二进制数 11 1011 1001 0111 和 01 0110 1110 1011 进行逻辑与运算的结果是( )。
          

          

          

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

          

          

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

          

          

          
14、 下面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; 
}
          

          

          

          
15、 下面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;
          

          

          

          

判断题


1、C++表达式 -12 % 10 的值为2。( )
                    
2、在C++语言中,字符数组被定义时,它的大小可以调整。( )
                    
3、任何一个 for 循环都可以转化为等价的 while 循环( )。
                    
4、在C++语言中, (010<<1) 执行结果是 100 。( )
                    
5、如果变量a的值使得C++表达式sqrt(a)==abs(a),则a的值为0。( )
                    

编程题