资源描述
C++测试题(1――5章)
一、 选择题(每小题1分,计10分)
1、 下列变量中,合法的是( )
A、CHINA B、byte-size C、double D、A+a
2、在int b[4][3]={{1},{3,2},{4,5,6},{0}}中,数组元素b[2] [2] 的值是( )
A、0 B、2 C、5 D、6
3、下列各运算符中,优先级最高的是( )
A、+ B、*(乘法) C、<= D、*=
4、下列是语句的是( )
A、; B、a=18 C、x+y D、cout<<”\n”
5、下列do…,while语句的循环次数是( )
int i=5;
do{cout<<i--<<endl;
i--;
}while(i!=0);
A、0 B、1 C、5 D、无限
6、当一个函数无返回值时,定义它时函数的类型应是( )
A、void B、任意类型 C、int D、无
7、在一个函数中,要求通过函数来实现一种不太复杂地功能,并且要求加快执行速度,选用( )
A、内联函数 B、重载函数 C、递归调用 D、嵌套调用
8、采用函数重载的目的在于( )
A、实现共享 B、减少空间 C、提高速度 D、使用方便,提高可读性
9、预处理命令在程序中都是以( )开头
A、* B、# C、: D、/
10、cout<<”\\”; 和cout<<’\\’;输出的结果是( )
A、\和\\ B、\\和\ C、\\和\\ D、\和\
二、填空题(每空格1分,计20分)
1、 写出下列表达式的值
表达式 2<3 && 6<9 值:
表达式 !(4<7) 值:
表达式 !(3>5) || 6<2 值:
表达式 2<3 ? 2 : 3 值:
表达式 a =2, 2<3 值:
2、 a=1,写出下列表达式的值
表达式 ! a | a 值:
表达式 a ^ a 值:
表达式 a>>2 值:
3、在下面的枚举类型中,BLUE的值是多少________?a变量的值是多少______?
enum COLOR{WHITE=1, BLACK, RED, BLUE,GREEN};
enum COLOR a = RED;
4、表达式x=5+7的值是多少________?表达式201/4的值是多少________?表达式201%4的值是多少________?表达式201/4.0的值是多少________?表达式float(201)/4的值是多少________?
5、执行完下列语句后,a的值为________?b的值为________?c的值为________?
a = 30; b = a++; c = ++a;
6、在int a[5]={1,3,5}中,数组元素a[1] 的值是________?a[4]的值是________?
三、程序改错,指出错误(1分,每段程序一处错),并写出正确语句(1分)(每小题2分,计10分)
1、#include <iostream.h>
void main()
{
int i=10,j=20;
cout<<”i+j=<<i+j;
}
2、
void main()
{
cout<<”this a string”;
}
3、#include <iostream.h>
void main()
{
cin>>x;
int p = x*x;
cout<<”p=”<<p<<”\n”;
}
4、
#include <iostream.h>
void main()
{
const float PI = 3.14159;
int r = 10, s;
s = PI * r*r;
PI = 3.14;
s = PI * r*r;
cout<<s;
}
5、
#include <iostream.h>
void fun( )
void main()
{
fun ();
}
void fun()
{cout<<”**********”;}
四、简答题(第5小题5分,其他小题每题3分,计32分)
1、 简述从源程序到程序运行中间的各个处理步骤。
2、 写出运行以下程序后输出的信息
#include <iostream.h>
void main()
{
char r = ‘k’;
int i=9;
float f=17.5;
cout << “r=”<<r<< endl;
cout << “i=”<<i<<”:”;
cout << “f=”<<f<<endl;
}
3、 写出运行以下程序后输出的信息
#include <iostream.h>
void main()
{
int i=3; int j=5;
for(int a = 0; a <i; a++)
{
for(int b = 0; b<j; b++)
cout<<’*’;
cout<<endl;
}
}
4、 写出运行以下程序后输出的信息
#include <iostream.h>
void main()
{
for(int a = 1; a <=8; a++)
{
if(a= =3)
break;
cout<<a<<’ ’;
}
cout<<endl;
for(int b = 1; b <=8; b++)
{
if(b= =3)
continue;
cout<<b<<’ ’;
}
cout<<endl;
}
5、写出运行以下程序后输出的信息
#include <iostream.h>
void func();
int n =1;
void main()
{
static int x = 5;
int y = n;
cout<<”Main—x=”<<x<<”,y=”<<y<<”,n=”<<n<<endl;
func();
cout<<”Main—x=”<<x<<”,y=”<<y<<”,n=”<<n<<endl;
func();
}
void func()
{
static int x = 4;
int y = 10;
x+= 2;
n+= 10;
y+= n;
cout<<”Func—x=”<<x<<”,y=”<<y<<”,n=”<<n<<endl;
}
6、写出运行以下程序后输出的信息
#include <iostream.h>
long func(int a, int b=0);
void main()
{
int x=2, y = 3;
cout<<func(x,y)<<endl;
cout<<func(x)<<endl;
}
long func(int a, int b)
{
return a*a + b*b;
}
7、执行下列语句后,n的值是 ,.m的值是 。
int n, m;
for(n=0, m=0; n<5; n++, m++)
{
cout<<”*”;
}
8、执行下列语句后x的值是 ,y的值是 。
int x =8, y =0;
if(x=3)
y = 2*x;
else
y = x/2;
9、写出运行以下程序后输出的信息
#include <iostream.h>
long fac(int n);
void main()
{
long s;
s = fac(4);
cout<<s<<endl;;
}
long fac(int n)
{
if(n<=1)
return 1;
return n*fac(n-1);
}
五、编程题(每小题7分,计28)
1、 编写一个完整的程序,运行时向用户提问“你考试考了多少分?(0――100)”,接收输入后判断其等级,显示出来,例如输出“你的成绩为优”。规则如下:
等级=优 90<=分数<=100
等级=良 80<=分数<90
等级=中 60<=分数<80
等级=差 0<=分数<60
2、 在程序中定义一个整型变量,赋以1――100的值,要求用户猜这个数,比较两个数的大小,把结果(“你猜的值小了!”,“你猜的值大了!”, “恭喜你,猜对了!”)提示给用户,直到猜对为止。
3、 编写函数,参数为两个unsigned short int型数,返回值为第一个参数除以第二个参数的结果,如果第二个参数为0,则返回值为-1。在主程序中实现输入输出(函数声明和主程序都不用写,只需写出函数定义)。
4、编写程序,输入一个整型数组,将数组从小到大排序,输出排序后的数组。
展开阅读全文