有以下程序:#include <iostream>using namespace std;int main ( ){ char s1[10],s2[10]; char*p

题目
有以下程序:include using namespace std;int main ( ){ char s1[10],s2[10]; char*p

有以下程序: #include <iostream> using namespace std; int main ( ) { char s1[10],s2[10]; char *p=s1,*q=s2; cin>>s1>>s2; while (*p ! =' \0 ' ) p++; while (*q!='\0') *p++=*q++; *p='\0'; cout<<s1<<end1; return 0; }

A.abcd0ghij

B.abcd0ghij0

C.abcd

D.abcdghij

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有以下程序段: include using namespace std; int main() {char*p="abcdefgh",*r;l

若有以下程序段:

include <iostream>

using namespace std;

int main()

{

char*p="abcdefgh",*r;

long*q;

q=(long*)p;q++;

r=(char*)q;

cout<<r<<end1;

return 0;

}

该程序的输出结果是【 】。


正确答案:efgh
efgh 解析:本题定义了一个字符型指针变量p,并通过赋初值让它指向了一个字符串,还定义了另一个字符型指针变量r和一个长整型指针变量qo首先通过语句“a=(long*)p;”,把p的地址值强制转换为长整型地址值并赋值给q,然后执行“q++;”,地址值增加了4,执行语句“F(char*)q;”,把长整型指针变量q的值再强制转换成字符型地址值并赋给r,r的值应为字符串中字符“e”的地址。最后输出r指向的字符串。

第2题:

下列程序的输出结果是()。includeusing namespace std;int main()于chara[]=”Hello,Te

下列程序的输出结果是( )。 #include<iostream> using namespace std; int main() 于 chara[]=”Hello,Test”; Char*p=a; while(*p) { if(*p)=’a’&&*p(=’z’) cout<<char(*p+’A’-’a’); else cout<<*p; p++; } return 0; }

A.hello,test

B.Hello,Test

C.HELLO,TEST

D.hELLO,tEST


正确答案:C
解析: 用一个指针变量p指向字符数组a,在while循环中,当不指向数组尾时,将小写字母转换为大写字母!然后将其输出。

第3题:

以下程序的输出结果是【】。 include using namespace std; int main() {char S[]="abcde

以下程序的输出结果是【 】。

include <iostream>

using namespace std;

int main()

{

char S[ ]="abcdef";

s[3]='\0';

cout<<s<<end1;

return 0;

}


正确答案:abc
abc 解析:字符串的结束标记是'\0',当输出一个存放在字符数组中的字符串时,只需输出到'\0'为止,而不管其后还有什么数据。本题给字符数组s的元素s[3]赋值'\0',故只能输出3个字符“abc”。

第4题:

有以下程序: include using namespace std; char *x[]={"First", "Second", "Third"

有以下程序: #include <iostream> using namespace std; char *x[]={"First", "Second", "Third" }; void f(char *z[ ]) { cout<<*z++<<end1; } int main ( ) { char **y; y=x; f(y); return 0; }

A.产生语法错误

B.First

C.Secpnd

D.Third


正确答案:B
解析:程序首先定义全局指针数组x,并赋初值。在函数f()中,语句“cout*z++end1;”是输出*z指向的字符串,然后指向下一个指针。由于在主函数中,指针y已初始化指向指针数组x,所以执行f(y)后,程序输出指针数组x中的第一个字符串"First"。

第5题:

有以下程序: include using namespace std; int main() {int i=010,j=10;cout<<(++i)

有以下程序:

include <iostream>

using namespace std;

int main()

{

int i=010,j=10;

cout<<(++i)<<","<<i--<<end1;

return 0;

}

则该程序运行后的输出结果是【 】。


正确答案:910
9,10 解析:本题考核自增运算符和自减运算符的使用以及常量的表示形式。程序中i的值是八进制,代表十进制中的8,++i是在语句运算前自身加1,而j--是在语句运算结束后减1。

第6题:

有以下程序: include using namespace std; constxntN=5; int fun(char*s,char a,int

有以下程序:

include <iostream>

using namespace std;

const xnt N=5;

int fun(char *s,char a,int n)

{

int j;

*s=a;j=n;

while(a<s[j])

j--;

return j;

}

int main()

{

char s[N+1];

int k;


正确答案:3
3 解析:函数fun()的功能是在字符数组s中找到大于或等于字符a第1个元素,并返回其下标值。在主函数中,通过for循环给字符数组s分别赋值B、C…J。然后通过调用函数fun(),找到字符'E'的位置。

第7题:

有如下程序: include using namespace std; int main() { char st

有如下程序: #include <iostream> using namespace std; int main() { char str[100], *p; cout<<"Please input a string:"; cin>>str; p=str; for (int i=0; *p!='\0'; p++,i++); cout<<i<<endl; return 0; }运行这个程序时,若输入字符串为 abcdefgabcd则输出结果是

A.7

B.12

C.13

D.100


正确答案:A
解析:本题考查的知识点是:默认的输入格式。C++流所识别的输入数据的类型及其默认的输入格式包括:
short、int、long(signed、unsigned).与整型常量同
float、double、long double:与浮点数常量同
char(signed、unsigned):第一个非空白字符
char*(signed、unsigned):从第一个非空白字符开始到下一个空白字符结束
void*:无前缀的16进制数
bool:VC6.0中把0识别为false,其他的值均识别为true
注意其中空白字符和非空白字符的概念。空白字符是指空格、Tab符、回车换行等无显示的字符,否则就是非空白字符。本题的输入数据类型为char*,因此输入的数据是“从第一个非空白字符开始到下一个空白字符结束”,而输入数据为abcdefg abcd,其中abcdefg后有一个空格(空白字符)。所以输入后str中为字符串"abcdefg”,主函数中接下来for语句的作用是计算字符串p的长度。故最终输出的结果是"abcdefg”的长度7,本题应该选择A。

第8题:

下列程序的输出结果是______。 include include using namespace std; voi

下列程序的输出结果是______。

include<iostream.h>

include<string.h>

using namespace std;

void fun(const char*s,char &C) {c=s[strlen(s)/2];}

int main()

{

char str[]="ABCDE";

char ch=str[1];

fun(str,ch);

cout<<ch;

return 0;

}


正确答案:C
C

第9题:

下面程序运行输出的结果是【】。 include using namespace std; int main(){char a[]="C

下面程序运行输出的结果是【 】。

include <iostream>

using namespace std;

int main(){

char a[]="Chinese";

a[3]='\0';

cout<<a<<endl;

return 0;

}


正确答案:Chi
Chi 解析:字符串的结束标识是'\0',输出字符串时,到第一个'\0'输出结束,而不管其后是否还有数据,因此本题输出为字符中的前3个字符。

第10题:

有以下程序includeincludeusing namespace std;class base{private:charbas

有以下程序 #include<iostream> #include<string> using namespace std; class base { private: charbaseName[10]; public: base() { strcpy(baseName,"Base"); } virtual char*myName() return baseName; } char *className() { return baseName; } }; class Derived: public base { private: char derivedName[10]; public: Derived() { strcpy(derivedName,"Derived"); } char *myName() { return derivedName; } char *className() { return derivedName; } }; void showPtr(base &p) { cout<<p.myName0<<" "<<p.className(); } int main() { base bb; Derived dd; showPtr(dD) ; retum 0; } 动行后的输出结果为

A.Derived Base

B.Base Base

C.Derived Derived

D.Base Derived


正确答案:A
解析:本题考核虚函数的应用。类Derived是从基类Base公有派生而来的。因此,Derived是基类Base的子类型。main()函数中定义了一个基类对象bb和一个派生类对象dd。从程序中可看出派生类Derived的对象dd交给了处理基类Base的对象的函数showPtr进行处理。由于在基类中函数myName被定义成虚函数。所以在函数showPtr中调用的myName函数为派生类的成员函数myName,从而输出Derived。然后输出className,即基类名称Base。

更多相关问题