参考答案和解析
参考答案:C
更多“China held the 22nd ()APEC economic leader’s meeting in Beijing in 2014. ”相关问题
  • 第1题:

    有以下程序

    main( )

    {char str[ ][10]={"China","Beijing"},*p=str;

    printf("%s\n",p+10);

    }

    程序运行后的输出结果是

    A.China

    B.Bejing

    C.ng

    D.ing


    正确答案:B
    解析:本题中str定义为一个二维字符数组,即为str[2]  [10],也可以用str[0]..sr[19]来索引所有的字符值,p指向这个数组的首指针,那么p+10指向这个数组第二维的首指针,所以输出字符串为Beijng。

  • 第2题:

    下列选项中正确的语句是( )。

    A.chars [8];s={"Beijing"};

    B.char*s:s={Bei jing");

    C.chars [8]: s="Bei jing"};

    D.char*s:s="Bei jing";


    正确答案:D
    解析:宁符数组初始化可以有两种方式:方式一,按单个字符的方式赋初值。方式二,把一个字符串作为初值赋给字符数组。比如:charch[5]={"abc"),选项A属于这种情况,但是选项A定义的字符数组长度为8,由于最后还要加一个“\0”做结束标志,所以赋给他的字符串长度应小于等于7,所以选项A不正确;在给字符数组赋初值的时候,应该用花括号“{”和“}”将字符串括起来,故选项C不正确。将字符型指针变量指向字符串也有两种方法,一是在定义指针变量时就给其赋初值,比如:char*p="student"二是给指针变量赋值,比如:p="student";(p已经被定义为字符型指针变量:),故选项D正确,而选项C中的花括号是多余的,应该去掉,所以,4个选项中选项D符合题意。

  • 第3题:

    有以下程序: main() { char str[][10]={"China","Beijing"),*p=str; printf("%s\n",p+10); } 程序运行后的输出结果是( )。

    A.China

    B.Beijng

    C.ng

    D.ing


    正确答案:B
    解析:本题中首先定义了一个字符串数组并初始化,初始化后使得str[0]="China",str[1]="Beijng",然后定义一个指针变量p并让其指向str,而在该二维数组中定义每个字符串的长度为10,所以p+10将指向str[1],因此最后输出*(p+10)的值为Beijng。所以,4个选项中选项B符合题意。

  • 第4题:

    以下程序的输出结果是( )。 main {char str[]1-10]={"china","beijing"),*p=str; printf("%s\n",p+10); }

    A. China

    B.Beijing

    C.ng

    D.ing


    正确答案:B
    本题考查指针,由*p=str可知,指针P指向字符串数组的首地划。二维数组str为每个字符串分配的存储空间是10个字节,因此p+10指向str[1][0],输出的字符串就是数组中的第2个字符串。

  • 第5题:

    有以下程序:include < stdio. h >main( ){ehar str[ ] [10] = { "China" ," Beijing" } , * p =

    有以下程序: #include < stdio. h > main( ) { ehar str[ ] [10] = { "China" ," Beijing" } , * p = str[o]; printf( "% s \n", p + 10); }程序运行后的输出结果是( )。

    A.China

    B.Beijing

    C.ng

    D.ing


    正确答案:B
    解析:C语言中二维数组是按行存放的,即在内存中先顺序存放第一行的元素,再存放第二行的元素。此题二维数组str[][10]第1行的前5个元素为'C','h','i','n','a',第6个元素为'\0',后4个元素为空字符。紧接着内存单元存放数组第2行的元素,即从str[1][0]到str[1][9]分别为'B','e','i','j','i','n','g',第8个元素为'\0',后两个元素为空字符。执行*p=str[0]后,指针p就指向了二维数组str的首地址,p+10指向从首地址依次向后的第11个存储单元即字符,B,的地址,所以输出Beijing,故答案为B。

  • 第6题:

    以下程序的输出结果是( )。

    main

    {char str[][10]={"china","beijing"),*p=str;

    printf("%s\n",p+10);

    }

    A.China

    B.Beijing

    C.ng

    D.ing


    正确答案:B
    本题考查指针,由*p=str可知,指针P指向字符串数组的首地划。二维数组str为每个字符串分配的存储空间是10个字节,因此p+10指向str[1][0],输出的字符串就是数组中的第2个字符串。