C++考试题
一.选择题
1. c/c++规定,在一个源程序中,main()函数的位置————。。 A. 必须在最开始 B. 必须在最后
C.
D.
可以任意 必须在系统调用的库函数的后面
2. 以下————是c/c++合法的标识符。 A. char2 B. C. D.
@x Int 7Bw
3. 在Visual C++中,打开一个项目只需要打开对应的项目工作区文件即可,项目工作区文
件的扩展名为———— A..obj B. .dsp
C..dsw D..cpp
4.下面关于编译预处理的说法中,正确的是————。 A.一条文件包含命令能包含多个文件 B.文件包含命令不可以嵌套使用
C.编译预处理命令是在编译之前被处理的命令 D.编译预处理命令中的‚#‛可以省略 5.使用————可以设置数据输出的宽度。 A.setbase(int n)
B. setw(int n) C.setfill(int n)
D.setprecision(int n)
6.下列选项中可以作为C/C++的合法整型常量的是————。 A.1011B
B.047 C.x23
D.20H
7.下列不合法的常量是————。 A.2.7 B.1.0E+3
C.3.5E-3.0 D.3.4e-5
8.下列常量中不是字符型常量的是————。 A.’\\x44’ B.’\’
C.’\\\\’ D.”m” 9.下列选项中合法的变量名为————。
A.#define B.float
C.a12_3 D.sqrt(x)
10.下列不正确的变量定义方法是————。 A.int a,&b=a;
B.float a,*b=&a; C.int a(4),b(0); D.int a=b=5;
11.下列运算符优先级按由高到低的顺序排列正确的是____ A.*= ,&& ,!= ,% B.*= ,% ,&& ,!=
C.% ,!= ,&& ,*= D.&& ,!= ,% ,=
12.一直x,y喂整型,z为实型,ch为字符型,下列表达式中合法的是____。 A.z=(y+x)++ B.x+y=z
C.y=ch+x D.y=z%x
13.设整型变量m,n,a,b,c,d均为数值1,表达式(m=a>b)&&(n=c>d)运算后,m,n的值分别是____。 A.0,0
B.0,1 C.1,0 D.1,1
14.为了避免嵌套的if else 语句的二义性,C/C++语言规定else总是与____组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if
C. 在其之前未配对的最近的if D.同一行上的if
15.设有函数关系为y={-1,x<0;0,x=0;1,x>0},下面____选项不能正确表示上述关系的是。 A.if(x<=0) B.y=1; if(x<0) y=-1; if(x<=0)
else y=0; if(x<0) y=-1; else y=-1; C.y=-1;
if(x>=0) if(x!=0) if(x==0) y=0; if(x>0)y=1; else y=1; else y=0; 16.以下程序段中循环体语句‚k++;”执行的次数为____。 for(k=0,m=4;m_=2) for(n=1;n<4;n++)
k++;
A.16
else y=0;
D.y=-1;
B.12
C.6 D.8
17.下面语句中不是死循环的是____。
A.int i=100; B.int I,sum(0);
While(l) for(i=1;i++)sum++; { i=i%100+1; if(i==20) break; } C.int k=0; D.int s=3379;
Do{ while(s++%2+3%2)s++; ++k;
}while(k>=0);
18.下列数组定义语句中,正确的是____。 A.iint a[3,4];
B.int n=3,m=4,int a[n],[m]; C.int a[3][4]; D.int a(3)(4);
19.要使字符数组str中存放串‚Lucky‚并能正确处理,下列正确的定义语句是____。 A.char str[]={‘L’,’u’,’c’,’k’,’y’};
B.char str[5]={‘L’,’u’,’c’,’k’,’y’}; Cchar str[]=”Lucky”; D.char str[5]=Lucky‚;
20.要比较两个字符数组a,b中字符串是否相等,下面正确的是____。 A.a==b
B.strcmp(a,b)==0 C.strcpy(a,b) Strcmp(a,b)=0
21.已知如下变量的定义‚char s[10],*p;‛下列正确的语句是____。 A.s=”asdfghj”; B.p=”asdfgh”; Cin<D.p=s;cin<
22.下列叙述错误的是____。
A.主函数中定义的变量在整个程序中都是有效的 B.复合语句中定义的变量只在该复合语句中有效 C.其它函数中定义的变量在主函数中不能使用 D.形式参数是局部变量
23.若函数的形参为一维数组,则下列说法中错误的是____。 A.形参数组可以不指定大小
B.函数调用时对应的实参值能使数组名 C.函数调用时,系统会为形参数组分配存储单元 D.函数中对形参的修改将会影响对应的实参值
24.下面的函数定义正确的是____。 A. float f(float x;float y) {return x*y;) B. float f(x,y) {return x*y;)
C. float f(x,y)
{int x,y;return x*y;)
D. float f(int x,int y) {return x*y;) 25.下面4个程序中输出结果是125的有____。(1)#include\"iostream.h\" void cube(int x) {
}
void main() {
}
(2)#include\"iostream.h\" void cube(int &x) { }
void main() { }
(3)#include\"iostream.h\" void cube(int x) {
}
void main() {
}
(4) #include\"iostream.h\" int x=5; void cube() {
x=x*x*x;
int x=5;cube(x); cout< int x=cube(5); cout< void main() {cube();cout< B.2 C.3 D.4 二.填空题 1.C/C++程序是由一个或多个函数组成的,但必须要有一个(main)函数,程序从这个函数开始运行的。 2.C/C++字符集包括大,小写英文字母,(数字),(下划线)和包括运算符在内的特殊字符,程序中会出现字符集以外的字符就是一个语法错误。 3.在Visual C++中编写程序时,除了注释中可以出现汉字,还能在(字符串)中使用汉字。 4.文件包含命令是以(#include)开始的预处理命令,而宏定义命令是以(#define)开始的预处理命令。 5.在count命令中,使用(hex)格式控制符可以把一个数据以一个十六进制的形式输出。 6.在C/C++中,头文件的扩展名一般为(.h)。 7.程序的错误一般分两种:(语法错误)和(逻辑错误),前者是编译器可以发现的,而后者编译器则无法发现。 8.C++源程序的扩展名为(.cpp)。 9.在Visual C++中,浏览当前项目中的所有源文件应在工作区的(Fileview)选项卡。 三.程序填空题 1.下面的程序是检查输入的算术表达式中括号是否配对,并显示相应的结果。本程序边输入边统计,以输入‘?’作为表达式输入结束,然后显示结果。 #include\"iostream.h\" void main() { int count(0); char c; cout<<\"请输入表达式,以输入?表示结束\"< if(c=='(') count++; else if(c==')') cout__; } if(count==0) cout<<\"左右括号配对\"< cout<<\"左括号多于右括号\"<<\"个\"< 2.利用一维数组显示Fibonacci数列的前20项,每行显示5个数,每个数宽度5位。即:0,1,1,2,3,5,8,13,…,如图所示。 #include\"iostream.h\" #include\"iomanip.h\" void main() { int i; int x[20]={0,1}; for(i=2;i<20;i++) { } x[i]=x[i-2]+x[i-1]; for(i=0;i<20;i++) if(i%5==0)cout< void main() { char chl[40],ch2[40],*s1=chl,*s2=ch2; int r; } 5. 随机生成10个1~100之间的数放在一维数组中,求其平均值及最大的元素值。 #include\"iostream.h\" #include\"stdlib.h\" const int N=10; void fun(float *p,float *p1,float *p2) { float sum,max1; cin>>chl; cin>>ch2; while(*s1!='\\0'&&*s2!='\\0'&&*s1==*s2) { s1++;s2++; } if(*s1=='\\0'&&*s2=='\\0') r=0; else r=*s1-*s2; cout<<\"the result is\"< for(int i=1;i } *p1=sum/N; *p2=max1; void main() { float a[10],aver,max,x; for(int i=0;i<10;i++) { } x=rand()%100+1;a[i]=x;
Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务