itgle.com

对于下面的语句,叙述正确的是______。 char c1[]="abcd"; char c2[]={'a','b','c','d'};A.数组c1和数组c2等价B.数组c1占用空间大于数组c2占用空间C.数组c1占用空间小于数组c2占用空间D.数组c1和数组c2的长度相同

题目

对于下面的语句,叙述正确的是______。 char c1[]="abcd"; char c2[]={'a','b','c','d'};

A.数组c1和数组c2等价

B.数组c1占用空间大于数组c2占用空间

C.数组c1占用空间小于数组c2占用空间

D.数组c1和数组c2的长度相同


相似考题
更多“对于下面的语句,叙述正确的是______。char c1[]="abcd";char c2[]={'a','b','c','d'};A.数组c1和 ”相关问题
  • 第1题:

    已知字母a的ASCII码为十进制数97,下面程序的输出结果是()。includemain(){char c1,c2;c

    已知字母a的ASCII码为十进制数97,下面程序的输出结果是( )。 #include<stdio.h> main() { char c1,c2; c1='a'+'6'-'0'; c2='a'+'3'-'0'; printf("%c,%c\n",c1,c2); }

    A.输出无定值

    B.d,e

    C.e,f

    D.g,d


    正确答案:D
    解析:C语言规定,所有字符常量都可以化为整型常量来处理,因而字符常量也可以参与算术运算。注:字符常量参与算术运算时,其实是使用其对应的ASCII码值进行计算。本题中,'a'对应的ASCII码值是97。题中虽然没有给'6'和'0'的ASCII码值,但应该知道'6'-'0'是将字符'6'转换成整数6的表达式,所以c1='a'+'6'-'0'=103,c2='a'+'3'-'0'=100,按照字符型输出分别是g和d。

  • 第2题:

    判断char型变量c1是否为大写字母的正确表达式是A.'A'<=c1<='Z'B.(c1>=A)&&(c1<=Z)C.('A'

    判断char型变量c1是否为大写字母的正确表达式是

    A.'A'<=c1<='Z'

    B.(c1>=A)&&(c1<=Z)

    C.('A'>=c1)‖('Z'<=c1)

    D.(c1>='A')&&(c1<='Z')


    正确答案:D

  • 第3题:

    有以下程序: includemain(){char c1='1',c2='2';c1=getchar();c2=getchar();putchar(c

    有以下程序: # include<stdio.h> main() {char c1='1',c2='2'; c1=getchar();c2=getchar();putchar(c1);putchar (c2); } 当运行时输入:a<回车>后,以下叙述正确的是 ______。

    A.变量c1被赋予字符a,c2被赋予回车符

    B.程序将等待用户输入2个字符

    C.变量c1被赋予字符a,c2中仍是原有字符2

    D.变量c1被赋予字符a,c2中将无确定值


    正确答案:A
    解析:getchar函数读入字符时,空格、回车符都作为字符读入,因此A正确。

  • 第4题:

    有以下程序: include main() {char c1='1',c2='2'; c1=getchar();c2

    有以下程序: #include <stdio.h> main() {char c1='1',c2='2'; c1=getchar();c2=getchar();putchar(c1);putchar(c2); } 当运行时输入a<回车>后,以下叙述正确的是 ______。

    A.变量c1被赋予字符a,c2被赋予回车符

    B.程序将等待用户输入第2个字符

    C.变量c1被赋予字符a,c2中仍是原有字符2

    D.变量c1被赋予字符a,c2中将无确定值


    正确答案:A
    解析:函数getchar()的作用是从终端(或系统隐含指定的输入设备)输入一个字符,且只能接受一个字符(回车符也算是一个字符)。故本题中变量c1被赋予字符a,c2被赋予回车符。

  • 第5题:

    有以下程序 void fun(char *a,char *b) { a=b; ( *a)++; } main() {char cl='A',c2='a',*p1,*p2; p1=&c1;p2:&c2; fun(p1,p2); printf("%c%c\n",c1,c2); } 程序运行后的输出结果是

    A.Ab

    B.aa

    C.Aa

    D.Bb


    正确答案:A
    解析:指针作为函数参数的运用,经过分析得知fun()函数的功能:将形参 a指向形参b所指的存储空间,然后使形参a指向变量的值加1。在主函数中定义了字符型指针变量p1和p2,并让它们分别指向“c1和c2。然后将p1、p2作为实参传递给形参a、 b。在fun()函数中,首先让指针变量p1指向P2,然后P1指向的存储空间的值加1,即让变量c2加1为“b”,而c1的值没有被改变,仍然是“A”。

  • 第6题:

    下列能正确进行字符数组赋初值的语句是______。

    A.chart[5]={'a','b','c','d','e'};

    B.char*t;t="abcde";

    C.char t[5]="abcde";

    D.char t[5];t="abcd";


    正确答案:A
    解析:可以赋初值的字符串一定是用字符数组存储的,选项B不对,它是将字符指针变量指向一个字符串常量;选项C中字符数组t需要6个字节的存储空间:选项D是错误的形式,数组名是常量。

  • 第7题:

    已知a的ASCⅡ码为97,执行下面两个语句后,输出的结果为______。 char c1=97;c2=98; printf("%d%c",c1,c2);

    A.97 98

    B.97 b

    C.a 98

    D.a b


    正确答案:B
    解析:整型数据和字符数据可以通用,变量c1和c2被定义为字符型,语句c1=97和c2=98的作用相当于执行c1='a'和c2='b'两语句。在输出语句中,%d%c是输出格式符,要求在相应位置上分别输出一个整数和一个字符。

  • 第8题:

    若有下列语句: char a[]="xyz"; char b[]=}'x','y','z'}; 则下列叙述正确的是______。

    A.数组a和数组b不等价

    B.数组a和数组b的长度相同

    C.数组a占用空间大小等于数组b占用空间大小

    D.数组a占用空间大小大于数组b占用空间大小


    正确答案:D
    解析:数组a的存储空间占4个字节(结束符'\0'占一字节),数组a的存储空间占3个字节。

  • 第9题:

    设c1,c2均是char类型变量,则不正确的函数调用为______。

    A.printf("%c,%c,",c1,c2)

    B.getchar(c1)

    C.putchar('\')

    D.putchar(c1)


    正确答案:B

  • 第10题:

    对于下面语句,叙述正确的是______。 char c1[]="abcd"; char c2[]={'a','b','c','d'};

    A.数组c1和数组c2等价

    B.数组c1占用空间大于数组c2占用空间

    C.数组c1占用空间小于数组c2占用空间

    D.数组c1和数组c2的长度相同


    正确答案:B

  • 第11题:

    下面哪个语句不能定义一个字符变量()

    • A、char c1=’a’;
    • B、char c2="S";
    • C、char c4=97;
    • D、char c3=’/u0041’;

    正确答案:B

  • 第12题:

    单选题
    以下叙述中正确的是(  )。
    A

    语句“char str[10]=string!;”和“char str[10]={string!};”并不等价

    B

    对于字符串常量“string!”,系统已自动在最后加入了'\0'字符,表示串结尾

    C

    对于一维字符数组,不能使用字符串常量来赋初值

    D

    在语句“char str[]=string!;”中,数组str的大小等于字符串的长度


    正确答案: B
    解析:
    B项正确,C编译程序将自动在字符串常量最后添加'\0'。AC两项错误,可以直接用字符串常量给一维字符数组赋初值,习惯上均省略花括号;D项错误,'\0'会占用一个不属于字符串的存储单元,因此数组str的长度大于字符串的长度。答案选择B选项。

  • 第13题:

    若有char a[5],*pa;则下面的选项中正确的赋值语句是()。

    A.p“abcd”

    B.a“abcd”

    C.*p“abcd”

    D.*a“abcd”


    正确答案:A

  • 第14题:

    有以下程序

    void fun(char *a, char *b)

    { a=b; (*a)++; }

    main()

    { char c1='A',c2='a',*p1,*p2;

    p1=&c1; p2=&c2; fun(p1,p2);

    printf("%c%c\n",c1,c2);

    }

    程序运行后的输出结果是

    A.Ab

    B.aa

    C.Aa

    D.Bb


    正确答案:A
    解析:本题考查了地址的调用。在子函数fun()中,a,b分别存储的是存放“A”,“a,,两个字符所在存储单元的地址。但在子函数中直接改变了指针变量a所指存储单元(a=b,即b所指单元)中的值,使其变为“b”,故子函数执行结束时,c1的值不变,c2的值改变。

  • 第15题:

    判断char型变量c1是否为小写字母的正确表达式为()A.'a'<=c 1<='z'B.(c1>=a)||(c1<=z)C.('a'=>c1|

    判断char型变量c1是否为小写字母的正确表达式为( )

    A.'a'<=c 1<='z'

    B.(c1>=a)||(c1<=z)

    C.('a'=>c1||('z'<=c1)

    D.(c1>='a')&&(c1<='z')


    正确答案:D
    解析:C语言规定,字符常量在程序中要用单引号括起来。判断c1是否为小写字母的充要条件c1>='a',和c1='z',用逻辑与(&&)来表示。A选项的这种形式在C语言中没有,所以选项D)正确。

  • 第16题:

    下列对字符数组进行初始化的语句中,______ 是正确的。

    A.char s 1[]=“abcd”;

    B.char s2[3]=”xyz”;

    C.char s 3[][3]={‘a’,‘x’,‘y’}

    D.char s3[][3]={“xyz”,“mnp”};


    正确答案:A
    解析:BCD选项都不合字符数组的定义。

  • 第17题:

    有以下程序 include main() {char c1,c2;scanf("%c",*c1);while(c1<65||c1>90)scanf("%

    有以下程序

    include<stdio.h>

    main()

    { char c1,c2;

    scanf("%c",*c1);

    while(c1<65||c1>90) scanf("%c",&c1);

    c2=c1+32;

    printf("%c,%c\n",c1,c2);

    }

    程序运行输入6回车后,自否输出结果、结束运行(请回答能或不能)【 】。


    正确答案:不能
    不能 解析:本题原意想把大与英文字母转换成小写字母,但由于输入数据时不正确致使循环无限制地进行下去,应该输入大写英文字母,因此,本题无输出结果,不能结束运行。

  • 第18题:

    判断char型变量c1是否为小写字母的正确表达式为()。A.'a'<=c1<='z'B.(c1>=A)&&(c1<=z)C.(

    判断char型变量c1是否为小写字母的正确表达式为( )。

    A.'a'<=c1<='z'

    B.(c1>=A)&&(c1<=z)

    C.('a'>=c1||('z'<=c1)

    D.(c1>='a')&&(c1<='z')


    正确答案:D

  • 第19题:

    有以下程序:void fun (char *a,char *b){a=b;(*a)++;}main(){char cl='A',c2='a',*p1,*p2;p1=&am

    有以下程序: void fun (char *a,char *b) { a=b;(*a)++;} main() { char cl='A',c2='a',*p1,*p2; p1=&c1;p2=&c2;fun (p1,p2); printf("%c,%c\n",c1,c2); } 程序运行后的输出结果是( )。

    A.Ab

    B.aa

    C.Aa

    D.Bb


    正确答案:A
    解析:经过分析得知fun()函数的功能:将形参a指向形参b所指的存储空间,然后使形参a指向变量的值加1。在主函数中定义了字符型指针变量p1和p2,并让它们分别指向c1和c2。将p1、p2作为实参传递给形参a、b。在fun()函数中,首先让指针变量p1指向p2,然后p1指向的存储空间的值加1,即让变量c2加1为b,而c1的值没有被改变,仍然是A。所以,4个选项中选项A符合题意。

  • 第20题:

    下列判断正确的是( )。

    A.chara="ABCD";等价于char*a;*a="ABCD";

    B.char str[10]={"ABCD"};等价于char str[10];str[]={"ABCD"};

    C.char*s="ABCD";等价于char s;*s="ABCD";

    D.charc[5]="ABCD",d[5]="ABCD";等价于char c[5]=d[5]="ABCD";


    正确答案:D
    解析:a="ABCD"书写错误,因为“;”左边不能出现常量;数组名s是代表s数组首地址的地址常量,而不是变量;字符串只有在定义时维数可以省略。

  • 第21题:

    有以下程序:includevoid fun(char *a, char *b){ a=b;(*a)++;}main(){char c1='A',c2=

    有以下程序: #include <stdio.h> void fun(char *a, char *b) { a=b; (*a)++;} main() { char c1='A',c2='a',*p1,*p2; p1=&c1; P2=&c2; fun(p1,p2); printf("%c%c\n",c1,c2); } 程序运行后的输出结果是( )。

    A.Ab

    B.aa

    C.Aa

    D.Bb


    正确答案:A
    解析:本题中fun函数的形参是两个指向字符型数据的指针,其功能是把b赋给a,然后将a所指存储单元里的变量值加1。在main函数中,p1里存放的是c1的地址,p2里存放的是c2的地址,经函数调用fun(p1,P2)后,p2的值赋给了p1,使p1和p2都指向了c2,而(*a)++又使'a'的值加1变成了'b',所以此时c2的值为'b',而c1的值没变,仍为'A'。程序改变的是p1的地址和c2的值。

  • 第22题:

    有以下程序 #include main() { char c1=’1’,c2=’2’; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); } 当运行时输入:a<回车>后,以下叙述正确的是()

    • A、变量C1被赋予字符a,c2被赋予回车符
    • B、程序将等待用户输入第2个字符
    • C、变量c1被赋予字符a,c2中仍是原有字符2
    • D、变量c1被赋予字符a,c2中将无确定值

    正确答案:A

  • 第23题:

    以下不正确的定义语句是()。

    • A、double x[5]={2.0,4.0,6.0,8.0,10.0};
    • B、int y[5]={0,1,3,5,7,9};
    • C、char c1[]={‘1’,’2’,’3’,’4’,’5’};
    • D、char c2[]={‘x10’,’xa’,’x8’};

    正确答案:B