2003年9月計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言試題及答案

字號(hào):

為大家收集整理了《2003年9月計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言試題及答案》供大家參考,希望對(duì)大家有所幫助?。?!
    一、選擇題((1)~(40)每小題1分,(41)~(55)每小題2分,共60分)
    下列各題 A、B、C、D.四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
    (1) 用8位無(wú)符號(hào)二進(jìn)制數(shù)能表示的十進(jìn)制數(shù)為
    A.127
    B.128
    C.255
    D.256
    (2) 在64位高檔微機(jī)中,一個(gè)字長(zhǎng)所占的二進(jìn)制位數(shù)為
    A.8
    B.16
    C.32
    D.64
    (3) 在Windows環(huán)境下,為了復(fù)制一個(gè)對(duì)象,在用鼠標(biāo)拖動(dòng)該對(duì)象時(shí)應(yīng)同時(shí)按住
    A.Alt鍵
    B.Esc鍵
    C.Shift鍵
    D.Ctrl鍵
    (4) 在Windows菜單中,暗淡(灰色)的命令項(xiàng)表示該命令
    A.暫時(shí)不能用
    B.正在執(zhí)行
    C.包含下一層菜單
    D.包含對(duì)話框
    (5) 在DOS環(huán)境下,為了得到TYPE命令的幫助信息,正確的DOS命令為
    A.TYPE
    B.TYPE/H
    C.TYPE/*
    D.TYPE/?
    (6) 下列選項(xiàng)中,能作為合法DOS文件名的是
    A.ANP/A.DAT
    B.ABCCOM
    C.ECD.BASIC
    D.XY+Z.TXT
    (7) 下列敘述中正確的是
    A.在Windows環(huán)境下,化的窗口是不能移動(dòng)的
    B.在Windows環(huán)境下,應(yīng)用程序窗口最小化后,該應(yīng)用程序暫停執(zhí)行
    C.在Windows環(huán)境下,只有最小化的窗口才能關(guān)閉
    D.在Windows環(huán)境下,不能關(guān)閉化的窗口
    (8) 在Windows環(huán)境下,工具欄中的復(fù)制按鈕是
    A.打印機(jī)圖標(biāo)
    B.剪刀標(biāo)志
    C.復(fù)制標(biāo)志
    D.粘貼標(biāo)志
    (9) 在Windows98環(huán)境下,若要將整個(gè)屏幕上顯示的內(nèi)容存入剪貼板,可以按
    A.Ctrl+PrintScreen鍵
    B.Alt+PrintScree鍵
    C.Shift+PrintScreen鍵
    D.PrintScreen鍵
    (10) 目前,計(jì)算機(jī)病毒擴(kuò)散最快的途徑是
    A.通過(guò)軟件復(fù)制
    B.通過(guò)網(wǎng)絡(luò)傳播
    C.通過(guò)磁盤考貝
    D.運(yùn)行游戲軟件
    (11) 以下敘述中正確的是
    A.C語(yǔ)言比其他語(yǔ)言高級(jí)
    B.C語(yǔ)言可以不用編譯就能被計(jì)算機(jī)識(shí)別執(zhí)行
    C.C語(yǔ)言以接近英語(yǔ)國(guó)家的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言作為語(yǔ)言的表達(dá)形式
    D.C語(yǔ)言出現(xiàn)的最晚,具有其他語(yǔ)言的一切優(yōu)點(diǎn)
    (12) C語(yǔ)言中用于結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是
    A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
    B.if、switch、break
    C.for、while、do-while
    D.if、for、continue
    (13) 在一個(gè)C程序中
    A.main函數(shù)必須出現(xiàn)在所有函數(shù)之前
    B.main函數(shù)可以在任何地方出現(xiàn)
    C.main函數(shù)必須出現(xiàn)在所有函數(shù)之后
    D.main函
    (14) 下列敘述中正確的是
    A.C語(yǔ)言中既有邏輯類型也有集合類型
    B.C語(yǔ)言中沒(méi)有邏輯類型但有集合類型
    C.C語(yǔ)言中有邏輯類型但沒(méi)有集合類型
    D.C語(yǔ)言中既沒(méi)有邏輯類型也沒(méi)有集合類型
    (15) 下列關(guān)于C語(yǔ)言用戶標(biāo)識(shí)符的敘述中正確的是
    A.用戶標(biāo)識(shí)符中可以出現(xiàn)在下劃線和中劃線(減號(hào))
    B.用戶標(biāo)識(shí)符中不可以出現(xiàn)中劃線,但可以出現(xiàn)下劃線
    C.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線,但不可以放在用戶標(biāo)識(shí)符的開(kāi)頭
    D.用戶標(biāo)識(shí)符中可以出現(xiàn)在下劃線和數(shù)字,它們都可以放在用戶標(biāo)識(shí)符的開(kāi)頭
    (16) 若有以下程序段(n所賦的是八進(jìn)制數(shù))
    int m=32767,n=032767
    printf("%d,%o/n",m,n);
    執(zhí)行后輸出結(jié)果是
    A.32767,32767
    B.32767,032767
    C.32767,77777
    D.32767,077777
    (17) 下列關(guān)于單目運(yùn)算符++、--的敘述中正確的是
    A.它們的運(yùn)算對(duì)象可以是任何變量和常量
    B.它們的運(yùn)算對(duì)象可以是char型變量和int型變量,但不能是float型變量
    C.它們的運(yùn)算對(duì)象可以是int型變量,但不能是double型變量和float型變量
    D.它們的運(yùn)算對(duì)象可以是char型變量、int型變量和float型變量
    (18) 若有以下程序段
    int m=0xabc,n=0xabc;
    m-=n;
    printf("%X\n",m);
    執(zhí)行后輸出結(jié)果是
    A.0X0
    B.0x0
    C.0
    D.0XABC
    (19) 有以下程序段
    int m=0,n=0; char c='a';
     scanf("%d%c%d",&m,&c,&n);
     printf("%d,%c,%d\n",m,c,n);
    若從鍵盤上輸入:10A10<回車>,則輸出結(jié)果是:
    A.10,A,10
    B.10,a,10
    C.10,a,0
    D.10,A,0
    (20) 有以下程序
    main()
    { int i;
     for(i=0;i<3;i++)
     switch(i)
     { case 1: printf("%d",i);
     case 2: printf("%d",i);
     default: printf("%d",i);
     }
    }
    執(zhí)行后輸出結(jié)果是
    A.011122
    B.012
    C.012020
    D.120
    (21) 有以下程序
    main()
    { int i=1,j=1,k=2;
     if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k);
    }
    執(zhí)行后輸出結(jié)果是
    A.1,1,2
    B.2,2,1
    C.2,2,2
    D.2,2,3
    (22) 有以下程序
    main()
    { int a=5,b=4,c=3,d=2;
     if(a>b>
    C.
    printf("%d\n",
    D.;
     else if((c-1>=
    D.==1)
    printf("%d\n",d+1);
     else
    printf("%d\n",d+2)
    }
    執(zhí)行后輸出結(jié)果是
    A.2
    B.3
    C.4
    D.編譯時(shí)有錯(cuò),無(wú)結(jié)果
    (23) 有以下程序
    main()
    { int p[7]={11,13,14,15,16,17,18},i=0,k=0;
     while(i<7&&p[i]%2){k=k+p[i];i++;}
     printf("%d\n",k);
    }
    執(zhí)行后輸出結(jié)果是
    A.58
    B.56
    C.45
    D.24
    (24) 有以下程序
    main()
    { int i=0,s=0;
    do{
    if(i%2){i++;continue;}
    i++;
    s +=i;
    }while(i<7);
     printf("%d\n",s);
    }
    執(zhí)行后輸出結(jié)果是
    A.16
    B.12
    C.28
    D.21
    (25) 有以下程序
    main()
    { int i=10,j=1;
     printf("%d,%d\n",i--,++j);
    }
    執(zhí)行后輸出結(jié)果是
    A.9,2
    B.10,2
    C.9,1
    D.10,1
    (26) 有以下程序
    main()
    { char a,b,c,*d;
     a='\'; b='\xbc';
     c='\0xab'; d="\017";
     print("%c%c%c\n",a,b,c,*
    D.;
    }
    編譯時(shí)出現(xiàn)錯(cuò)誤,以下敘述中正確的是
    A.程序中只有a='\';語(yǔ)句不正確
    B.b='\xbc';語(yǔ)句不正確
    C.d="\0127";語(yǔ)句不正確
    D.a(chǎn)='\';和c='\0xab';語(yǔ)句都不正確
    (27) 有以下程序
    int fl(int x,int y)
    { return x>y?x:y; }
    int f2(int x,int y)
    { return x>y?y:x; }
    main()
    { int a=4,b=3,c=5,d,e,f;
     d=f1(a,
    B.; d=f1(d,
    C.;
    e=f2(a,
    B.; e=f2(e,
    C.;
     f=a+b+c-d-e;
     printf("%d,%d,%d\n",d,f,e);
    }
    執(zhí)行后輸出結(jié)果是
    A.3,4,5
    B.5,3,4
    C.5,4,3
    D.3,5,4
    (28) 有如下程序
    void f(int x,int y)
    { int t;
     if(x
    }
    main()
    { int a=4,b=3,c=5;
     f(a,
    B.; f(a,
    C.; f(b,
    C.;
     printf("%d,%d,%d\n",a,b,
    C.;
    }
    執(zhí)行后輸出結(jié)果是
    A.3,4,5
    B.5,3,4
    C.5,4,3
    D.4,3,5
    (29) 若有以下定義和語(yǔ)句
    #include
    int a=4,b=3,*p,*q,*w;
    p=&a; q=&b; w=q; q=NULL;
    則以下選項(xiàng)中錯(cuò)誤的語(yǔ)句是
    A.*q=0;
    B.w=p;
    C.*p=a;
    D.*p=*w;
    (30) 有以下程序
    int *f(int *x,int *y)
    { if(*x<*y)
     return x;
     else
     return y;
    }
    main()
    { int a=7,b=8,*p,*q,*r};
    }
    執(zhí)行后輸出結(jié)果是
    A.7,8,8
    B.7,8,7
    C.8,7,7
    D.8,7,8
    (31) 有以下程序
    main()
    { char *s[]={"one","two","three"},*p;
     p=s[1];
     printf("%c,%s\n",*(p+1),s[0]);
    }
    執(zhí)行后輸出結(jié)果是
    A.n,two
    B.t,one C)w,one
    D.o,two
    (32) 有以下程序
    main()
    { int x[8]={8,7,6,5,0,0},*s;
     s=x+3
     printf("%d\n",s[2]);
    }
    執(zhí)行后輸出結(jié)果是
    A.隨機(jī)值
    B.0
    C.5
    D.6
    (33) 以下能正確定義數(shù)組并正確賦初值的語(yǔ)句是
    A.int N=5,b[N][N];
    B.int a[1][2]={{1},{3}};
    C.int c[2][]={{1,2},{3,4}};
    D.int d[3][2]={{1,2},{34}};
    (34) 有以下程序
    main()
    { int m[][3]={1,4,7,2,5,8,3,6,9};
     int i,j,k=2;
     for(i=0;i<3;i++)
    { printf("%d",m[k][i]); }
    }
    執(zhí)行后輸出結(jié)果是
    A.4 5 6
    B.2 5 8
    C.3 6 9
    D.7 8 9
    (35) 以下函數(shù)的功能是:通過(guò)鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。
    #define N 10
    void arrin(int x[N])
    { int i=0;
     while(i
     scanf("%d", );
    }
    在下劃線處應(yīng)填入的是
    A.x+i
    B.&x[i+1]
    C.x+(i++) D)&x[++i]
    (36) 有以下程序
    main()
    { char s[]="\n123\\";
     printf("%d,%d\n",strlen(s),sizeof(s));
    }
    執(zhí)行后輸出結(jié)果是
    A.賦初值的字符串有錯(cuò)
    B.6,7
    C.5,6
    D.6,6
    (37) 閱讀以下函數(shù)
    fun(char *s1,char *s2)
    { int i=0;
    while(s1[i]==s2[i]&& s2[i]!='\0')i++;
    return(s1[i]== && s2{i}!=='\0');
    }
    此函數(shù)的功能是
    A.將s2所指字符串賦給s1
    B.比較s1和s2所指字符串的大小,若s1比s2的大,函數(shù)值為1,否則函數(shù)值為0
    C.比較s1和s2所指字符串是否相等,若相等,函數(shù)值為1,否則函數(shù)值為0
    D.比較s1和s2所指字符串的長(zhǎng)度,若s1比s2的長(zhǎng),函數(shù)值為1,否則函數(shù)值為0
    (38) 以下敘述中正確的是
    A.全局變量的作用域一定比局部變量的作用域范圍大
    B.靜態(tài)(stati
    C.類別變量的生存期貫穿于整個(gè)程序的運(yùn)行期間
    C.函數(shù)的形參都屬于全局變量
    D)未在定義語(yǔ)句中賦初值的auto變量和static變量的初值都是隨機(jī)值
    (39) 設(shè)有如下說(shuō)明
    typedef struct
    { int n; char c; double x;}STD;
    則以下選項(xiàng)中,能正確定義結(jié)構(gòu)體數(shù)組并賦初值的語(yǔ)句是
    A.STD tt[2]={{1,'A',62},{2, 'B',75}};
    B.STD tt[2]={1,"A",62},2, "B",75};
    C.struct tt[2]={{1,'A'},{2, 'B'}};
    D.structtt[2]={{1,"A",62.5},{2, "B",75.0}};
    (40) 有以下程序
    main()
    { union { unsigned int n;
     unsigned char c;
     }u1;
     ul.c=`A`;
     printf("%c\n",u1.n);
    }
     執(zhí)行后輸出結(jié)果是
    A.產(chǎn)生語(yǔ)法錯(cuò)
    B.隨機(jī)值
    C.A
    D.65
    (41) 有以下程序
    main()
    { char str[]="xyz",*ps=str;
    while(*ps)ps++;
    for(ps--;ps-str>=0;ps--) puts(ps);
    }
    執(zhí)行后的輸出結(jié)果是
    A.yz
    B.z
    C.z
    D.x
    xyz yz yz xy
    xyz xyz
    (42) 有以下程序
    main()
    { int a[][3]={{1,2,3},{4,5,0}},{*pa}[3],i;
    pa=a;
    for(i=0;i<3;i++)
    if(i<2) pa[1][i]=pa[1][i]-1;
    else pa[1][i]=1;
    printf("%d\n",a[0][1]+a[1][1]+a[1][2]);
    }
    執(zhí)行后輸出結(jié)果是
    A.7
    B.6
    C.8
    D.無(wú)確定值
    (43) 有以下程序
    void fun(int *a,int i,int j)
    { int t;
    if(i
     { t=a[i];a[i]=a[j];a[j]=t;
     fun(a,++i,--j);
     }
    }
    main()
    { int a[]={1,2,3,4,5,6},i;
     fun(a,0,5)
     for(i=0;i<6;i++)
     printf("%d",a[i]);
    }
    執(zhí)行后的輸出結(jié)果是
    A.6 5 4 3 2 1
    B.4 3 2 1 5 6
    C.4 5 6 1 2 3
    D.1 2 3 4 5 6
    (44) 有以下程序
    main(int arge,char *argv[])
    { int n,i=0;
    while(arv[1][i]!='\0'
    { n=fun(); i++;}
     printf(%d\n",n*arg
    C.;
    }
    int fun()
    { static int s=0;
     s+=1;
     return s;
    }
    假設(shè)程序經(jīng)編譯、連接后生成可執(zhí)行文件exam.exe,若鍵入以下命令行
    exam 123<回車>
    則運(yùn)行結(jié)果為
    A.6
    B.8
    C.3 D)4
    (45) 以下程序段中,能夠通過(guò)調(diào)用函數(shù)fun,使main函數(shù)中的指針變量p指向一個(gè)合法的整型單元的是
    A.main()
    B.main
     { int *p; { int *p;
     fun(p); fun(&p);
     }
     }
    int fun(int *p) int fun(int **p)
    { int s; p=&s;} { int s;*p=&s;}
    C.#include
    D.#include
     main() main()
     { int *p; { int *p;
     fun(&p); fun(p);
    } }
     int fun(int **p) int fun(int *p)
    { *p=(int *)malloc(2);} { p=(int *)malloc(sizeo(int));}
    (46) 若要說(shuō)明一個(gè)類型名STP,使得定義語(yǔ)句STP s等價(jià)于char *s,以下選項(xiàng)中正確的是
    A.typedef STP char *s;
    B.typedef *char STP;
    C.typedef stp *char;
    D.typedef char* STP;
    (47) 設(shè)有如下定義
    struct ss
    { char name[10];
     int age;
     char sex;
    }std[3],*p=std;
    下面各輸入語(yǔ)句中錯(cuò)誤的是
    A.scanf("%d",&(*p).age);
    B.scanf("%s",&std.name);
    C.scanf("%c",&std[0].sex)
    D.scanf("%c",&(p->sex));
    (48) 設(shè)char型變量x中的值為10100111,則表達(dá)式(2+x)^(~3)的值是
    A.10101001
    B.10101000
    C.11111101
    D.01010101
    (49) 以下敘述中不正確的是
    A.C語(yǔ)言中的文本文件以ASCⅡ碼形式存儲(chǔ)數(shù)據(jù)
    B.C語(yǔ)言中對(duì)二進(jìn)制文件的訪問(wèn)速度比文本文件快
    C.C語(yǔ)言中,隨機(jī)讀寫方式不適用于文本文件
    D.C語(yǔ)言中,順序讀寫方式不適用于二進(jìn)制文件
    (50) 以下程序企圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符#號(hào)時(shí)結(jié)束輸入和輸出操作,但程序有錯(cuò)。
    #include
    main()
    { FILE *fout; char ch;
     fout=fopen('abc.txt','w');
    ch=fgetc(stdin);
    while(ch!='#')
     { fputc(ch,fout);
     ch=fgetc(stdin);
     }
     fclose(fout);
    }
     出錯(cuò)的原因是
    A.函數(shù)fopen調(diào)用形式錯(cuò)誤
    B.輸入文件沒(méi)有關(guān)閉
    C.函數(shù)fgetc調(diào)用形式錯(cuò)誤
    D.文件指針stdin沒(méi)有定義
    (42) 有以下程序
    main()
    { int a[][3]={{1,2,3},{4,5,0}},{*pa}[3],i;
    pa=a;
    for(i=0;i<3;i++)
    if(i<2) pa[1][i]=pa[1][i]-1;
    else pa[1][i]=1;
    printf("%d\n",a[0][1]+a[1][1]+a[1][2]);
    }
    執(zhí)行后輸出結(jié)果是
    A.7
    B.6
    C.8
    D.無(wú)確定值
    (43) 有以下程序
    void fun(int *a,int i,int j)
    { int t;
    if(i   { t=a[i];a[i]=a[j];a[j]=t;
     fun(a,++i,--j);
     }
    }
    main()
    { int a[]={1,2,3,4,5,6},i;
     fun(a,0,5)
     for(i=0;i<6;i++)
     printf("%d",a[i]);
    }
    執(zhí)行后的輸出結(jié)果是
    A.6 5 4 3 2 1
    B.4 3 2 1 5 6
    C.4 5 6 1 2 3
    D.1 2 3 4 5 6
    (44) 有以下程序
    main(int arge,char *argv[])
    { int n,i=0;
    while(arv[1][i]!='\0'
    { n=fun(); i++;}
     printf(%d\n",n*argc);
    }
    int fun()
    { static int s=0;
     s+=1;
     return s;
    }
    假設(shè)程序經(jīng)編譯、連接后生成可執(zhí)行文件exam.exe,若鍵入以下命令行
    exam 123<回車>
    則運(yùn)行結(jié)果為
    A.6
    B.8
    C.3
    D.4
    (45) 以下程序段中,能夠通過(guò)調(diào)用函數(shù)fun,使main函數(shù)中的指針變量p指向一個(gè)合法的整型單元的是
    A) main() B) main
     { int *p; { int *p;
     fun(p); fun(&p);
     }
     }
    int fun(int *p) int fun(int **p)
    { int s; p=&s;} { int s;*p=&s;}
    C) #include D) #include
     main() main()
     { int *p; { int *p;
     fun(&p); fun(p);
     } }
     int fun(int **p) int fun(int *p)
    { *p=(int *)malloc(2);} { p=(int *)malloc(sizeo(int));}
    (46) 若要說(shuō)明一個(gè)類型名STP,使得定義語(yǔ)句STP s等價(jià)于char *s,以下選項(xiàng)中正確的是
    A.typedef STP char *s;
    B.typedef *char STP;
    C.typedef stp *char;
    D.typedef char* STP;
    (47) 設(shè)有如下定義
    struct ss
    { char name[10];
     int age;
     char sex;
    }std[3],*p=std;
    下面各輸入語(yǔ)句中錯(cuò)誤的是
    A.scanf("%d",&(*p).age);
    B.scanf("%s",&std.name);
    C.scanf("%c",&std[0].sex)
    D.scanf("%c",&(p->sex));
    (48) 設(shè)char型變量x中的值為10100111,則表達(dá)式(2+x)^(~3)的值是
    A.10101001
    B.10101000
    C) 11111101
    D.01010101
    (49) 以下敘述中不正確的是
    A.C語(yǔ)言中的文本文件以ASCⅡ碼形式存儲(chǔ)數(shù)據(jù)
    B.C語(yǔ)言中對(duì)二進(jìn)制文件的訪問(wèn)速度比文本文件快
    C.C語(yǔ)言中,隨機(jī)讀寫方式不適用于文本文件
    D.C語(yǔ)言中,順序讀寫方式不適用于二進(jìn)制文件
    (50) 以下程序企圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符#號(hào)時(shí)結(jié)束輸入和輸出操作,但程序有錯(cuò)。
    #include
    main()
    { FILE *fout; char ch;
     fout=fopen('abc.txt','w');
    ch=fgetc(stdin);
    while(ch!='#')
     { fputc(ch,fout);
     ch=fgetc(stdin);
     }
     fclose(fout);
    }
     出錯(cuò)的原因是
    A.函數(shù)fopen調(diào)用形式錯(cuò)誤
    B.輸入文件沒(méi)有關(guān)閉
    C.函數(shù)fgetc調(diào)用形式錯(cuò)誤
    D.文件指針stdin沒(méi)有定義
    二、填空題(每空2分,共20分)
    請(qǐng)將每空的正確答案寫在答題卡上【1】-【20】序號(hào)的橫線上,答在試卷上不得分。
    (1) 用十六進(jìn)制繪存儲(chǔ)器中的字節(jié)地址進(jìn)行編號(hào),若地址編號(hào)從000到FFFF,則該存諸器的容量為【1】KB。
    (2) 假設(shè)在當(dāng)前盤的當(dāng)前目錄下有兩個(gè)文件A.TXT和B.TXT,現(xiàn)要將文件B.TXT合并連接到文件A.TXT的后面。若使用COPY命令,則完整的命令為【2】。
    (3) E-mail地址由用戶和域名兩部分組成,這兩部分的分隔符為【3】。
    (4) 假設(shè)在當(dāng)前盤當(dāng)前目錄下有一個(gè)可執(zhí)行程序USER.EXE?,F(xiàn)要執(zhí)行該程序,并要求在執(zhí)行過(guò)程中將顯示輸出的結(jié)果信息存入當(dāng)前盤當(dāng)前目錄的文件OUT.DAT中,則完整的DOS命令為【4】。
    (5) 在DOS環(huán)境下,表示打印機(jī)的設(shè)備文件名為【5】 。
    (6) 若有語(yǔ)句
    int i=-19,j=i%4;
     printf("%d\n",j);
    則輸出結(jié)果是 【6】 。
    (7) 若有程序
    main()
    { int i,j;
     scanf("i=%d,j=%d";&i,&j);
     printf("i=%d,j=%d\n",i,j);
    }
    要求給i賦10,給j賦20,則應(yīng)該從鍵盤輸入 【7】 。
    (8) 若有以下程序
    main()
    { int p,a=5;
     if(p=a!=0)
     printf("%d\n",p);
     else
     printf("%d\n",p+2);
    }
    執(zhí)行后輸出結(jié)果是 【8】 。
    (9) 若有以下程序
    main()
    { int a=4,b=3,c=5,t=0;
     if(a   if(a   printf("%d %d %d\n",a,b,c);
    }
    執(zhí)行后輸出結(jié)果是 【9】 。
    (10) 若有以下程序
    main()
    { int a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};
     int i,j,s=0;
     for(i=0;i<4;i++)
     { for(j=0;j<4;j++)
     { if(a[i][j]<0)continue;
     if(a[i][j]==0)break;
     s+=a[i][j];
     }
     }
     printf("%d\n",s);
    }
    執(zhí)行后輸出的結(jié)果是 【10】 。
    (11) 若有以下程序
    main()
    { char a;
     a='H'-'A'+'0';
     print("%c\n",a);
    }
    執(zhí)行后的輸出結(jié)果是 【11】 。
    (12) 若有以下程序
    int f(int x,int y)
    { return(y-x)*x; }
    main()
    { int a=3,b=4,c=5,d;
     d=f(f(3,4),f(3,5));
     printf("%d\n",d);
    }
    執(zhí)行后輸出的結(jié)果是【12】。
    (13) 函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下
    1
    1 1
    1 2 1
    1 3 3 1
    1 4 6 4 1
    其構(gòu)成規(guī)律是:
    第0列元素和主對(duì)角線無(wú)素均為1
    其余元素為其左上方和正上方元素之和
    數(shù)據(jù)的個(gè)數(shù)每行遞增1
    請(qǐng)將程序補(bǔ)充完整。
    #defint N 6
    void YangHui(int *[N][N])
    { int i,j;
     x[0][0]=1
     for(i=1;i   { x[i][0]= 【13】 =1;
     for(j=1;j   x[i][j]= 【14】 ;
     }
    }
    (14) 以下函數(shù)的功能是刪除字符串s中的所有數(shù)字字符。請(qǐng)?zhí)羁铡?BR>    void dele(char *s)
    { int n=0,i;
     for(i=0,s[i];i++)
     if(【15】)
     s[n++]=s[i];
    s[n]=【16】;
    }
    (15) 設(shè)函數(shù)findbig已定義為求3個(gè)數(shù)中的值。以下程序?qū)⒗煤瘮?shù)指針調(diào)用findbig函數(shù)。請(qǐng)?zhí)羁铡?BR>    main()
    { int findbig(int,int,int);
     int (*f)(),x,yz,z,big;
     f=【17】;
     scanf("%d%d%d",&x,&y,&z);
     big=(*f)(x,y,z);
     printf("bing=%d\n",big);
    }
    (16) 以下程序的輸出結(jié)果是【18】 。
    #defint MCRA(m) 2*m
    #define MCRB(n,m) 2*MCRA(n)+m
    main()
    { int i=2,j=3;
     printf("%d\n",MCRB(j,MCRA(i)));
    }
    (17) 設(shè)有以下定義
    struct ss
    { int info;struct ss *link;}x,y,z;
    且已建立如下圖所示鏈表結(jié)構(gòu):
    □□ →□□→□□
    X Y Z
    請(qǐng)寫出刪除點(diǎn)y的賦值語(yǔ)句【19】 。
    (18) 已有文本文件test.txt,其中的內(nèi)容為:Hello,everyone!。以下程序中,文件test.txt已正確為"讀"而打開(kāi),由文件指針fr指向該文件,則程序的輸出結(jié)果是 【20】 。
    #include
    main()
    { FILE *fr; char str[40];
    ……
     fgets(str,5,fr);
     printf("%s\n",str);
     fclose(fr);
    }
    一、選擇題
    1-5:CDDAD 6-10:BACDB 11-15:CABDB 16-20:ADCAA
    21-25:CBDAB 26-30:DCDAB 31-35:CBDCC 36-40:CCBAC
    41-45:CAAAC 46-50:DBDDA
    二、填空題
    (1) 64
    (2) COPY A.TXT+B.TXT A.TXT
    (3) @
    (4) USER >OUT.DAT
    (5) PRN或LPT1或LPT2
    (6) -3
    (7) i=10,j=20
    (8) 1
    (9) 5 0 3
    (10) 58
    (11) 7
    (12) 9
    (13) x[i][i]和x[i-1][j-1]+x[i-1][j]
    (14) !(s[i]>='0'&&s[i]<='9')和'\0'
    (15) findbig
    (16) 16
    (17) x.link=y.link;
    (18) Hell