C++语言程序设计.docx
《C++语言程序设计.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计.docx(26页珍藏版)》请在冰豆网上搜索。
C++语言程序设计
1、C++源程序文件的默认扩展名为()。
A cpp
2、能作为C++程序的基本单位是()。
C 函数
3、程序中主函数的名字为()。
A main
4、C++程序的基本模块为()。
D 函数
1、由C++源程序文件编译而成的目标文件的默认扩展名为()。
C obj
2、由C++目标文件连接而成的可执行文件的默认扩展名为()。
B exe
3、C++程序从上机到得到结果的几个操作步骤依次是()。
B 编辑、编译、连接、运行
1、不同数据类型的数据存储格式不同,所能实施的操作也不相同。
A 正确
2、C++程序中的数据主要体现为常量和变量。
A 正确
3、Name和name是同一个变量。
B 错误
4、变量名可以由字母、数字和下划线组成,因此a、a_1、2_ab都是合法的变量名。
B 错误
5、可用作C++变量名的一组标识符是()。
B a3_b3_123YN
1、常量32767比常量23所占用的存储空间大。
B 错误
2、-365是有符号数,365是无符号数。
B 错误
3、任一种C++语言都遵循shortint型的长度小于等于int型长度,同时int型长度又小于等于longing型长度的规定。
A 正确
4、常量12和12L所占用的存储空间应该一样大。
B 错误
5、从定义unsingnedvar;可以看出,var是一个()变量。
C 无符号整型
6、执行cout<<99+013;,显示在屏幕上的是()。
C 110
1、'A'和"A"所占的存储空间都是1字节。
B 错误
2、字符串"ABCDE"占用()字节的空间。
B 6
3、字符串"LineOne\x0ALineTwo\12"的长度是()。
D 16
4、执行cout<<'A'+'B';显示在屏幕上的是()。
D 131
1、枚举类型是一种用户定义的类型,只有用户在程序中定义它后才能被使用。
A 正确
2、假定一个枚举类型的定义为“enumRA{xa,xb,xc,xd};”,则执行“cout<3、假定一个枚举类型的定义为“enumRB{ab,ac=3,ad,ae}x=ad;”则x的值为()。
D 4
1、3.24和3.24f,虽然数值相同,但分别代表一个双精度数和一个单精度数。
A 正确
2、十进制数-3.26的类型为()。
A double
3、存储以下数据,占用存储字节最多的是()。
D 0
1、若需要定义一个标识符常量,并且使C++能够进行类型检查,则应在定义语句的开始用保留字()。
B const
2、下列的常值变量定义中,错误的是()。
C constdoubled
1、算数运算符“/”对于整型是整除操作,而对于实型才是一般意义上的除法。
A 正确
2、表达式5%2的值为()。
C 1
3、设”inta=12;”,则执行完语句”a+=a*a;”后,a的值是()。
C 156
4、假定下列x和y均为int型变量,则不正确的赋值为()。
B x++=y++
5、执行int=4,y=5;y-=x--;后,x和y的值分别是()。
B x=3y=1
6、执行int=5,y=4;y+=++x;后,x和y的值分别是()。
A x=6y=10
7、
D 1.0/a/b/c
8、表达式float(25)/4和int(14.6)%5的值分别为()。
B 6.25 4
9、设x和y均为bool量,则x&&y为真的条件是()。
A 它们均为真
10、设x和y均为bool量,则x||y为假的条件是()。
C 它们均为假
11、x>0&&x<=10的相反表达式为()。
A x<=0||x>10
12、x>0||y==5的相反表达式为()。
B x<=0&&y!
=5
13、设x是一个bool型的逻辑量,y的值为10,则表达式x&&y的值为()。
C 与x值相同
14、若x是一个bool型变量,则x||5>3的值()。
A 为true
15、假定x=5,则执行“a=(x?
10:
4*2);”语句后a的值为()。
B 10
16、设”inta=15,b=26;”,则”cout<<(a,b);”的输出结果是( )。
D 26
1、如果执行if(x>3)cout<<'A';elsecout<<'B';后屏幕上显示的是B,说明x>3的值是()。
C 假
2、执行if(x||!
x)cout<<”ABC”;elsecout<<”XYZ”;屏幕上的是()。
A ABC
3、执行
cin>>k;
switch(k){
case1:
cout<<'G';
case2:
cout<<'L';
}
后,不可能出现的情况是()。
A 显示G
4、
#include
voidSB(charch){
switch(ch){
case'A':
case'a':
cout<<”well!
”;break;
case‘B':
case‘b':
cout<<”good!
”;break;
case‘C':
case‘c':
cout<<”pass!
”;break;
default:
cout<<“bad!
”;break;
}
}
voidmain(){
charal='b',a2='c',a3='f';
SB(al);SB(a2);SB(a3);SB(‘A');
cout<}
以上程序运行后的输出结果为( )。
B good!
pass!
bad!
well!
5、
B 82403.2
1、循环语句“for(inti=0;iC n
2、在下面循环语句中循环体执行的次数为( )。
for(inti=0;i if(i>n/2)break;
B n/2+1
3、
#include
voidmain(){
ints=0;
for(intI=1;I<6;I++)
s+=I*I;
cout<<”s=”<
}
以上程序运行后的输出结果为( )。
D s=55
4、
#include
voidmain(){
ints=0;
for(inti=1;;i++){
if(s>50)break;
if(i%3==0)s+=i;
}
cout<<”i,s=”<
}
以上程序运行后的输出结果为( )。
C i,s=19,63
5、
#include
voidmain(){
ints1=0,s2=0;
for(intI=0;I<10;I++)
if(I%2)s1+=I;
elses2+=I;
cout<}
以上程序运行后的输出结果为( )。
B 2520
6、在下面循环语句中内层循环体S语句的执行总次数为( )。
for(inti=0;i for(intj=i;jD n(n+1)/2
7、在下面循环语句中循环体执行的次数为( )。
inti=0,s=0;while(s<20){i++;s+=i;}
C 6
8、
#include
voidmain(){
intn=10,y=1;
while(n--){y++;++y;}
cout<<”y*y=”<}
y*y=441
以上程序运行后的输出结果为( )。
D y*y=441
9、在下面循环语句中循环体执行的次数为( )。
inti=0;doi++;while(i*i<10);
A 4
10、当处理特定问题时的循环次数已知时,通常采用()来解决。
A for循环
11、循环体至少被执行一次的语句为()。
C do循环
12、do语句能够改写为()语句。
D while
1、在下面的一维数组定义中,哪一个有语法错误。
()C inta[]
2、要定义一个int型一维数组art,并使其各元素具有初值89,-23,0,0,0,错误的定义语句是()。
B intart[]={89,-23}
3、已知数组a定义为inta[5]={3,6,9};,则a[1]的值为()。
B 6
4、#include
voidmain()
{
inta[8]={25,64,38,40,75,66,38,54};
intmax=a[0];
for(inti=1;i<8;i++)
if(a[i]>max)max=a[i];
cout<<"max:
"< }
以上程序运行后的输出结果为( )。
D 75
5、
#include
voidmian(){
inta[10]={12,39,26,41,55,63,72,40,83,95};
inti0=0,i1=0,i2=0;
for(inti=0;i<10;i++)
switch(a[i]%3){
case0:
i0++;break;
case1:
i1++;break;
case2:
i2++;
}
cout<}
以上程序运行后的输出结果为( )。
C 424
6、#include
voidmain(){
inta[8]={36,73,48,14,55,40,32,66};
intb1,b2;
b1=b2=a[0];
for(inti=1;i<8;i++)
if(a[i]>b1){
if(b1>b2)b2=b1;
b1=a[i];
}
cout<}
以上程序运行后的输出结果为( )。
C 7336
7、#include
voidmain(){
inta[10]={73,83,54,62,40,75,80,92,77,84};
intb[4]={60,70,90,101};
intc[4]={0};
for(inti=0;i<10;i++){
intj=0;
while(a[i]>=b[j])j++;
c[j]++;
}
for(i=0;i<4;i++)cout<cout< }
以上程序运行后的输出结果为( )。
A 2161
1、在下面的二维数组定义中,错误的是()。
D intr[][5];
2、假定一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为()。
C 6
3、假定一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为()。
A 0
4、
#include
constintM=3,N=4;
voidmain()
{
inta[M][N]={{7,5,14,3},{6,20,7,8},{14,6,9,18}};
inti,j;
for(i=0;i for(j=0;j cout< cout< }
}
以上程序运行后的输出结果为( )。
B
5、
#include
voidmain()
{
intb[2][5]={{7,15,2,8,20},{12,25,37,16,28}};
inti,j,k=b[0][0];
for(i=0;i<2;i++)
for(j=0;j<5;j++)
if(b[i][j]>k)k=b[i][j];
cout< }
以上程序运行后的输出结果为( )。
C 37
6、
#include
voidmain(){
inta[3][4]={{1,2,7,8},{5,6,11,12},{24,10,3,4}};
intm=a[0][0];
intii=0,jj=0;
for(inti=0;i<3;i++)
for(intj=0;j<4;j++)
if(a[i][j]>m){m=a[i][j];ii=i;jj=j;}
cout<}
以上程序运行后的输出结果为( )。
B 2024
1、'A'和“A”是完全不同的两个数据。
()A 正确
2、字符串“string”的长度为7。
()B 错误
3、chara[10]=”array”;和chara[10]={'a','r','r','a','y','\0'};是完全等价的。
()A 正确
4、以下字符串的定义中,错误的是()。
D a=”struct”;
5、
#includevoidmain(){chara[]=”aabcdaabacabfgacd”;inti1=0,i2=0,i=0;while(a[i]){if(a[i]=='a')i1++;if(a[i]=='b')i2++;i++;}cout<以上程序运行后的输出结果为(}?
<6、
B 53222
7、将两个字符串连接起来组成一个字符串时,选用()函数。
C strcat()
1、以下的函数定义中,错误的是()A voidf1(void)
2、以下的说明中,函数定义错误的是()D doublef(doubled){cou<3、C++中函数返回值的类型是由()决定的。
B 该函数定义时的类型
4、每一个形式参数就是一个()。
C 变量
5、无返回值的函数,在函数定义时没有类型修饰符。
B 错误
6、从下列函数原形看,返回值类型为int的函数有()。
B intF2(charn);
1、如果一个函数作为表达式被调用,则该函数必须是()。
A 有返回值的函数
2、如果一个函数无返回值,则只能作为()被调用。
B 语句
3、函数调用不可以()。
D 作为一个函数的形参
4、以下正确的描述是()。
B 函数的定义不可以嵌套,函数的调用可以嵌套
5、已知intf(int);和intg(int);是函数f和g的原形。
下列语句中,将函数f作为语句调用的是()。
D f(g(3));
6、函数调用func((exp1,exp2),(exp3,exp4,exp5))中所含实参的个数为()个。
B 2
1、以下说法中正确的是()。
B C++程序总是从main函数开始执行
2、已知函数fun的原形是fun(chara,intb);下列调用中正确的是()。
C fp(‘A',1)
3、对于某个函数调用,不给出被调用函数的原形的情况是()。
C 函数的定义在调用处之前
4、下列说法中正确的是()。
B 函数原形的作用是提供函数调用所需的接口信息,因此必须位于调用处之前。
5、已知一函数的定义是:
voidff(doubled){cout<<)ff(double);。
(>A 正确
6、以下正确的函数原形语句是()。
C doublefun(int,int);
7、函数原形语句正确的是()。
B voidFunction(int);
1、以下正确的描述是()。
C 设置参数的默认值时,应该设置右边的参数
2、已知函数fun的原形是fun(chara,intb=1);下列调用中正确的是()。
A fun(‘A')
3、已知函数fp的原形是intfp(charc,intk=0,char*d=0);下列调用中正确的是()。
B fp(‘A',4,”ABC”)
4、
#include
voidLC(inta,intb){
intx=a;
a=b;b=x;
cout<}
voidmain(){
intx=15,y=36;
LC(x,y);
cout<}
以上程序的运行结果是( )。
B
36└┘15
15└┘36
1、在程序中使用内联函数使程序的可读性变差。
()B 错误
2、为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()。
A 内联函数
1、以下叙述中不正确的是()。
C 函数必须有返回值
2、函数重载是指()。
A 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
3、采用重载函数的目的是()。
D 使用方便,提高可读性
4、已知系统中已定义函数fp,其原形是:
intfp(charc,intk=0,doubled=100.0);则下列函数中可以加以重载的是()。
D intfp(char,int,int);
1、关于局部变量,下面说法正确的是()。
C 定义该变量的复合语句中的定义处以下的任何语句都可以访问
2、关于全局变量,下列说法正确的是()。
D 全局变量可用与函数之间传递数据。
3、
#include
voidmain(){
inta=10,b=20;
cout< {a*=4;
intb=a+35;
cout< }
cout<}
以上程序的运行结果是( )。
A
1020
4075
4020
1、以下关于函数模板叙述正确的是()。
C 通过使用不同的类型参数,函数模板可以生成不同类型的函数
1、假定变量m定义为“intm=7;”,则定义变量p的正确语句为()。
B int*p=&m;
2、假定k是一个double类型的变量,则关于变量p的正确定义语句为()。
D char*p=”Thankyou!
”;
3、若定义了函数double*function(),则函数function的返回值为()。
B 实数的地址
1、若正常执行了语句int*pd,d;pd=&d;*pd=5;cout<<*pd<<''<<5。
(>A 正确
2、假定p所指对象的值为28,p+1所指对象的值为62,则*p++的值为()。
A 28
3、假定p所指对象的值为28,p+1所指对象的值为62,则*++p的值为()。
C 62
4、假定p所指对象的值为25,p+1所指对象的值为50,则执行“(*p)++;”语句后,p所指对象的值为()。
B 26
5、假定p所指对象的值为25,p+1所指对象的值为50,则执行“*(p++);”语句后,p所指对象的值为()。
C 50
1、假定一条定义语句为“inta[10],x,*pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为()。
D x=*pa+3;
2、假定变量a和pa定义为“doublea[10],*pa=a;”,要将12.35赋值给a中的下标为5的元素,不正确的语句是()。
D *(a[0]+5)=12.35;
3、假定变量b和pb定义为“intb[10],*pb=b;”,要将24赋值给b[1]元素中,不正确的语句是()。
C *++b=24;
4、
#include
voidmain(){
inta[8]={7,9,11,13,3,8,15,17};
int*p=a;
for(inti=0;i<8;i++){
cout<if((i+1)%4==0)cout<}
}
以上程序的运行结果为( )。
A
└┴┴┴┘7└┴┴┴┘9└┴┴┘11└┴┴┘13└┴┴┴┘3└┴┴┴┘8└┴┴┘15└┴┴┘17
5、
#include
voidmain(){
inta[5]={3,6,15,7,20};
int*p=a;
for(inti=0;i<5;i++)
cout<cout<for(i=0;i<5;i++)
cout<cout<}
以上程序的运行结果为( )。
A
└┴┴┴┘3└┴┴┴┘6└┴┴┘15└┴┴┴┘7└┴┴┘20└┴┴┘20└┴┴┴┘7└┴┴┘15└┴┴┴┘6└┴┴┴┘3
6、
#include
voidmain(){
int