有如下程序: #include <stdio.h> void get_put() {  char ch;  ch=get

题目
单选题
有如下程序: #include  void get_put() {  char ch;  ch=getchar();  if(ch!='')get_put();  putchar(ch); } main() {  get_put();  printf(); } 程序运行时,输入1234<回车>,则输出结果是(  )。
A

1234

B

4321

C

4444

D

1111

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

第1题:

有以下程序 include main(){FILE *fp;int i; char ch[]="abcd",t; fp=fopen("abc.dat"

有以下程序 #include <stdio.h> main() {FILE *fp; int i; char ch[]="abcd",t; fp=fopen("abc.dat","wb++"); for(i=O;i<4;i++)fwrite(&ch[i],1,1,fp); fseek (fp,-2L,SEEK_END); fread (&t,1,1,fp); fclose (fp); printf ("%c\n",t); } 程序执行后的输出结果是______。

A.d

B.c

C.b

D.a


正确答案:A
解析:此题考核的是文件的读写,定义—个FILE类型结构体的指针fp,以“可以由位置函数设置读和写”方式打开一个 abc.dat文件,并向文件输入数组变量ch指向的字符串,则文件内的内容为“abcd”,执行fseek函数,则文件类型指针fp指向文件尾向前移动2个字节的位置处,即指针指向“b”,所以最后的输出结果为b,答案选C。

第2题:

在执行以下程序时,如果从键盘上输入ABCdef<回车>,则输出为______。include main(){char

在执行以下程序时,如果从键盘上输入ABCdef<回车>,则输出为______。#include <stdio.h>main (){ char ch; while ((ch=getchar())!="\n") { if (ch>='A'&& ch<='B')ch=ch+32; else if (ch>='a'&& ch<='z')ch=ch-32; printf("%c",ch); } printf("\n");}

A.ABCdef

B.abcDEF

C.abc

D.DEF


正确答案:B

第3题:

下列程序的输出结果是______。 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

第4题:

请编写函数fun(),它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。

例如,若输入字符串123412132,输入字符1,则输出3。

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

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

试题程序:

include<coio.h>

include<stdio.h>

define M 81

int fun(char *ss,char c)

{

}

main()

{ char a[M],ch;

clrscr();

printf("\nPlease enter a string:");

gets(a);

printf("\nPlease enter a char:");

ch=getchar();

printf("\nThe number of the char is:%d \n",fun(a,ch));

}


正确答案:int fun(char *sschar c) { int i=0; for (;*ss!='\0';ss++) if(*ss==c) i++; /*求出ss所指字符串中指定字符的个数*/ return i; }
int fun(char *ss,char c) { int i=0; for (;*ss!='\0';ss++) if(*ss==c) i++; /*求出ss所指字符串中指定字符的个数*/ return i; } 解析:从字符串ss中找出子字符串的方法是:从第1个字符开始,对字符串进行遍历:若ss串的当前字符等于t串的第1个字符,两字符串的指针自动加1,继续比较下一个字符;若比较至字符串的结尾,则跳出循环;若“串的字符和c串的字符不对应相同,则继续对,s串的下一个字符进行处理。本程序是采用逐一比较的方式找出出现的次数。循环的作用是在串中从左到右逐一走动,if()的作用是进行判断是否相同,若与c相同则表示又出现一次.

第5题:

有以下程序:includeunion pw{int i; char ch[2];}a;main(){a.ch[0]=13;a.ch[1]=0;prin

有以下程序: #include<stdio.h> union pw { int i; char ch[2]; }a; main() { a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是( )。

A.13

B.14

C.208

D.209


正确答案:A
解析:在本题中,首先定义了一个共用体pw,其中有两个域:整型变量i和字符数组ch。因为共用体中的域是共享内存空间的,数组元素由低到高存储:ch[0]在低字节;ch[1]在高字节;整型变量i占两个字节,高位与ch[1]共用存储空间,低位与ch[0]共用存储空间,而高位ch[1]的值为0,所以输出的成员变量i的值就是ch[0]的值13。

第6题:

从键盘上输入XXYYZZXYZWXP和X,以下程序的输出结果是【】。 include include

从键盘上输入XXYYZZXYZWXP和X,以下程序的输出结果是【 】。

include<iostream.h>

include<string.h>

void main(){

char*str,ch;

int count=0,pos;

cin>>str>>ch;

pos=strlen(str)-1;

while(pos>=0){

if((str[pos])=ch)count++;

pos--;

}

cout<<"count="<<count;

}


正确答案:count=4
count=4

第7题:

执行下面的程序时,输入abc(其中CR代表回车),输出结果是()。includeinclude

执行下面的程序时,输入abc<CR>(其中CR代表回车),输出结果是( )。 #include<stdio.h> #include <string.h> main() { char ch; while((cn=getchar())!='n') { switch(ch-'a') { case 0: putchar(ch+1); case 1:putchar(ch+1);break; case 2:putchar(ch+2); caSe 3:putchar(ch+2);break; } } }

A.abc

B.bbc

C.abcd

D.bbcee


正确答案:D
解析:当ch='a'时,ch-'a'=0,进入case0分支输出b,再进入case1分支输出b,然后结束本次循环。当ch='b'时,'b'-'a'=1,进入case1分支输出c,然后结束本次循环。当ch='c'时,'c'-'a'=2,进入case2分支输出e,再进入case3分支输出e,然后结束次循环。遇到'-n'结束循环。显示输出为bbcee。

第8题:

使用VC6打开考生文件夹下的工程test11_1,此工程包含一个源程序文件test11_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:

ch1=7 ch2=9

源程序文件test11_1.cpp清单如下:

include<iostream.h>

class Sample

{

/**************** found ***************/

char ch1,ch2

public:

/************** found ***************/

friend void set(Sample s, char c1,char c2)

{

s.ch1=c1;

s.ch2=c2;

}

void print() {cout<<"ch1="<<" ch2="<<ch2<<end1;}

};

void main()

{

Sample obj;

/************* found ****************/

obj.set(obj,'7','9');

obj.print();

}


正确答案:(1)错误:char ch1ch2 正确:char ch1ch2; (2)错误:friend void set(Sampleschar c1char c2) 正确:friend void set(Sample &schar c1char c2) (3)错误:obj. set(obj'7''9'); 正确:set(obj'7''9');
(1)错误:char ch1,ch2 正确:char ch1,ch2; (2)错误:friend void set(Samples,char c1,char c2) 正确:friend void set(Sample &s,char c1,char c2) (3)错误:obj. set(obj,'7','9'); 正确:set(obj,'7','9'); 解析:(1)主要考查考生对于变量定义格式的掌握,结尾应该使用“;”;
(2)主要考查考生对于传值调用与引用调用区别的掌握,为了改变对象的值,在这里应该使用引用调用;
(3)主要考查考生对于友元函数概念的理解,友元函数而不是当前类的成员函数,而是独立于当前类的外部函数,在使用时应该直接调用不需要使用对象访问。

第9题:

以下程序的输出结果是()。includecharcchar(chareh){if(ch>='A,&&ch<='Z')ch=c

以下程序的输出结果是( )。 #include <stdio.h> charcchar(char eh) { if(ch>='A,&&ch<='Z') ch=ch-'A'+'a'; return ch; } main() { char s[]="ABC+abc=defDEF",*p=s; while(*p) { *p=cchsr(*p); p++; } printf("%s\n",s); }

A.abc+ABC=DEFdef

B.abc+abc=defdef

C.abcABCDEFdef

D.abcabcdefdef


正确答案:B
解析:本题中cchar函数的作用是:如果参数ch是大写字母,则将它转换成小写字母,而对大写字母以外的字符不起作用。

第10题:

有如下程序:includevoid main( ){char ch[2] [5] ={"6937","8254"},* p[2] ;int i,

有如下程序: #include<iostream.h> void main( ) { char ch[2] [5] ={"6937","8254"},* p[2] ; int i,j,s=0; for(i=0;i<2;i++) p[i] =ch[i] ; for(i=0;i<2;i++) for(j=0;p[i] [j] >'\0';j+=2) s=10 * s+p[i] [j] -'0'; cout < < s;} 该程序的输出结果是

A.69825

B.63825

C.6385

D.693825


正确答案:C
解析:该题主要搞清楚以下几点:①定义了一个指针数组char * P[2] 后,程序中第一个循环for(i=0;i2;i++) p[i] =ch[i] ;的作用是使指针数组的p[0] 元素(它本身是一个指针) 指向了二维数组ch的第一行字符串,并使指针数组的p[1] 元素指向了二维数组ch的第二行字符串,这样,就使指针数组p和二维数组ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式:ch[i] [j] 或p[i] [j] 。②对二维数组ch的初始化,使其第一行ch[0] 中存入了字符串“6937”,第二行ch[1] 中的内容为字符串“8254”。③程序中第二个循环中的循环体s=s * 10+p[i] [j] -'0';的功能是这样的,每执行一次,将s中的值乘以10(也即,将s中的数值整体向左移动一位,并在空出来的个位上添一个0) ,再将当前P[i] [j] 中的字符量转换为相应的数字,然后把这个数字加到s的个位上。④注意到内层循环的循环条件 p[i] [j] >'\0'是指p[i] [j] 中的字符只要不是字符串结束标志'\0'就继续循环,语句j+=2;是使下标j每次增加2,也即一个隔一个地从p[i] 所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从 P[0] 所指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从p[1] 所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果s中的值应该是6385。

更多相关问题