蕭雨
1999年9月全國計算機等級考試二級C語言筆試試題
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應的位置上,答在試卷上不得分。
(1)十進制數1385轉換成十六進制數為
A)568 B)569 C)D85 D)D55
(2)下列敘述中正確的是
A)計算機病毒只能傳染給可執行文件
B)計算機軟件是指存儲在軟盤中的程序
C)計算機每次啟動的過程之所以相同,是因為RAM中的所有信息在關機后不會丟失
D)硬盤雖然裝在主機箱內,但它屬于外存
(3)一個字長的二進制位數是
A)8 B)16
C)32 D)隨計算機系統而不同的
(4)CPU主要由運算器與控制器組成,下列說法中正確的是
A)運算器主要負責分析指令,并根據指令要求作相應的運算
B)控制器主要完成對數據的運算,包括算術運算和邏輯運算
C)控制器主要負責分析指令,并根據指令要求作相應的運算
D)控制器直接控制計算機系統的輸入與輸出操作
(5)下列敘述中正確的是
A)將數字信號變換成便于在模擬通信線路中傳輸的信號稱為調制
B)以原封不動的形式將來自終端的信息送入通信線路稱為調制解調
C)在計算機網絡中,一種傳輸介質不能傳送多路信號
D)在計算機局域網中,只能共享軟件資源,而不能共享硬件資源
(6)各種網絡傳輸介質
A)具有相同的傳輸速率和相同的傳輸距離
B)具有不同的傳輸速率和不同的傳輸距離
C)具有相同的傳輸速率和不同的傳輸距離
D)具有不同的傳輸速率和相同的傳輸距離
(7)多媒體計算機系統的兩大組成部分是
A)多媒體功能卡和多媒體主機
B)多媒體通信軟件和多媒體開發工具
C)多媒體輸入設備和多媒體輸出設備
D)多媒體計算機硬件系統和多媒體計算機軟件系統
(8)按通信距離劃分,計算機網絡可以分為局域網和廣域網。下列網絡中屬于局域網的是
A)Internet B)CERNET C)Novell D)CHINANET
(9)在Windows中,啟動應用程序的正確方法是
A)用鼠標雙擊該應用程序圖標 B)將該應用程序窗口最小化成圖標
C)將該應用程序窗口還原 D)將鼠標指向該應用程序圖標
(10)在Windows中,終止應用程序執行的正確方法是
A)用鼠標雙擊應用程序窗口左上角的控制菜單框
B)將應用程序窗口最小化成圖標
C)用鼠標雙擊應用程序窗口右上角的還原按鈕
D)用鼠標雙擊應用程序窗口中的標題欄
(11)DOS控制鍵Ctrl+Alt+Del的功能為
A)刪除一個字符并退格 B)暫停標準輸出設備的輸出
C)熱啟動 D)終止當前操作
(12)設當前盤為C盤,為了將A盤當前目錄中所有擴展名為.PAS 的文件改成擴展名為.P,應使用的DOS命令為
A)REN A:*.PAS A:*.P B)REN A:*.PAS *.P
B)REN A:.PAS A:.P D)REN A:.PAS .P
(13)設當前盤為C盤,其根目錄下有兩個子目錄D1與D2,且當前目錄為D1,若要進入子目錄D2,正確的DOS命令為
A)CD D2 B)CD D2\ C)CD \D2 D)CD D1\D2
(14)設當前盤為A盤,要將B盤當前目錄下的兩個文件A.TXT與X.TXT 連接后以文件名Y.TXT存放到A盤的當前目錄中,正確的DOS命令為
A)COPY A.TXT+X.TXT A:Y.TXT B)COPY B:A.TXT+X.TXT A:Y.TXT
B)COPY B:A.TXT+B:X.TXT>Y.TXT D)COPY B:A.TXT+B:X.TXT Y.TXT
(15)下列DOS命令中正確的是
A)REN \USER\A.TXT \B.TXT B)CD \
C)TYPE *.TXT D)MD \
(16)以下選項中屬于C語言的數據類型是
A)復數型 B)邏輯型 C)雙精度型 D)集合型
(17)在C語言中,不正確的int類型的常數是
A)32768 B)0 C)037 D)0xAF
(18)語句:printf("%d",(a=2)&&(b= -2);的輸出結果是
A)無輸出 B)結果不確定 C)-1 D)1
(19)下列描述中不正確的是
A)字符型數組中可以存放字符串
B)可以對字符型數組進行整體輸入、輸出
C)可以對整型數組進行整體輸入、輸出
D)不能在賦值語句中通過賦值運算符"="對字符型數組進行整體賦值
(20)設有如下定義:int x=l,y=-1;,則語句:printf("%d\n",(x--&++y));的輸出結果是
A)1 B)0 C)-1 D)2
(21)當c的值不為0時,在下列選項中能正確將c的值賦給變量a、b的是
A)c=b=a; B)(a=c)‖(b=c);
C)(a=c)&&(b=c); C)a=c=b;
(22)以下程序的輸出結果是
A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10 9 1
main( )
{ int x=10,y=10,I;
for(i=0;x>8;y=++i)
printf("%d,%d ",x--,y);
}
(23)以下程序的輸出結果是
A)5 2 B)5 1 C)5 3 D)9 7
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]); } (24)以下程序的輸出結果是 a)6 b)6789 c)'6' d)789 main( ) { char a[10]={'1','2','3','4','5','6','7','8','9',0},*p; int i; i=8; p=a+I; printf("%s\n",p-3); } (25)以下程序的運行結果是 a)運行后報錯 b)6 6 c)6 12 d)5 5 #include "stdio.h" main( ) { int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12,}; int *p=a+5, *q=NULL; * q=*(p+5); printf("%d %d \n",*p,*q); } (26)以下說法中正確的是 a)#define和printf都是c語句 b)#define是c語句,而printf不是 c)printf是c語句,但#define不是 d)#define和printf都不是c語句 (27)語句:printf("%d \n",12 &012);的輸出結果是 a)12 b)8 c)6 d)012 (28)能正確表示a和b同時為正或同時為負的邏輯表達式是 a)(a>=0‖b>=0)&&(a<0‖b <0) b)(a>=0&&b>=0)&&(a<0&&b <0) c)(a+b>0)&&(a+b<=0) d)a*b>0
(29)以下程序的輸出結果是
A)2 0 B)3 1 C)3 2 1 D)2 1 0
main( )
{ int n=4;
while(n--)printf("%d ",--n);
}
(30)若已定義:int a[9],*p=a;并在以后的語句中未改變p的值,不能表示a[1] 地址的表達式是
A)p+1 B)a+1 C)a++ D)++p
(31)以下程序的輸出結果是
A)17,021,0x11 B)17,17,17
B)17,0x11,021 D)17,21,11
main( )
{ int k=17;
printf("%d,%o,%x \n",k,k,k);
}
(32)以下程序的輸出結果是
A)-1 1 B)0 1 C)1 0 D)0 0
main( )
{ int a= -1,b=1,k;
if((++a<0)&& ! (b-- <=0)) printf("%d %d\n",a,b); else printf("%d %d\n",b,a); } (33)若有說明:long *p,a;則不能通過scanf語句正確給輸入項讀入數據的程序段是 a)*p=&a; scanf("%ld",p); b)p=(long *)malloc(8); scanf("%ld",p); c)scanf("%ld",p=&a); d)scanf("%ld",&a); (34)以下選項中,能定義s為合法的結構體變量的是 a)typedef struct abc b)struct { double a; { double a; char b[10]; char b[10]; } s; } s; c)struct abc d)typedef abc { double a; { double a; char b[10]; char b[10]; } } abc s; abc s; (35)若有以下的說明和語句,則在執行for語句后,*(*(pt+l)+2)表示的數組元素是 a)t[2][0] b)t[2][2] c)t[l][2] d)t[2][l] int t[3][3], *pt([3], k; for (k=0;k<3;k++) pt[k]=&t[k][0]; (36)下面程序把數組元素中的最大值放入a[0]中。則在if 語句中的條件表達式應該是 a)p>a B)*p>a[0] C)*p>*a[0] D)*p[0]> *a[0]
main( )
{ int a[10]={6,7,2,9,1,10,5,8,4,3},*p=a,I;
for(i=o;i<10;i++,p++) if(________) *a=*p; printf("%d",*a); } (37)以下程序的輸出結果是 a)ihgfedcba b)abcdefghi c)abcdedeba d)ihgfefghi #include main( ) { char *a="abcdefghi" ; int k; fun(a); puts(a); } fun(char *s) { int x,y; char c; for(x=0,y=strlen(s)-1;x0) fun(k-1); printf("%d",k); } (42)以下程序的輸出結果是 a)6 9 9 b)6 6 9 c)6 15 15 d)6 6 15 int d=1; fun(int p) { static int d=5; d+=p; printf("%d ",d); return(d); } main( ) { int a=3; printf("%d \n",fun(a+fun(d))); } (43)以下程序的輸出結果是 a)123456780 b)123 456 780 c)12345678 d)147 main( ) { char ch[3][4]={"123","456","78"}, *p[3]; int i; for(i=0;i<3;i++) p[i]=ch[i]; for(i=0;i<3;i++) printf("%s",p[i]); } (44)以下程序的輸出結果是 a)1 b)4 c)7 d)5 #include int a[3][3]={1,2,3,4,5,6,7,8,9,},*p; main( ) { p=(int*)malloc(sizeof(int)); f(p,a); printf("%d \n",*p); } f(int *s, int p[][3]) { *s=p[1][1]; } (45)以下程序的輸出結果是 a)9 b)6 c)36 d)18 #define f(x) x*x main( ) { int a=6,b=2,c; c=f(a) / f(b); printf("%d \n",c); } (46)以下程序的輸出結果是 a)4 2 1 1 b)0 0 0 8 c)4 6 7 8 d)8 8 8 8 main( ) { char *s="12134211" ; int v[4]={0,0,0,0},k,i; for(k=0;s[k];k++) { switch(s[k]) { case '1':i=0; case '2':i=1; case '3':i=2; case '4':i=3; } v[i]++; } for(k=0;k<4;k++) printf("%d ",v[k]); } (47)以下程序的輸出結果是 a)afghdefg b)abfhd c)afghd d)afgd #include main( ) { char *p1,*p2,str[50]="ABCDEFG" ; p1="abcd" ; p2="efgh" ; strcpy(str+1,p2+1); strcpy(str+3,p1+3); printf("%s",str); } (48)以下程序的輸出結果是 a)#*#*# b)##### c)***** d)*#*#* main( ) { int i; for(i=1;i<6;i++) { if(i%2){printf("#");continue;} printf("*"); } printf("\n"); } (49)若有以下定義和語句: double r=99, *p=&r; *p=r; 則以下正確的敘述是 a)以下兩處的*p含義相同,都說明給指針變量p賦值 b)在"double r=99, *p=&r;"中,把r的地址賦值給了p所指的存儲單元 c)語句"*p=r;"把變量r的值賦給指針變量p d)語句"*p=r;"取變量r的值放回r中 (50)以下程序的輸出結果是 a)編譯不通過,無輸出 b)aceg c)acegi d)abcdefghi main( ) { int i; for(i='A' ;i<'i';i++,i++) printf("%c",i+32); printf(" \n"); } 二、填空題(每空2分,共40分) 請將每空的正確答案寫在答題卡____1_____至___20_____序號的橫線上, 答在試卷上不得分。 (1)dos命令分為內部命令與外部命令,path命令是____1____命令。 (2)設當前盤為a盤,當前目錄為\x\y,a盤上的一個文件qr.c 在當前目錄下的子目錄w中。現已將a盤的當前目錄改為\D\XY,當前盤改為C盤,如果需指定A盤上的該文件應寫成____2____。
(3)為了得到XCOPY命令的在線幫助,可使用的DOS命令文件一為____3____。
(4)在DOS系統下,代表鍵盤與顯示器的設備文件名為____4____。
(5)在DOS系統下,可以直接執行的文件的擴展名除.FXE外,還有兩個是____5____。
(6)若想通過以下輸入語句使a=5.0,b=4,c=3,則輸入數據的形式應該是____6____。
.
.
.
int b,c; float a;
scanf("%f,%d,c=%d",&a,&b,&c);
.
.
.
(7)下列程序的輸出結果是_____7____。
#include
main( )
{ char b[30],*chp;
strcpy(&b[0],"CH");
strcpy(&b[1],"DEF");
strcpy(&b[2],"ABC");
printf("%s \n",b);
}
(8)下列程序的輸出結果是____8____。
int t(int x,int y,int cp,int dp)
{ cp=x*x+y*y;
dp=x*x-y*y;
}
main( )
{ int a=4,b=3,c=5,d=6;
t(a,b,c,d);
printf("%d %d \n",c,d);
}
(9)下列程序中字符串中各單詞之間有一個空格,則程序的輸出結果是____9____。
#include
main( )
{ char strl[]="How do you do", *p1=strl;
strcpy(strl+strlen(strl)/2,"es she");
printf("%s \n",pl);
}
(10)以下程序的功能是:從鍵盤上輸入若干個學生的成績,統計計算出平均成績,并輸出低于平均分的學生成績,用輸入負數結束輸入。請填空。
main( )
{ float x[1000], sum=0.0, ave, a;
int n=0, i;
printf("Enter mark:\n");scanf("%f",&a);
while(a>=0.0&& n<1000) { sum+____10____; x[n]=_____11____; n++; scanf("%f",&a); } ave=____12____; printf("output:\n"); printf("ave=%f\n",ave); for( i=0;i main( ) { file *fp; char ch,fname[32]; int count=0; printf("input the filename :"); scanf("%s",fname); if((fp=fopen(____16____,"w+"))==NULL) { printf("can't open file:%s \n",fname); exit(0);} printf("enter data:\n"); while((ch=getchar())!="#"){ fputc(ch,fp); count++;} fprintf(____17____,"\n%d\n", count); fclose(fp); } (13)以下函數creatlist用來建立一個帶頭節點的單鏈表,鏈表的結構如下圖所示,新的結點總是插入在鏈表的末尾。鏈表的頭指針作為函數值返回,鏈表最后一個節點的next域放入NULL,作為鏈表結束標志。data為字符型數據域,next為指針域。讀入時字符以#表示輸入結束(#不存入鏈表)。請填空。
struct node
{ char data;
struct node * next;
};
.
.
.
_____18_____ creatlist( )
{ struct node * h,* s,* r; char ch;
h=(struct node *)malloc(sizeof(struct node));
r=h;
ch=getchar( );
{ s=(struct node *)malloc(sizeof(struct node));
s->data=____19____;
r->next=s; r=s;
ch=getchar( ); }
r->next=____20_____;
return h;
}
·2009年3月計算機等級考試三級信息管理筆試試題 (2009-3-29 17:35:02)
·2009年3月計算機等考二級公共基礎筆試試題答案 (2009-3-29 9:19:54)
·2009年3月計算機等考四級數據庫筆試試題答案 (2009-3-29 8:55:43)
·2009年3月計算機等級考試二級Access筆試試題答案 (2009-3-28 19:33:01)
·2009年3月計算機等級考試二級C筆試試題答案 (2009-3-28 19:02:12)
·2009年3月計算機等級考試四級數據庫筆試試題 (2009-3-28 17:35:38)
·2009年3月計算機等考二級公共基礎筆試試題答案 (2009-3-29 9:19:54)
·2009年3月計算機等考四級數據庫筆試試題答案 (2009-3-29 8:55:43)
·2009年3月計算機等級考試二級Access筆試試題答案 (2009-3-28 19:33:01)
·2009年3月計算機等級考試二級C筆試試題答案 (2009-3-28 19:02:12)
·2009年3月計算機等級考試四級數據庫筆試試題 (2009-3-28 17:35:38)