2004年9月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C筆試試題含答案

字號(hào):

1.與十進(jìn)制數(shù)200等值的十六進(jìn)制數(shù)為
     A) A8 B)A4 C)C8 D)C4
     2.DOS文件系統(tǒng)的組織結(jié)構(gòu)屬于
     A)星形結(jié)構(gòu) B)網(wǎng)形結(jié)構(gòu) C) 環(huán)形結(jié)構(gòu) D)樹(shù)形結(jié)構(gòu)
     3. 對(duì)存儲(chǔ)器按字節(jié)進(jìn)行編址,若某存儲(chǔ)器芯片共有10根地址線,則該存儲(chǔ)器芯片的存儲(chǔ)容量為
     A)1KB B)2KB C)4KB D)8KB
     4. 在DOS環(huán)境下,代表鍵盤和顯示器的設(shè)備文件名為
     A)PRN B)CON C)NUL D)LPT
     5. 計(jì)算機(jī)網(wǎng)絡(luò)的主要特點(diǎn)是
     A) 運(yùn)算速度快 B)運(yùn)算精度高 C)資源共享 D)人機(jī)交互
     6.磁盤處于寫保護(hù)狀態(tài)時(shí)其中的數(shù)據(jù)
     A)不能讀出,不能刪改 B)可以讀出,不能刪改
     C)不能讀出,可以刪改 D)可以讀出,可以刪改
     7.從Windows環(huán)境進(jìn)入MS-DOS方式后,返回Windows環(huán)境的DOS命令為
     A)EXIT B)QUIT C)RET D)MSDO
     8. 在Windows環(huán)境下,若資源管理器左宣傳品中的某文件夾左邊標(biāo)有“+”標(biāo)記,則表示
     A)該文件夾為空 B)該文件夾中含有子文件夾
     C)該文件夾中只包含有可執(zhí)行文件 D)該文件夾中包含系統(tǒng)文件
     9.在Windows菜單中,暗淡的命令名項(xiàng)目表示該命令
     A)暫時(shí)不能用 B)正在執(zhí)行
     C)包含下一層菜單 D)包含對(duì)話框
     10.在Windows環(huán)境下,單擊當(dāng)前窗口中的按鈕“× ”(右上角的關(guān)閉按鈕),其功能是
     A)將當(dāng)前應(yīng)用程序轉(zhuǎn)為后臺(tái)運(yùn)行 B)退出Windows后再關(guān)機(jī)
     C)終止當(dāng)前應(yīng)用程序的運(yùn)行 D)退出Windows后重新啟動(dòng)計(jì)算機(jī)
     11.用C語(yǔ)言編寫的代碼程序
     A)可立即執(zhí)行 B)是一個(gè)源程序
     C)經(jīng)過(guò)編譯即可執(zhí)行 D)經(jīng)過(guò)編譯解釋才能執(zhí)行
     12.結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成,三種基本結(jié)構(gòu)組成的算法
     A)可以完成任何復(fù)雜的任務(wù) B)只能完成部分復(fù)雜的任務(wù)
     C)只能完成符合結(jié)構(gòu)化的任務(wù) D)只能完成一些簡(jiǎn)單的任務(wù) 13. 以下定義語(yǔ)句中正確的是
     13. 以下定義語(yǔ)句中正確的是
     A)char a='A'b='B'; B)float a=b=10.0;
     C)int a=10,*b=&a; D)float *a,b=&a;
     14.下列選項(xiàng)中,不能用作標(biāo)識(shí)符的是
     A)_1234_ B)_1_2 C)int_2_ D)2_int_
     } 15.有以下定義語(yǔ)句
     double a,b; int w; long c;
     若各變量已正確賦值,則下列選項(xiàng)中正確的表達(dá)式是
     A)a=a+b=b++ B)w%(int)a+b)
     C)(c+w)%(int)a D)w=a==b;
     16.有以下程序
     main()
     { int m=3,n=4,x;
     x=-m++;
     x=x+8/++n;
     printf("%d\n",x);
     }
     程序運(yùn)行后的輸出結(jié)果是
     A)3 B)5 C)-1 D)-2
     17.有以下程序
     main()
     { char a='a',b;
     print("%c,",++a);
     printf("%c\n",b=a++);
     }
     程序運(yùn)行后的輸出結(jié)果是
     A)b,b B)b,c C)a,b D)a,c
     18.有以下程序
     main()
     { int m=0256,n=256;
     printf("%o %o\n",mn,n);
     }
     程序運(yùn)行后的輸出結(jié)果是
     A)0256 0400 B)0256 256 C)256 400 D)400 400
     19.有以下程序
     main()
     { int a=666,b=888;
     printf("%d\n",a,b);
     }
     程序運(yùn)行后的輸出結(jié)果是
     A)錯(cuò)誤信息 B)666 C)888 D)666,888
     20.有以下程序
     main()
     { int i;
     for(i=0;i<3;i++)
     switch(i)
     {
     case 0:printf("%d",i);
     case 2:printf("%d",i);
     default:printf("%d",i);
     }
     }
     程序運(yùn)行后的輸出結(jié)果是
     A)022111 B)021021 C)000122 D)012
     21.若x和y代表整型數(shù),以下表達(dá)式中不能正確表示數(shù)學(xué)關(guān)系|x-y|<10的是
     A)abs(x-y)<10 B)x-y>-10&& x-y<10
     C)@(x-y)<-10||!(y-x)>10 D)(x-y)*(x-y)<100
     22.有以下程序
     main()
     {
     int a=3,b=4,c=5,d=2;
     if(a>b)
     if(b>c)
     printf("%d",d++ +1);
     else
     printf("%d",++d +1);
     printf("%d\n",d);
     }
     程序運(yùn)行后的輸出結(jié)果是
     A)2 B)3 C)43 D)44
     23.下列條件語(yǔ)句中,功能與其他語(yǔ)句不同的是
     A) if(a) printf("%d\n",x); else printf("%d\n",y);
     B) if(a==0) printf("%d\n",y); else printf("%d\n",x);
     C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);
     D) if(a==0) printf("%d\n",x); else printf("%d\n",y);
     24.有以下程序
     main()
     { int i=0,x=0;
     for (;;)
     {
     if(i==3||i==5) continue;
     if (i==6) break;
     i++;
     s+=i;
     };
     printf("%d\n",s);
     }
     程序運(yùn)行后的輸出結(jié)果是
     A)10 B)13 C)21 D)程序進(jìn)入死循環(huán)
     25.若變量已正確定義,要求程序段完成求5!的計(jì)算,不能完成此操作的程序段是B
     A)for(i=1,p=1;i<=5;i++) p*=i;
     B)for(i=1;i<=5;i++){ p=1; p*=i;}
     C)i=1;p=1;while(i<=5){p*=i; i++;}
     D)i=1;p=1;do{p*=i; i++; }while(i<=5);
     26.有以下程序
     main()
     { char a,b,c,d;
     scanf("%c,%c,%d,%d",&a,&b,&c,&d);
     printf("c,%c,%c,%c\n",a,b,c,d);
     }
     若運(yùn)行時(shí)從鍵盤上輸入:6,5,65,66<回車>。則輸出結(jié)果是
     A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6
     27)以下能正確定義二維數(shù)組的是
     A)int a[][3]; B)int a[][3]=2{2*3};
     C)int a[][3]={}; D)int a[2][3]={{1},{2},{3,4}};
     28. 有以下程序
     int f(int a)
     { return a%2; }
     main()
     { int s[8]={1,3,5,2,4,6},i,d=0;
     for (i=0;f(s);i++) d+=s;
     printf("%d\n",d);
     }
     程序運(yùn)行后的輸出結(jié)果是
     A)9 B)11 C)19 D)21
     29.若有以下說(shuō)明和語(yǔ)句,int c[4][5],(*p)[5];p=c;能正確引用c數(shù)組元素的是
    A)p+1 B)*(p+3)
    C)*(p+1)+3 D)*(p[0]+2])
     30.有以下程序
     main()
     { int a=7,b=8,*p,*q,*r;
     p=&a;q=&b;
     r=p; p=q;q=r;
     printf("%d,%d,%d,%d\n",*p,"q,a,b);
     }
     程序運(yùn)行后的輸出結(jié)果是
     A)8,7,8,7 B)7,8,7,8 C)8,7,7,8 D)7,8,8,7
     31.s12和s2已正確定義并分別指向兩個(gè)字符串。若要求:當(dāng)s1所指串大于s2所指串時(shí),執(zhí)行語(yǔ)句S;則以下選項(xiàng)中正確的是
     A)if(s1>s2)S; B)if(strcmp(s1,s2))S;
     C)if(strcmp(s2,s1)>0)S; D)if(strcmp(s1,s2)>0)S;
    資料來(lái)源:東方教育網(wǎng)全國(guó)計(jì)算機(jī)等級(jí)考試頻道 Http://www.eastedu.com.cn
     32.設(shè)有定義語(yǔ)句
     int x[6]={2,4,6,8,5,7},*p=x,i;
     要求依次輸出x數(shù)組6個(gè)元素中的值,不能完成此操作的語(yǔ)句是
     A)for(i=0;i<6;i++) printf("%2d",*(p++));
     B)for(i=0;i<6;i++) printf("%2d",*(p+i));
     C)for(i=0;i<6;i++) printf("%2d",*p++);
     D)for(i=0;i<6;i++) printf("%2d",(*p)++);
     33.有以下程序
     #include
     main()
     {int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
     *q=*(p+5);
     printf("%d %d\n",*p,*1);
     }
     程序運(yùn)行后的輸出結(jié)果是
     A)運(yùn)行后報(bào)錯(cuò) B)6 6 C)6 11 D)5 10
     34有以下定義和語(yǔ)句
     int a[3][2]={1,2,3,4,5,6,},*p[3];
     p[0]=a[1];
     則*p[0]+1)所代表的數(shù)組元素是
     A)a[0][1] B)a[1][0] C)a[1][1] D)a[1][2]
    35.有以下程序
     main()
     {char str[][10]={"China","Beijing"},*p=str;
     printf("%s\n",p+10);
     }
     程序運(yùn)行后的輸出結(jié)果是
     A) China B)Bejing C)ng D)ing
     36. 有以下程序
     main()
     {char s[]="ABCD",*p;
     for(p=s+1;p     }
     程序運(yùn)行后的輸出結(jié)果是
     A) ABCD B)A C)B D)BCD
     BCD B C CD
     CD C D D
     D D
     37.在函數(shù)調(diào)用過(guò)程中,如果函數(shù)funA調(diào)用了函數(shù) funB,函數(shù)funB又調(diào)用了函數(shù)funA,則
     A)稱為函數(shù)的直接遞歸調(diào)用 B)稱為函數(shù)的間接遞歸調(diào)用
     C)稱為函數(shù)的循環(huán)調(diào)用 D)C語(yǔ)言中不允許這樣的遞歸調(diào)用
     38.已有定義:int i,a[10],*p;,則合法的賦值語(yǔ)句是
     A)p=100; B)p=a[5]; C)p=a[2]+2; D)p=a+2;
     39.以下敘述中正確的是
     A)局部變量說(shuō)明為static存儲(chǔ)數(shù),其生存期將得到延長(zhǎng)
     B)全局變量說(shuō)明為static存儲(chǔ)類,其作用域?qū)⒈粩U(kuò)大
     C)任何存儲(chǔ)類的變量在未賦初值時(shí),其值都是不確定的
     D)形參可以使用的存儲(chǔ)類說(shuō)明符與局部變量完全相同
     40.設(shè)有定義語(yǔ)句:char c1=92,c2=92;,則以下表達(dá)式中值為零的是
     A)c1^c2 B)c1&c2 C)~c2 D)c1|c2
     41.程序中對(duì)fun函數(shù)有如下說(shuō)明
     void *fun();
     此說(shuō)明的含義是:
     A)fun了數(shù)無(wú)返回值
     B)fun函數(shù)的返回值可以是任意的數(shù)據(jù)類型
     C)fun函數(shù)的返回值是無(wú)值型的指針類型
     D)指針fun指向一個(gè)函數(shù),該函數(shù)無(wú)返回值
     42.有以下程序
     main()
     { char s[]"Yes\n/No",*ps=s;
     puts(ps+4);
     *(ps+4)=0;
     puts(s);
     }
     程序運(yùn)行后的輸出結(jié)果是
     A)n/No B)/No C)n/NO D)
     Yes Yes Yes /No
     /No /No Yes
     43.有以下程序
     main()
     { unsigned int a;
     int b=-1;
     a=b;
     printf("%u",a);
     }
     程序運(yùn)行后的輸出結(jié)果是
     A)-1 B)65535 C)32767 D)-32768
     44.有以下程序
     void fun(int *a,int i,int j)
     { int t;
     if(i     { t=a;a=a[j];a[j]=t;
     i++; j--;
     fun(a,i,j);
     }
     }
     main()
     { int x[]={2,6,18},i;
     fun(x,0,3);
     for(i=0;i<4;i++) printf("%2d",x);
     printf("\n");
     }
     程序運(yùn)行后的輸出結(jié)果是
     A)1 2 6 8 B) 8 6 2 1 C) 8 1 6 2 D)8 6 1 2
     45.有以下說(shuō)明和定義語(yǔ)句
     struct student
     { int age; char num[8];};
     struct student stu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}};
     struct student *p=stu;
    資料來(lái)源:東方教育網(wǎng)全國(guó)計(jì)算機(jī)等級(jí)考試頻道 Http://www.eastedu.com.cn
     以下選項(xiàng)中引用結(jié)構(gòu)體變量成員的表達(dá)式錯(cuò)誤的是
     A) (p++)->num B)p->num C)(*p).num D)stu[3].age
     46.有以下程序
     mina()
     { int x[]={1,3,5,7,2,4,6,0},i,j,k;
     for(i=0;i<3;i++)
     for (j=2;j>=i;j--)
     if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}
     for(i=0;i<3;i++)
     for(j=4;j<7-i;j++)
     if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}
     for (i=0;i<3;i++)
     for(j=4;j<7-i;j++)
     if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}
     for (i=0;i<8;i++) printf("%d",x);
     printf("\n");
     }
     程序運(yùn)行后的輸出結(jié)果是:
     A)75310246 B)01234567 C)76310462 D)13570246
     47.有如下程序
     #include
     main()
     {FILE *fp1;
     fp1=fopen("f1.txt","w");
     fprintf(fp1,"abc");
     fclose(fp1);
     }
     若文本文件f1.txt中原有內(nèi)容為:good,則運(yùn)行以上程序后文件f1.txt中的內(nèi)容為
     A)goodabc B)abcd C)abc D)abcgood
     48~50.以下程序的功能是:建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,并將存儲(chǔ)在數(shù)組中的
     字符依次轉(zhuǎn)儲(chǔ)到鏈表的各個(gè)結(jié)點(diǎn)中,請(qǐng)從與下劃線處號(hào)碼對(duì)應(yīng)的一組選若中選擇出
     正確的選項(xiàng)。
     #include
     stuct node
     { char data; struct node *next;};
     (48) CreatList(char *s)
     { struct node *h,*p,*q);
     h=(struct node *) malloc(sizeof(struct node));
     p=q=h;
     while(*s!='\0')
     { p=(struct node *) malloc(sizeof(struct node));
     p->data= (49)
     q->next=p;
     q= (50)
     s++;
     }
     p->next='\0';
     return h;
     }
     main()
     { char str[]="link list";
     struct node *head;
     head=CreatList(str);
     ...
     }
     (48)A)char * B)struct node C) struct node* D) char
     (49)A)*s B)s C)*s++ D)(*s)++
     (50)A)p->next B)p C)s D)s->next
    二、填空題:(每空2分 ,共40分)
     1.在64位高檔微機(jī)中,CPU能同時(shí)處理 _____ 個(gè)字節(jié)的二進(jìn)制數(shù)據(jù)。
     2.E-mail地址由域名和用戶名兩部分組成,它們之間用@分隔,其中在@后面的部分 是 _______
     3.Windows窗口一般由標(biāo)題欄、菜單欄、控制按鈕等部分組成。為了移動(dòng)窗口,則要 用鼠標(biāo)拖動(dòng) _____
     4.計(jì)算機(jī)軟件分為系統(tǒng)軟件和應(yīng)用軟件,UNIX系統(tǒng)屬于 ________ 。
     5.在Windows環(huán)境下,為了將屏幕內(nèi)容存入剪貼板,應(yīng)按 ________ 鍵。
     6.以下程序段的輸出結(jié)果是 _____
     int i=9;
     printf("%o\n",i);
     7.以下程序運(yùn)行后的輸出結(jié)果是 _______ 。
     main()
     { int a,b,c;
     a=25;
     b=025;
     c=0x25;
     printf("%d %d %d\n',a,b,c);
     }
     8.以下程序運(yùn)行后的輸出結(jié)果是 ______ 。
     main()
     { int p[7]={11,13,14,15,16,17,18};
     int i=0,j=0;
     while(i<7 && p%2==1) j+=p[i++];
     printf("%d\n",j);
     }
     9.以下程序運(yùn)行后的輸出結(jié)果是 _______ 。
     main()
     { int x=1,y=0,a=0,b=0;
     switch(x)
     {case 1:switch(y)
     { case 0:a++; break;
     case 1:b++; break;
     }
     case 2:a++;b++; break;
     }
     printf("%d %d\n",a,b);
     }
     10.以下程序運(yùn)行后的輸出結(jié)果是 _______ 。
     main()
     { int a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};
     int i=0,j=0,s=0;
     while(i++<4)
     {
     if(i==2||i==4) continue;
     j=0;
     do{ s+= a[j]; j++; } while(j<4);
     }
     printf("%d\n",s);
     }
     11.以下程序運(yùn)行后的輸出結(jié)果是 _____ 。
     main ()
     { char a[]="Language",b[]="Programe";
     char *p1,*p2; int k;
     p1=a; p2=b;
     for(k=0;k<=7;k++)
     if(*p1+k)==*(p2+k)) printf("%c",*(p1+k));
     }
     12.以下程序運(yùn)行后的輸出結(jié)果是 _______ 。
     main()
     { char a[]="123456789",*p; int i=0;
     p=a;
     while(*p)
     { if(i%2==0) *p='*";
     p++;i++;
     }
     puts(a);
     }
     13.以下程序中, for循環(huán)體執(zhí)行的次數(shù)是 _____ 。
     #define N 2
     #define M N+1
     #define K M+1*M/2
     main()
     { int i;
     for(i=1;i     { ... ]
     ...
     }
    14、通過(guò)函數(shù)求f(x)的累加和,其中f(x)=x2+1
    main()
    {
    printf("The sum=%d\n",SunFun(10));
    }
    SunFun(int n)
    {
    int x,s=0;
    for(x=0;x<=n;x++) s+=F(________);
    return s;
    }
    F( int x)
    { return ____________;}
     15. 以下程序從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計(jì)其中正數(shù)的個(gè)數(shù),并計(jì)算它們之和。
     請(qǐng)?zhí)羁铡?BR>     main()
     { int i,a[20],sun,count;
     suum=count=0;
     for(i=0;i<20;i++) scanf("%d", _____ );
     fro(i=0;i<20;i++)
     { if(a>0)
     { count++;
     sum+= ______
     }
     }
     printf("sum=%d,count=%d\n",sum,count);
     }
     16.以下程序中,函數(shù)
    sumColumM的功能是:求出M行N列二維數(shù)組每列元素中的最小值,并計(jì)算它們的和值。和值通過(guò)形參傳回主函數(shù)輸出。請(qǐng)?zhí)羁铡?BR>     #define M 2
     #define N 4
     void SumColumMin(int a[M][N],int *sum)
     { int i,j,k,s=0;
     for(i=0;i     { k=0;
     for(j=1;j     if(a[k]>a[j])k=j;
     s+= _______
     }
     [*sum] =s;
     }
     main()
     { int x[M][N]={3,2,5,1,4,1,8,3},s;
     SumColumMin( _______ );
     printf("%d\n",s);
     }
    2004年9月二級(jí)C筆試答案
    選擇題
    1-5 C D A B C
    6-10 B A B A C
    11-15 B C C D C
    16-20 D A C B C
    21-25 C A D D B
    26-30 A C A D C
    31-35 D D A C B
    36-40 D B D A A
    41-45 C B B C D
    46-50 A C C A B
    填空題
    1. 8
    2. 域名
    3. 標(biāo)題欄
    4. 系統(tǒng)軟件
    5. PEINTSCREEN
    6. 11
    7. 25 21 37
    8. 24
    9. 21
    10 . 92
    11. gae
    12. 1*3*5*7*9
    13. 4
    14. x x*x+1
    15. &a a
    16. a[k] *sum x,&s