更多“char a[5][4],a的地址为0,问printf(“%d”,a[4]+3)值”相关问题
  • 第1题:

    以下能正确定义一维数组的选项是

    A.int a[5]={0,1,2,3,4,5};

    B.char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};

    C.char a={′A′,′B′,′C′};

    D.int a[5]="0123";


    正确答案:B
    解析:选项A)中,定义的初值个数大于数组的长度;选项C)中,数组名后少了中括号;选项D)中,整型数组不能赋予字符串。

  • 第2题:

    以下程序的功能是进行位运算: main() {unsigned char a,b; a=7∧3;b=~4 & 3; printf("%d%d\n",a,B) ; } 程序运行后的输出结果是 ______。

    A.4 3

    B.7 3

    C.7 0

    D.4 0


    正确答案:A
    解析:C语言提供六种位运算符,按优先级由高到低的顺序分别为:取反(-)→左移()和右移(>>)→按位与(&)→按位异或(∧)→按位或(|)。”∧”是按位异或运算,当对应位上的二进制数值相同时,异或的结果为0,对应位上的二进制数值不同时,异或的结果为1,本题“7∧3”相当于0111∧0011,所以a的值为4;“&”是按位与运算符,只有当所有对应位上的数值都为1时,结果才为1;"-"是按位取反。题中“-4&3”相当于1011&0011=0011,所以b的值为 3。

  • 第3题:

    以下程序的输出结果是______。 main() { int a[4][4]={{1,3,5,},{2,4,6},{3,5,7}}; printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]); }

    A.650

    B.1470

    C.5430

    D.输出值不定


    正确答案:A
    解析:对未给出初始值的整数数组元素,被默认初始化为零。

  • 第4题:

    以下程序段运行后*(p+3)的值为()char a[]=”good”;char *p;p=a;

    A.‘d’

    B.‘\0’

    C.存放’d’的地址

    D.‘0’


    参考答案:A

  • 第5题:

    合法的数组定义是 ( )

    A.int a[ ]="string";

    B.int a[5]={0,1,2,3,4,5};

    C.char a="string";

    D.char a={0,1,2,3,4,5};


    正确答案:D

  • 第6题:

    请读程序段:char str[]="ABCD",*p=str;printf("%d\n",*(p+4));程序段的输出结果是 ______。

    A.68

    B.0

    C.字符D的地址

    D.不确定的值


    正确答案:B
    解析:在对字符数组赋字符串值时,系统会自动在字符串的末尾加上一个字符串结束标志'\0',故指向字符数组的指针p的*(p+4)的值为'\0'。由于'\0'的编码值就是0,所以本题输出为0。

  • 第7题:

    下列程序的输出结果是______。 main() { char a[10]={1,2,3,4,5,6,7,8,9,0},*p=a+5; printf("%d",*--p); }

    A.非法

    B.a[4]的地址

    C.5

    D.7


    正确答案:C
    解析:p是一个指向字符的指针,在定义时,指向a[5]。执行--p时,p就指向了a[4],那么*--p就是5。

  • 第8题:

    以下能正确定义一维数组的选项是()

    • A、int a[5]={0,1,2,3,4,5};
    • B、char a[]={0,1,2,3,4,5};
    • C、char a={’A’,’B’,’C’};
    • D、int a[5]="0123";

    正确答案:B

  • 第9题:

    char a[5][4],a的地址为0,问printf(“%d”,a[4]+3)值


    正确答案:printf(“%d”,a[4]+3)值是15

  • 第10题:

    以下程序的输出结果是()。 main() { int a[4][4]={{1,3,5},{2,4,6},{3,5,7}}; printf("%d%d%d%d/n",a[0][3],a[1][2],a[2][1],a[3][0]); }

    • A、0650
    • B、1470
    • C、5430
    • D、输出值不定

    正确答案:A

  • 第11题:

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

    f

    B

    e

    C

    /0

    D

    ∪(∪表示空格)


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

  • 第12题:

    问答题
    char a[5][4],a的地址为0,问printf(“%d”,a[4]+3)值

    正确答案: printf(“%d”,a[4]+3)值是15
    解析: 暂无解析

  • 第13题:

    下列程序的输出结果是______。 main ( ) { char a [10] ={ 9, 8,7,6, 5, 4,3, 2, 1,0},*p=a+5; printf ("%d", *--p); }

    A.非法

    B.a[4]的地址

    C.5

    D.3


    正确答案:C

  • 第14题:

    请读程序段: char str[]="ABCD",*p=str; printf("%d\n",*(p+4)); 程序段的输出结果,是_______。

    A.68

    B.0

    C.字符'D'的地址

    D.不确定的值


    正确答案:B
    解析:在对字符数组赋字符串值时,系统会自动在字符串的末尾加上一个字符串结束标志“/0”,故指向字符数组的指针p的*(p+4)的值为“\0”。由于“\0”的编码值就是0,所以本题输出为0。

  • 第15题:

    有以下程序: main() { unsigned char a,b; a=4 | 3; b=4 & 3; printf("%d %d\n",a,b); } 执行后输出结果是( )。

    A.7 0

    B.0 7

    C.1 1

    D.43 0


    正确答案:A
    解析:在位与运算符&中参加运算的两位都为1时,其结果为1,否则结果为0。所以本题中的4|3:01002|00112=01112=7。位与运算符|中参加运算的两位只要有一个为1,则结果为1,只有当相应的两位都为0结果才为0。所以本题中的4&3=01002&00112 =00002=0。最后输出a和b的值为7和0。故4个选项中选项A符合题意。

  • 第16题:

    下列程序的输出结果是______。 main() { char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5; printf("%d",*--p); }

    A.非法

    B.a[4]的地址

    C.5

    D.3


    正确答案:C
    解析:本题中char*p=a+5;即相当于p=&a[5],而--p,是先要减1,则printf语句要输出的值就是a[4]。

  • 第17题:

    下列程序的输出结果是 ( ) main( ) { char a[10]={9,8,7,6,5,4,3,2,1,0},* p=a + 5; printf("%d",*- -p); }

    A.非法

    B.a[4]的地址

    C.5

    D.3


    正确答案:C

  • 第18题:

    下列合法的数组定义是______。

    A.int a[]="string";

    B.int a[5]={0,1,2,3,4,5};

    C.char s="string";

    D.char a[]={0,1,2,3,4,5};


    正确答案:D
    解析:选项A错在用字符串对整型数组赋值;选项B错在初始化表中数据的个数多于数组的最大长度;选项C错在没有用数组存储字符串;选项D的初始化表中虽然是5个数,但实际相当于把ASCⅡ码值是这5个整数的字符赋值给数组,因此是正确的。

  • 第19题:

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

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

    正确答案:A

  • 第20题:

    以下能正确定义一维数组的是()

    • A、int a〔5〕={0,1,2,3,4,5};
    • B、int a〔5〕=”012345”;
    • C、char.〔 〕=”012345”;
    • D、char a〔5〕={0,1,2,3,4,5};

    正确答案:C

  • 第21题:

    合法的数组定义是()

    • A、int a[ ]="string";
    • B、int a[5]={0,1,2,3,4,5};
    • C、char s="string";
    • D、char a[ ]={0,1,2,3,4,5};

    正确答案:D

  • 第22题:

    以下程序段运行后*(p+3)的值为() char a[]=”good”; char *p; p=a;

    • A、‘d’
    • B、‘/0’
    • C、存放’d’的地址
    • D、‘0’

    正确答案:A

  • 第23题:

    单选题
    以下程序段运行后*(p+3)的值为() char a[]=”good”; char *p; p=a;
    A

    ‘d’

    B

    ‘/0’

    C

    存放’d’的地址

    D

    ‘0’


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

  • 第24题:

    单选题
    有以下程序: #include int fun(char *s) {  char *p=s;  while(*p++!='\0');  return(p-s); } main() {  char *p=01234;  printf(%d,fun(p)); } 程序的运行结果是(  )。
    A

    6

    B

    5

    C

    4

    D

    3


    正确答案: B
    解析:
    程序执行过程为:定义字符串指针p并为其初始化为“01234”,调用函数fun(p),将指针传入函数。while循环找到字符串的束符地址,然后使这个指针指向结束符下一个单元,结束循环。返回字符串首地址与结束符下一个地址之差,也即是字符串长度加1。输出地址差为6,答案选择A选项。