C++语言程序设计

单选题有如下语句序列:char str[10];cin>>str;当从键盘输入“I love this game”时,str中的字符串是(  )。A “I love this game”B “I love thi”C “Ilove”D “I”

题目
单选题
有如下语句序列:char str[10];cin>>str;当从键盘输入“I love this game”时,str中的字符串是(  )。
A

“I love this game”

B

“I love thi”

C

“Ilove”

D

“I”

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

第1题:

设有定义char str[80];以下不能将输入数据first\nsecond\n读取到数组str中的语句是

A.ein.get(str,strlen(str));

B.cin.getline(str,strlen(str));

C.cin>>str;

D.cin.read(str,strlen(str));


正确答案:D
解析:本题考察cin流对象的几种成员函数get,getline,read及流提取符>>的使用规则。

第2题:

设有定义char str[80];以下不能将输入数据first\nsecond\n读取到数组str中的语句是A.cin.get

设有定义char str[80];以下不能将输入数据first\nsecond\n<CR>读取到数组str中的语句是

A.cin.get(str, strlen(str));

B.cin.getline(str,strlen(str));

C.cin>>str;

D.cin.read(str, strlen(str));


正确答案:D
解析:本题考察cin流对象的几种成员函数get,getline,read及流提取符>>的使用规则。

第3题:

当运行以下程序时,输入 abcd ,程序的输出结果是 : 【 9 】 。

insert(char str[])

{ int i;

i=strlen(str);

while(i>0)

{ str[2*i]=str[i];str[2*i-1]='*'; i--;}

printf(" % s\n",str);

}

main()

{ char str[40];

scanf(" % s",str);insert(str);

}


正确答案:
(9) 【 9 】 a*b*c*d*
解析 : 在子程序中 , 如果条件成立 , 则执行下面的语句 , 如果不成立 , 跳过。最后的输出结果 是a*b*c*d* 。

第4题:

阅读下列程序,当运行函数时,输入asd af aa z67,则输出为

#include

#include

#include

int fun (char *str)

{ int i,j=0;

for(i=0;str[i]!=′\0′;i++)

if(str[i]!=′ ′)str[j++]=str[i];

str[j]= ′\0′;

}

main()

{

char str[81];

int n;

clrscr();

printf("Input a string : ");

gets(str);

puts(str);

fun(str);

printf("%s\n",str);

}

A.asdafaaz67

B.asd af aa z67

C.asd

D.z67


正确答案:A

第5题:

请补充函数fun(),该函数的功能是:把ASCII码为奇数的字符从字符串str中删除,结果仍然保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数fun()。

例如,输入“abcdef”,输出“bdf”。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

试题程序:

include <stdio.h>

define N 80

void fun(char s[],int n)

{

int i, j;

j=0;

for(i=0;【 】;i++)

{

if(【 】)

s [j++]-s [i];

}

【 】;

}

main ( )

{

int i=0, strlen=0;

char str [N];

clrscr ();

printf ("\nInput a string: \n");

gets (str);

while (str [i] !='\0')

{

strlen++;

i++;

}

fun(str, strlen);

printf("\n*** display string ***\n");

puts (str);

}


正确答案:in s[i]%2=0 s[j]= '\0'
in s[i]%2=0 s[j]= '\0' 解析:第一空:变量n为字符串的长度,所以字符数组的下标的取值范甲是从0到n-1。第二空:如果当前字符的ASCII码对2取余等于0,就说明这个字符的ASCII码为偶数,故不能删除,而是将它存于字符串s中。第三空:通过保留ASCII码为偶数的字符的力法,来实现删除ASCII码为奇数的字符的目的。处理结束后,还要在字符串s的最后加上结束标记符'\0'。

第6题:

下列程序的运行结果为()。 include voidabc(Char*str) {inta,b,i,j; for(i=j=0;str[i]!

下列程序的运行结果为( )。

#include<stdio.h>

voidabc(Char*str)

{ inta,b,i,j;

for(i=j=0;str[i]!='\0';i++)

if(str[i]!='a')

str[j++]=str[i];

str[j]='\0';

}

void main()

{ char str[]="abcdef";

abc(str);

printf("str[]=%s",str);

}

A.str[]=bcdef

B.str[]=abcdef

C.str[]=a

D.str[]=ab


正确答案:A
解析:本题考查函数调用时的参数传递。通过函数 abc的执行,将字符串中的字母a去掉,保留剩下的。由于是通过指针调用,所以改变字符串的结果。

第7题:

strcmp函数的功能是【9】 。

正确答案: 1.(字符串的比较)

(10)以下程序段中,错误的行号是【10】 。

① #include

② main ()

③ { char str [14];str []={" I love China"};

④printf ("%s",str);

⑤ }


正确答案:
3行

第8题:

请编写一个函数int CalcDigital(char *str),该函数可返回字符串str中数字字符(即0~9这10个数字)的个数,如字符串“olympic2008”中数字字符的个数为4。请用if条件判断语句与for循环语句来实现该函数。

注意:部分源程序已存在文件test9_2.cpp中。

请勿修改主函数main和其他函数中的任何内容,仅在函数find的花括号中填写若干语句。

文件test9_2.cpp的内容如下:

include<iostream.h>

include<string.h>

int CalcDigital(char*str);

void main()

{

char *str;

str=new char[255];

cout<<"输入字符串:";

cin>>str;

int num=CalcDigital(str);

cout<<str<<":"<<num<<endl;

}

int CalcDigital(char *str)

{

}


正确答案:int CalcDigital(char *str) { if(str==NULL) return 0; int num_of_digital=0; int len=strlen(str); for(int i=O;ilen;i++) if(str[i]='9' && str[i]>='0') num_of_digital++; return mum_of_digital; }
int CalcDigital(char *str) { if(str==NULL) return 0; int num_of_digital=0; int len=strlen(str); for(int i=O;ilen;i++) if(str[i]='9' && str[i]>='0') num_of_digital++; return mum_of_digital; } 解析:本题考查的是考生对于if条件判断语句与for循环语句的熟练使用程度。注意判断条件(判断是否是数字是直接比较ASCH码)的使用。

第9题:

执行语句序列

char strl[10]="ABCD",str2[10]="XYZxyz";

for (int i=0; strl[i]=str2[i]; i++)

后,数组str1中的字符是XYZxyz,数组str2中的字符串是【 】。


正确答案:XYZxyz
XYZxyz 解析:注意for的循环体为空语句,其第二个表达式为一个赋值语句而不是一个逻辑表达式语句。因此,for循环的作用实际上是将str2的字符逐个赋值给str1中的对应位置。

第10题:

下列程序的运行结果为()。includevoidabc(char*str){int a,b,i,j;for(i=j=0;str[i]!='\

下列程序的运行结果为( )。

#include<stdio.h>

voidabc(char*str)

{int a,b,i,j;

for(i=j=0;str[i]!='\0';i++)

if(str[i]!='a')

str[j++]=str[j];

str[j]='\0';

}

void main()

{char Str[]="abcdef';

abc(str);

printf("str[]=%s",str);

}

A.str[]=bcdef

B.str[]=abcdef

C.str[]=a

D.str[]=ab


正确答案:A
解析: 本题考查函数调用时的参数传递。通过函数abc的执行,将字符串中的字母a去掉,保留剩下的。由于是通过指针调用,所以改变字符串的结果。

更多相关问题