當前位置:編程學習大全網 - 編程語言 - 求94年 全國計算機等級考試二級C語言筆試試題!

求94年 全國計算機等級考試二級C語言筆試試題!

打印文章 打印本文 關閉窗口

1994年4月全國計算機等級考試二級筆試試卷 C語言

作者:龍派 文章來源:龍派 點擊數45 更新時間:2005-11-10 文章錄入:jiangtao 責任編輯:jiangtao

壹、選擇題(1-30每小題1分,31-45每小題2分,***60分)

下列各題 A),B),C),D)四個選項,只有壹個選項是正確的,請將正確的選項在答題卡相應位置上塗黑。答在試卷上不得分。

(1) 二進制數101110轉換為等值的八進制數是 1 。

1 A) 45 B) 56 C) 67 D) 78

(2) CPU是由 2 組成的。

2 A) 內存儲器和控制器 B) 控制器和運算器

C) 內存儲器和運算器 D) 內存儲器、控制器和運算器

(3) DOS是為IBM PC系列微型計算機及其兼容機所配置的 3 磁盤操作系統。

3 A) 多用戶多任務 B) 單用戶單任務 C) 分時 D) 分布式

(4) 啟動MS-DOS操作系統後, 4 已駐留內存。

4 A) COMMAND.COM B) DISKCOPY.COM C) FORMAT.COM D) CCCC.EXE

(5) 設驅動器B中軟盤上的目錄結構如下圖所示。

設當前目錄為F2,則把A盤根目錄下的PROG.BAS文件復制到B盤F3子目錄中的命令是 5 。

5 A) COPY PROG.BAS B: B) COPY A:PROG.BAS B:\

C) COPY A:\PROG.BAS B:\F3 D) COPY A:PROG.BAS B:\F3\

(6) 下面四組DOS命令中,意義完全相同的壹組是 6 。

6 A) COPY和DISKCOPY B) COMP和DISKCOMP

C) DEL和RD D) RENAME和REN

(7) 防止軟盤感染病毒的有效方法是 7 。

7 A) 不要把軟盤和有毒軟盤放在壹起 B) 在寫保護缺口上貼上膠條

C) 保持機房清潔 D) 定期對軟盤格式化

(8) 雙面高密度5英寸軟磁盤的容量是 8 。

8 A) 360KB B) 720KB C) 1.2MB D) 1.44MB

(9) 在FOXBASE中,可以使用的兩類變量是 9 。

9 A) 內存變量和字段變量 B) 全局變量和局部變量

C) 字段變量和簡單變量 D) 內存變量和自動變量

(10) 建立壹個新子目錄的DOS命令是 10 。

10 A) CREATE B) RD C) MD D) CD

(11) 在C語言中,如果下面的變量都是int類型,則輸出的結果是 11 。

sum=pad=5; pAd=sum + + ,pAd + + , + + pAd;

printf("%d\n",pad);

11 A) 7 B) 6 C) 5 D) 4

(12) 以下程序的輸出結果是 12 。

# include

main()

{ int i=010 , j = 10;

printf("%d,%d\n",+ +i , j - -); }

12 A) 11,10 B) 9,10 C) 010,9 D) 10,9

(13) 已知在ASCII代碼中,字母A的序號為65,以下程序的輸出的結果是 13 。

# include

main()

{ char c1='A', c2='Y';

printf("%d,%d\n",c1,c2); }

13A) 因輸出格式不合法,輸出錯誤信息 B)65,90 C)A,Y D)65,89

(14) 指針s所指字符串的長度為 14 。

char *s="\\"Name\\Address\n";

14 A) 19 B) 15 C) 18 D) 說明不合法

(15) 設有說明int(*ptr)[m];其中的標識符ptr是 15 。

15 A)M個指向整型變量的指針

B)指向M個整型變量的函數指針

C)壹個指向具有M個整型元素的壹維數組的指針

D)具有M個指針元素的壹維指針數組,每個元素都只能指向整型量

(16) 語句while(!E);中的條件!E等價於 16 。

16 A)E = = 0 B)E!=1 C)E!=0 D)~E

(17) 以下程序的輸出結果是 17 。

# include

main()

{ printf("%d\n",NULL); }

17 A) 不確定的(因變量無定義) B)0 C)-1 D)1

(18) 以下函數調用語句中含有 18 個實參。

func((exp1,exp2),(exp3,exp4,exp5));

18 A) 1 B) 2 C) 4 D) 5

(19) 設有以下語句:

char a=3,b=6,c;

c=a^b<<2;

則c的二進制值是 19 。

19 A) 00011011 B)00010100 C)00011100 D)00011000

(20) 下面的程序中 20 有錯誤(每行程序前面的數字是行號)。

1 #include

2 main()

3 {

4 float a[3]={0,0};

5 int i;

6 for(i=0;i<3;i + + ) scanf("%d",&a[i]);

7 for(i=1;i<3;i + + ) a[0]=a[0]+a[i];

8 printf("%f\n",a[0]);

9 }

20 A) 沒有 B)第4行 C)第6行 D)第8行

(21) 設有語句int a=3;則執行了語句a+=a-=a*a;後,變量a的值是 21 。

21 A)3 B)0 C)9 D)-12

(22) 以下的for循環 22 。

for(x=0,y=0; (y!=123)&&(x<4); x + + );

22A) 是無限循環 B)循環次數不定 C)執行4次 D)執行3次

(23) 設有語句char a='\72';則變量a 23 。

23A)包含1個字符 B)包含2個字符 C)包含3個字符 D)說明不合法

(24) 以下程序的輸出結果是 24 。

# include

# include

main()

{ int a=1,b=4,c=2;

float x=10..5 , y=4.0 , z;

z=(a+b)/c+sqrt((double)y)*1.2/c+x;

pritnf("%f\n",z); }

24A) 14.000000 B) 015.400000 C) 13.700000 D) 14.900000

(25) sizeof(double)是 25 。

25 A)壹種函數調用 B)壹個雙精度型表達式

C)壹個整型表達式 D)壹個不合法的表達式

(26) C語言中 26 。

26 A)不能使用do-while語句構成的循環

B)do-while語句構成的循環必須用break語句才能退出

C)do-while語句構成的循環,當while語句中的表達式值為非零時結束循環

D)do-while語句構成的循環,當while語句中的表達式值為零時結束循環

(27) 以下程序的輸出結果是 27 。

# include

# include

main()

{ char str[12]={'s','t','r','i','n','g'};

printf("%d\n",strlen(str)); }

27 A) 6 B) 7 C) 11 D) 12

(28) 以下程序的輸出結果是 28 。

# include

main()

{ int a=2,c=5;

printf("a=%%d,b=%%d\n",a,c); }

28A) a=%2,b=%5 B) a=2,b=5 C) a=%%d,b=%%d D) a=%d,b=%d

(29) 以下程序的輸出結果是 29 。

# include

main()

{ int a ,b,d=241;

a=d/100%9;

b=(-1)&&(-1);

printf("%d,%d\n",a,b); }

29 A) 6,1 B) 2,1 C) 6,0 D) 2,0

(30) 以下程序的輸出結果是 30 。

# include

main()

{ int i;

for ( i=1;i<=5;i + + ) {if ( i%2 ) printf("*");

else continue; printf("#");}

printf("$\n"); }

30 A) *#*#*#$ B) #*#*#*$ C) *#*#$ D) #*#*$

(31) 以下for語句構成的循環執行了 31 次。

# include

# define N 2

# define M N+1

# define NUM (M+1)*M/2

main()

{ int i , n=0;

for ( i=1;i<=NUM;i + + );

{n + + ; printf("%d",n); }

printf("\n"); }

31 A) 5 B) 6 C) 8 D) 9

(32) 設有以下語句,則 32 不是對a數組元素的正確引用,其中0≤i<10。

int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a;

32 A) a[p-a] B) *(&a[i]) C) p[i] D) *(*(a+i))

(33) 有以下程序:

# include

# define N 6

main()

{ char c[N]; int i=0;

for ( ;i

for ( i=0 ; i

輸入以下三行,每行輸入都是在第壹列上 開始, 代表壹個回車符:

a

b

cdef

程序的輸出結果是 33 。

33 A) abcdef B) a C) a D) a

b b b

c cd cdef

d

e

f

(34) 以下程序調用findmax函數求數組中值最大的元素在數組中的下標,請選擇填空。

# include

findmax ( s , t , k )

int *s , t , *k;

{ int p; for(p=0,*k=p;p

if ( s[p] > s[*k] )_________; }

main()

{ int a[10] , i , k ;

for ( i=0 ; i<10 ; i + + ) scanf("%d",&a[i]);

findmax ( a,10,&k );

printf ( "%d,%d\n" , k , a[k] ); }

34 A) k=p B) *k=p-s C) k=p-s D) *k=p

(35) 有以下程序:

#include

union pw

{ int i; char ch[2]; } a;

main()

{ a.ch[0]=13; a.ch[1]=0; printf("%d\n",a.i); }

程序的輸出結果是 35 。(註意: ch[0]在低字節,ch[1]在高字節。)

35 A) 13 B) 14 C) 208 D) 209

(36) 有以下程序:

# include

main()

{ int c;

while((c=getchar())!='\n')

{ switch(c-'2')

{ case 0:

case 1: putchar(c+4);

case 2: putchar(c+4);break;

case 3: putchar(c+3);

case 4: putchar(c+2);break; } }

printf("\n"); }

從第壹列開始輸入以下數據, 代表壹個回車符。

2743

程序的輸出結果是 36 。

36 A) 668977 B) 668966 C) 6677877 D) 6688766

(37) 以下程序的輸出結果為 37 。

main()

{ char *alpha[6]={"ABCD","IJKL","MNOP","QRST","UVWX"};

char **p; int i;

p=alpha;

for(i=0;i<4;i + + ) printf("%s",p[i]); printf("\n"); }

37A) ABCDEFGHIJKL B) ABCD C) ABCDEFGHIJKLMNOP D) AEIM

(38) 以下程序的輸出結果是 38 。

# include

# define FUDGE(y) 2.84+y

# define PR(a) printf("%d",(int)(a))

# define PRINT1(a) PR(a);putchar('\n')

main()

{int x=2; PRINT1(FUDGE(5)*x); }

38 A) 11 B) 12 C) 13 D) 15

(39) 以下程序的輸出結果是 39 。

# include

main()

{ int i=1,j=3;

printf("%d",i + + );

{ int i=0; i+=j*2; printf("%d,%d",i,j); }

printf("%d,%d\n",i,j); }

39 A) 1,6,3,1,3 B) 1,6,3,2,3 C) 1,6,3,6,3 D) 1,7,3,2,3

(40) 以下程序的輸出結果是 40 。

# include

main()

{ int k=4,m=1,p;

p=func(k,m); printf("%d,",p); p=func(k,m); printf("%d\n",p);}

func(a,b)

int a,b;

{ static int m=0,i=2;

i+=m+1; m=i+a+b; return(m); }

40 A) 8,17 B) 8,16 C) 8,20 D) 8,8

(41) 設有以下語句:

char str[4][12]={"aaa","bbbb","ccccc","dddddd"},

*strp[4];

int i;

for(i=0;i<4;i + + )strp[i]=str[i];

41 不是對字符串的正確引用,其中0≤k<4。

41 A) strp B) str[k] C) strp[k] D) *strp

(42) 設有以下語句:

char str1[]="string",str2[8],*str3,*str4="string";

則 42 不是對庫函數strcpy的正確調用,此庫函數用業復制字符串。

42 A) strcpy(str1,"HELLO1"); B) strcpy(str2,"HELLO2");

C) strcpy(str3,"HELLO3"); D) strcpy(str4,"HELLO4");

(43) C語言中形參的缺省存儲類別是 43 。

43A)自動(auto) B)靜態(static) C)寄存器(register) D)外部(extern)

(44) 設有以下語句:

struct st {int n; struct st *next;};

static struct st a[3]={5,&a[1],7,&a[2],9,'\0'},*p;

p=&a[0];

則表達式 44 的值是6。

44 A)p + + ->n B) p->n + + C) (*p).n + + D) + + p->n

(45) 以下四個程序中, 45 不能對兩個整型變量的值進行交換。

45A)# include

main()

{ int a=10,b=20; swap(&a,&b);

printf("%d %d\n",a,b);

}

swap(p,q)

int *p,*q;

{

int *t;

t=(int )malloc(sizeof(int));

t=p;*p=*q;*q=*t; }

B) # include

main()

{

int a=10,b=20;

swap(&a,&b);

printf("%d %d\n",a,b);

}

swap(p,q)

int p,q;

{

int *t;

t=*p;*p=*q;*q=t;

}

C) # include

main()

{

int *a,*b;

*a=10,*b=20;

swap(a,b);

printf("%d %d\n",*a,*b);

}

swap(p,q)

int *p,*q;

{

int t;

t=*p;*p=*q;*q=t;

}

D) # include

main()

{

int a=10,b=20;

int x=&a,y=&b;

swap(x,y);

printf("%d %d\n",a,b);

}

swap(p,q)

int *p,*q;

{

int t;

t=*p;*p=*q;*q=t;

}

二、填空題(每空2分,***40分)

請將每空的正確答案寫在答題卡1-20序號後的橫線上,答在試卷上不得分。

(1) 結構化程序設計所規定的三種基本控制結構是 1 結構.選擇結構和循環結構。

(2) 在七位ASCII碼中,除了表示數字、英文大小寫字母外,還有 2 個其它符號。

(3) 把B盤BAS子目錄下第三個字符為A,且沒有擴展名的全部文件拷貝到C盤ABC子目錄下的命令是 3 。

(4) 微機中ROM的中文意義是 4 存儲器。

(5) 啟動MS-DOS系統後,能自動執行的批處理文件是 5 .BAT。

(6) 設當前盤為C盤,刪除B盤FOX子目錄中擴展名為.TXT的所有文件的命令是 6 。

(7) 十進制數53轉換為十六進制數為 7 。

(8) 數據庫管理系統常見的數據模型有層次、網狀和 8 三種。

(9) 買來壹張新盤後,在存入文件前,必須進行 9 處理。

(10) 在微機中,字符的比較就是對它們的 10 碼進行比較。

(11) 以下C語言程序將磁盤中的壹個文件復制到另壹個文件中,兩個文件名在命令行中給出。

#include

main(argc,argv)

int argc; char *argv[];

{ FILE *f1,*f2; char ch;

if(argc< 11 )

{ printf("Parameters missing!\n"); exit(0); }

if( ((f1=fopen(argv[1],"r")) = = NULL)||((f2=fopen(argv[2],"w")) = =

NULL))

{ printf("Can not open file!\n"); exit(0);}

while( 12 )fputc(fgetc(f1),f2);

fclose(f1); fclose(f2); }

(12) 以下程序中的trap函數是壹個用梯形法求定積分的通用函數。梯形法求定積分的公式為:

n-1 a-b

s=((f(a)+f(b))/2+∑ f(a+i*h))*h , h=|----|

i=1 n

其中,n為積分小區間數。以下程序調用trap函數求定積分,被積函數是:

f(x)=x*x+3*x+2,且n=1000,a=0,b=4。

#include

3include

double trap(fun,a,b)

double (*fun)(),a,b;

{ double t,h;

int i,n=1000;

t=0.5*((*fun)(a)+(*fun)(b)); h=fabs(a-b)/(double)(n);

for(i=1;i<=n-1;i + + ) t=t+ 13 ;

t=t*h; return(t); }

double mypoly(x)

double x;

{ return(x*x+3.0*x+2.0); }

main()

{ double y,(*pf)(); pf= 14 ;

y=trap(pf,0.0,4.0); printf("%f\n",y); }

(13) 以下程序求a數組中的所有素數的和,函數isprime用來判斷自變量是否為素數。素數是只能被1和本身整除且大於1的自然數。

#include

main()

{ int i,a[10],*p=a,sum=0;

printf("Enter 10 num:\n");

for(i=0;i<10;i + + ) scanf("%d",&a[i]);

for(i=0;i<10;i + + )

if(isprime(*(p+ 15 )) = = 1){ printf("%d",*(a+i)); sum+=*(a+i); }

printf("\nThe sum=%d\n",sum); }

isprime(x)

int x;

{ int i; for(i=2;i<=x/2;i + + )

if(x%i = = 0) return (0); 16 ; }

(14) 以下程序調用invert函數按逆序重新放置a數組中元素的值。a數組中的值在main函數中讀入。

#include

#define N 10

invert(s,i,j)

int *s,i,j;

{ int t; if(i

main()

{ int a[N],i;

for(i=0;i

invert(a,0,N-1);

for(i=0;i

printf("\n"); }

(15) 以下程序建立了壹個帶有頭結點的單向鏈表,鏈表結點中的數據通過鍵盤輸入,當輸入數據為-1時,表示輸入結束(鏈表頭結點的data

域不放數據,表空的條件是ph->next = = NULL).

#include

struct list { int data;struct list *next;};

19 creatlist()

{ struct list *p,*q,*ph; int a;

ph=(struct list *) malloc(sizeof(struct list));

p=q=ph; printf("Input an integer number,enter –1 to end:\n");

scanf("%d",&a):

while(a!=-1)

{ p=(struct list *)malloc(sizeof(struct list));

p->data=a; q->next=p; 20 =p; scanf("%d",&a); }

p->next='\0'; return(ph); }

main()

{ struct list *head; head=creatlist();}

〔完〕

1994年全國計算機等級考試二級筆試

C語言參考答案

選擇題([1]——[30]每個選項1分,[31]——[45]每個選項2分,***60分)

(1)B (2)B (3)B (4)A (5)C (6)D (7)B (8)C (9)A (10)C

(11)C (12)B (13)D (14)B (15)C (16)A (17)B (18)B (19)A (20)C

(21)D (22)C (23)A (24)C (25)C (26)D (27)A (28)D (29)B (30)A

(31)C (32)D (33)C (34)D (35)A (36)A (37)C (38)B (39)B (40)A

(41)A (42)C (43)A (44)D (45)C

二` 填空題(每空2分,***40分)

(1)順序

(2)66

(3) COPY B:\BAS\?A*.C:\ABC(或COPY B:\BAS\?A*.,C:\ABC)

(4)只讀

(5)AUTOEXEC

(6)DEL B:\FOX\*.TXT

(7)35

(8)關系

(9)格式化(或初始化、FORMAT)

(10)ASCII

(11)3

(12)!feof(f1)或feof(f1)==0

(13)(*fun)(a+i*h)

(14) mypoly

(15)I

(16)return 1 或 return (1)

(17)i+1

(18) I

(19) struct list *

(20) q

  • 上一篇:宿州市符離有逸師範這個學校嗎 ?
  • 下一篇:安徒生《白雪皇後》的主要內容
  • copyright 2024編程學習大全網