[2016年9月计算机二级真题]2016年9月计算机二级C++备考练习题及答案(4)

副标题:2016年9月计算机二级C++备考练习题及答案(4)

时间:2023-02-22 21:01:01 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。


  1)有以下程序

  #include

  void main()

  { int a=5,b=0,c=0;

  if(a=b+c)cout << "***"<< ?$$$?<下列选项叙述正确的是<>

  A)有语法错不能通过编译

  B)可以通过编译但不能通过连接

  C)输出***

  D)输出$$$

  (2)已知各变量的定义如下

  int i=8,k,a,b;

  unsigned long w=5;

  double x=1.42,y=5.2;

  则以下符合C++语言语法的表达式是

  A)a+=a-=(b=4)*(a=3)

  B)a=a*3+2

  C)x%(-3)

  D)y=float i

  (3)以下程序中循环体总的执行次数是

  int i,j;

  for(i=6;i>1;i--)

  for(j=0;j{……}

  A)20

  B)261

  C)15

  D)25

  (4)对于下面的程序,说法正确的是

  #include

  void main()

  { int x=3,y=4,z=2;

  if(x=y+z)cout << "x=y+z";

  else cout << "x!=y+z";}

  A)不能通过编译

  B)输出6

  C)输出x!=y+z

  D)输出x=y+z

  (5)下列程序的输出结果是

  #include

  void main()

  { int a[3],i,j,k=2;

  for(i=0;i<3;i++)a[i]=i;

  for(i=0;ifor(j=0;ja[j]=a[i];

  cout << a[2];}

  A)2

  B)3

  C)1

  D)0

  参考答案:

  (1)D

  解析: 解答本题时,先判断if语句,因为a=b+c为零,则执行else语句。

  (2)A

  解析: 选项B)中a在运算前未赋初值,在C++语言里变量在运算前必须赋初值;选项C)中的模运算符"%"两侧均应为整型数据;选项D)应改为y=(float)i。

  (3)A

  解析: 本题中第1个for循环执行5次后结束,第2个for循环执行5次。第2个for循环中第1次执行了6次,第2次执行了5次,第3次执行了4次,第4次执行了3次,第5次执行了2次,共20次。

  (4)D

  解析: 解答本题关键是要理解if后面的括号里的是赋值语句而并非关系判断,赋完值后x不等于零,C++语言里非零都作真处理,所以输出结果为"x=y+z",故答案为选项D),注意"="与"=="的区别。

  (5)A

  解析: 本题里有三个for循环,但要分清楚,第一个是单独的给三个元素赋值,赋完值后三个a[0]=0,a[1]=1,a[2]=2;后面的两个for是嵌套循环,对数组元素的赋值,但由于k=2,初值已定for里的条件是小于k,所以不管怎么处理都影响不到a[2],故答案为2。

2016年9月计算机二级C++备考练习题及答案(4).doc

本文来源:https://www.wddqw.com/WhLx.html