第六章单元测试
  1. 已有定义 int a=2, *p1=&a, *p2=&a; ,下面不能正确执行的赋值语句是()



  2. A:p1=a; B:a=*p1* (*p2) ; C:a=*p1+*p2; D:p1=p2; 
    答案:p1=a;
  3. 下面判断正确的是( )。


  4. A:char s[10]={" girl"}; 等价于char s[10];s[10]={"girl"}; B:char s[4]= "boy", t[4]= "boy";等价于 char s[4]=t[4]= "boy" C:char *s=" girl"; 等价于char *s; *s=" girl";

     

    D:char *s=" girl"; 等价于char *s; s="girl" ;
  5. 有以下程序

       #include<stdio.h>    main()

    {  int m=1,n=2,*p=&m,*q=&n,*r;    r=p;p=q;q=r;

       printf("%d,%d,%d,%d\n",m,n,*p,*q); }

    程序运行后的输出结果是 ( )



  6. A:2,1,1,2  B:1,2,1,2  C:2,1,2,1 D:

    1,2,2,1

  7. 若有以下定义和语句:

    int s[4][5], (*ps) [5];

    ps=s;

    则对s数组元素的正确引用形式是()。



  8. A:ps+1 B:ps[0][2] C:*(ps+1)+3 D:*(ps+3)
  9. void ss( char *s, char t){

    while (*s)

    { if (*s==t) *s=t-'a'+'A';

    s++;

    }

    }

    void main()

    {

    char str[100]="abeddfefdbd", c='d' ;ss(str, c);

    printf(" %s\n",str) ;

    }

    程序送行后的輸出結果是( )。



  10. A:abcAAfefAbA B:abeDDfefDbD C:ABCDDEFEDBD  D:Abcddfefdbd
  11. 下列程序段的输出結果是( )

    #include "stdio.h"

    void fun( int *x,int *y){

    printf("%d %d ", *x,*y);

    *x=3;

    *y=4;

    }

    void main( )

    {

    int x=1,y=2;

    fun(&y, &x);

    printf("%d %d", x, y);

    }



  12. A:2 1 1 2 B:2 1 4 3 C:1 2 3 4 D:1 2 1 2 
  13. 下列程序的输出结果是( )。

    #include "stdio.h"

    void main(){

    char a[10]={9,8,7,6,5,4,3,2,1,0}, *p=a+5;printf("%d", *--p);}



  14. A:a[4] 的地址 B:5 C:非法 D:3
  15. 有以下程序

     #include "stdio.h"

    #include "string.h"

      void main(int argc,  char *argv[])

      {

          int m, length=0;

          for (m=1;m<argc; m++) length+=strlen (argv[m]) ;

          printf("%d\n",length) ;}

     

          程序编译连接后生成的可执行文件是file. exe,若执行时输入带参数的命令行是:

          file  1234  567  89<回车>,则运行结果是( )。



  16. A:17 B:9 C:22 D:13
  17. 有以下函数: ;

    char *fun (char *s)

    { ...

    return s;

    }

    该函数的返回值是( )。



  18. A:无确定值 B:形参s自身的地址值 C:形参 s中存放的地址值 D:一个临时存储单元的地址
  19. 若有以下说明语句:

    char *language[ ] = {“FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};

    char **q;

    q = language + 2;

    则语句printf(“%s\n”, *q) 输出的是( )



  20. A:language[2]元素的值,它是字符串PASCAL的首地址 B:字符串PASCAL C:格式说明不正确,无法得到确定的输出 D:language[2]元素的地址;

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