青少年编程能力等级测评CPA C++一级试卷(1)

一、单项选择题(共20题,每题3.5分,共70分)

CP1_1_1.在C++中,下列变量名正确的是(  )。

A.$123

B._123

C.@123

D.#123

CP1_1_2.执行下列程序,输出的结果是(   )。

#include <iostream>

using namespace std;

int main(){

int a=8,b=10;

float c;

c=b/a;

cout<<c;

    return 0;

}

A.0.8

B.1

C.1.25

D.0.0

CP1_1_3.在C++中,下列常量不正确的是(  )。

A.’\\’

B.”abc”

C.100

D.e3

CP1_1_4.在C++中,语句cout<<"C"<<endl<<"P\nA"; 的输出结果是(  )。

A.CPA

B.CP

   A

C.C

   P

   A

D.C

   PA

CP1_1_5.执行下列程序,输出的结果是(  )。

#include <iostream>

#include <iomanip>

using namespace std;

int main()

{

    double e = 2.71828;

    cout<< fixed << setprecision(2) << e << endl;

    return 0;

}

A.2.71828

B.2.72

C.2.71

D.2

CP1_1_6.在C++中,表达式:8+5/2的值是(  )。

A.11

B.10.0

C.10

D.10.5

CP1_1_7.设int x = 1;,则计算表达式:3+x++后,x的值是(  )。

A.6

B.5

C.3

D.2

CP1_1_8.执行下列程序段,输出的结果是(  )。

float x=10;int y=4;

x+=x/y;

    cout<< x<<endl;

A.12.5

B.10

C.12

D.12.0

CP1_1_9.若用整型变量age表示年龄,下列能正确表示“年龄大于6岁,但小于18岁”的表达式是(  )。

A.6 < age < 18

B.6 < age and age < 18

C.6 < age && age < 18

D.6 < age || age < 18

CP1_10.阅读下列框图。设x,y为整型变量,若给x输入18,则y的输出结果是(  )。

青少年编程能力等级测评CPA C++一级试卷(1)-LMLPHP

A10

B.35

C.10.0

D.35.0

CP1_1_11.设给变量op输入:* ,则执行下列程序的输出结果是(  )。

#include <iostream>

using namespace std;

int main()

{

   char op; int a=4, b=4;

   cin >> op;

   switch (op)

   {

      case '+':

         cout <<a+b <<endl;

         break;

      case '-':

         cout <<a-b <<endl;  

        break;

      case '*':

         cout <<a*b <<endl;

         break;

      case '/':

         cout <<a/b <<endl;

         break;

    }

    return 0;

}

A.16

B.8

C.1

D.0

CP1_1_12.执行下列程序,循环体中:cout << n << endl; 语句最后一次输出的结果是(  )。

#include <iostream>

using namespace std;

int main()

{

    int n;

for( n=0; n < 20; n++ )

{

       cout << n << endl;

}

    return 0;

}

A.21

B.20

C.19

D.18

CP1_1_13.执行下列程序,输出的结果是(  )。

#include <iostream>

using namespace std;

int main()

{

int n=0,sum=0;

while(n < 10) {

    sum+=n;

n++;

}

cout<<sum;

return 0;

}

A.55

B.45

C.15

D.10

CP1_1_14.执行下列程序,若输入得数据为:10 2 7 -5 0 1,则输出的结果是(  )。

#include <iostream>

using namespace std;

int main()

{

int sum = 0,x;

for(int i = 0; i < 5; i ++)

{

cin>>x;

if(x<0)

  break;

sum =sum + x;

}

cout <<sum<<endl;

return 0;

}

A.19

B.15

C.14

D.20

CP1_1_15.下列程序的功能是输出10到50中的完全数。则在处应填入的语句是(  )。

说明:一个数的因子(除了这个数本身)之和等于该数本身,则称这个数为完全数。如6的因子是1、2、3,它的因子和1+2+3等于6,因此6是完全数。

#include <iostream>

using namespace std;  

int main()

{ int i,j,s;

  for (i=10 ;i<=50 ;i++)

  {  s=0;

     for (j=1;j<i;j++)

______①________

     if (i==s)

     cout <<s<<endl;

  }

  return 0;

}

A.if (i%j==0) s+=j;

B.if (i/j==0) s+=j;

C.if (i/j!=0) s+=j;

D.if (i%j!=0) s+=j;

CP1_1_16.下列将数组元素进行初始化的语句中,不正确的是(  )。

A.int a[ ]={1,2,3};

B.int a[3]={1,2};

C.int a[ ]={0};

D.int a[3]={1,1,1,1};

CP1_1_17.执行下列代码,若结果输出为:0,则在 处应填写的是(  )。

#include <iostream>

using namespace std;

int main()

{

  char str[6] = "CHINA";

int a;

a=str[ ];

cout << a;

  return 0;

}

A.0

B.1

C.5

D.6

CP1_1_18.设int x[4] = {-1,2,-3};,下列表达式值最小的是(  )。

A.x[1]*x[3]

B.x[1]*x[2]

C.x[0]*x[3]

D.x[0]*x[2]

CP1_1_19.下列字符数组初始化语句中,不正确的是(  )。

  1. char s1[5] = "Hello";
  2. char s1[6] = {"Hello"};
  3. char s1[] = "Hello";

D.char s1[] = {"Hello"};

CP1_1_20.执行下列程序,输出的结果是(  )。

#include <iostream>

using namespace std;

int main()

{

   char s1[10] = "Follow";

   char s2[] = "me";

   cout<<s1<<" "<<s2;

return 0;

}

A.Follow

B.me

C.Followme

D.Follow me

二、编程题(共2题,每题15分,共30分)

CP1_1_21.编写程序实现功能如下:

温度常用的计量单位有两种,即摄氏度(℃)和华氏度(°F)。它们之间有固定的转换关系,编写程序完成转换。

说明:

  1. 用“C” 表示摄氏度,用“F” 表示华氏度。转换公式为:

F=(C*1.8)+32   (摄氏度到华氏度)

C=(F-32)/1.8   (华氏度到摄氏度)

  1. 若给字符型变量输入字母“C”,则进行华氏度到摄氏度的转换,若给字符型变量输入字母“F”,则进行摄氏度到华氏度的转换,否则输出“NO”。
  2. 输入一个要转换的温度值,按相应公式转换,并输出结果。

样例1:

输入:C             //要进行华氏度到摄氏度的转换,注意是大写字母C 

      90            //表示华氏度为90°F

输出:32.2222      //转换的结果为32.2222℃

样例2:

输入:F            //要进行摄氏度到华氏度的转换,注意是大写字母F

      30           //表示摄氏度为30℃

输出:86           //转换的结果为86°F

样例3:

输入:A           //输入其他字符,则输出NO

      90

输出:NO

CP1_1_22.编写程序实现功能如下:

定义一个长度为30的整型数组,用于存储n位学生的学号(学号均为小于1000的正整数)。其中男生的学号为奇数,女生的学号为偶数,编程统计这个班级的男女生人数。如果学生的学号中有小于0或者大于对于1000的情况,则直接输出“NO”。

样例1:

输入:5                          //输入学生人数

102 230 33 461 50       //输入学生的学号

输出:2 3                        //输出统计的结果,用一个空格分隔

样例2:

输入:4

91 60 8001 110        //输入学生的学号有不正确的,直接输出NO

输出:NO

10-14 10:55