参考答案和解析
正确答案: B
解析: 暂无解析
更多“单选题若有定义:chara[]="abcdef";charb[]="xyz";则以下程序段运行后屏幕输出为() strcpy(a,b); printf("%c",a[2]);A cB zC /0D d”相关问题
  • 第1题:

    若有定义:int k;,以下程序段的输出结果是______。for(k=2;k<6;k++,k++)printf("%d",k);


    正确答案:

    本题主要考查for循环语句。for循环的增量表达式为逗号表达式,相当于k+=2;,即每次循环后k增加2。第一次循环时,k=2,因此输出##2;第二次循环时k=4,输出##4。此后k=6,不满足循环条件。

  • 第2题:

    有以下程序段 main() { char a[7]="abcdef"; charb[4]="ABC"; strcpy(a,b) ; printf("%c",a[5]); } 程序段运行后的输出结果是( )

    A.a

    B.\0

    C.e

    D.f


    正确答案:D

  • 第3题:

    若有如下函数定义以下程序段运行后屏幕输出为()

    A.0

    B.1

    C.5

    D.6


    参考答案:D

  • 第4题:

    若有定义:chara[]="abcdef";charb[]="xyz";则以下程序段运行后屏幕输出为()strcpy(a,b);printf("%c",a[2]);

    A.c

    B.z

    C.\0

    D.d


    参考答案:B

  • 第5题:

    有以下程序(strcpy为字符串复制函数,strcat为字符串连接函数): #include<stdio.h> #include<string.h> main( ) {char a[10]="abc",b[10]="012",c[10]="xyz"; strcpy(a+1,b+2); puts(strcat(a,c+1)); } 程序运行后的输出结果是( )。

    A.al2xyz

    B.12yz

    C.a2yz

    D.bc2yz


    正确答案:C
    第一次执行字符串的复制函数a的值是a2,第二次执行的是字符串的连接函数,所以运行结果为a2yz。

  • 第6题:

    若有如下程序: main() { int n=2; do {printf("%d",n--);} while(!--n)); } 则程序运行后的输出结果是( )。

    A.2

    B.11

    C.1

    D.20


    正确答案:D
    解析:本题首先定义了一个int型变量n,并初始化为2。然后进入do-while循环,do-while循环首先执行一遍循环体,输出表达式n--的值,此时表达式n--的值是n自减之前的值2,输出一个2后,n的值变为1。然后判断do-while的循环条件!(--n)是否为真,此时表达式--n的值为n自减之后的值0,!0为真,故第二次执行循环体“printf("%d",n--);”此时n的值为0,所以执行结果为:输出一个0,n的值变为-1。此时循环条件!(--n)=!(-2)为假,程序结束。故程序运行后的输出结果是20,应该选择D。

  • 第7题:

    若有定义:chara[]="abcdef";charb[]="xyz";则以下程序段运行后屏幕输出为() strcpy(a,b); printf("%c",a[2]);

    • A、c
    • B、z
    • C、/0
    • D、d

    正确答案:B

  • 第8题:

    以下程序段运行后屏幕输出为() chara[]="abc/0mis"; printf("%d",strlen(a));

    • A、5
    • B、8
    • C、3
    • D、4

    正确答案:C

  • 第9题:

    若定义chara[80]=”95”,b[]=”windows”;,语句printf(”%s”,strcpy(a,b));的输出结果为()

    • A、windows95
    • B、windows
    • C、95
    • D、95windows

    正确答案:B

  • 第10题:

    单选题
    以下程序段运行后屏幕输出为() chara[]="abc/0mis"; printf("%d",strlen(a));
    A

    5

    B

    8

    C

    3

    D

    4


    正确答案: A
    解析: 暂无解析

  • 第11题:

    单选题
    有以下程序: #include  #include  main() {   int i;  char a[]=How are you!;  for(i=0;a[i];i++)  {   if(a[i]==' ')   {    strcpy(a,&a[i+1]);    i=0;   }  }  printf(%s,a); } 程序的运行结果是(  )。
    A

    you!

    B

    Howareyou!

    C

    areyou!

    D

    are you!


    正确答案: A
    解析:
    复制字符串函数strcpy(str1,str2),将str2完整的(包括'\0')复制到str1中,str1中原有的内容被覆盖。程序执行过程为:在a[i]不等于'\0'的情况下,判断当前元素是否为空格,若为空格将下一个元素以及之后的所有字符复制到a数组中。当i=3时,if条件成立,a以及之后单元中元素为"are you!\0",i=0,进行下一次循环,之后当i=3时,if条件成立,a以及之后单元中元素为"you!\0",i=0,之后的元素中在'\0'前没有空格出现,输出you!。答案选择A选项。

  • 第12题:

    单选题
    有以下程序 #include  void fun2(char a,char b) {  printf(%c %c,a,b); } char a='A',b='B'; void fun1() {  a='C';  b='D'; } main() {  fun1();  printf(%c %c ,a,b);   fun2('E','F'); } 程序的运行结果是(  )
    A

    C D E F

    B

    A B E F

    C

    A B C D

    D

    C D A B


    正确答案: A
    解析:
    调用fun1函数将全局变量a和b分别赋值为'C'和'D',然后输出全局变量a和b,最后调用fun2输出局部变量a和b的值,C语言规定,在同一源文件中,允许全局变量和局部变量同名,在局部变量作用域内,同名的全局变量不起作用,因此输出'E'和'F'。答案选择A选项。

  • 第13题:

    以下程序运行后,如果从键盘上输入ABCDEF<回车>,则输出结果为______。includeinclude

    以下程序运行后,如果从键盘上输入ABCDEF<回车>,则输出结果为______。 #include<stdio.h> #include<string.h> func(char str[]) { int num=0; while(*(str+num)!='\0') num++; return(num);p } main() { char str[10],*p=str; gets(p);printf("%d\n",func(P)); }

    A.8

    B.7

    C.6

    D.5


    正确答案:C
    解析:本题通过函数gets()从键盘接收一个字符串,并通过调用fune()函数,统计串中字符的个数。

  • 第14题:

    若有定义:char*st="how are you";,下列程序段中正确的是

    A.chara[11],*p;strcpy(p=a+1,&st[4]);

    B.chara[11];strcpy(++a,st);

    C.chara[11];strcpy(a,st);

    D.chara[],*p;strcpy(p=&a[1],st+2);


    正确答案:A
    解析: 本题综合考查字符数组的赋值和strepy函数的用法。C语言不允许用赋值表达式对字符数组赋值,如下面的语句就是非法的:strl=“China”,如果想把“Chi- na”这5个字符放到数组strl中,除了逐个输入外,还能使用strepy函数,该函数的功能是将一个字符串复制到一字符数组中。例如:strepy(strl,“China”)或strcpy(strl,str2);注意,不能企图用以下语句来实行赋值(将str2的值传给strl):str1=str2;不能用赋值语句将一个字符串常量或字符数组直接给一个字

  • 第15题:

    以下程序段运行后屏幕输出为()chara[]="abc\0mis";printf("%d",strlen(a));

    A.5

    B.8

    C.3

    D.4


    参考答案:C

  • 第16题:

    若有以下定义语句: char * sl="12345", * s2="1234"; printf("%d"n",strlen(strcpy(s1,s2))); 则输出结果是 ( )

    A.4

    B.5

    C.9

    D.10


    正确答案:A

  • 第17题:

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

  • 第18题:

    数字字符'0'的ASCII值为48,若有以下程序:include main( )char a='1',b ='2';printf( "

    数字字符'0'的ASCII值为48,若有以下程序: #include <stdio.h> main( ) char a='1',b ='2'; printf( "% c,",b + + ); printf(" % d \n" ,b - a); } 程序运行后的输出结果是( )。

    A.3,2

    B.50,2

    C.2,2

    D.2,50


    正确答案:C
    解析:变量a,b定义为字符型,执行printf("%c,"b++);时,首先输出字符变量b的值'2'和逗号,然后b的值加1,b的值变成'3';再执行printf("%d\n",b-a);输出'3'-'1',即数字2。所以程序运行后的输出结果为选项C)。

  • 第19题:

    下面程序段的运行结果是()。  char a[7]= “abcdef”;  char b[4]= “ABC”;  strcpy(a,b);  printf(“%c”,a[5]);

    • A、f
    • B、e
    • C、/0
    • D、∪(∪表示空格)

    正确答案:A

  • 第20题:

    设已有定义:char*st=”howareyou”;下列程序段中正确的是()。

    • A、chara[11],*p;strcpy(p=a+1,st[4]);
    • B、chara[11];strcpy(++a,st);
    • C、chara[11];strcpy(a,st);
    • D、chara[],*p;strcpy(p=&a[1],st+2)

    正确答案:C

  • 第21题:

    单选题
    下面程序段的运行结果是()。  char a[7]= “abcdef”;  char b[4]= “ABC”;  strcpy(a,b);  printf(“%c”,a[5]);
    A

    f

    B

    e

    C

    /0

    D

    ∪(∪表示空格)


    正确答案: D
    解析: 暂无解析

  • 第22题:

    单选题
    有以下程序 #include  main() {  char b,c;  int i;  b='a';  c='A';  for(i=0;i<6;i++)  {   if (i%2) putchar(i+b);   else putchar(i+c);  }  printf(); } 程序运行后的输出结果是(  )。
    A

    aBcDeF

    B

    ABCDEF

    C

    AbCdEf

    D

    abcdef


    正确答案: A
    解析:
    本题中,当i为偶数时,即0、2、4,执行putchar(i+c)会依次输出ACE;当i为奇数时,即1、3、5,执行putchar(i+b)会依次输出bdf,所以最终输出AbCdEf。答案选择C选项。

  • 第23题:

    单选题
    有以下程序(strcpy为字符串复制函数,strcat为字符串连接函数): #include  #include  main() {  char a[10] = abc,b[10] = 012,c[10] = xyz;  strcpy(a+1,b+2);  puts(strcat(a,c+1)); } 程序运行后的输出结果是(  )。
    A

    a12xyz

    B

    12yz

    C

    a2yz

    D

    bc2yz


    正确答案: B
    解析:
    先执行strcpy,将b数组中第2个及之后位置上的字符复制到a数组中第1个及之后的位置上的字符位置,即此时数组a中字符为a2,再执行strcat连接函数,将a中字符与c数组中第2个及之后位置上的字符连接,即为a2yz。注意,数组下标从0开始。答案选择C选项。