您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页C++考试题

C++考试题

来源:飒榕旅游知识分享网


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=5;cube(x); cout<x=x*x*x;return(x);

int x=cube(5); cout<}

void main()

{cube();cout<x=x*x*x;

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<<\"请输入表达式,以输入?表示结束\"<>c,c!='?') {

if(c=='(') count++; else if(c==')')

cout__;

}

if(count==0)

cout<<\"左右括号配对\"<0)

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<cout<4. 下面程序按字母顺序比较两个字符串s1和s2的大小,若相等,则输出0;否则输出其第一个不相等的字符的ASII编码差值 #include\"iostream.h\"

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\"<sum=*p,max1=*p,p++;

for(int i=1;iP++;

}

*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;

for(i=0;i<10;i++)cout<cout<<\"平均值:\"<}

6. 函数conver的功能是将一个十进制证书转换为二~十六进制的字符串。 #include\"iostream.h\"

void conver(int m,int h,char ch[]) { char b[17]=\"01234567ABCDEF\";

int c[10],i=0,k=0; do

c[i++]=m%h;

while((m=m/h)!=0); for(--i;i>=0;--i) { }

ch[k++]=b[c[i]];

ch[k]='\\0';

}

void main() { }

char ch[10];int m,h; cin>>m>>h; convert(m,h,ch); cout<

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务