niusouti.com

设已执行预编译命令include,以下程序段的输出结果是()。char s[]="an apple";printf("设已执行预编译命令#include<string.h>,以下程序段的输出结果是( )。 char s[]=" an apple" ; printf(" %d\n" ,strlen(s));A.7B.8C.9D.10

题目
设已执行预编译命令include,以下程序段的输出结果是()。char s[]="an apple";printf("

设已执行预编译命令#include<string.h>,以下程序段的输出结果是( )。 char s[]=" an apple" ; printf(" %d\n" ,strlen(s));

A.7

B.8

C.9

D.10


相似考题
更多“设已执行预编译命令#include<string.h>,以下程序段的输出结果是()。char s[]="an apple";printf(" ”相关问题
  • 第1题:

    以下程序输出的结果是includeincludemain(){ char w[][10]={"ABCD","EFGH"

    以下程序输出的结果是 #include<stdio.h> #include<string.h> main() { char w[][10]={"ABCD","EFGH","IJKL","MNOP"},k; for(k=1;k<3;k++) printf("%s\n",&w[k][k]);}

    A.ABCD FGH KL

    B.ABC EFG U M

    C.EFG JK O

    D.FGH KL


    正确答案:D
    解析:当k=1时,引用的是二维数组元素w[1][1],值为字符串“FGH”;当k=2时,引用的是数组元素w[2][2],即字符串“KL”;当k=3时,结束程序的执行。注意:字符串数组的定义。

  • 第2题:

    当执行下面的程序时,如果输入ABC,则输出结果是 ( ) include include

    当执行下面的程序时,如果输入ABC,则输出结果是 ( ) # include<stdio.h> # include<string.h> main( ) { char ss [10] ="12345"; gets(ss);strcat(ss"6789");printf("%s\n",ss); }

    A.ABC6789

    B.ABC67

    C.12345ABC6

    D.ABC456789


    正确答案:A

  • 第3题:

    下列程序执行的输出结果是()。 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”。

  • 第4题:

    下列程序的运行结果是()。 include include main() {char*s1="abDuj"; char

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

    #include<stdio.h>

    #include<string.h>

    main()

    { char*s1="abDuj";

    char*s2="ABdUG";

    int t;

    t=strcmp(s1,s2) ;

    printf("%d",t);

    }

    A.正数

    B.负数

    C.零

    D.不确定的值


    正确答案:A
    解析:本题考查字符串比较函数和两个字符串比较的原则两个知识点:①原则是依次比较两个字符串同一位置的一对字符,若它们的ASCII码值相同,则继续比较下一对字符,若它们的ASCII码值不同,则ASCII码值较大的字符所在的字符串较大;若所有字符相同,则两个字符串相等;若一个字符串全部i个字符与另一个字符串的前i个字符相同,则字符串较长的较大。② strcmp(s1,s2)的返回值,当str1str2时,返回值0:当 str1=str2时,返回值为0;当str1>str2,返回值>0。

  • 第5题:

    有以下程序: include main( ) {char s[ ] ="159" , * p;p=s;printf( "% c", * p + +

    有以下程序: #include <stdio.h> main( ) { char s[ ] ="159" , * p; p=s; printf( "% c", * p + + ); printf("%~", * p++);}程序运行后的输出结果是( )。

    A.15

    B.16

    C.12

    D.59


    正确答案:A
    解析:语句p=s将指针变量p指向字符数组s,第一次输出时,由于++和*为同一优先级,而结合方向为自右向左,所以,*p++相于*(p++)。但又因为“++”在p的右侧,所以,先输出*p,得到s[0]的值,然后P++,P指向s[1],故第二次输出时,输出s[1]的值,所以输出结果为15。

  • 第6题:

    以下程序运行后的输出结果是( )。 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

  • 第7题:

    以下程序:includeincludemain(){char str[]="abcd\n\123\xab";printf("%d"

    以下程序: #include<stdio.h> #include<string.h> main() {char str[]="abcd\n\123\xab"; printf("%d",(str)); } 运行后的输出结果是( )。

    A.10

    B.9

    C.7

    D.14


    正确答案:C

  • 第8题:

    有以下程序include.main(){char*p="abcde\ofghjik\0";printf("%d\n",strlen(p));} 程

    有以下程序 #include.<string.h> main() { char *p="abcde\ofghjik\0"; printf("%d\n",strlen(p)); } 程序运行后的输出结果是

    A.12

    B.15

    C.6

    D.5


    正确答案:D
    解析:本题首先定义了一个字符型指针变量p,并用一个宇符串给它赋值,然后调用printf()函数输出p所指向的字符串的长度。字符串的结束标记为“\0”,其长度为“\0”前的字符个数,故长度为5。所以4个选项中D正确。

  • 第9题:

    设已包含头文件,下列程序段的运行结果是()。 char s1[]={"ACDEF"}; char s2[]="ABC"; s

    设已包含头文件<string.h>,下列程序段的运行结果是( )。

    char s1[]={"ACDEF"};

    char s2[]="ABC";

    strcpy(s1,s2) ;

    printf("%d",strlen(s1) );

    A.3

    B.4

    C.6

    D.5


    正确答案:A
    解析:头文件string.h>是字符串处理函数对应的头文件,要想调用C语言的库函数时,都要在程序中嵌入该函数对应的头文件,否则无法使用库函数。
      strcpy(s1,s2)把s2中的字符串复制到s1中,所以结果就为s2的长度。

  • 第10题:

    下面程序的输出结果是 ( ) 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

  • 第11题:

    以下程序的输出结果是______。 include main() { char*a="abcdefghi";int k fun(a);p

    以下程序的输出结果是______。 #include <string.h> main() { char*a="abcdefghi";int k fun(a);puts(a); } fun(char*s) { int x,y; char c for(x=0,y=strlen(s)-1;x<y:x++,y--) {c=s[y];s[y]=s[x];s[x]=c;} }

    A.ihgfedcba

    B.abcdefghi

    C.abcdedeba

    D.ihgfefghi


    正确答案:A

  • 第12题:

    下列程序执行后的输出结果是()。includeincludemain(){char arr[2][4]; str

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

    A.you&me

    B.you

    C.me

    D.err


    正确答案:A
    解析:函数strcpy的功能是字符串拷贝,函数原型为char*strcpy(char*strl,char*str2),作用是将字符串2复制到字符串1中去。二维数组可以看做是一种特殊的一维数组,它的每一个元素又是一个一维数组。本题arr可看做是一个具有两个元素arr[0]和arr[1]的一维数组,每个元素又是一个包含四个元素的一维数组。

  • 第13题:

    以下程序的输出结果是【】。 include include void main 0 { char s[50]; st

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

    include<iostream.h>

    include <string.h>

    void main 0 {

    char s[50];

    strcpy(&s[O], "No" );

    strcpy(&s[1], "123" );

    strcpy (&s[2], "23456" );

    cout<<s;

    }


    正确答案:N123456
    N123456

  • 第14题:

    以下程序的输出结果是()includeincludemain(){char str[12]={'s','t','r',

    以下程序的输出结果是( ) #include<stdio.h> #include<string.h> main() {char str[12]={'s','t','r','i','n','g'}; printf("%d\n",strlen(str)); }

    A.6

    B.7

    C.11

    D.12


    正确答案:A

  • 第15题:

    有以下程序: include void f(char *s,char *t) {char k; k=*s; +s=*t;

    有以下程序: #include<string.h> void f(char *s,char *t) {char k; k=*s; +s=*t; *t=k; S++; t--; if(*s) f(s,t); } main() {char.str[10]="abcdefg",*p; p=str+strlen(str) /2+1; f(p,p-2); printf("%s\n",str); } 程序运行后的输出结果是 ______。

    A.abcdefg

    B.gfedcba

    C.gbcdefa

    D.abedcfg


    正确答案:B
    解析:本程序的作是将字符串str倒序。语句“p=str+strlen(str)/2+1;”用于将指针变量p指向e字符所在的存储单元,p-2指向了c字符所在的存储单元,在函数f中将这两个存储单元的内容交换,并使得f函数中指向c字符的指针变量s加1。指向c字符的指针变量t减1,然后继续将s和t指向的存储单元的内容进行交换,直到s指向的存储单元的内容为空为止。所以本题程序输出的结果是字符串“abcdefg”的倒序形式“gfedcba”。

  • 第16题:

    有以下程序:includemain(){charstr[][20]={"Hello","Beijing"}*p=str;printf("%\n",s

    有以下程序: #include <string.h> main() { char str[][20]={"Hello","Beijing"}*p=str; printf("%\n",strlen(p+20)); } 程序运行后的输出结果是

    A.0

    B.5

    C.7

    D.20


    正确答案:C
    解析:本题考核的知识点是二维数组的初始化及库函数strlen()的应用。主函数中定义了一个二维字符数组并初始化,初始化后的结果为str[0]="Hello",str[1]="Beijing",然后定义一个字符指针变量p并让它指向数组的首地址,即指向str[0],而在C语言中无论是一维还是多维数组,其元素在内存中都是顺序存放的,故p+20后指针指向str[1],所以strlen(P+20);返回的是str[1]中的字符串的长度,即Beijing的长度为7,所以最后输出的值为7,所以,4个选项中选项C符合题意。

  • 第17题:

    以下程序运行后输入:3,abcde<回车>,则输出结果是【 】include move(char *str,

    以下程序运行后输入:3,abcde<回车>,则输出结果是【 】

    include <string.h>

    move(char *str, int n)

    { char temp; int i;

    temp=str[n-1];

    for(i=n-1;i>0;i--) str[i]=str[i-1];

    str[0]=temp;

    }

    main( )

    { char s[50]; int n, i, z;

    scanf("%d,%s",&n,s);

    z=strlen(s);

    for(i=1; i<=n; i++) move(s, z);

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

    }


    正确答案:cdeab
    cdeab 解析:本题主要考查函数move()的功能。经过分析可知,每次调用该函数时,都是把最后一个字符移到串的最前端,而原先的第一个字符至倒数第二个字符顺次后移。

  • 第18题:

    有以下程序:includemain(){char *p="abcde\Ofghjik\0";printf("%d\n",strlen(p));}程

    有以下程序: #include <string.h> main() {char *p="abcde\Ofghjik\0"; printf("%d\n",strlen(p)); } 程序运行后的输出结果是( )。

    A.12

    B.15

    C.6

    D.5


    正确答案:D
    解析:本题首先定义了一个字符型指针变量p,并用一个字符串给它赋值,然后调用printf()函数输出p所指向的字符串的长度。由于字符串的结束标记为、0,其长度为第1个\0前的字符个数,故长度为5。所以4个选项中D正确。

  • 第19题:

    下列程序的输出结果是()。includeincludemain(){char a[]="\n123\\";printf

    下列程序的输出结果是( )。 #include<stdio.h> #include<string.h> main() { char a[]="\n123\\"; printf("%d,%d\n",strlen(a),sizeof(a)); }

    A.5,6

    B.5,5

    C.6,6

    D.6,5


    正确答案:A
    解析: 转义字符'\n'表示换行,'\\'表示反斜杠,函数strlen()是计算字符串的长度,不包括文件结束标志('\0'),函数sizeof()统计字符串所占的字节数。

  • 第20题:

    下列程序的输出结果是()。 include include main() {char a[]="\n123\\";pr

    下列程序的输出结果是( )。 #include<stdio.h> #include<string.h> main() { char a[]="\n123\\"; printf ("%d,%d\n",strlen(a),sizeof(a)); }

    A.5,6

    B.5,5

    C.6,6

    D.6,5


    正确答案:A
    解析:转义字符'\n'表示换行,'\\'表示反斜杠,函数strlen()是计算字符串的长度,不包括文件结束标志('\0'),函数sizeof()统计字符串所占的字节数。

  • 第21题:

    有以下程序: include include void f(char * s,char*t){char k; k=*s;*s=*

    有以下程序: #include <stdio.h>#include <string.h>void f(char * s,char*t){ char k; k=*s; *s=*t; *t=k; s++; t--; if( * s) f(s,t);}main( ){ char str[10] :"abedefg", * p; p = str + strlen(str)/2+1; f(p,p -2); printf( "% s \n" ,str);程序运行后的输出结果是( )。

    A.abcdefg

    B.gfedcba

    C.gbcdefa

    D.abedcfg


    正确答案:B
    解析:本程序的作用是将字符串str倒序。语句p=str+strlen(str)/2+1;将指针变量p指向字符'e'所在的存储单元,P-2指向字符,'c'所在的存储单元,在函数f中将这两个存储单元的内容交换,然后将f函数中指向字符'e'的指针变量s加1,指向字符'c'的指针变量t减1,继续将s和t指向的存储单元的内容进行交换,直到s指向的存储单元的内容为空为止。所以本题程序输出的结果是字符串"abcdefe”的倒序形式"gfedcba"。

  • 第22题:

    设已执行预编译命令#include<string.h>,以下程序段的输出结果是

    char s[]=" an apple" ;

    printf(" %d\n",strlen(s));

    A.7

    B.8

    C.9

    D.10


    正确答案:B
    解析:考查了测字符串长度函数strlen。如果一个字符数组中存放一个字符串,则函数strlen的值为" \0"之前的全部字符个数,也包括空格在内。

  • 第23题:

    有以下程序:include include main(){char *p[10]={"abc","aabdfg","dcdbe"

    有以下程序: #include <stdio.h> #include <string.h> main() { char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"}; printf("%d\n",strlen(p[4])); } 执行后的输出结果是( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:A
    解析:p是由10个指向字符型数据的指针元素组成的指针数组,其中前5个数组元素进行了初始化。p[4]="cd",strlen(str)是统计字符串str中字符的个数(不包括终止符'\0'),输出结果为2。