2009年4月全國計算機等級二級C筆試考前練習習題(18)

字號:

1.有以下結(jié)構(gòu)體說明和變量的定義,且如下圖所示指針p指向變量a,指針q指向變量b。則不能把結(jié)點b連接到結(jié)點a之后的語句是()
    struct node
    {char data;
    struct noe*next;
    }a,b,*p= &a,*q=&b;
    A)a.next=q;
    B)p.next= &b;
    C)p- >next=&b;
    D)(*p).next=q;
    2.若有如下定義:
    int(*p)(),*q();
    則下列說法正確的是()
    A)p是一個函數(shù)名,q是一個指針變量
    B)p是一個指向整型變量的指針變量,q是一個指向一維數(shù)組的指針變量
    C)p和q是等價的,都是指針變量
    D)p是指向函數(shù)的指針變量,函數(shù)的返回值是整型數(shù)據(jù);q是帶回指針值的函數(shù)
    3.有以下程序
    # include
    main()
    { float x,y;
    scanf( "%f",&x);
    if(x <0.0)y=0.0;
    else if((x <5.0)&&(x!=2.0))
    y=1.0/(x+2.0);
    else if(x <10.0)y=1.0/x;
    else y=10.0
    printf( "%f\n",y);
    }
    若運行時從鍵盤上輸入2.0 (表示回車),則上面程序的輸出結(jié)果是()
    A)0.000000
    B)0.250000
    C)0.500000
    D)1.000000
    4.以下程序段中,能夠通過調(diào)用函數(shù)fun,使main函數(shù)中的指針變量p指向一個合法的整型單元的是()
    A)main ()
    {int*p;
    fun (p);
    …
    }
    intfun (int*p)
    { int s;p= &s;}
    B)main
    {int*p;
    fun ( &p);
    …
    }
    intfun (int**p)
    {ints;*p= &s;}
    C)#include
    main ()
    {int*p;
    fun ( &p);
    …
    }
    intfun (int**p)
    {*p=(int*)malloc (2); }
    D)#include
    main ()
    { int*p;
    fun (p);
    …
    }
    int fun (int*p)
    {p=(int*)malloc(sizeof (int)); }
    5.執(zhí)行下列程序時輸入:23 <空格>456<空格>789<回車>,輸出結(jié)果是()
    main()
    { char s[100]
    int c,i;
    scanf( "%c",&c);
    scanf( "%d",&i);
    scanf( "%s",s);
    printf( "%c,%d,%s\n",c,i,s);
    }
    A)1,456,789
    B)1,23,456
    C)1,23,456,789
    D)23,456,789
    6.有以下程序
    #include
    #include
    main()
    { char b1[8]= "abcdefg",b2[8],*pb=b1+3;
    while(--pb >b1)strcpy(b2,pb);
    printf( "%d\n",strlen(b2));
    }
    程序運行后的輸出結(jié)果是()
    A)8
    B)3
    C)1
    D)6
    7.設(shè)有如下定義和聲明:
    structs
    { inta;
    structs*next};
    structsx[4]={1, &x[1],3,&x[2],5,&x[3],7,’\0’},*t;
    t= &x[0];
    則下列表達式值為2的是()
    A)++t- >a
    B)(*t).a++
    C)t- >a++
    D)t++- >a
    8.若有如下程序:
    main()
    {int a=6; char ch=c;
    printf( "%d\n",(a&2)&&(ch<′m′));}
    則程序運行后的輸出結(jié)果是()
    A)0
    B)1
    C)2
    D)3
    9.下列說法不正確的是()
    A)下列結(jié)構(gòu)體定義時,占據(jù)了5個字節(jié)的空間
    struct s {int num;
    int age;
    char sex;
    }
    B)結(jié)構(gòu)體的成員名可以與程序中的變量名相同
    C)對結(jié)構(gòu)體中的成員可以單獨使用,它的作用相當于普通變量
    D)結(jié)構(gòu)體的成員可以是一個結(jié)構(gòu)體變量
    10.若要打開A盤中user子目錄下名為aaa.txt的文本文件進行讀、寫操作,下面符合此要求的函數(shù)調(diào)用是()
    A)fopen( "A:\user\aaa.txt","r")
    B)fopen( "A:\\user\\aaa.txt","r+")
    C)fopen( "A:\user\aaa.txt","rb")
    D)fopen( "A:\\user\\aaa.txt","w")
    答案:1.B 2.D 3.C 4.C 5.B 6.D 7.A 8.A 9.A 10.B