更多“若有以下说明语句“char s=92;”,则该语句()。”相关问题
  • 第1题:

    若有下列说明和语句,已知int型数据占2个字节,则下列语句的输出结果是( )。

    stmct st

    {char a[15];

    intb;

    double c;

    };

    printf("%d",sizeof(structSt));

    A.15

    B.8

    C.25

    D.2


    正确答案:C
    解析:本题主要考查结构体的内存使用:对结构体而言,结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立。题中 int b占2个字节,chara[15]占15个字节,double c占8个字节,所以共25个字节。

  • 第2题:

    以下语句或语句组中,能正确进行字符串赋值的是( )。

    A.char*sp;*sp="right!";

    B.char s[10];s="right!";

    C.char s[10];*s="right!";

    D.char*sp="right!";


    正确答案:D
    解析:本题的考点是C语言的数组和指针。C的数组名是一个特殊类型的指针,固定指向数组第一个元素的位置,运行过程中不能再改变其指向。因此选项B、C都是错误的。指针可以指向任何单元,但选项A是错误的,因为赋值语句“*sp=”right!”;”是错误的,正确写法是“sp=”right!”;”。而对于选项D,由于“char*sp="right!";”是定义指针同时赋初值,因此是正确的。

  • 第3题:

    若有定义和语句: char*sl="12345",* s2="1234"; printf("%d\n",strlen(stren(sl,s2))); 则输出结果 ( )

    A.4

    B.5

    C.9

    D.10


    正确答案:A

  • 第4题:

    若有以下类型说明语句char a; int b; float c; double d; 则表达式a*bd-c的结果类型为( )。

    A.Float

    B.char

    C.int

    D.double


    正确答案:D

  • 第5题:

    有以下程序中若有如下说明和定义语句; char fun(char*); main() { char * s="one",a[5]={0},(*f1)()=fun,ch; … } 以下选项中对函数fun的正确调用语句是 ______。

    A.(*f1)(a);

    B.*f1(*s);

    C.fun(&a);

    D.ch=*f1(s);


    正确答案:A
    解析:(*f1)()=fun可以理解为将fun函数的函数名称用(*f1)()来代替了,因此高调用fun时就可以用(*f1)()来代替,因此只有A是正确的。

  • 第6题:

    若有char s[3][3]=={"AAA","BBB","CCC"};说明语句,则与它等价的语句是( )。

    A.char**s={"AAA","BBB","CCC"};

    B.char*s[3]={"AAA","BBB","CCC"};

    C.char s[][5]={"AAA","BBB","CCC"};

    D.char s[][3]={"AAA","BBB","CCC"};


    正确答案:D

  • 第7题:

    若有定义和语句 ( ) char s[10];s="abcd";printf("%s\n",s); 则结果是(以下μ代表空格)

    A.输出abcd

    B.输出a

    C.abcdμμμμμ

    D.编译不通过


    正确答案:D

  • 第8题:

    若有定义语句:“char sE10]="1234567\0\0";”,则strlen(s)的值是( )。

    A.7

    B.8

    C.9

    D.10


    正确答案:A
    "\0"表示空字符,strlen函数求得的是不包括字符串结束符\0的长度。故选A。

  • 第9题:

    若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是;

    A.p=s;

    B.p=k

    C.p=s[0]

    D.k=s;


    正确答案:C

  • 第10题:

    (28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是

    A)p=s;

    B)p=k;

    C)p=s[0];

    D)k=s;


    正确答案:C

  • 第11题:

    单选题
    有以下说明语句:char *s = "\"Name\\Address";指针s所指字符串的长度是( )。
    A

    17

    B

    15

    C

    14

    D

    说明语句不合法


    正确答案: A
    解析:
    以“\”开头的转义字符也是字符常量。用一对双引号括起来的多个字符为字符串。“\"”是“"”的转义字符,“\\”是“\”的转义字符,“”是换行的转义字符,指针s指向的字符串中字符依次是:"、N、a、m、e、\、A、d、d、r、e、s、s、\0。所以字符串长度为14。答案选择C选项。

  • 第12题:

    单选题
    若有说明语句:char c='\72';则变量c中存放的是(  )。
    A

    2个字符

    B

    1个字符

    C

    3个字符

    D

    说明语句不合法


    正确答案: A
    解析:
    用一对单引号括起来的单个字符为字符常量,以“\”开头的转义字符也是字符常量。“\”后可以为单个字符,也可以为八进制或十六进制数字,故变量c中存放的是一个字符。答案选择B选项。

  • 第13题:

    若有以下类型说明语句: char w;int x;float y, z; 则表达式w*x+z-y的结果为______类型。

    A.float

    B.char

    C.int

    D.double


    正确答案:A
    解析:在进行运算时,不同类型的数据参加运算;需要先将其转换成同一类型的数据,然后再进行运算。转换的顺序由低到高为:char,shor→int→unsigned→long→double←float,故结果为float型。

  • 第14题:

    若有以下说明语句,则该语句()。chars=92;

    A、使s的值包含1个字符

    B、说明不合法,s的值不确定

    C、使s的值包含4个字符

    D、使s的值包含3个字符


    参考答案:B

  • 第15题:

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

    A.4

    B.5

    C.9

    D.10


    正确答案:A
    解析:函数strcpy(s1,s2)的返回结果是指针s1的新值"1234",因此求串长函数的结果为4。

  • 第16题:

    程序中若有如下说明和定义语句

    Char fun(char *);

    main()

    {

    char *s="one", a[5]={0}.(*f1)()=fun, ch;

    }

    以下选项中对函数fun的正确调用语句是

    A.(*f1)(A) ;

    B.*fl(*s);

    C.fun(&A) ;

    D.ch=*fl(s);


    正确答案:A
    解析:在C语言中函数名代表该函数的入口地址,因此可以定义一种指向函数的指针来存放这种地址.其定义形式为:函数类型(*函数指针名)(函数参数列表);其中,函数参数列表可以省略。通过函数指针调用函数的形式为:(*函数指针)(函数参数列表)调用时函数的参数列表是不能省略的。所以本题的正确答案为选项A。

  • 第17题:

    若有定义语句:char s[10]="1234567\0\0";,则strlen(s)的值是______。

    A.7

    B.8

    C.9

    D.10


    正确答案:A
    解析:strlen(字符数组)是测试字符串的长度的函数。函数的值为字符串的实际长度,不包括'\0'在内。 C语言中字符串是以'\0'字符结束的,且salen()函数计算的是'\0'字符前的所有字符的个数,所以本题strlen(s)的值是7。需要与其区分的是sizeof()函数,它的功能是计算变量或数组所分配到的内存空间的大小。如果本题要求计算sizeof(s)的话,则其值应为10。

  • 第18题:

    若有定义语句:char s[3][10],(*k)[3]。*P;,则以下赋值语句正确的是

    A.p=S;

    B.p=k;

    C.p=s[0];

    D.k=S;


    正确答案:C

  • 第19题:

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

    A.4

    B.5

    C.9

    D.10


    正确答案:A

  • 第20题:

    若有以下的说明语句,则与它等价的说明是char s[3][5]={"aaaa","bbbb","cccc"};

    A.char**s1={"aaaa","bbbb","cccc"};

    B.char*s2[3]={"aaaa","bbbb","cccc"};

    C.char s3[][5]={"aaaa","bbbb","cccc"};

    D.char s4[][4]={"aaaa","bbbb","cccc"};


    正确答案:C
    解析:本题中的s数组是一个二维字符数组,选项A)是一个双重指针,但字符串的长度没有限制;选项B)是一个元素为字符指针的数组,同样的也是字符串的长度没有限制;选项D)中,每个字符串的长度限制为4,不正确。注意:用字符数组作为字符串和用指针指向的一个字符串之间的区别。

  • 第21题:

    若有以下定义和语句,则输出结果是(口代表空格)______。char s[10]; s="abcd"; printf("%s\n",s);

    A.输出abcd

    B.输出a

    C.输出abcd口口口口口

    D.编译不通过


    正确答案:D

  • 第22题:

    若有定义和语句: char s[10]:s=""abcd"";printf(""%s/n"",s); 则结果是(以下u代表空格)()

    • A、输出abcd
    • B、输出a
    • C、输出abcduuuuu
    • D、编译不通过

    正确答案:D

  • 第23题:

    单选题
    若有定义语句:char s[3][10],(*k)[3],*p; 则以下赋值语句正确的是(  )。
    A

    p=s;

    B

    p=k;

    C

    p=s[0];

    D

    k=s;


    正确答案: C
    解析:
    A项,将字符型二维数组首地址赋值给了一个字符型指针,类型不匹配;B项,将指针数组的首地址赋值给一个字符型指针,类型不匹配;C项,s是二维字符数组,s[0]表示一个含有10个元素的一维数组,即将一维字符数组首地址赋值给了一个字符型指针,这是允许的;D项,将二维字符数组赋值给了指向一维字符数组的指针,类型不匹配。答案选择C选项。

  • 第24题:

    单选题
    若有定义语句char s[10]=1234567\0\0,则strlen(s)的值是(  )。
    A

    7

    B

    8

    C

    9

    D

    10


    正确答案: B
    解析:
    C语言规定以字符’\0’作为字符串结束的标识符。strlen函数返回的是字符串的长度,不包含字符’\0’,所以值是7。答案选择A选项。