C++自测题.docx
- 文档编号:11774360
- 上传时间:2023-04-01
- 格式:DOCX
- 页数:18
- 大小:22.67KB
C++自测题.docx
《C++自测题.docx》由会员分享,可在线阅读,更多相关《C++自测题.docx(18页珍藏版)》请在冰豆网上搜索。
C++自测题
】、判断题
1.在程序的运行过程中,符号常量的值是可以改变的。
.......................()
2.在函数内部定义的变量称为全局变量。
...............................................()
3.i++和++i,对于i来说是不一样的。
……………………………....()
4.任何C++程序都是从main函数开始执行的。
....................................()
5.case不是一个合法的标识符。
................................................................()
二、单选题
1.以下所列的C++语言常量中,错误的是()。
A.0xAAB.'cd'C.9.0D.'\t'
2.C++语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。
A.可以是字母、数字和下划线中任一种字符B.必须为下划线
C.必须为字母D.必须为字母或下划线
3.以下不正确的是()。
A.语句for(i=1;;++i)表示无限循环B.for(;;)表示无限循环
C.while(0)表示无限循环D.while
(1)表示无限循环
4.已知intx=3,y=4,z=5;以下语句执行后x,y,z的值是()。
if(x>y)z=x;
x=y;
y=z;
A.x=3,y=4,z=5B.x=4,y=5,z=5
C.x=4,y=5,z=3D.x=4,y=5,z=4
5.若变量c为char类型,能正确判断出c为0~9的数字字符的表达式是()。
A.(c>='0')||(c<='9')B.('0'<=c)&('9'>=c)
C.(c>='0')&&(c<='9')D.'0'<=c<='9'
6.intk=0;
while(k=1)k=k-1;
则下面描述正确的是()。
A.while循环执行10次B.该循环是无限循环
C.循环体语句一次也不执行D.循环体语句执行一次
7.设x,y和z是int型变量,且x=30,y=40,z=50,则下面表达式中值为0的是()。
A.!
(z||1)B.x<=y
C.x||((z+y)&&(z-y))D.x&&y
8.对于功能不太复杂,并且要求加快执行速度,选用()较合适。
A.嵌套调用B.重载函数C.递归调用D.内联函数
9.关于函数的调用下面不正确的是()。
A.由于程序总是从主函数开始,所以函数的调用总是在主函数和其他函数之间进行。
B.函数的调用可以在任意函数之间进行,只要有需要。
C.一个函数可以自己调用自己。
D.函数返回时可以不必带返回值,这时函数在定义时其类型应用void表示。
10.下面关于数组的说法正确的是()。
A.它与普通变量没什么区别B.它的元素的数据类型可以相同,也可以不同
C.数组的元素的数据类型是相同的D.它用数组名标识其元素
11.以下哪个选项为一维double型数组a的正确说明()。
A.doublea(20);B.constintSIZE=20;doublea[SIZE];
C.intn;cin>>n;doublea[n];D.intn=20;doublea[n];
12.不正确的字符串赋值或赋初值的方式是()。
A.charstr[20];str=“string”;B.charstr[7]={‘s’,‘t’,‘r’,‘i’,‘n’,‘g’};
C.charstr[]=“string”;D.charstr[7]={‘s’,‘t’,‘r’,‘i’,‘n’,‘g’,‘\0’};
13.下面程序的输出结果是()。
#include
#include
voidmain()
{
chara[]="welcome",b[]="well";
strcpy(a,b);
cout< } A.wellB.wellomC.wellomeD.wellwe 14.下列哪个不是重载函数在调用时选择的依据()。 A.参数类型B.参数个数C.函数类型D.函数名 15.下面程序的输出结果是()。 #include voidmain() { intn[2],i,j,k=2; for(i=0;i for(j=0;j n[j]=n[i]+1; cout< } A.不确定的值B.3C.2D.1 16.下面程序的输出结果为()。 #include intf(inta) { intb=0; staticintc=3; b++; c++; return(a+b+c); } voidmain() { inta=2,i; for(i=0;i<3;i++) cout< } A.7B.7C.7D.7 10879 139711 17.下列说法正确的是()。 A.cout<<"\n";是一个语句,它能在屏幕上显示"\n"B.'\n'代表的是2个字符。 C.1E-3的写法是错误的。 D.C++中变量必须先声明后使用。 18.下面说法正确的是()。 A.4.1/2是合法的表达式B.3.2%3是合法的表达式 C.3/2==1结果为0D.7/2结果为3.5 19.设intb,a=5,执行下列代码后,b的值不为2的是()。 A.b=a/2B.b=a%2 C.b=6-(--a)D.b=a<3? 3: 2 20.对代数式 ,下面不正确的C++语言表达式是()。 A.a/b/c*e*5B.5*a*e/b/cC.5*a*e/b*cD.a*e/c/b*5 21. 以下能正确计算1*2*3*…*10的程序段是()。 A.do{B.do{ i=1;s=1;i=1;s=0; s=s*i;i++;s=s*i;i++; }while(i<=10);}while(i<=10); C.i=1;s=1;D.i=1;s=0; do{do{ s=s*i;s=s*i; i++;i++; }while(i<=10);}while(i<=10); 22.intx=-1; do { x=x*x; }while(! x); 下列说法正确的是()。 A.是死循环B.循环执行两次C.循环执行一次D.有语法错误 23.关于下面程序段说法正确的是()。 for(t=1;t<=100;t++) { cin>>x; if(x<0)continue; cout< } A.最多可以输出100个非负整数B.x>=0时什么也不输出 C.cout永远也不执行D.当x<0时整个循环结束 24.下面程序段的运行结果是()。 #include voidmain() { inti; for(i=1;i<=5;i++) { if(i%2==1) cout<<“*”; else continue; cout<<“#”; } cout<<“$\n”; } A.#*#*$B.#*#*#*$C.*#*#$D.*#*#*#$ 25.如果一个函数无返回值,定义时它的函数类型应是()。 A.任意B.voidC.intD.无 26.在参数传递过程中,对形参和实参的要求是()。 A.函数定义时,形参和实参一定是占用不同的存储空间 B.实参可以是常量、变量或表达式 C.形参可以是常量、变量或表达式 D.以上说法均不对 27.预处理命令以()开头。 A.*B./C.#D.: 28.现有下列定义: chara[]="abcd";charb[]={'a','b','c','d'};则下列说法正确的是()。 A.数组a与数组b等价 B.数组a和数组b的长度相同 C.数组a的长度大于数组b的长度 D.数组a的长度小于数组b的长度 29.下面选项中等价的是()。 A.inta[2][3]={1,0,2,2,4,5}与inta[2][]={1,0,2,2,4,5}; B.inta[2][3]={0,1}与inta[2][3]={{0},{1}}; C.inta[2][3]={3,4,5}与inta[][3]={3,4,5}; D.inta[][3]={1,0,2,2,4,5}与inta[2][3]={1,0,2,2,4,5}; 30.则以下语句中,()的输出结果不是3。 A.cout<< "3";B.cout<<’3’;C.cout<<’0’+3 ;D.out<<(char)(’0’+3) ; 三、填空题 1.设charch='D'-'A'+'a',则ch的值是哪个字符。 2.表达式! (3>=1)的值为。 3.在数组初始化时,如果初始化的元素比数组中的元素少,则其余元素自动初始化为。 4.charstr[10]="abc\0abc";则strlen(s)的值为。 5.有算术表达式x+a%3*(int)(x+y)%2/4,其中x=3.9,a=2,y=3.6,则其值为: 。 6.若x=1,y=2,z=3,则执行语句z=z+(x x++: ++y)后,z的值为。 7.若有二维数组inta[][3]={1,0,2,4,5,3},则a[1][1]的值为。 四、阅读程序,并在相应横线上填空 1.执行以下程序后输出为。 #include voidmain() { inti,j,k; for(i=0,j=10;i<=j;i++,j--) k=i+j; cout< } 2.下面程序的输出结果是__________ #include voidmain() { inta[3][3]={{1,2},{3,4},{5}}; intsum=0; for(inti=1;i<3;i++) for(intj=0;j<=i;j++) sum+=a[i][j]; cout< } 3.执行以下程序,则输出为a=,b=。 #include voidswap(intx,inty) { intt; t=x;x=y;y=t; } voidmain() { inta=3,b=9; swap(a,b); cout<<"a="< } 4.下面述程序的输出结果为: _______,_______ #include intbi_search(inta[],intx,intn) { intlow=0,mid,high=n-1; while(low<=high) {mid=(low+high)/2; if(x==a[mid])returnmid;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 自测