更多“有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A.sets(&s[0]);B.scarf( ”相关问题
  • 第1题:

    有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是

    A.gets(&s[0]);

    B.scanf("%s",s+1);

    C.gets(s);

    D.scanf("%s",s[1]);


    正确答案:D
    解析: 在格式输入中,要求给出的是变易的地址,而D)答案中给出的s[1]是一个值的表达式。

  • 第2题:

    有以下结构体说明、变量定义和赋值语句 struct STD { char name[10]; int age; char sex; }s[5],*ps; ps=&s[0]; 则以下scanf函数调用语句中错误引用结构体变量成员的是______。

    A.scanf("%s",s[0].name);

    B.scanf("%d",&s[0].age);

    C.scanf("%c",&(ps->sex));

    D.scanf("%d",ps->age);


    正确答案:D
    解析:要给结构体成员输入数据,在scanf语句中需要使用结构体成员的地址。函数scanf是C语言的标准输入函数,其作用是在终端设备上输入数据,而且要求输入项必须是某个存储地址。选项A中是引用结构体数组s的第0个元素s[0]的name成员,name是包含10个元素的数组,数组名就表示数组的地址,也就代表s[0].name的地址,所以选项A是正确的。选项B显然也是正确的,选项C是先用指针变量引用结构体的成员sex后取它的地址,也是正确的。选项D用指针变量引用结构体的成员sex后没有再继续取其地址,所以是错误的。

  • 第3题:

    有以下语句:int b;char c[10];,则正确的输入语句是( )。

    A.scanf("%d%s",&b,&C);

    B.scanf("%d%s",&b,C);

    C.scanf("%d%s",b,C);

    D.scanf("%d%s",b,&C);


    正确答案:B

  • 第4题:

    设有定义:char s[10];int i=0;,以下不能将一行(不超过100个字符)带有空格的字符串正确读入的语句或语句组是( )。

    A.gets(s);

    B.scanf("%s",s);

    C.while((s[i++]=getchar())!='\n');s[i]='\0';

    D.do{scanf("%c",&s[i]);}while(s[i++]!='\n');s[i]='\0';


    正确答案:B
    解析:本题考查标准输入输出函数和循环语句。gets(s)函数的作用是将输入的字符读入字符串s,直到遇到回车。而scanf()数接收字符串时的结束标志为回车或者空格。因此选巧

  • 第5题:

    有定义语句int b;char c[10];,则正确的输入语句是 ______。

    A.scallf("%d%s",&b,&c);

    B.scallf("%d %s",&b,c);

    C.scanf("%d %s",b,c)

    D.scanf("%d%s",b,&c);


    正确答案:B
    解析:scanf函数中的“格式控制”后面应当是地址,而不是变量名。对于变量,通过地址运算符“&”求出内存中的地址;对于数组c[10],数组名c即为数组在内存中的地址。

  • 第6题:

    有定义语句“chars[10];”,若要从终端给S输入5个字符,错误的输入语句是( )。 A.gets(&s0);

    有定义语句“chars[10];”,若要从终端给S输入5个字符,错误的输入语句是( )。

    A.gets(&s0);

    B.scanf("%s",s+1);

    C.gets(s);

    D.scanf("%s",s[1]);


    正确答案:D
    D。【解析】选项A调用函数gets使得s数组从s[0]开始得到输入的字符;选项B使得数组从元素s[1]开始得到输入的5个字符;选项C使得数组从s[0]开始得到输入的字符;而选项D的scan[(”%S”,S[1])调用错误,应为scanf(”%s”,&s[1])输入项部分应该是一个地址值。

  • 第7题:

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

    A.p=s;

    B.p=k

    C.p=s[0]

    D.k=s;


    正确答案:C

  • 第8题:

    有定义语句“chars[10];”,若要从终端给s输入5个字符,错误的输入语句是( )。

    A.gets(&sO);

    B.scanf("%s",s+1);

    C.gets(s);

    D.scanf("%s",s[1]);


    正确答案:D
    D。【解析】选项A调用函数9ets使得S数组从S[0]开始得到输入的字符;选项B使得数组从元素s[1]开始得到输入的5个字符;选项C使得数组从s[0]开始得到输入的字符;而选项D的scanf("%S",S[1])调用错误,应为scanf("%S",&s[1])输入项部分应该是一个地址值。

  • 第9题:

    若char a[10];已正确定义,以下语句中不能从键盘上给a数组的 所有元素输入值的语句是().

    • A、gets(a);
    • B、scanf("%s",a);
    • C、for(i=0;i<10;i++)a[i]=getchar();
    • D、a=getchar();

    正确答案:D

  • 第10题:

    有定义语句:int b;charc[10];,则正确的输入语句是()

    • A、scanf("%d%s",&b,&c);
    • B、scanf("%d%s",&b,c);
    • C、scanf("%d%s",b,c);
    • D、scanf("%d%s",b,&c)。

    正确答案:B

  • 第11题:

    单选题
    若有定义语句: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选项。

  • 第12题:

    单选题
    有定义语句:char s[10];若要从终端给s输入5个字符,错误的输入语句是(  )。
    A

    gets(&s[0]);

    B

    scanf(%s,s+1);

    C

    gets(s);

    D

    scanf(%s,s[1]);


    正确答案: B
    解析:
    采用scanf函数输入时,输入项为变量的地址。gets函数的输入项为存放字符串的首地址。A项,&s[0]为数组的首地址;B项,s+1为数组中第二个元素的地址;C项,s也为数组的首地址;D项,s[1]不是地址。答案选择D选项。

  • 第13题:

    (30)设有定义:char s[81];int i=10;,以下不能将一行(不超过80个字符)带有空格的字符串真确读入的语句或语句组是

    A gets(s)

    B)while((s[i++]=getchar())!=”\n”;s=”\0”;

    C)scanf(“%s”,s);

    D)do{scanf(“%c”,&s);}while(s[i++]!=”\n”);s=”\0”;


    正确答案:C

  • 第14题:

    有定义语句:char s[10];, 若要从终端给s输入5个字符,错误的输入语句是( )。

    A.gets(&s[0]);

    B.scanf("$s",3+1);

    C.gets(s);

    D.scanf("%s",s[1]);


    正确答案:D
    解析:选项A)调用函数gets()使得s数组从s[0]开始得到输入的字符;选项B)使得数组从元素s[1]开始得到输入的5个字符;选项C)使得s数组从s[0]开始得到输入的字符:而选项D)scanf("%s",s[1]);错误调用,应为scanf("%s",&s[1]);,输入项部分应该是一个地址值。

  • 第15题:

    设有定义:char s[8];int i=O;,以下不能将—行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是______。

    A.gets(s);

    B.white((s[i++]=getchar())!='\n');s[i]=\0;

    C.scanf("%s",s);

    D.d0{scanf("%c",&s[i]);}while(s[i++]!='\n';s[i]='\0';


    正确答案:C
    解析:本题考查的是scanf函数格式的说明,s代表输入一个字符数组,而不是地址,因此,选项C不符合题意。

  • 第16题:

    若有定义语句: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。

  • 第17题:

    有定义语句“chars[10];”,若要从终端给s输入5个字符,错误的输入语句是( )。 A.gets(&sO);

    有定义语句“chars[10];”,若要从终端给s输入5个字符,错误的输入语句是( )。

    A.gets(&sO);

    B.scanf("%s",s+1);

    C.gets(s);

    D.scanf("%s",s[1]);


    正确答案:D
    D。【解析】选项A调用函数9ets使得S数组从S[0]开始得到输入的字符;选项B使得数组从元素s[1]开始得到输入的5个字符;选项C使得数组从s[0]开始得到输入的字符;而选项D的scanf("%S",S[1])调用错误,应为scanf("%S",&s[1])输入项部分应该是一个地址值。

  • 第18题:

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

    A.p=S;

    B.p=k;

    C.p=s[0];

    D.k=S;


    正确答案:C

  • 第19题:

    有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是( )。 A.gets(&s[0]); B.scanf("%s",s+1); C.gets(s); D.scanf("%s",s[1]);

    A.存储空间不一定连续,且各元素的存储顺序是任意的

    B.存储空间不一定连续,且前件元素一定存储在后件元素的前面

    C.存储空间必须连续,且前件元素一定存储在后件元素的前面

    D.存储空间必须连续,且各元素的存储顺序是任意的


    正确答案:D
    在格式输入中,要求给出的是变量的地址,而B)答案中给出的s[1]是一个值的表达式。

  • 第20题:

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

    A)p=s;

    B)p=k;

    C)p=s[0];

    D)k=s;


    正确答案:C

  • 第21题:

    若有char a[80],*s=a;正确的输入语句是().(s输入字符串)

    • A、scanf("%s",s);
    • B、gets(*s);
    • C、scanf("%c",s);
    • D、getchar(s,80);

    正确答案:A

  • 第22题:

    若char a[10];已正确定义,以下语句中不能从键盘上给a数组的 所有元素输入值的语句是( ).

    • A、gets(a);
    • B、scanf("%s",a);
    • C、for(i=0;i<10;i++)a[i]=getchar();
    • D、a=getchar();

    正确答案:D

  • 第23题:

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

    7

    B

    8

    C

    9

    D

    10


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