inta=3,b=5,c=7;
if(a>b)a=b;c=a;
if(C!=a)C=b;
printf(”%d,%d,%d\n”,a,b,c);
其输出的结果是( )。
A.程序段有语法错B.3,5,3C.3,5,5D.3,5,7
参考答案:B
参考解析:如果if判断条件成立时就执行其后的相关语句,否则不执行,第一个if条件a>b不成立,故不执行“a=b”,接着执行“c=a”,把a的值赋给c后,此时第二个if条件不成立,故不执行其后语句,最终点c的值为3。
2[单选题] 与语句cout<
A.cout <<’\n’;B.cout<<‘\l2’:C.cout <<’\xA’;D.cout<<‘\0’:
参考答案:D
参考解析:题干表示的是回车换行,选项A、B、c都表示回车换行,而选项D是字符串的结尾标志。
3[单选题]类O定义了私有函数F1。P和Q为O的派生类,定义为class P: protected O{…};class Q: public O{…}。( )可以访问Fl。
A.O的对象 B.P类内 C.O类内 D.Q类内
参考答案:C
4[单选题]以下程序的输出结果是
#include(iostream. h>
void reverse(int a[],int n)
{ int i,t;
for(i=0;;
{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}
}
void main()
{ int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;
reverse(b,8);
for(i=6;i <10;i++)s+=b[i];
cout <
}
A.22 B.10 C.34 D.30
参考答案:A
5[单选题]列选项,不正确的是
A.for(int a=1;a<=10;a++); B.int a=1;
do
{
a++;
}while(a<=10) C.int a=1:
while(a<=10)
{
a++;
} l D.for(int a=1;a<=10;a++)a++;
参考答案:B
7[单选题]有如下程序:
#include
using namespace std;
class AA{
int n;
public:
AA(int k):n(k){ }
int get( ){ return n;}
int get( )const{ return n+1;}
};
int main( )
{
AA a(5);
const AA b(6);
cout <
}
执行后的输出结果是( )
A.55 B.57 C.75 D.77
参考答案:B
8[单选题] 决定c++语言中函数的返回值类型的是( )。
A.return语句中的表达式类型
B.调用该函数时系统随机产生的类型
C.调用该函数时的主调用函数类型
D.在定义该函数时所指定的数据类型
参考答案:D
参考解析:c++语言中,在定义该函数时所指定的数据类璎决定函数的返回值类型。
9[单选题] C++中的模板包括( )。
A.对象模板和函数模板
B.对象模板和类模板
C.函数模板和类模板
D.变量模板和对象模板
参考答案:C
10[简答题]使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*sl,char*s2)的空出部分。函数fun(char*s1,char*s2)的功能是将在字符串s1中下标为偶数的字符,紧随其后重复出现一次,放在一个新串s2中,s2中字符按原字符串中字符的顺序排列。(注意0为偶数)
例如:当s1中的字符串为“abcdef”时,s2中的字符串应为“aaccee”。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include(iostream.h)
voidfun(char*s1,char*s2)
{
}
voidmain()
{
charsi[100】,s2【1OO];
cout<<"Pleaseenterstringstrin9:"<
cin.getline(s1,100);
fun(s1,s2);
cout<<"Theresultis:"<
return;
}
参考解析:
inti;
for(i=0;s1[i]!=0;i++)//循环判断每一个字符
{
if(i%2==0)//判断字符串中下标为偶数位置
{
s2[i]=s1[3];
s2[i+1]=s1[i];
s2[i+2]='\0';//新串添加尾符
}
}
【解析】判断一个字符串中的某一个字符下标i是否为偶数,可用“i%2==0”来判断。对串s1中各个字符串逐个进行考查,满足条件的字符就顺序放在新串s2中,否则就不存放。所有字符处理完成后,记得在新串s2的末尾加上结束符“'\0'。