1、VC复习题VC复习题 1、单项选择题1、设char ch;以下正确的赋值语句是_B_ ch=xff;_ 2、设有说明“int x=10,y=4,f;float m;”,执行表达式“f=m=x/y”后,则f、m的值分别为(22.0)3、对于一个功能不太复杂,并且要求加快执行速度,选用_A_内联函数_合适。 4、以下函数调用语句中实参的个数是_3_。excc(v1,v2),(v3,v4,v5),v6); ( )5、设有语句“voidf(int a10,int &x);int y10,*py=y,n;”,则对函数f的正确调用语句是_ f(py,n);_。 6、在C+语言中,080是_D_非法数_。
2、7、在C+语言程序中,有关函数的定义正确的是_B_函数的定义不可以嵌套,但函数的调用可以嵌套_。 8、下列语句段中不是死循环的是_ _. ( A )A、int i=100;while(1) i=i%100+1; if(i=20) break; B、int i,sum=0;for(i=1;i+) sum=sum+1;C、int k=0;do +k; while(k=0);D、int s=3379;while(s+%2) s+;9、下列关于条件语句的描述中,_ C、if语句中if体内不能是switch语句_是错误的. 10、以下函数声明中,存在着语法错误的是_ D、void *DD(x, y)_。
3、 ( )11、C+语言中while和do-while循环的主要区别是_ A、do-while的循环体至少无条件执行一次_. ( )12、设有三个语句“int s=100;int sss;cinss;”,则编译认为 C、第一个语句正确,后两个语句错 ( )13、若有说明:int a34=0;则下面正确的叙述是_ D、数组a中每个元素均可得到初值014、下面程序的运行结果是_A_#includevoid main()int i=0;while(+i)if(i=10) break;if(i%3!=1) continue;cout i; ( )A、1 4 715、sizeof(double)是一个_
4、A、整型_表达式。 ( )16、已知一函数的原型是:int f(int,int=0,double=0.0);则下列函数中不可以加以重载的是_ C、f(int,int,double);_。 ( )17、若定义:float x;int a,b;则正确的switch语句是_。 ( D )A、switch(x) case 1.0:cout*n; case 2.0:cout*n; B、switch(x) case 1.2:cout*n; case 3 : cout*n; C、switch(a+b) case 1 : cout*n; case 1,2:cout*n; D、switch(a+b) case
5、1:cout*n; case 2:cout*n; 18、下列关于开关语句的描述中,_ A、开关语句中default子句可以没有,也可以有一个_是正确的. ( )19、下面程序的运行结果是_C_void main()int a6,I;for(I=1;I3)%5;coutaI0)21、下列数据类型不是C+语言基本数据类型的是_ D、数组22、设有定义int a=5,b;执行下列代码后,b的值不为2的是_ C、b = a%223、以下程序输出的结果是a=_,b=_ A、2 8_#includevoid main(void) for(int a=1,b=1; a=8) break;if(b%2=1)b
6、+=7; continue;b-=3;couta=anb=bn; ( )A、2 824、下面程序段的运行结果是_ A、4#includevoid main( )int I,j,a=0;for(I=0;I2;I+)for(j=0;j4;j+)if(j%2) break;a+;a+;coutaendl; ( )A、425、已知一函数中有下列变量定义,其中属于静态变量的是_ B、static double b;26、控制格式I/O的操作中,_ D、setw()_是设置域宽的。 ( )27、在C+语言,一维数组的定义方式为: 数组名 _ D、整型常量28、若有以下变量和函数说明:#includecha
7、r ch=*;void sub(int x,int y,char ch,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;tx;if(x0)continue;coutx;”,则编译器认为_ C、语句“cinx;”错34、下
8、列程序的运行结果是_ B、3 5 ok!includevoid main()int i=1;doi+;cout+i;if (i=7) break;while(i=3);cout”ok!”; B、3 5 ok!35、下列字符列中,可作为C+语言程序自定义标识符是_ B、For36、设有宏定义和语句如下:# define M(a,b) a*b; / E int x=M(3+,5+6),y; / Fy=M(3,4); / G 则 (D、编译时,F行和G行有语法错 )37、int x=0,s=0;while(!x!=0) s+=+x;couts;则_。 (B、运行程序段后输出1 )38、在C+中,关于
9、下列设置参数默认值的描述中,正确的是_ C、设置参数默认值时,应该是先设置右边的再设置左边的39、下面程序段是输出两个字符串中对应相等的字符,请完善程序char x =program;char y =Fortran;int I=0;while(xI!=0&yI!=0)if(xI=yI)cout_;else I+; (A、xI+)40、以下程序的输出结果是_。#include void main() int i; for(i=4;i=10;i+) if(i%3=0)continue; couti; )B、45781041、预处理命令在程序中都是以_开头的。 (B、# )42、若有下面的变量定义,
10、以下语句中合法的是( )。int i,a10,*p; (A、p=a+2; )43、执行下列程序,输入为1的输出结果是_。#include main() int k; cink; switch(k) case 1:coutk+endl;break; case 2:coutk+endl; case 3:coutk+endl;break; case 4:coutk+endl; default:coutFull!endl; A、144、已知一函数的形参说明为int arr56,在下列说明中,与此等效的形参说明为_。 (D、int (*a)645、关于函数返回值的的描述正确的是_。 (C、当函数类型与返
11、回值表达式类型不同,将对返回值表达式的值进行类型转换)46、文件包含命令中被包含的文件扩展名_。 (D、不一定是.h)47、已知函数f的原型是:int f(char a,char *b=NULL,double c=0.0); 则下列调用中,不能正确地调用f函数的是_。 (B、f(A,4.5)48、设有说明语句“char *s=Student,Teacher,Father,Mother,*ps=s2;”,执行语句“cout*s1,ps,*psn;”,则输出结果是_。 (A、T,Father,F)49、若对两个数组a和b进行初始化char a=ABCDEF;char b=A, B, C, D, E
12、, F;则下列叙述正确的是。 (D、数组a比数组b长度长)50、假定a为一个整型数组名,能引用元素a5的值是( ) (B、*(a+5)2、单项选择题1、结束while(表达式)循环的条件是 ( ) ( A)A、当表达式的值为0时2、下面是对字符数组s的初始化,其中不正确的是_ ( D )D、char s5=”abcdef”;3、C+中,关于参数默认值的描述正确的是_。 ( B )B、设置参数默认值时,应当从右向左设置4、已知函数f的原型为:void f(int &a,char *b);变量s,t的定义是:int s;char t=ABCD; 把s和t分别作为第一参数和第二参数来调用函数f,正确
13、的调用语句是:_。 ( C )C、f(s,t);5、以下程序的输出结果是_A_。#include sub1(char a , char b) char c ; c=a ; a=b ; b=c ;sub2(char *a , char b) char c ; c=*a ; *a=b ; b=c ;sub3(char *a , char *b) char c ; c=*a ; *a=*b ; *b=c;void main( )char a , b;a=A; b=B; sub3(&a,&b); coutab;a=A; b=B; sub2(&a,b); coutab;a=A; b=B; sub1(a,
14、b); coutab; ( )A、BABBAB6、下面的程序输出的结果是_B_。#includevoid LE(int &a,int b)int x=a;a=b;b=x;cout a bendl;void main()int x=10,y=25;LE(x,y); cout x yendl; ( )B、25 1025 257、对数组名作函数的参数,下面描述正确的是_B_。 ( )B、数组名作函数的参数,主调函数和被调函数共用一段存储单元。8、下述关于循环体的描述中,_C_是错误的. ( )C、循环体中不能出现goto语句9、设有说明“int x=10,y=4,f;float m;”,执行表达式“
15、f=m=x/y”后,则f、m的值分别为 (D )D、2、2.010、为了避免嵌套的if-else语句的二义性,C+语言规定else总是与_C_组成配对关系。 C、在其之前未配对的最近的if11、下列有关编译预处理命令的说明中,正确的是_A_。 ( )A、以“#”开头的行,可出现的函数定义内或函数定义外12、下列程序的运行结果是_B_.includevoid main()int i=1;doi+;cout+i;if (i=7) break;while(i=3);cout”ok!”; ( )B、3 5 ok!13、下面程序的运行结果是_B_#inlcudevoid main()char a =mo
16、rning,t; int I,j=0;for(I=1;I7;I+)if(ajaI)j=I;t=aj; aj=a7; a7=aj;couta; ( )B、mo14、设有宏定义和语句如下:# define M(a,b) a*b; / E int x=M(3+,5+6),y; / Fy=M(3,4); / G 则 ( D )D、编译时,F行和G行有语法错15、如果一个函数无返回值,定义它时函数类型应是_C_。 ( )C、void16、下面对变量的说明错误的是(A)。 ( )A、char c1, int x;17、若有说明:int a34=0;则下面正确的叙述是_D_ ( )D、数组a中每个元素均可得
17、到初值018、设有代码“int a=5;”,则执行了语句“a+=a-=a*a;”后,变量a的值是_C_。 C、-4019、与以下程序段等价的是_A_。while(a) if(b) continue; c; ( )A、while(a) if(!b)c;20、设有说明语句:char s=ab0123n79;strlen(s)的值是_A_。 ( )A、221、下列关于开关语句的描述中,_A_是正确的. ( )A、开关语句中default子句可以没有,也可以有一个22、下面程序段的运行结果是_B_。#includemain( )int i,j,x=0;for(I=0;I2;I+)x+;for(j=0;
18、j=3;j+)if(j%2) continue;x+;x+;cout“x=”xendl; ( )B、x=823、在循环语句的循环体中使用break语句的作用是_B_。 ( )B、结束该层的循环24、已知函数f的定义是:int f(int n)n*=2;return n+1; 则执行int m=5, n=3;m=f(n);后,变量m的值和n的值分别是 _C_ 。 ( )C、7 325、以下程序的输出结果是_A_。#includevoid main()int x=1,y=0,a=0,b=0;switch(x) case 1:switch(y) case 0:a+;break;case 1:b+;b
19、reak;case 2:a+;b+;break;couta,bendl; ( )A、2,126、有关函数重载的正确说法是_B_。 ( )B、函数名相同,但参数的个数不同或参数的类型不同27、设有宏定义“#define f(x)(-x)*2 ”,执行语句”coutf(3+4)endl;”,则输出是_B_。 B、228、采用函数重载的目的在于_D_。 ( )D、使用方便,提高可读性29、下面程序段的运行结果是_A_。#includevoid main()int I;for(I=1;I=5;I+) if(I%2) cout“*”;else continue;cout“#”; cout“$n”; (
20、)A、*#*#*#$30、对以下说明语句的正确理解是_Bint a10=6,7,8,9,10; ( )B、将5个初值依次与给a0至a431、int x=-1;dox=x*x;while(!x);下列说法正确的是_C_。 ( )C、循环执行一次32、C+关系表达式中的关系成立时,则该关系表达式的值为_C_。 ( )C、133、在函数的返回值类型与返回值表达式的类型的描述中,错误的是_B_。 ( )B、函数返回值的类型就是返回值表达式的类型34、以下关于break语句的描述,正确的是(C )。 ( )C、在循环语句中可以根据需要使用break语句。35、在一个被调用函数中,关于return语句使用
21、的描述,错误的是_D_。 ( )D、被调用函数中,一个return语句可返回多个值给调用函数36、设有函数定义“int f1(void)return 200,100;”,设调用函数f1()时,_A_。 ( )A、函数返回值10037、sizeof(double)是一个_A_表达式。 ( )A、整型38、设有语句“voidf(int a10,int &x);int y10,*py=y,n;”,则对函数f的正确调用语句是_B_。 ( )B、f(py,n);39、执行下列程序,输入为1的输出结果是_A_。#include main() int k; cink; switch(k) case 1:co
22、utk+endl;break; case 2:coutk+endl; case 3:coutk+endl;break; case 4:coutk+endl; default:coutFull!endl; ( )A、140、下列给字符数组进行初始化中,_A_是正确的。 ( )A、char s1=abed;41、在参数传递过程中,对形参和实参的要求是_B_。 ( )B、实参可以是常量、变量或表达式。42、实型变量x的取值范围为闭区间2,10或开区间(15,34),则正确表示x取值范围的逻辑表达式是_B ( )B、(2=x&x=10)|(15x&x34)43、下列关于条件语句的描述中,_C_是错误的
23、. ( )C、if语句中if体内不能是switch语句44、break语句只能用在_D_ ( )D、开关语句或循环语句中45、有以下程序:#includevoid main()char k ; int i;for(i=1;ik ;switch(k)case 0 :coutanothern ;case 1 :coutnumbern ;程序运行时,从键盘输入:01,程序执行后输出结果是_B_。 ( )B、anothernumbernumber46、使用如setw()的操作对数据进行格式输出时,应包含_C_文件 ( )C、iomanip.h47、已知一函数中有下列变量定义,其中属于静态变量的是_B_
24、。 ( )B、static double b;48、以下正确的定义语句是_D_ ( )D、double y 3=0;49、以下关于函数叙述中,正确的是(D)。 ( )D、在函数体中可以调用函数自身50、下面程序段的运行结果是_B_char c =tv0willn; coutstrlen(c); ( )B、33、单项选择题1、以下函数声明中,存在着语法错误的是_D_。 ( )D、void *DD(x, y);2、下面程序段是输出两个字符串中对应相等的字符,请完善程序char x =program;char y =Fortran;int I=0;while(xI!=0&yI!=0)if(xI=yI)cout_;else I+; ( A)A、xI+3、下列数据类型不是C+语言基本数据类型的是_D_。 ( )D、数组4、采用函数重载的目的在于_D_。 ( )D、使用方便,提高可读性5、设有代码“int a=5;”,则执行了语句“a+=a-=a*a;”后,变量a的值是_C_。 ( )C、-406、执行下列程序,输入为1的输出结果
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2