VC复习题.docx

上传人:b****4 文档编号:27192858 上传时间:2023-06-28 格式:DOCX 页数:36 大小:27.39KB
下载 相关 举报
VC复习题.docx_第1页
第1页 / 共36页
VC复习题.docx_第2页
第2页 / 共36页
VC复习题.docx_第3页
第3页 / 共36页
VC复习题.docx_第4页
第4页 / 共36页
VC复习题.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

VC复习题.docx

《VC复习题.docx》由会员分享,可在线阅读,更多相关《VC复习题.docx(36页珍藏版)》请在冰豆网上搜索。

VC复习题.docx

VC复习题

VC复习题

1、单项选择题

1、设charch;以下正确的赋值语句是___B_ch='\xff';____

2、设有说明“intx=10,y=4,f;floatm;”,执行表达式“f=m=x/y”后,则f、m的值分别为(22.0)

3、对于一个功能不太复杂,并且要求加快执行速度,选用__A_内联函数___合适。

4、以下函数调用语句中实参的个数是___3_____。

excc((v1,v2),(v3,v4,v5),v6);()

5、设有语句“voidf(inta[10],int&x);inty[10],*py=y,n;”,则对函数f的正确调用语句是_f(py,n);____。

6、在C++语言中,080是__D__非法数________。

7、在C++语言程序中,有关函数的定义正确的是______B_函数的定义不可以嵌套,但函数的调用可以嵌套_____。

8、下列语句段中不是死循环的是________.(A)

A、inti=100;

while

(1)

{i=i%100+1;

if(i=20)break;

}

B、inti,sum=0;

for(i=1;;i++)

sum=sum+1;

C、intk=0;

do

{++k;

}while(k>=0);

D、ints=3379;

while(s++%2)s++;

9、下列关于条件语句的描述中,__C、if语句中if体内不能是switch语句

______是错误的.

10、以下函数声明中,存在着语法错误的是_D、void*DD(x,y)______。

()

11、C++语言中while和do-while循环的主要区别是____A、do-while的循环体至少无条件执行一次____.()

12、设有三个语句“ints=100;intss[s];cin>>ss;”,则编译认为C、第一个语句正确,后两个语句错()

13、若有说明:

inta[3][4]={0};则下面正确的叙述是____D、数组a中每个元素均可得到初值0

14、下面程序的运行结果是____A___

#include

voidmain()

{

inti=0;

while(++i)

{

if(i==10)break;

if(i%3!

=1)continue;

cout<

}

}()

A、147

15、sizeof(double)是一个__A、整型______表达式。

()

16、已知一函数的原型是:

intf(int,int=0,double=0.0);则下列函数中不可以加以重载的是____C、f(int,int,double);______。

()

17、若定义:

floatx;inta,b;则正确的switch语句是________。

(D)

A、switch(x)

{case1.0:

cout<<"*\n";

case2.0:

cout<<"**\n";

}

B、switch(x)

{case1.2:

cout<<"*\n";

case3:

cout<<"**\n";

}

C、switch(a+b)

{case1:

cout<<"*\n";

case1,2:

cout<<"**\n";

}

D、switch(a+b)

{case1:

cout<<"*\n";

case2:

cout<<"**\n";

}

18、下列关于开关语句的描述中,____A、开关语句中default子句可以没有,也可以有一个

___是正确的.()

19、下面程序的运行结果是____C____

voidmain()

{inta[6],I;

for(I=1;I<6;I++)

{

a[I]=9*(I-2+I*(I>3))%5;

cout<

}

}

C、-40442

20、判断字符串s1是否大于字符串s2,应当使用___D、if(strcmp(s1,s2)>0)

21、下列数据类型不是C++语言基本数据类型的是_______D、数组

22、设有定义inta=5,b;执行下列代码后,b的值不为2的是____C、b=a%2

23、以下程序输出的结果是a=_______,b=______A、28

_

#include

voidmain(void)

{for(inta=1,b=1;a<=5;a++)

{if(b>=8)break;

if(b%2==1){b+=7;continue;}

b-=3;

}

cout<<"a="<

}()

A、28

24、下面程序段的运行结果是_______A、4

#include

voidmain()

{

intI,j,a=0;

for(I=0;I<2;I++)

{

for(j=0;j<4;j++)

{

if(j%2)break;

a++;

}

a++;

}

cout<

}()

A、4

25、已知一函数中有下列变量定义,其中属于静态变量的是____B、staticdoubleb;

26、控制格式I/O的操作中,__D、setw()

______是设置域宽的。

()

27、在C++语言,一维数组的定义方式为:

<类型说明符>数组名____D、[整型常量]

28、若有以下变量和函数说明:

#include

charch='*';

voidsub(intx,inty,charch,double*z)

{switch(ch)

{case'+':

*z=x+y;break;

case'-':

*z=x-y;break;

case'*':

*z=x*y;break;

case'/':

*z=x/y;break;

}

}

以下合法的函数调用语句是____B、sub(1.2+3,2*2,'+',&z);

29、采用函数重载的目的在于____D、使用方便,提高可读性____。

()

30、下面程序段___D、最多允许输出100个非负整数

for(t=1;t<=100;t++)

{cin>>x;

if(x<0)continue;

cout<

31、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为___A、main

32、在C++语言中,引用数组元素时,其数组下标的数据类型允许的是____C、整型常量或整型表达式

33、设有两个语句“intx['a'];cin>>x;”,则编译器认为_____C、语句“cin>>x;”错

34、下列程序的运行结果是___B、35ok!

include

voidmain()

{

inti=1;

do{

i++;

cout<<++i;

if(i==7)break;

}while(i==3);

cout<<”ok!

”;

}

B、35ok!

35、下列字符列中,可作为C++语言程序自定义标识符是____B、For

36、设有宏定义和语句如下:

#defineM(a,b)a*b;//E

intx=M(3+,5+6),y;//F

y=M(3,4);//G则(D、 编译时,F行和G行有语法错

37、intx=0,s=0;

while(!

x!

=0)s+=++x;

cout<

则___________。

(B、运行程序段后输出1

38、在C++中,关于下列设置参数默认值的描述中,正确的是____C、设置参数默认值时,应该是先设置右边的再设置左边的

39、下面程序段是输出两个字符串中对应相等的字符,请完善程序

charx[]="program";chary[]="Fortran";

intI=0;

while(x[I]!

='\0'&&y[I]!

='\0')

if(x[I]==y[I])cout<<________;

elseI++;(A、x[I++])

40、以下程序的输出结果是________。

#include

voidmain()

{inti;

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

{if(i%3==0)continue;

cout<

}

}

B、457810

41、预处理命令在程序中都是以_______开头的。

(B、#

42、若有下面的变量定义,以下语句中合法的是()。

inti,a[10],*p;(A、p=a+2;

43、执行下列程序,输入为1的输出结果是_________。

#include

main()

{intk;

cin>>k;

switch(k)

{case1:

cout<

case2:

cout<

case3:

cout<

case4:

cout<

default:

cout<<"Full!

"<

}

}

A、1

44、已知一函数的形参说明为intarr[5][6],在下列说明中,与此等效的形参说明为__________。

(D、int(*a)[6]

45、关于函数返回值的的描述正确的是_______________。

(C、当函数类型与返回值表达式类型不同,将对返回值表达式的值进行类型转换)

46、文件包含命令中被包含的文件扩展名_______。

(D、不一定是.h)

47、已知函数f的原型是:

intf(chara,char*b=NULL,doublec=0.0);则下列调用中,不能正确地调用f函数的是__________。

(B、f('A',4.5))

48、设有说明语句“char*s[]={"Student","Teacher","Father","Mother"},*ps=s[2];”,执行语句“cout<<*s[1]<<','<

(A、T,Father,F)

49、若对两个数组a和b进行初始化

chara[]="ABCDEF";

charb[]={'A','B','C','D','E','F'};

则下列叙述正确的是。

(D、数组a比数组b长度长)

50、假定a为一个整型数组名,能引用元素a[5]的值是()(B、*(a+5))

2、单项选择题

1、结束while(表达式)循环的条件是()(A)

A、当表达式的值为0时

2、下面是对字符数组s的初始化,其中不正确的是________(D)

D、chars[5]=”abcdef”;

3、C++中,关于参数默认值的描述正确的是_______________。

(B)

B、设置参数默认值时,应当从右向左设置

4、已知函数f的原型为:

voidf(int&a,char*b);变量s,t的定义是:

ints;chart[]="ABCD";把s和t分别作为第一参数和第二参数来调用函数f,正确的调用语句是:

__________。

(C)

C、f(s,t);

5、以下程序的输出结果是________A____。

#include

sub1(chara,charb){charc;c=a;a=b;b=c;}

sub2(char*a,charb){charc;c=*a;*a=b;b=c;}

sub3(char*a,char*b){charc;c=*a;*a=*b;*b=c;}

voidmain()

{

chara,b;

a='A';b='B';sub3(&a,&b);cout<

a='A';b='B';sub2(&a,b);cout<

a='A';b='B';sub1(a,b);cout<

}()

A、BABBAB

6、下面的程序输出的结果是_____B_____。

#include

voidLE(int&a,intb)

{

intx=a;

a=b;

b=x;

cout<

}

voidmain()

{

intx=10,y=25;

LE(x,y);cout<

}()

B、2510

2525

7、对数组名作函数的参数,下面描述正确的是________B_______。

()

B、数组名作函数的参数,主调函数和被调函数共用一段存储单元。

8、下述关于循环体的描述中,_____C__是错误的.()

C、循环体中不能出现goto语句

9、设有说明“intx=10,y=4,f;floatm;”,执行表达式“f=m=x/y”后,则f、m的值分别为(D)

D、2、2.0

10、为了避免嵌套的if-else语句的二义性,C++语言规定else总是与___C___组成配对关系。

C、在其之前未配对的最近的if

11、下列有关编译预处理命令的说明中,正确的是______A____。

()

A、以“#”开头的行,可出现的函数定义内或函数定义外

12、下列程序的运行结果是____B______.

include

voidmain()

{

inti=1;

do{

i++;

cout<<++i;

if(i==7)break;

}while(i==3);

cout<<”ok!

”;

}()

B、35ok!

13、下面程序的运行结果是____B____

#inlcude

voidmain()

{chara[]="morning",t;intI,j=0;

for(I=1;I<7;I++)

if(a[j]

j=I;

t=a[j];a[j]=a[7];a[7]=a[j];cout<

}()

B、mo

14、设有宏定义和语句如下:

#defineM(a,b)a*b;//E

intx=M(3+,5+6),y;//F

y=M(3,4);//G则(D)

D、 编译时,F行和G行有语法错

15、如果一个函数无返回值,定义它时函数类型应是________C_______。

()

C、void

16、下面对变量的说明错误的是(A)。

()

A、charc1,intx;

17、若有说明:

inta[3][4]={0};则下面正确的叙述是___D_____()

D、数组a中每个元素均可得到初值0

18、设有代码“inta=5;”,则执行了语句“a+=a-=a*a;”后,变量a的值是___C_________。

C、-40

19、与以下程序段等价的是____A____。

while(a)

{if(b)continue;

c;

}()

A、while(a)

{if(!

b)c;}

20、设有说明语句:

chars[]="ab\0\123\\\n79";

strlen(s)的值是_______A____。

()

A、2

21、下列关于开关语句的描述中,_____A__是正确的.()

A、开关语句中default子句可以没有,也可以有一个

22、下面程序段的运行结果是_______B____。

#include

main()

{

inti,j,x=0;

for(I=0;I<2;I++)

{

x++;

for(j=0;j<=3;j++)

{

if(j%2)continue;

x++;

}

x++;

}

cout<<“x=”<

}()

B、x=8

23、在循环语句的循环体中使用break语句的作用是______B__。

()

B、结束该层的循环

24、已知函数f的定义是:

intf(intn){n*=2;returnn+1;}则执行

intm=5,n=3;

m=f(n);

后,变量m的值和n的值分别是______C___。

()

C、73

25、以下程序的输出结果是_____A___。

#include

voidmain()

{

intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

}

cout<

}()

A、2,1

26、有关函数重载的正确说法是_________B___。

()

B、函数名相同,但参数的个数不同或参数的类型不同

27、设有宏定义“#definef(x)(-x)*2”,执行语句”cout<

B、2

28、采用函数重载的目的在于__D______。

()

D、使用方便,提高可读性

29、下面程序段的运行结果是_____A______。

#include

voidmain()

{intI;

for(I=1;I<=5;I++)

{if(I%2)cout<<“*”;

elsecontinue;

cout<<“#”;}

cout<<“$\n”;}()

A、*#*#*#$

30、对以下说明语句的正确理解是________B

inta[10]={6,7,8,9,10};()

B、将5个初值依次与给a[0]至a[4]

31、intx=-1;

do

{x=x*x;}

while(!

x);

下列说法正确的是_________C__。

()

C、循环执行一次

32、C++关系表达式中的关系成立时,则该关系表达式的值为___C___。

()

C、1

33、在函数的返回值类型与返回值表达式的类型的描述中,错误的是__B______。

()

B、函数返回值的类型就是返回值表达式的类型

34、以下关于break语句的描述,正确的是(C)。

()

C、在循环语句中可以根据需要使用break语句。

35、在一个被调用函数中,关于return语句使用的描述,错误的是__D______。

()

D、被调用函数中,一个return语句可返回多个值给调用函数

36、设有函数定义“intf1(void){return200,100;}”,设调用函数f1()时,_____A___。

()

A、函数返回值100

37、sizeof(double)是一个___A_____表达式。

()

A、整型

38、设有语句“voidf(inta[10],int&x);inty[10],*py=y,n;”,则对函数f的正确调用语句是__B___。

()

B、f(py,n);

39、执行下列程序,输入为1的输出结果是____A_____。

#include

main()

{intk;

cin>>k;

switch(k)

{case1:

cout<

case2:

cout<

case3:

cout<

case4:

cout<

default:

cout<<"Full!

"<

}

}()

A、1

40、下列给字符数组进行初始化中,_____A___是正确的。

()

A、chars1[]="abed";

41、在参数传递过程中,对形参和实参的要求是_________B______。

()

B、实参可以是常量、变量或表达式。

42、实型变量x的取值范围为闭区间[–2,10]或开区间(15,34),则正确表示x取值范围的逻辑表达式是_____B()

B、(–2<=x&&x<=10)||(15

43、下列关于条件语句的描述中,____C____是错误的.()

C、if语句中if体内不能是switch语句

44、break语句只能用在_____D__()

D、开关语句或循环语句中

45、有以下程序:

#include

voidmain()

{

chark;inti;

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

{

cin>>k;

switch(k)

{

case'0':

cout<<"another\n";

case'1':

cout<<"number\n";

}

}

}

程序运行时,从键盘输入:

01<回车>,程序执行后输出结果是___B___。

()

B、another 

number 

number

46、使用如setw()的操作对数据进行格式输出时,应包含___C_____文件()

C、iomanip.h

47、已知一函数中有下列变量定义,其中属于静态变量的是____B______。

()

B、staticdoubleb;

48、以下正确的定义语句是______D__()

D、doubley[][3]={0};

49、以下关于函数叙述中,正确的是(D)。

()

D、在函数体中可以调用函数自身

50、下面程序段的运行结果是_____B___

charc[]="\t\v\\\0will\n";cout<

B、3

3、单项选择题

1、以下函数声明中,存在着语法错误的是____D___。

()

D、void*DD(x,y);

2、下面程序段是输出两个字符串中对应相等的字符,请完善程序

charx[]="program";chary[]="Fortran";

intI=0;

while(x[I]!

='\0'&&y[I]!

='\0')

if(x[I]==y[I])cout<<________;

elseI++;(A)

A、x[I++]

3、下列数据类型不是C++语言基本数据类型的是____D________。

()

D、数组

4、采用函数重载的目的在于_____D___。

()

D、使用方便,提高可读性

5、设有代码“inta=5;”,则执行了语句“a+=a-=a*a;”后,变量a的值是_C___________。

()

C、-40

6、执行下列程序,输入为1的输出结果

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1