下面程序段的运行结果是()。  char a[7]= “abcdef”;  char b[4]= “ABC”;  strcpy(a,b);  printf(“%c”,a[5]);A、fB、eC、/0D、∪(∪表示空格)

题目

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

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

相似考题
参考答案和解析
正确答案:A
更多“下面程序段的运行结果是()。  char a[7]= “abcdef”;  char b[4]= “ABC”;  strcpy(a,b);  printf(“%c”,a[5]);A、fB、eC、/0D、∪(∪表示空格)”相关问题
  • 第1题:

    有以下程序 include main() { char p[20]={'a','b','c','d'},q[]="abc",r[]

    有以下程序 #include<string.h> main() { char p[20]={'a','b','c','d'},q[]="abc",r[]="abcde"; strcat(p,r);strcpy(p+strlen(q),q); printf("%d\n",strlen(p)); } 程序运行后的输出结果是

    A.9

    B.6

    C.11

    D.7


    正确答案:B
    解析:strcpy()函数的功能是将字符串q复制到从p[3]位置开始的存储单元,同时复制字符串结束标志‘\0’到p[6]中。函数strlen()返回的是字符串中不包括‘\0’在内的实际长度,故本题答案为B)。

  • 第2题:

    下面程序段的运行结果是()charc[5]={'a','b','\0','c','\0'};printf("%s",c);。

    A.’a’’b’

    B.ab

    C.abc

    D.ab□(其中□表示空格)


    正确答案:B

  • 第3题:

    下面程序段的运行结果是( )。 char a[]="abcdefgh"; char *p=a; p+=3; printf("%d\n",strlen(strcpy(p,"ABCD")));

    A.8

    B.12

    C.4

    D.7


    正确答案:C
    解析:p被定义为指针型变量,指向字符数组a的首地址。执行p+=3;指针后移3位,指向d。strcpy(p,"ABCD")将字符串"ABCD"(连同'\0')复制到p所指向的地址单元中,strlen()函数计算p所指向的字符串的长度,返回字符串中字符的个数(不计'\0'),返回值为字符串"ABCD"中字符的个数4。

  • 第4题:

    下列程序段的运行结果是()。includevoid main(){char str[]="ABC",*p=str;printf("%d\n

    下列程序段的运行结果是( )。 #include<stdio.h> void main() { char str[]="ABC",*p=str; printf("%d\n",*(p+3)); }

    A.67

    B.0

    C.字符'C'的地址

    D.字符'C'


    正确答案:B
    解析: 先定义了一个指向字符型数组str的指针p,指针p旨向数组str的首地址,p+3将指针指向str[3],又因为字符型数组在存放字符串时会自动在末尾加上'\0',所以*(p+3)=0。

  • 第5题:

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

    A.a

    B.\0

    C.e

    D.f


    正确答案:D

  • 第6题:

    下面程序段的运行结果是char *p="abcdefgh";p+=3;printf("%d\n",strlen(strcpy(P,"ABCD"))); A.8 B.12 C.4 D.7


    正确答案:C
    在本题中,程序段首先定义了字符型指针变量p,并使其指向一个字符串,然后将指针变量p加3,即使其指向字符串的第四个元素。然后执行输出语句,通过输出语句的输出格式我们可以知道,最后输出的是一个十进制数的整型数值,其输出列表为strlen(strcpy(P,″ABCD″))。这就要求我们了解strlen函数和strcpy函数的作用。
    strcpy的调用格式是:strcpy(目的地址,源地址),其功能是把源地址的字符串复制到目的地址中,这种复制将覆盖原来的字符串。strcat函数的功能是将源地址的字符串复制到目的地址字符串的后面。
    strlen的调用格式是:strlen(字符串地址),其功能是返回字符串中字符的个数。
    那么程序中执行strcpy(P,″ABCD″)后指针变量p所指向的字符串为“ABCD”,该字符串中字符的个数为4,那么执行strlen后,程序最终输出的结果是4。因此本题正确的答案是C。

  • 第7题:

    下面程序的输出结果是______。includemain(){char*p1="abc",*p2="ABC",s[20]="xyz"; s

    下面程序的输出结果是______。 #include<string.h> main() { char*p1="abc",*p2="ABC",s[20]="xyz"; strcpy(s+1,p2); strcat(s+2,p1); printf("%s\n",s); }

    A.xABCabc

    B.zABCabc

    C.yzabcABC

    D.xyzABCabc


    正确答案:A
    解析:strcpy(s+1,p2)是字符串复制,s中的内容变为"xABC",strcat(s+2,p1)是字符串连接(s的内容已不是初始化的内容,而是复制之后的内容),结果为"xABCabc"。

  • 第8题:

    下面程序的运行结果是 ( ) include include main( ) { char * a="

    下面程序的运行结果是 ( ) # include<stdio.h> # include<string.h> main( ) { char * a="AbcdEf",* b="aBcD" a + +;b + +; printf("%d\n",strcmp(a,b)); }

    A.0

    B.负数

    C.正数

    D.无确定值


    正确答案:C

  • 第9题:

    下面程序的输出结果是 ( ) include include { char * p1="abc" , *

    下面程序的输出结果是 ( ) # include<stdio.h> # include<string.h> { char * p1="abc" , * p2=" ABC ",str[50]="xyz"; strcpy(str+2.strcat (pi,p2)); printf("%s\n",str);}

    A.xyzabcAB

    B.zabcABC

    C.yzabcABC

    D.xycbcABC


    正确答案:D

  • 第10题:

    下面程序的输出结果是includeincludemain(){char *p1="abc",*p2="ABC",str

    下面程序的输出结果是 #include<stdio.h> #include<string.h> main() { char *p1="abc",*p2="ABC",str[50]="xyz"; strcpy(str+2,strcat(p1,p2)); printf("%s\n",str);}

    A.xyzabcABC

    B.zabcABC

    C.xyabcABC

    D.yzabcABC


    正确答案:C
    解析:本题考查的重点是拷贝字符串——使用strcpy()函数,该函数的调用方式是:strcpy(字符数组,字符串)其中“字符串”可以是字符串常量,也可以是字符数组。函数的功能是:将“字符串”完整地复制到“字符数组”中,字符数组中原有内容被覆盖。使用该函数时注意:①字符数组必须定义得足够大,以便容纳复制过来的字符串。复制时,连同结束标志‘\0’一起复制。②不能用赋值运算符“=”将一个字符串直接赋值给一个字符数组,只能用strcpy()函数来处理。另外,本题还考查连接字符串的strcat()函数,其调用方式是:strcat(字符数组,字符串)功能是把“字符串”连接到“字符数组”中的字符串尾端,并存储于“字符数组”中。“字符数组”中原来的结束标志,被“字符串”的第一个字符覆盖,而“字符串”在操作中未被修改。使用该函数时注意:①由于没有边界检查,编程者要注意保证“字符数组”定义得足够大,以便容纳连接后的目标字符串;否则,会因长度不够而产生问题。③连接前两个字符串都有结束标志‘\0’,连接后“字符数组”中存储的字符串的结束标志‘\0’被舍弃,只在目标串的最后保留一个‘\0’。

  • 第11题:

    下面程序段的运行结果是()。  char *p=“abcdefgh”;  p+=3;  printf(“%d/n”,strlen(strcpy(p,“ABCD”))); 

    • A、4
    • B、7
    • C、8
    • D、12

    正确答案:A

  • 第12题:

    单选题
    下面程序段的运行结果是()。  char *p=“abcdefgh”;  p+=3;  printf(“%d/n”,strlen(strcpy(p,“ABCD”)));
    A

    4

    B

    7

    C

    8

    D

    12


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

  • 第13题:

    下面程序的输出结果是【】。char b[]="ABCD";main(){char b[30];strcpy(&b[0],"GH");strcpy(&am

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

    char b[]="ABCD";

    main()

    {

    char b[30];

    strcpy(&b[0],"GH");

    strcpy(&b[1],"GH");

    strcpy(&b[2],"GH");

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

    }


    正确答案:GGGH
    GGGH 解析:由于在函数main中定义了数组变量b,其将屏蔽全局变量b。对于一维数纽变量,其值为一常数,等于数组首元素地址。strcpy(&b[0],"GH"),是将字符串"GH"复制到数组b中从首元数开始的空间中,此是b中的字符串为”叫”: strcpy(&b[1], "GH"),是将字符串"GH"复制到数组b中从第二个元素开始的空间中,此是b中的字符串为“GH”。执行第三次strcpy函数后,b中的字符串为"GGGH"。

  • 第14题:

    以下C程序段的输出结果是(30)。 include void abc(char *str){ int a, b;

    以下C程序段的输出结果是(30)。 #include <stdio. h> void abc(char *str){ int a, b; for(a=b=0;str[a]!='\O';a++)if(str[a]!='c') str[b++]=str[a]; str[b]='\O'; } void main(){ char str[]="abcdef"; abc(str); printf("str[]=%s",str); }

    A.str[]=a

    B.str[]=ab

    C.str[]=abdef

    D.str[]=abcdef


    正确答案:C
    解析:本试题核心在于子函数的for循环。For循环将整个字符串中的字符处理一遍,每次处理时,函数的基本工作是将除字母c之外的字符重新赋值,然后a++,b++,继续处理下一个字符。对于字母c不赋值,且只有a++而b不变。可见for循环的目的只是将字母c剔除。

  • 第15题:

    下列程序执行的输出结果是()。 include main() {char a[2][4];strcpy(a,"are");strcpy(

    下列程序执行的输出结果是( )。 #include<stdio.h> main() { char a[2][4]; strcpy(a,"are");strcpy(a [1],"you"); a[0][3]='&'; printf("%s\n",a); }

    A.are&you

    B.you

    C.are

    D.&


    正确答案:A
    解析:strcpy(a,"are")中数组名a代表数组首地址的地址常量,该操作把are复制到a中,a[0][3]='&',且strcpy(a[1],"you")把you复制到a[1]中,故输出a为“are&you”。

  • 第16题:

    下列程序段的运行结果是()。 include void main() {char str[]="ABC",*p=str; printf("

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

    #include<stdio.h>

    void main()

    { char str[]="ABC",*p=str;

    printf("%d\n",*(p+3) );

    }

    A.67

    B.0

    C.字符'C'的地址

    D.字符'C'


    正确答案:B
    解析:先定义了一个指向字符型数组str的指针p,指针p指向数组str的首地址,p+3将指针指向str[3],又因为字符型数组在存放字符串时会自动在末尾加上'\0',所以*(p+3)=0。

  • 第17题:

    有以下程序:includevoid f(char p[][10],int n){char t[10];int i,j;for(i=0;i

    有以下程序: #include<string.h> void f(char p[][10],int n) {char t[10];int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strcmp(p[i],p[j])>0) {strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);} } main() {char p[5][10]={"abc","aabdfg","abbd","dedbe","cd"}; f(p,5); printf("%d\n",strlen(p[0]));} 程序运行后的输出结果是( )。

    A.2

    B.4

    C.6

    D.3


    正确答案:C
    解析:本题考核的是二维字符数组按行存放字符串、二维数组名作为函数的参数以及字符串的排序。主函数中定义了一个二维字符串数组p并按行赋值,调用f()函数,将字符串从小到大排序,strcmp()函数的功能是对两个字符串作向右逐个字符比较,直到出现不同的字符或遇到“\0”为止。如果全部字符都相同,则认为相等;若出现不同的字符.则以第一个不相同的字符的比较结果为准。由此可知最小的字符串是“aabdfg”,排序后存放在p[0]中,最后在主函数中输出p[0]的长度。

  • 第18题:

    下面程序的输出结果为 ______。includemain(){char pl [7]="abc",p[]2="ABC"str[50]="

    下面程序的输出结果为 ______。 #include<string.h> main() { char pl [7]="abc",p[]2="ABC"str[50]="xyz"; strcpy(str,strcat(p1,p2)); printf("%s"str); }

    A.xyzabcABC

    B.abcABC

    C.xyzabc

    D.xyzABC


    正确答案:B
    解析:strcpy(strl,s1).-作用是将字符串s1拷贝到字符数组strl中去。strcat(字符数组1,字符数组2):把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后返回字符数组1的地址。本题定义了三个字符数组p1,p2,str,strcat(p1,p2)函数的作用是将字符串数组p2接到符串p1的后面,结,果放在字符数组P1,再通过strcpy()函数将该字符串拷贝到str数组中,原str数组中的字符串xyz被覆盖,因此打印输出字符串str即可得到abcABC。

  • 第19题:

    下面程序的运行结果是typedef union student{ char name[10]; long sno; char sex; float score[4];}STU;main(){ STU a[5]; printf("%d\n",sizeof(a));}


    正确答案:80
    根据共用体变量的特点可知,共用体变量所占的内存长度等于最长的成员的长度,所以变量STU所占的字节数等于其成员score[4]所占的字节数,即为16个字节,最终打印出共用体数组a[5]的长度为16´5=80。

  • 第20题:

    以下程序片段的输出结果是______。 char str[]="abc\n\012\\\""; printf("%d",strlen(str));

    A.4

    B.5

    C.6

    D.7


    正确答案:D
    解析:abc后的四个字符都是由反斜线引出的转义字符,\n是换行符,\012也是换行符,\\表示反斜线本身,\"表示双引号,因此,一共是7个字符。

  • 第21题:

    以下程序段的输出结果是______。 char *p="abodefgh"; p+=3; printf("%d\n",strlen(strcpy(p,"12345")));

    A.8

    B.12

    C.5

    D.7


    正确答案:C
    解析:本题主要考查strcpy()函数,char*strcpy(char*s1,char*s2)是把指针s2指向的串复制到指针s1指向的存储空间。

  • 第22题:

    下面程序段的运行结果是( )。 char*p="abcdefgh"; p+ =3; printf("%d\n",stfien(strcpy(p,"ABCD")));

    A.8

    B.12

    C.4

    D.7


    正确答案:C
    解析:p+=3使指针p指向字符"d",函数strcpy的功能是把后面的字符串复制到p指针指向的空间;strlen函数的功能是求字符串的长度,并返回字符个数,不计最后的"\0"。本题结果为4,即字符串“ABCD”的长度。

  • 第23题:

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

    f

    B

    e

    C

    /0

    D

    ∪(∪表示空格)


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