跳转至

练习02-基本语法

练习02-基本语法

题量: 16 满分: 100
作答时间:04-24 09:20 至_06-26 23:55_

1.(单选题) C++语言中,表示一条语句结束的标号是( )。

  • A. #
  • B. ;
  • C. //
  • D. }

2.(单选题) 下列对引用的陈述中不正确的是( )。

  • A. 每一个引用都是其所引用对象的别名,因此必须初始化
  • B. 形式上针对引用的操作实际上作用于它所引用的对象
  • C. 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
  • D. 不需要单独为引用分配存储空间

3.(单选题) 下列关于运算符new的描述中,错误的是( )。

  • A. 它可以创建对象或变量
  • B. 用它创建对象或对象数组时要调用相应的构造函数
  • C. 它可以创建对象数组
  • D. 用它创建的对象可以不用delete运算符释放

4.(单选题) 假定k是一个double类型的变量,则关于变量p的正确定义语句为( )。

  • A. double p=&k;
  • B. int *p=&k;
  • C. double &p=*k;
  • D. char *p="Thank you!";

5.(单选题) 已知:int a(5),&ra=a;下列描述中,错误的是( )。

  • A. ra是变量a的引用,即为变量的别名
  • B. ra的值为5
  • C. ra的地址值为&a
  • D. 改变ra的值为10,变量a值仍为5

6.(单选题) 已知数组arr的定义如下,则下列语句中输出结果不是2的是( )。int arr[5] = {1,2,3,4,5};

  • A. cout << *arr+1 <<endl;
  • B. cout << *(arr+1)<<endl;
  • C. cout << arr[1] <<endl;
  • D. cout << *arr <<endl;

7.(单选题)

如下程序段输出字符*的个数是( )。

int i=1;  
while (1)  
    i++;  
    if(i == 10) break;  
    if(i%2 == 0) cout << '*';  
  
- A. 10
- B. 3
- C. 4
- D. 5

8.(单选题)

如下程序的输出结果是( )。

#include<iostream>  
using namespace std;  
void f1(int& x)  x++;   
void f2(int x)   ++x;   
int main()  
    int x=10,y=12;  
    f1(x);   f2(y);  
    cout<<x+y<<endl;  
  
- A. 22
- B. 23
- C. 24
- D. 25

9.(单选题) 如下程序段中会产生编译错误的语句是( )。

int i=0, j=1;  
int &r=i;    //①  
r=j;       //②  
int *P=&i;   //③  
*P=&r;      //④  
- A. ④
- B. ③
- C. ②
- D. ①

10.(单选题) 下列枚举类型的定义中,包含枚举值3的是( )。

  • A. enum test {RED, YELLOW, BLUE, BLACK};
  • B. enum test {RED, YELLOW=4, BLUE, BLACK};
  • C. enum test {RED=-1, YELLOW,BLUE, BLACK};
  • D. enum test {RED, YELLOW=6, BLUE, BLACK};

11.(单选题) 下列表达式的值为false的是( )。

  • A. 1<3&&5<7
  • B. !(2>4)
  • C. 3&0&&l
  • D. !(5<8)‖(2<8)

12.(单选题)

计算斐波那契数列第n项的函数定义如下:

int fib(int n)  
    if (n == 0) return 1;  
    else if (n == 1) return 2;  
    else return fib(n-1)+fib(n-2);  
  
若执行函数调用表达式fib(2),函数fib被调用的次数是( )。
- A. 1
- B. 2
- C. 3
- D. 4

13.(单选题) 要定义整型数组x,使之包括初值为0的三个元素,下列语句中错误的是( )。

  • A. int x[3]={0,0,0};
  • B. int x[]={0};
  • C. static int x[3]={0};
  • D. int x[]={0,0,0};

14.(单选题)

下面程序的运行结果为( )。

#include<iostream>  
using namespace std;  
void swap(int&a, int b)  
    int  temp;  
    temp=a++;    a=b;   b=temp;  
  
int main()  
    int a=2,b=3;  
    swap(a,b);  
    cout<<a<<","<<b<<endl;  
  
- A. 2,3
- B. 3,2
- C. 2,2
- D. 3,3

15.(单选题) 如下程序编译运行程序将出现的情况是( )。

#include<iostream>  
using namespace std;  
int main()  
    int *p;  
    *p=9;  
    cout<<"The value at p: "<< *p;  
    return 0;  
  
- A. 编译时出现语法错误,不能生成可执行文件
- B. 运行时一定输出:The value at p:9
- C. 运行时一定输出:llle value at p:*9
- D. 运行时有可能出错

16.(单选题)

下面程序的运行结果为( )。

#include<iostream>  
using namespace std;  
int main()  
    char a;  
    cin>>a;  //输入任意一个字符  
    if(a='*')  cout<<"***"<<endl;  
    else   cout<<"###"<<endl;  
  
- A.
- B. ###
- C.
###
- D. 无输出


练习02-基本语法答案

正确答案列表:

  1. B
  2. C
  3. D
  4. D
  5. D
  6. D
  7. C
  8. B
  9. A
  10. A
  11. C
  12. C
  13. B
  14. D
  15. D
  16. A