更多“有以下程序#include <stdio.h>main(){ char ch[]=uvwxyz,*pc; pc=ch; ”相关问题
  • 第1题:

    在执行以下程序时,如果从键盘上输入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

  • 第2题:

    有以下程序: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。

  • 第3题:

    有以下程序: include point ( char * p) {p + = 3; }main( ) char b[4] = {'a','b','c

    有以下程序: #include <stdio.h>point ( char * p) { p + = 3; }main( ) char b[4] = {'a','b','c','d'} , *p=b; point(p); printf( "% c \n" , * p);

    A.a

    B.b

    C.c

    D.d


    正确答案:A
    解析:C函数的参数传递方式采用按值传递,不能通过调用函数改变形参指针本身的值,只能改变指针所指变量的值。调用point函数时,将实参指针p的值(b数组的首地址)传给了形参指针P,P+=3运算使形参指针指向字符d,但并不能改变main函数中p的值,所以本题正确答案应该是选项A)。

  • 第4题:

    下列程序运行时,若输入labcedf2df<回车>输出结果为【】。 include main(){char a=0,ch; wh

    下列程序运行时,若输入labcedf2df<回车>输出结果为【 】。

    include<stdio.h>

    main()

    { char a=0,ch;

    while((ch==getchar())!='\n')

    { if(a%2!=0&&(ch>='a'&&ch<='z')) ch=ch'a'+'A';

    a++;prtchar(ch);

    }

    printf("\n");

    }


    正确答案:1AbCeDf2dF
    1AbCeDf2dF 解析:本题的执行过程是先从键盘上获得—个字符,判断是不是换行符,如果不是则继续执行循环体,再判断字符变量 a是否是偶数以及是否是小写字母,如果a不是偶数且输入的字符为小写字母,则将其转换成大写字母,接着执行a++;语句,变量a自增1,输出字符,因此本题的输出结果为1AbCeDF2dF(a相当于用来记录当前的顺序,即是第偶数个字符还是第奇数个字符)。
    字符位数:0 123456789
    输入字符:1 abcedf2df
    输出字符:1 AbCeDf2dF

  • 第5题:

    下列程序(注意:ch[0]在低字节,ch[1]在高字节)的输出结果是______。includeunion pw{int

    下列程序(注意:ch[0]在低字节,ch[1]在高字节)的输出结果是______。#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

  • 第6题:

    下列程序从名为filea.dat的文本文件中逐个读入字符并显示在屏幕上。请填空。 include mai

    下列程序从名为filea.dat的文本文件中逐个读入字符并显示在屏幕上。请填空。

    include <stdio.h>

    main()

    { FILE *fp; char ch;

    fp = fopen(【 】);

    ch = fgetc(fp);

    while(!feof(fp)) { putchar(ch); ch=fgetc(fp); }

    putchar("\n"); fclose(fp);

    }


    正确答案:filea.dat"r"
    filea.dat,"r" 解析:本目要求从名为filea.dat的文本文件中逐个读入字符并显示在屏幕上,首先打开filea.dat文件再读取字符,所以空白处应为以读的方式打开文件,所以其内容应该为"filea.dat","r"。

  • 第7题:

    有以下程序:include include using namespace std;int main ( ){ ofstream

    有以下程序: #include <iostream> #include <fstream> using namespace std; int main ( ) { ofstream ofile; char ch; ofile.open ("abc.txt"); cin>>ch; while (ch!='#' ) { cin>>ch; ofile.put(ch);

    A.程序编译时出错

    B.abc#

    C.abc

    D.#


    正确答案:C
    解析:本题程序的功能是将从键盘终端输入的内容存储到指定的文件中。

  • 第8题:

    有以下程序#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.14C.0 D.20


    正确答案:A
    本题主要考查联合体的内容。关于联合体,我们需要注意以下几个特点。
    (1)联合体不允许做初始化赋值,赋值只能在程序中进行。
    (2)由于联合体成员共享存储空间的原因,导致一个联合体变量每次只能给一个成员变量赋值,而且联合体中所有成员的首地址相同,即都是变量的地址。
    (3)联合体的存储空间与其成员变量中所需空间最大的变量保持一致,即联合变量的长度等于各成员中最长的长度。
    在本题中,程序首先定义了一个联合体和一个该联合体的联合体变量a,在主函数中,分别用两条语句给联合体成员赋值,由于ch是一个数组,它的元素仍按普通数组一样排列。程序要求的输出结果是a.i,由于联合体中所有成员的首地址相同,即a.i与a.ch的首地址相同,而在ch中第一个元素为13,因此,输出a.i的结果就为13。本题正确的答案是A。

  • 第9题:

    下面程序的输出结果是______。includemain(){char ch[7]={"12ab56"}; int i,s=0; for(i

    下面程序的输出结果是______。 #include<stdio.h> main() { char ch[7]={"12ab56"}; int i,s=0; for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2) s=10*s+ch[i]-'0'; printf("%d\n",s); }

    A.1

    B.1256

    C.12ab56

    D.1 2 5 6


    正确答案:A
    解析:for语句中的条件表达式决定了循环体只执行一次。因此s=0*10+1,于是输出结果为1。

  • 第10题:

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

    有以下程序: #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); } 程序的输出结果是(注意:ch[0]在低字节,ch[1]在高字节)( )。

    A.13

    B.14

    C.208

    D.209


    正确答案:A
    解析:根据共用体的定义可知:共用体a的成员i和成员ch[2]共用同一段内存空间,所以,当程序给a.ch[0]和a.ch[1]赋值后,实际上,共用体成员i的值就确定为13了,所以打印输出的结果应当为13。

  • 第11题:

    有以下程序:

    #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

  • 第12题:

    单选题
    有以下程序:#include main(){ char ch[3][5] = {AAAA,BBBB,CC}; printf(%s,ch[1]);}程序运行后的输出结果是(  )。
    A

    AAAA

    B

    CC

    C

    BBBCC

    D

    BBBB


    正确答案: C
    解析:
    程序中声明一个3行4列的字符型数组。要求输出ch[1],由于数组下标默认从0开始,故ch[1]为第二行的BBBB。答案选择D选项。

  • 第13题:

    执行下面的程序时,输入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。

  • 第14题:

    以下程序的输出结果是()。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是大写字母,则将它转换成小写字母,而对大写字母以外的字符不起作用。

  • 第15题:

    当执行以下程序时,输入1234567890<回车>,则其中while循环体将执行【 】次。include main()

    当执行以下程序时,输入1234567890<回车>,则其中while循环体将执行【 】次。

    include<stdio.h>

    main()

    { char ch;

    while((ch=getchar())=='0')prinft("");

    }


    正确答案:×
    0 解析:通过getchar()函数来取得从键盘输入的数据,再判断其是否是字符‘0’,如果是,则执行一次循环,因为从键盘输入的1234567890都是整型数,不是字符.所以while循环执行的条件始终不成立,循环体执行的次数为0。

  • 第16题:

    有以下程序 include main() { char a=4; printf("%d/n,a=a

    有以下程序 #include <stdio.h> main() { char a=4; printf("%d/n,a=a<<1); } 程序的运行结果是______。

    A.40

    B.16

    C.8

    D.4


    正确答案:C
    解析:“”是按位左移运算符,左移一位相当于该数乘以2,左移两位相当于该数乘以2的2次方,所以本题相当于将4乘以2,结果为8。

  • 第17题:

    有以下程序: include include using namespace std; int main () {char ch[]

    有以下程序:

    include <fstream>

    include <string>

    using namespace std;

    int main ()

    {

    char ch[] = "The end";

    ofstream outstr( "d:\\put.txt", ios_base: :app);

    for (int i = 0; i < strlen( ch ); i++ )

    outstr.put(ch[i]);

    outstr.close();

    return 0;

    }

    程序实现的功能是【 】。


    正确答案:在文件put.txt的尾部追加写入一串字符
    在文件put.txt的尾部追加写入一串字符 解析:解本题的关键是要了解文件打开模式常量ios_base::app的含义。常量ios base::app表示为添加数据而打开文件(总是在文件尾部写),因此上述程序实现的功能就是在文件尾部写入数组ch中字符串。

  • 第18题:

    以下程序运行后的输出结果是( )。 include main() {char ch[]="abcd",x[4][4];int i; f

    以下程序运行后的输出结果是( )。 include<string.h> main() {char ch[]="abcd",x[4][4];int i; for(i=0;i<4;i++)strcpy(x[i],ch); for(i=0;i<4;i++)printf("%s",&x[i][i]); printf("\n"); }


    正确答案:abcdabcdabcdabcdbcdabcdabcdcdabcdd
    abcdabcdabcdabcdbcdabcdabcdcdabcdd

  • 第19题:

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

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

    A.d

    B.c

    C.b

    D.a


    正确答案:B
    解析:程序首先定义了一个文件指针fp,并使用fopen()函数以"wb+"方式新建一个可读写文件"abe.dat"。然后使用一个for循环,循环变量i从0递增到3,在循环体中每次写入ch[i]的值。所以循环结束时,文件中的内容应该为:abed。接下来程序使用fseek()函数,将文件的读写指针从文件末尾处向后退2个字节,文件末尾是最后一个输出字节的下一个字节,即下次写入数据的位置,所以此时文件读写指针指向的是字符'c'。最后调用ficadO函数从文件中读取1个字节到变量t中。所以最终输出应该为:c。故本题选B。

  • 第20题:

    有以下程序: include main() {char ch1,ch2;int n1,n2;ch1=getchar();ch2=getehar();n1

    有以下程序:

    include <stdio.h>

    main()

    { char ch1,ch2;int n1,n2;

    ch1=getchar();ch2=getehar();

    n1=ch1-'0'; n2=n1*10+(ch2-'0');

    printf("%d\n",n2);

    }

    程序运行时输入:12<回车>,执行后的输出结果是【 】。


    正确答案:12
    12 解析:程序中的ch1与ch2为字符型变量,输入12后,ch1得到字符'1',ch2得到字符'2'。n1 =ch1-'0'将字符1,转换为数值1,同理,n2为1*10+2=12。程序执行后输出十进制整数12。

  • 第21题:

    有以下程序: include main( ) { char ch=′Z′; ch=(ch-′A′+1)%26+′A′;putchar(ch); } 程序的运行结果是( )。

    A.Z

    B.Y

    C.B

    D.A


    答案:D
    解析:Z的ASCII码是90,A的ASCII码是65,所以ch=(ch-′A′+1)%26+′A′=26%26+65=65,输出65对应的字符A 。

  • 第22题:

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

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

    A.ABCdef

    B.abcDEF

    C.abc

    D.DEF


    正确答案:B

  • 第23题:

    单选题
    有如下程序:#include void convert(char ch){ if(ch<'D')convert(ch+1); printf(%c,ch);}main(){ convert('A'); printf(%);}程序运行后的输出结果是(  )。
    A

    ABCDDCBA

    B

    ABCD

    C

    A

    D

    DCBA


    正确答案: C
    解析:
    本题程序的执行过程为:调用convert('A')函数,ch='A',if条件成立,执行convert('B')→convert('C') →convert('D'),ch= 'D'时,if条件不成立,输出D→执行convert('C')中if语句后的输出语句,输出C→执行convert('B')中if语句后的输出语句,输出B→执行convert('A')中if语句后的输出语句,输出A,函数调用完成。程序运行后的输出结果是DCBA。答案选择D选项。