高級(jí)語(yǔ)言程序設(shè)計(jì)模擬試卷(二)

字號(hào):

1.單項(xiàng)選擇題(在本題的每一小題的備選答案中只有一個(gè)答案是正確的,請(qǐng)把你認(rèn)為正確答案的題號(hào),填入題于的括號(hào)內(nèi)。多選不給。每題1分,共20分)
    1.以下符合語(yǔ)法規(guī)則的用戶標(biāo)識(shí)符是( )。
    (1)1st (2) break (3)B757 (4) Two Words
    2.若要求在if語(yǔ)句括在圓括號(hào)對(duì)中的表達(dá)示表示a不等于0的關(guān)系,則能正確表示這一關(guān)系的表達(dá)式是( )。
    (1)a<>0 (2)!a (3)a=0 (4)
    3.若定義
    int a=1,b=2,c=3,d=4,e;
     則執(zhí)行下述語(yǔ)句
    e=a>b?a:c    后,e的值為( ?。?。
    (1)1 (2)2 (3)3 (4)4
    4.下面的語(yǔ)句組所表示的數(shù)學(xué)函數(shù)關(guān)系是( ?。??!?BR>    y=-1;
     if (x!=0)
     if (x>0)
     y=1;
     else
     y=0;
    5. 以下敘述正確的是( )。
     (1)do-while語(yǔ)句構(gòu)成的循環(huán)不能用其他語(yǔ)句構(gòu)成的循環(huán)來(lái)代替
     (2)do-while語(yǔ)句構(gòu)成的循環(huán)只能用break語(yǔ)句退出
     (3)do-while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)
     (4)do-while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為零時(shí)結(jié)束循環(huán)
    6.有以下程序
     #include
     main()
     {
     int x,i;
     for (i=1;i<=50;i++)
     {
     x=i;
     if (++x%2==0)
     if (x%3==0)
     if (x%7==0)
     printf("%d",i);
     }
     printf("\n");
     }
     執(zhí)行此程序的輸出結(jié)果是( )。
     (1)28 (2)27 (3)42 (4)41
    7.執(zhí)行下述程序的輸出是( )。
     #include
     main()
     {
     int y=9;
     for (;y>0;y--)
     {
     if (y%3==0)
     {
     printf("y%3==0);
     continue;
     }
     if (y!=1)
     printf("%c",' ');
     else
     printf("\n");
     }
     }
    (1) 7 4 1 (2)8 5 2 (3)9 6 3 (4)8 7 5 4 2 1
    8.若有以下程序片段
     char str[]="ab\n\012\\\"";
     printf("%d\n",strlen(str));
     則執(zhí)行printf語(yǔ)句的輸出結(jié)果是( )。
     (1)6 (2)12 (3)3 (4)4
    9.對(duì)于如下之程序段,應(yīng)有( )。
     char a[10],b[]="China";
     a=b;
     printf("%s",a);
     (1)運(yùn)行后將輸出China (2)運(yùn)行后將輸出ch
     (3)運(yùn)行后將輸出c (4)程序出錯(cuò),不能運(yùn)行
    10.執(zhí)行下述程序的輸出結(jié)果是( )。
     #include
     main()
     {
     int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];
     for (i=0;i<4;i+=2)
     printf("%d",p[i]);
     printf("\n");
     }
     (1) 5 2 (2) 5 1 (3) 5 3 (4) 9 7
    11.以下程序當(dāng)運(yùn)行時(shí),如果從鍵盤上輸入
     book
     book
     則輸出結(jié)果是( )。
     #include
     #include
     main()
     {
     char a1[80],a2[80],*s1=a1,*s2=a2;
     gets(s1); gets(s2);
     if (!strcmp(s1,s2))
     printf("*");
     else
     print("#");
     printf("%d\n",strlen(strcat(s1,s2)));
     }
     (1)*8 (2)#9 (3)#8 (4)*9
    12.下面的程序段的運(yùn)行結(jié)果是( )。
     char str[]="NBA",*p=str;
     printf("%d\n",*(p+3)));
     (1) 65 (2)0 (3)字符'A'的地址 (4)A
    13.決定c語(yǔ)言中函數(shù)返回值類型的是( )。
     (1)return語(yǔ)句中的表達(dá)式類型
     (2)調(diào)用該函數(shù)的主調(diào)函數(shù)類型
     (3)調(diào)用函數(shù)時(shí)臨時(shí)指定的類型
     (4)定義函數(shù)時(shí)在函數(shù)首部中所指定的類型(若缺省,則隱含為int型)
    14.執(zhí)行下述程序的輸出結(jié)果是( )。
     #include
     int func(int x,int y,int *cp,int *dp)
     {
     *cp=x+y;
     *dp=x-y;
     }
     main()
     {
     int a,b,c,d;
     a=30;
     b=50;
     func(a,b,&c,&d);
     printf("%d,%d\n",c,d);
     }
     (1)80,-20 (2)80,20 (3)50,30 (4)30,50
    15.欲定義一函數(shù),其功能是交換兩個(gè)整數(shù)值,且通過(guò)函數(shù)調(diào)用能返回交換的結(jié)果。能正確執(zhí)行此功能的函數(shù)定義是( )。
     (1)func(int x,int y)
     {
     int t;
     t=x;
     x=y;
     y=t;;
     }
     (2)func(int *x,int *y)
     {
     *x=*y;
     *y=*x;
     }
     (3)func(int *x,int *y)
     {
     int t;
     t=*x;
     *x=*y;
     *y=t;
     }
     (4)func(int *x,int *y)
     {
     int *t;
     *t=*x;
     *x=*y;
     *y=*t;
     }
    16.執(zhí)行下述程序的輸出結(jié)果是( )。
     #include
     int d=1;
     func (int p)
     {
     static int d=5;
     d+=p;
     printf ("%d ",d);
     return (d);
     }
     main ()
     {
     int a=3;
     printf("%d\n",func(a+func(d));
     }
     (1)6 9 9 (2)6 6 9 (3)6 15 15 (4)6 6 15
    17.設(shè)有如下定義
     struct sk
     {
     int a;
     float b;
     } data,*p;
     若有 p=&data;
     則對(duì)data中的成員a的正確引用是( )。
     (1)(*p).data.a (2)(*p).a (3)p->data.a (4)p.data.a
    18.若已建立下面的鏈表結(jié)構(gòu),指針變量p、q分別指向圖中所示結(jié)點(diǎn),則下列語(yǔ)句組中,不能實(shí)現(xiàn)將q所指向的結(jié)點(diǎn)插入到鏈表末尾的一組語(yǔ)句是( )。
     (1)q->next=NULL; (2) p=p->next;
     p=p->next; q->next=p->next;
     p->next=q; p->next=q;
     (3) p=p->next; (4) p=(*p).next;
     q->next=p; (*q).next=(*p).next;
     p->next=q; (*p).next=q;
    19.函數(shù)調(diào)用語(yǔ)句
     fseek(fp,-20L,2);
     的含義是( )。
     (1)將文件位置指針移動(dòng)到距離文件頭20個(gè)字節(jié)處
     (2)將文件位置指針從當(dāng)前位置向后移動(dòng)20個(gè)字節(jié)
     (3)將文件位置指針從文件末尾處向后退20個(gè)字節(jié)
     (4)將文件位置指針移動(dòng)到離當(dāng)前位置20個(gè)字節(jié)處
    20.若以下程序所生成的可執(zhí)行文件名為filel.exe,則當(dāng)在操作系統(tǒng)狀態(tài)下輸入下述命令行執(zhí)行該程序時(shí)
     FILE1 CHINA BEIJING SHANGHAI
     程序的輸出結(jié)果是( )。
     #include
     main(int argc,char *argv[])
     {
     while (argc-->1)
     {
     ++argv;
     printf("%s ",*argv);
     }
     printf("\n");
     }
     (1)CHINA BEIJING SHANGHAI (2)FILE1 CHINA BEIJING SHANGHAI
     (3)C B S (4)F C B