第十一章单元测试
  1. 若有语句int *point,a=4;和point=&a;下面均代表指针的一组选项是( )。

  2. A:&*a,&a,*point
    B:a,point,*&a
    C:&a,&*point ,point
    D:*&point,*point,&a

    答案:&a,&*point ,point

  3. 有以下程序段
    int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;
    b=p[5];
    执行后b中的值是( )。

  4. A:8
    B:5
    C:6
    D:9
  5. 若有定义int a[5],*p=a; 则对a数组元素的正确引用是( )。

  6. A:*(p+5)
    B:*(a+2)
    C:a+2
    D:a[5]
  7. 若有定义int a[7],*p=a; 则p+5表示( )。

  8. A:元素a[6]的值
    B:元素a[6]的指针
    C:元素a[5]的指针
    D:元素a[5]的值
  9. 设已有定义: int a[10]={15,12,7,31,47,20,16,28,13,19},*p; 则下列语句中正确的是( )。

  10. A:for(p=a; p<(a+10); p++);
    B:for(p=a; a<(p+10); a++);
    C:for(p=a; a<p+10; ++a);
    D:for(p=a,a=a+10; p<a; p++);
  11. #include <stdio.h>
    int main()
    {
    int x[ ] = {10, 20, 30};
    int *px = x;
    printf("%d,", ++*px); printf("%d,", *px);
    px = x;
    printf("%d,", (*px)++); printf("%d,", *px);
    px = x;
    printf("%d,", *px++); printf("%d,", *px);
    px = x;
    printf("%d,", *++px); printf("%d\n", *px);
    return 0;
    }
    上面程序运行后的输出结果是( )。

  12. A:20,10,11,20,11,12,20,20
    B:11,11,11,12,12,13,20,20
    C:11,11,11,12,12,20,20,20
    D:20,10,11,10,11,10,11,10
  13. #include <stdio.h>
    int main()
    {
    int arr[ ]= {6,7,8,9,10};
    int *ptr;
    ptr=arr;
    *(ptr+2)+=2;
    printf ("%d,%d\n",*ptr,*(ptr+2));
    return 0;
    }
    上面程序的运行结果为( )。

  14. A:6,10
    B:6,8
    C:7,9
    D:8,10
  15. 有以下定义
    char a[10],*b=a;
    则不能给数组a输入字符串的语句是( )。

  16. A:gets(b)
    B:gets(a[0])
    C:gets(&a[0])
    D:gets(a)
  17. #include <stdio.h>
    int main()
    {
    char a[ ]="programming",b[ ]="language";
    char *p1,*p2;
    int i;
    p1=a;
    p2=b;
    for(i=0; i<7; i++)
    if(*(p1+i)==*(p2+i))
    printf("%c",*(p1+i));
    return 0;
    }
    上面程序输出结果是( )。

  18. A:gm
    B:or
    C:ga
    D:rg

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(2) dxwkbang
返回
顶部