C++复习题.docx
- 文档编号:26682441
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:19
- 大小:19.36KB
C++复习题.docx
《C++复习题.docx》由会员分享,可在线阅读,更多相关《C++复习题.docx(19页珍藏版)》请在冰豆网上搜索。
C++复习题
C++复习题
选择题:
1、以下说法中正确的是()。
A.C++语言程序总是从第一个的函数开始执
B在C++语言程序中,要调用的函数必须在main()函数中定义
CC++语言程序总是从main()函数开始执行
DC++语言程序中的main()函数必须放在程序的开始部分
2、以下叙述正确的是()。
A在C++程序中,main函数必须位于程序的最前面BC++程序的每行中只能写一条语句
CC++语言本身没有输入输出语句D在对一个C++程序进行编译的过程中,可发现注释中的拼写错误
3、将下面的程序运行两遍,若分别从键盘上输入6和4,则输出结果分别是()。
main()
{
intx;
cin>>x ;
if(x++>5)
cout< else cout< } A.7和5B.6和3C.7和4D.6和4 4.对下述程序,()是正确的判断。 #include main() { intx,y; cin>>x>>y; if(x>y) x=y;y=x; else x++;y++; cout< } A、有语法错误,不能通过编译B、若输入数据3和4,则输出4和5 C、若输入数据4和3,则输出3和4D、若输入数据4和3,则输出4和4 5、阅读以下程序: #include main() { ints; cin>>s; switch(s==! s) { case0: cout<<"Thenumberisnot0";break; case1: cout<<"Thenumberis0";break; } } 程序运行后,如果从键盘上输入−9,则输出结果是()。 A.Thenumberisnot0B.Thenumberis0 C.程序出错D.0 6、若有以下定义: floatx; inta,b; 则正确的switch语句是()。 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"; } 7、下面程序的输出结果是()。 #include main() { intx=1000,a=10,b=20; intv1=5,v2=0; if(a if(b! =15) if(! v1) x=1; elseif(v2)x=10; x=-1; cout<<,x; } A.100B.-1 C1D10 8、设inti=10,j=11,k=12,x=0;执行语句 if(i>5) if(j>100) if(k>11) x=3; elsex=4; elsex=5; 后x的值是()。 A.0B.3C.4D.5 9、以下程序的输出结果是()。 main() { inta,b; for(a=1,b=1;a<=100;a++) { if(b>=10) break; if(b%3==1) { b+=3; continue; } } cout< } A.101 B.6 C.5 D.4 10、有以下程序: main() { inti,j; for(j=10;j<11;j++) { for(i=9;i if(! (j%i)) break; if(i=j-1) cout< } } 输出结果是()。 A.11B.10C.9D.12 11、设I,j,k均为int型变量,则执行完下面的for循环后,k的值为()。 for(i=0,j=10;i<=j;i++,j--) k=i+j; A.11B.9 C.20D.10 12、以下程序的输出结果为()。 #include main() { inti; for(i=1;i<=5;i++) { if(i%2) cout<<"*"; else continue; cout<<"#"; } cout<<"$\n"; } A.*#*#*#$B.#*#*#*$ C.*#*#$D.#*#*$ 13、假定a和b为int型变量,则执行以下语句后b的值为()。 a=1; b=10; do { b-=a; a++; }while(b--<0); cout< A.9B.-2C.-1;D.8 14.有以下程序段: intk=0; while(k=1) k++; while循环执行的次数是: () A.无限次 B.有语法错,不能执行 C.一次也不执行 D.执行1次 15.在下面的数组定义中,合法的是()。 A.inta[]="string"; B.inta[5]={0,1,2,3,4,5}; C.chars="string D.chara[]={0,1,2,3,4,5}; 16.若有定义语句: inta[3][6],按在内存中的存放顺序,a数组的第10个元素是()。 A.a[0][4]B.a[1][3] C.a[0][3]D.a[1][4] 17.有以下程序: #include main() { inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}}; inti,k,t; for(i=0;i<3;i++) for(k=i+1;k<4;k++) if(a[i][i] { t=a[i][i]; a[i][i]=a[k][k]; a[k][k]=t; } for(i=0;i<4;i++) cout< } 程序运行后的输出结果是() A.6,2,1,1B.6,4,3,2 C.1,1,2,6D.2,3,4,6 18.下述程序输出的结果是()。 #include main() { chars[]="-12345"; intk=0,sign,m; if(s[k]=='+'&&s[k]=='-') sign=s[k++]=='+'? 1: -1; for(m=0;s[k]>='0'&&s[k]<='9';k++) m=m*10+s[k]-'0'; cout<<”Result=”< } A.Result=-12345B.Result=12345 C.Result=0D.Result=10000 19.请选出以下程序段的输出结果是()。 #include main() { charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k; for(k=1;k<3;k++) cout<<&w[k][k]< } A. ABCD FGH KL M B. ABCD EFG IJ C. EFG JK O D. FGH KL 20.请选出以下程序段的输出结果是()。 #include main() { charstr[]="SSSWILTECH1\1\11W\1WALLMP1"; intk; charc; for(k=2;(c=str[k])! ='\0';k++) { switch(c) { case'A': putchar('a'); continue; case'1': break; case1: while((c=str[++k])! ='\1'&&c! ='\0'); case9: putchar('#'); case'E': case'L': continue; default: putchar(c); continue; } putchar('*'); } cout<<"\n"; } A.SWITCH*#WaMP* B.SWITCH*##W#WaMP* C.SWITCH*#W#aMP* D.SSWITCH*#WaMP* 21、下面函数的功能是()。 sss(s,t) char*s,*t; { while((*s)&&(*t)&&(*t++==*s++)); return(*s-*t); } A求字符串的长度 B比较两个字符串的大小 C将字符串s复制到字符串t中 D将字符串s接续到字符串t中 22、若有以下说明和定义 uniondt { inta; charb; doublec; }data; 以下叙述中错误的是()。 Adata的每个成员起始地址都相同 B变量data所占的内存字节数与成员c所占字节数相等 C程序段: data.a=5;cout< Ddata可以作为函数的实参 23、设有定义: structcomplex {intreal,unreal;}data1={1,8},data2; 则以下赋值语句中错误的是() Adata2=data1; Bdata2=(2,6); Cdata2.real=data1.real; Ddata2.real=data1.unreal; 24、在整个源文件都有效的变量在()定义。 A第一个函数中 B第一个函数前 C主函数中 D函数中静态变量 25、若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是() A函数的实参和其对应的形参共占用一存储单元 B形参只是形式上的存在,不占用具体存储单元 C同名的实参和形参占用一存储单元 D函数的形参和实参分别占用不同的存储单元 26、以下叙述中正确的是()。 AC++程序须由一个或一个以上的函数组成 BC函数既可嵌套定义又可递归调用 C函数须有返回值,否则不能调用 D有调用关系的函数须在一个文件中 27、有以下程序: intfun1(doublea){returna*=a;} intfun2(doublex,doubley) { doublea=0,b=0; a=fun1(x); b=fun1(y); return(int)(a+b); } main() { doublew; w=fun2(1.1,2.0); ……….. } 程序执行后变量w中的值是() A5.21 B5 C5.0 D0.0 28、若有以下程序。 #include voidf(intn); main() { voidf(intn); f(5); } voidf(intn) { cout< } 则以下叙述中不正确的是()。 A若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f B若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数f C对于以上程序,编译时系统会提示出错信息: 提示对f函数重复说明 D函数f无返回值,所以可用void将其类型定义为无值型 29、在宏定义#definePI3.1415926中,用宏名PI代替一个() A常量 B单精度数 C双精度数 D字符串 30、以下程序输出的结果是() #definePT5.5 #defineS(x)PT*x*x voidmain() { inta=1,b=2; cout< } A12.0 B9.5 C12.5 D33.5 填空题: 1.在c++语言中,若a=4,b=5逻辑表式a&&b和a||b的值全是。 2.#include main() { intx=1,y=1,a=0,b=0; switch(x) { case1: switch(y) { case0: a++;break; case1: b++; } case2: a++;b++;break; } cout<<”a=”< } 上面程序的输出结果是: 3.以下程序运行后的输出结果是: #include main() { inti,j,k=19; while(i=k-1) { k-=3; if(k%5==0){i++;continue;} elseif(k<5)break; i++; } cout<<”i=”< } 4.下述程序片段的输出结果是: intx=0,y=0; do { y++; x*=x; } while(x>0&&y>5); cout<< "y="< 5.若有定义: inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是,a[2][1]得到的初值是。 6.若有: charstr1[20]={"agood"},str2[]={"student"};能把str2中的字符串接到str1中的字符串后面的串函数调用语句是。 7.下面程序的输出结果是 main() { inti=2,x=5,j=7; fun(j,6); cout<<”i=”< } fun(inti,intj) { intx=7; cout<<”i=”< } 8.下面程序的运行结果为: #include func(intx,inty) { intz; z=x+y; returnz; } main() { inta=6,b=7,c=8,r; r=func((a--,b++,a+b),c--); cout< } 9.下面程序的运行结果为: voidfunc1(inti); voidfunc2(inti); charst[]="hello,friend! "; voidfunc1(inti) { cout< if(i<3) { i+=2; func2(i); } } voidfunc2(inti) { cout< if(i<3) { i+=2; func1(i); } } main() { inti=0; func1(i); cout<<"\n"; } 10.有以下程序,程序执行后,输出结果是。 #include voidfun(int*a) {a[0]=a[1];} intmain() { inta[10]={10,9,8,7,6,5,4,3,2,1},i; for(i=2;i>=0;i--)fun(&a[i]); for(i=0;i<10;i++)cout< cout<<“\n”; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 复习题
![提示](https://static.bdocx.com/images/bang_tan.gif)