C++复习题.docx
- 文档编号:30220891
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:30
- 大小:24.48KB
C++复习题.docx
《C++复习题.docx》由会员分享,可在线阅读,更多相关《C++复习题.docx(30页珍藏版)》请在冰豆网上搜索。
C++复习题
一、单项选择题
1.以下关于C语言的特点说法错误的是()
A.具有结构化的控制语句
B.C语言不允许直接访问物理地址
C.生成目标代码质量高,程序执行效率高
D.用C语言编写的程序可移植性好
2.在TurboC++3.0集成环境中,选菜单Run—>Run,系统所执行的文件后缀是()
A.cB.objC.exeD.cpp
3.以下程序段输出结果正确的是()
#include
voidmain()
{inta,b=0,sum;
a=123;/*b=456;*/
sum=a+b;
printf(“%d\n”,sum);
}
A.579B.123C.456D.有语法错误,无结果
4.在程序流程图中,“菱形”代表()
A.处理框B.判断框C.注释框D.连接点
5.以下关于算法特点错误的是()
A.有穷性B.歧义性C.有效性D.有零个或多个输入
6.以下数据类型不属于基本类型的是()
A.整型B.字符型C.浮点型D.数组
7.以下程序段输出结果正确的是()
#include
voidmain()
{charc1,c2;
c1=’A’;c2=’B’;
c1=c1+32;
c2=c2+32;
printf(“%c%c\n”,c1,c2);
}
A.abB.ABC.9798D.a,b
8.以下变量赋初值,错误的是()
A.inta=3;B.inta,b,c=5;
C.inta=3,b=3,c=3;D.inta=b=c=3;
9.设有如下定义:
floatx=2.5,y=4.7;inta=7;
则算术表达式:
x+a%3*(int)(x+y)%2/4的值为()
A.3.5B.2.5C.0D.1
10.设有如下定义:
inta=12;则赋值表达式:
a/=a+a运算后a的值为()
A.24B.12C.0D.48
11.逗号表达式:
a=3*5,a*4的值是()
A.60B.15C.4D.随机数
12.以下程序段运行结果正确的是()
#include
voidmain()
{inti,sum=0;
i=1;
while(i<=100)
{sum=sum+i;
i++;
}
printf(“%d\n”,sum);
}
A.5050B.5000C.2500D.2525
13.以下程序段运行结果正确的是()
#include
voidmain()
{inti,a[5];
for(i=0;i<=4;i++)
a[i]=i;
for(i=4;i>=0;i--)
printf(“%d”,a[i]);
printf(“\n”);
}
A.12345B.54321C.43210D.01234
14.以下二维数组的初始化方法错误的是()
A.inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
B.inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
C.inta[3][4]={{1},{5,6}};
D.inta[3][4]={{1,2},{5,6},{9,10},{11,12}};
15.以下程序段运行结果正确的是()
#include
#include
voidmain()
{charc[10]={“China”};
printf(“%s”,c);
}
A.ChinaB.CC.“China”D.‘C’
16.有以下程序段:
#include
voidmain()
{intmax(intx,inty) ;
inta,b,c ;
scanf(“%d,%d”,&a,&b ) ;
c=max(a,b);
printf(“%d”,c);
}
intmax(intx,inty)
{intz ;
z=x>y ?
x :
y ;
return(z) ;
}
在运行过程中输入:
7,8
则运行结果正确的是()
A.8B.7C.7,8D.以上都不对
17.以下程序段运行结果为________
#include
#definePI3.14
#defineS(r)PI*r*r
voidmain()
{floata,area;
a=3.0;area=S(a);
printf(“r=%f,area=%f\n”,a,area);
}
A.r=3.000000,area=28.260000B.r=3.000000,area=3.000000
C.r=28.260000,area=28.260000D.以上都不对
18.以下程序段的运行结果正确的是()
#include
voidmain()
{inta,b;
int*point_1,*point_2;
a=100;b=10;
point_1=&a;point_2=&b;
printf(“%d,%d”,*point_1,*point_2);
}
A.100B.10C.100,10D.10,100
19.以下定义形式错误的是()
A.charstr[14];str=”IloveChina!
”;B.char*a;a=”IloveChina!
”;
C.char*a=”IloveChina!
”;D.charstr[14]={”IloveChina!
”};
20.为输入打开一个文本文件,其文件使用方式为()
A.”w”B.”rb”C.”wb”D.”r”
21.以下关于C语言出现的历史背景说法错误的是()
A.C语言是国际上广泛流行的计算机高级语言
B.C语言是在B语言的基础上发展起来的
C.C语言既保持了BCPL和B语言的优点,又克服了它们的缺点
D.C语言是低级语言
22.以下程序段输出结果正确的是()
#include
voidmain()
{inta,b,sum;
a=123;/*b=456;*/
sum=a+b;
printf(“%d\n”,sum);
}
A.579B.123C.456D.结果不确定,随机数
23.在TurboC++3.0集成环境中,如果用户在保存源程序时文件未加后缀,则系统会认为其是C++程序,自动加上后缀()
A.cB.objC.exeD.cpp
24.在程序流程图中,“矩形”代表()
A.处理框B.判断框C.注释框D.连接点
25.1966年,Bohra和Jacopini提出了表示一个良好算法的3种基本结构,以下不是这3种基本结构的是()
A.选择结构B.顺序结构C.重复结构D.循环结构
26.以下数据类型不属于构造类型的是()
A.枚举型B.结构体C.数组D.共用体
27.以下程序段输出结果正确的是()
#include
voidmain()
{charc1,c2;
c1=’a’;c2=’b’;
c1=c1-32;
c2=c2-32;
printf(“%c%c\n”,c1,c2);
}
A.abB.ABC.9798D.a,b
28.假设已指定a,b为int型变量,使用输入函数输入数据正确的是()
A.scanf(“%d,%d”,&a,&b);B.scanf(“%d,%d”,a,b);
C.scanf(“%d,%d”,a,&b);D.scanf(“%d,%d”,&a,b);
29.设有如下定义:
floatx=5.5,y=4.4;inta=7;
则算术表达式:
x+a%3*(int)(x+y)%2/4的值为()
A.5.5B.6.5C.0D.7.5
30.设有如下定义:
inta=12;则赋值表达式:
a*=2+3运算后a的值为()
A.12B.60C.27D.17
31.逗号表达式:
(a=3*5,a*4),a+5的值是()
A.60B.15C.4D.20
32.以下程序段运行结果正确的是()
#include
voidmain()
{inti,sum=0;
i=1;
do
{sum=sum+i;
i++;
}while(i<=100);
printf(“%d\n”,sum);
}
A.5050B.5000C.2500D.2525
33.以下程序段运行结果正确的是()
#include
voidmain()
{inti,a[5]={0,1,2,3,4};
for(i=4;i>=0;i--)
printf(“%d”,a[i]);
printf(“\n”);
}
A.12345B.54321C.43210D.01234
34.以下二维数组的初始化方法错误的是()
A.inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
B.inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};
C.inta[][4]={{0,0,3},{},{0,10}};
D.inta[3][]={{0,0,3},{},{0,10}};
35.以下程序段运行结果正确的是()
#include
#include
voidmain()
{charstr[]={“China\nBeijing”};
puts(str);
}
A.ChinaB.ChinaC.BeijingD.以上都不对
Beijing
36.有以下程序段:
#include
voidmain()
{floatadd(floatx,floaty) ;
floata,b,c;
scanf(“%f,%f”,&a,&b ) ;
c=add(a,b);
printf(“%f”,c);
}
floatadd(floatx,floaty)
{floatz ;
z=x+y;
return(z) ;
}
在运行过程中输入:
3.6,6.5
则运行结果正确的是()
A.10.1B.10.100000C.3.6D.6.5
37.有以下程序段:
#include
voidmain()
{voidswap(int*p1,int*p2);
inta,b;
int*point_1,*point_2;
scanf(“%d,%d”,&a,&b);
point_1=&a;point_2=&b;
if(a
printf(“%d,%d”,a,b);
}
voidswap(int*p1,int*p2)
{inttemp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
在运行过程中输入:
5,9
则运行结果正确的是()
A.5,9B.5,5C.9,5D.9,9
38.以下程序段的运行结果正确的是()
#include
voidmain()
{structstudent
{longintnum;
charname[20];
charsex;
charaddr[20];
}a={10101,”LiLin”,’M’,”123BeijingRoad”};
printf(“%ld:
%s”,a.num,a.name);
}
A.10101B.LiLinC.123BeijingRoadD.10101:
LiLin
39.位运算3^5的结果为()
A.7B.5C.8D.6
40.为读写建立一个新的二进制文件,其文件使用方式为()
A.”w”B.”rb”C.”wb”D.”wb+”
41.以下关于C语言的特点说法错误的是()
A.语言简洁、紧凑、使用方便、灵活
B.运算符丰富
C.数据类型丰富,具有现代语言的各种数据结构
D.语法限制严格,程序设计自由度小
42.在TurboC++3.0集成环境中,按Ctrl+F9组合键,系统所执行的文件后缀是()
A.cB.objC.exeD.cpp
43.以下标识符合法的是()
A.sumB.M.DC.a>bD.#33
44.在程序流程图中,“箭头”代表()
A.数据流B.程序流C.注释框D.连接点
45.以下程序段输出结果正确的是()
#include
voidmain()
{inti;
charc;
i=’a’;
c=97;
printf(“%c,%d\n”,c,c);
}
A.a97B.a,97C.97aD.97,a
46.要求两侧的运算数均应为整型数据的运算符是()
A.*B./C.%D.+
47.以下程序段运行结果正确的是()
#include
voidmain()
{inti,j,m,n;
i=8;j=10;
m=++i;
n=j++;
printf(“%d,%d,%d,%d\n”,i,j,m,n);
}
A.9,11,9,11B.9,11,9,10C.9,10,9,10D.9,10,9,11
48.设有如下定义:
inta=12,n=5;
则赋值表达式:
a%=(n%=2)运算后a的值为()
A.24B.12C.0D.48
49.逗号表达式:
(a=2*5,a+4),a*5的值是()
A.60B.10C.50D.20
50.以下程序段运行结果正确的是()
#include
voidmain()
{inti,sum=0
for(i=1;i<=100;i++)
sum=sum+i;
printf(“%d\n”,sum);
}
A.5050B.5000C.2500D.2525
51.以下程序段运行结果正确的是()
#include
voidmain()
{inti,a[]={1,2,3,4,5};
for(i=4;i>=0;i--)
printf(“%d”,a[i]);
printf(“\n”);
}
A.12345B.54321C.43210D.01234
52.以下字符串赋初值方法错误的是()
A.charc[]={“Iamhappy”};B.charc[]=“Iamhappy”;
C.charc[]={‘I’,’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’,’\0’};
D.charc[5]={‘C’,’h’,’i’,’n’,’a’};
53.以下程序段运行结果正确的是()
#include
#include
voidmain()
{charstr1[10]=“”;
charstr2[]={“China”};
printf(“%s”,strcpy(str1,str2));
}
A.ChinaB.ChinaChinaC.BeijingD.以上都不对
54.下列程序段的输出结果是()
#include
voidmain()
{
intfac(intn);
inti,sum=0;
for(i=1;i<=5;i++)sum+=fac(i);
printf(“sum=%d\n”,sum);
}
intfac(intn)
{
staticintf=1;
f=f*n;
returnf;
}
A.120B.24C.30D.153
55.以下程序段的运行结果正确的是()
#include
voidmain()
{intf(int);
inta=2,i;
for(i=0;i<3;i++)
printf(“%d”,f(a));
}
intf(inta)
{autointb=0;
staticintc=3;
b=b+1;
c=c+1;
return(a+b+c);
}
A.789B.8910C.777D.以上都不对
56.以下程序段运行结果正确的是()
#include
voidmain()
{int*p,i,a[5];
p=a;
for(i=0;i<5;i++)
scanf(“%d”,p++);
printf(“\n”);
p=a;
for(i=0;i<5;i++,p++)
printf(“%d”,*p);
printf(“\n”);
}
程序运行时输入:
12345
A.12345B.54321C.13524D.以上都不对
57.以下关于实参与形参的说法错误的是()
A.实参可以是常量、变量或表达式。
B.在被定义的函数中,不必指定形参的类型。
C.实参与形参的类型应相同或赋值兼容。
D.实参向形参的数据传递是“单向值传递”。
58.以下程序段的运行结果正确的是()
#include
voidmain()
{char*string=”IloveChina!
”;
printf(“%s\n”,string);
}
A.IloveB.IloveChina!
C.ChinaD.以上都不对
59.以下程序段的运行结果正确的是()
#include
structstudent
{intnum;
charname[20];
charsex;
intage;
};
structstudentstu[3]={{10101,”LiLin”,’M’,18},{10102,”ZhangFun”,’M’,19},
{10104,”WangMin”,’F’,20}};
voidmain()
{structstudent*p;
for(p=stu;p printf(“%s,”,p->name); } A.LiLin,ZhangFun,WangMinB.LiLinZhangFunWangMin C.LiLinD.以上都不对 60.假设有如下定义: chara=15; a=a<<2; 则运算后a的值为() A.15B.30C.17D.60 二、填空 1.能实现两数交换功能的位运算符是________。 2.从用户使用的角度看,函数有两种,________函数和用户自己定义的函数。 3.在调用一个函数过程中又出现直接或间接地调用该函数本身,称为函数的________。 4.在C语言中,整常数可用3种形式表示,十进制整数,________整数和十六进制整数。 5.有以下程序段: inta=123,b=12345; printf(“%4d,%4d”,a,b); 则程序的输出结果为: ________________ 6.C语言提供6种关系运算符,前4种关系运算符的优先级别相同,后2种也相同,前4种优先级________后2种。 7.设有如下定义: inta=3,b=4,c=5;则逻辑表达式: a+b>c&&b==c的值为________ 8.以下程序段的功能是把100—200之间的不能被3整除的数输出,请将程序补充完整。 #include voidmain() {intn; for(n=100;n<=200;n++) {if(n%3==0) ________; printf(“%d”,n); } printf(“\n”); } 9.以下程序段的功能是用起泡法对10个数按照从小到大的顺序进行排序,请将程序补充完整。 #include voidmain() {inta[10]; inti,j,t; for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(j=0;j<9;j++) for(i=0;________;i++) if(a[i]>a[i+1]) {t=a[i]; a[i]=a[i+1]; a[i+1]=t; } for(i=0;i<10;i++) printf(“%d”,a[i]); } 10.有以下程序段: #include voidmain() { intfac(intn); inti; for(i=1;i<=3;i++) printf(“%d! =%d\n”,i,fac(i)); } intfac(intn) { staticintf=1; f=f*n; returnf; } 则程序的输出结果为: ________________ 11.一个函数由两部分组成,函数的首部和________。 12.C提供的预处理功能主要有3种,宏定义,________和条件编译。 13.C语言规定标识符只能由字母、数字和________,三种字符组成。 14.从变量的作用域角度分,有局部变量和________。 15.有以下程序段: #include
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 复习题