全國計算機等考試C語言筆試試題含詳細答案_第1頁
全國計算機等考試C語言筆試試題含詳細答案_第2頁
全國計算機等考試C語言筆試試題含詳細答案_第3頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、2008年4月全國計算機等級考試二級C語言筆試試卷(考試時間90分鐘,滿分100分)A)、B)、選擇題(1)( 10)、( 21)( 40)每題2分,(11)( 20)每題1分,70分)下列各題C)、D)四個選項中,只有一個選項是正確的,請將正確選擇涂寫在答題卡相應位置上,答在試卷上不 得分。(1)程序流程圖中的帶有箭頭的線段表示的是A )圖元關(guān)系B)數(shù)據(jù)流C)控制流D )調(diào)用關(guān)系(2)結(jié)構(gòu)化程序設(shè)計的基本原則不包括A)多態(tài)性B )自頂向下 C)模塊化D )逐步求精(3)軟件設(shè)計中模塊劃分應遵循的準則是A)低內(nèi)聚低耦合B)高內(nèi)聚低耦合C)低內(nèi)聚高耦合D)高內(nèi)聚高耦合(4)在軟件開發(fā)中,需求分析

2、階段產(chǎn)生的主要文檔是A )可行性分析報告C)概要設(shè)計說明書(5)算法的有窮性是指B)軟件需求規(guī)格說明書D)集成設(shè)計計劃(6)B)算法程序處理的數(shù)據(jù)量是有限的C)算法程序的長度是有限的D)算法只能被有限的用戶使用對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是(7)(8)A)算法程序的運行時間是有限的A )快速排序B )冒泡排序下列關(guān)于棧的敘述正確的是A)棧按“先進先出”組織數(shù)據(jù)C)只能在棧底插入數(shù)據(jù)在數(shù)據(jù)庫設(shè)計中,將C)直接插入排序B)棧按“先進后出”D)不能刪除數(shù)據(jù)E-R圖轉(zhuǎn)換撐關(guān)系數(shù)據(jù)模型的過程屬于n(n-1)/2的排序方法是D)堆排序組織數(shù)據(jù)A)需求分析階段B)概念設(shè)計階段(9)C)邏

3、輯設(shè)計階段 有三個關(guān)系R: S和T如下D)物理設(shè)計階段RST由關(guān)系R和S通過運算得到關(guān)系T,則所使用的運算為。BCDBCDBCDa0K1f3h2a0k1b1n1a0k1n2x1A )并B )自然連接C)笛卡爾積D)交(10)設(shè)有表示學生選課的三張表,學生S (學號,姓名,性別,年齡,身份證號)。課程C (課號,課名),選課SC (學號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為A)課號,成績B)學號,成績C) 學號,課號D)學號,姓名。成績11 ) 以下敘述中正確的是A ) C程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面B) C程序書寫格式嚴格,要求一行內(nèi)只能寫一個語句C) C 程序書寫格

4、式自由,一個語句可以寫在多行上D) 用C程序編寫的程序只能放在一個程序文件中12) 以下選項中不合法的標識符是A ) printB) FOR C) &aD) -0013) 以下選項中不屬于字符常量的是A ) 'C'B) ”C”C) 'xCC'D) '072'14) 設(shè)變量已正確定義并賦值,以下正確的表達式是C) x=y+z+5,+y D ) x=25%5.0B ) char A=65+1,b = 'b'D ) double a=0.0;b=1.1A ) x=y*5=x+z B ) int(15.8%5)15) 以下定義語句

5、中正確的好是A ) int a=b=0C ) float a=1,”b=&a, ”c=&b16) 有以下程序段char ch:intk:ch='a':k=12:printf( “%c,%d,”,ch,ch,k);printf( “k=%dn ”,k):已知a的ASC n十進制代碼為 97,則執(zhí)行上述程序段偶輸出結(jié)果是A)因變量類型與格式描述符的類型不匹配輸出無定值B )輸出項與格式描述符個數(shù)不符,輸出為零值或不定值C) a,97,12k=12D ) a,97,k=12(17)已知字母A的ASC n代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值

6、為大寫字母餓表達式是A) kk>= 'A'&& kk<= 'Z'B) !(kk=>= 'A'| kk<= 'Z')C) (kk+32)>= 'a'&& (kk+32)<= 'z'D) isalpha(kk)&&(kk<91)(18)當變量c的值不為2、4、6時,值也為“真”的表達式是A ) (c= =2) | (c= =4) | (c= =6) C) (c>=2&&c<-6)&

7、;& ! (c%2)19)若變量已正確定義,有以下程序段B ) (c>=2&&c<=6) | (c!=3) | (c!=5)D ) (c>=2&&c<=6)&&(c%2!=1)int a=3,b=5,c=7; if (a>b) a=b; c=a; if (c!=a) c=b;printf ( "%d.%d.%dn",a,b,c ); 其輸出結(jié)果是A )程序段有語法錯(20)有以下程序#include <stdio.h>B)3,5,3C)3,5,5D )3,5,7main() i

8、nt x=1,y=0,a=0,b=0;swith (x) case 1:swith(y) case 0: a+; break;case 1: b+; break;case 2: a+; b+; break;case 3: a+; b+;printf("a=%d, b=%dn", a,b); 程序的運行結(jié)果是A )a=1, b=0 B )a=2, b=2 C (21)有以下程序 #include <stdio.h>)a=1, b=1 D )a=2, b=1main() int x=8;for( : x>0; x-) if(x%3) printf("

9、%d,", x-); continue; 程序的運行結(jié)果是A)7,4,2, B)8,7,5,2,C ) 9,7,6,4, D )(22)以下不構(gòu)成無限循環(huán)的語句或語句組是8,5,4,2,A ) n=0;do +n; while (n<=o);C ) n=10; D while (n);n-;(23) 有以下程序 #include <stdio.h>B ) n=0;while (1) n+;) for(n=0, i=1; ;+)n+=imain() int a =1,2,3,4,y, *p=& a3;-p; y=*p; printf("y=%dn&q

10、uot;,y); 程序的運行結(jié)果是A)y=0 B )y=1 C )y=2 D ) y=3(24) 以下錯誤的定義語句是A)int x 3=0,1,1,2,3;B)int x4 3=1,2,3,1,2,3,1,2,3,1,2,3;C)int x4 =1,2,3,1,2,3,1,2,3,1,2,3;D)int x 3=1,2,3,4;(25) 設(shè)有如下程序段 char s20="Beijing", *p;p=s;則執(zhí)行 p=s; 語句后,以下敘述正確的是A )可以用 *p 表示 s0B)s 數(shù)組中元素餓個數(shù)和 p 所指字符串長度相等C)s 和 p 都是指針變量D )數(shù)組 s 中

11、的內(nèi)容和指針變量 p 中的內(nèi)容相同(26) 若有定義: int a23; ,若要從終端給 s 輸入 5 個字符,錯誤的輸入語句是 A ) gets(&s0); B) scanf("%s",s=1);C ) gets(s); D) scanf("%s",s1);(27) 以下敘述中錯誤的是A )在程序中凡是以“ # ”開始的語句行都是預處理命令行B )預處理命令行的最后不能以分號表示結(jié)束C )#define MAX 是合法的宏定義命令行D ) C程序?qū)︻A處理命令行的處理是在程序執(zhí)行的過程中進行的( 29)以下結(jié)構(gòu)體類型說明和變量定義中正確的是A )

12、 typedef structB) struct REC; int n; char c; REC; int n; char c;REC t1,t2;REC t1,t2;C ) typedef struct REC ;D) struct int n=0; char c='A' ; t1, t2; int n; char c; REC;REC t1,t2; (30)以下敘述中錯誤的是A)gets 函數(shù)用于從終端讀入字符串B)getchar 函數(shù)用于從磁盤文件讀入字符C)fputs 函數(shù)用于把字符串輸出到文件D)fwrite 韓式用于以二進制形式輸出數(shù)據(jù)到文件31)有以下程序#inc

13、lude <stdio.h> main() int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i;for(i=0; i<12; i+) csi+;for(i=0; i<5;i+) printf("%d",ei); printf("n"); 程序的運行結(jié)果是A)1 2 3 4 B )2 3 4 4 C )4 3 3 2 D )1 1 2 3(32) 有以下程序#include <stdio.h> void fun(int *s, int nl, int n2) int i,j,t;i=n1; j=

14、n2;while(i<j) t=si; si=sj;sj=t: i+;j-; main() int a10=1,2,3,4,5,6,7,8,9,0,k;fun(a,0,3); fun(a,4,9); fun(a,0,9);for(k=0; k<10;k+)printf("%d",ak); printf(“n ” );程序的運行結(jié)果是A) 0987654321 B ) 4321098765 C )5678901234 D(33) 有以下程序#include <stdio.h> #include <stdio.h> void fun(char

15、 *s, int n) char *1; int i,j;for(i=0; i<n-1;i+) for(j=i+1; j<n; j+)if(strlen(si)>strlen(sj) t =si; si=sj=t; main() char *ss="bcc","bbcc","xy","aaaacc","aabcc"fun(ss,5; printf("%s,%sn",ss0,ss4); 程序的運行結(jié)果是A) xy,aaaacc B ) aaaacc,xy C

16、) bcc,aabcc)0987651234D) aabcc,bcc(34) 有以下程序#include <stdio.h>int f(int x) int y ;if(x=0 | x=1) return(3) ;y=x*x-f(x-2);return y;main() int z;z=f(3); print("%d",z);程序的運行結(jié)果是A )0 B )9 C )6 D ) 8(35) 有以下程序#include <stdio.h>void fun(char *a,char *b0 while( *a=' * ' ) a+;whi

17、le( *b=*a)b+;a+;main() chau *s="*a*b*",t80;fun ( s,y; puts(t); 程序的運行結(jié)果是A )*a*b B )a*b C )a*b* D) ab(36) 有以下程序#include <stdio.h>#inclued <string.h>typedef struct cahr name9; char sex; float score2; STU; void f(STU a) STU b="Zhao",'m', 85.0,90.0; int i;strcpy(a.

18、name, );a.sex=b.sex; for(i=0;i<2;i+) a.scorei=b.scorei;main() STU c="Qian",'f ', ;f(c): printf("%s,%c , %2.0fn",,c,sex,c,score0,c,6 / 9score1);程序的運行結(jié)果是)Qian,m,85,90)Zhao,m,85,90A) Qian,f,95,92BC) Zhao,f,95,92D(37) 有以下程序 #include <stdio.h> mai

19、n() FILE *fp; int a10=1,2,3,i,n; fp=fopen("d1;dat","w");for(i=0; i<3;i+) fprint(fp, "%d", ai); fprintf(fp, "n");fclose(fp); fp=foprn("d1,dat","r");fscant(fp, "%d",&n); fclose(fp);printf("%dn",n);程序的運行結(jié)果是A) 12300B

20、)123 C )1D ) 321(38) 變量 a 中的數(shù)據(jù)用二進制表示的形式是01011101,變量 b 中的數(shù)據(jù)用二進制表示的形式是11110000,若要求將a的高4位取反,低4位不變,所要執(zhí)行的運算是A) a*bB ) ab C)a&bD )a<<4(39) 在C語言中,只有在使用時才占用的、內(nèi)存單元的變量,其存儲類型是A ) anto 和 register B ) extern 和 registerC ) auto 和 static D ) static 和 register( 40)設(shè)有定義語句 int (*f)(int) ,則以下敘述正確的是A ) f 是基類型

21、為 int 的指針變量B ) f 是指向函數(shù)的指針變量,該函數(shù)具有一個 int 類型的形態(tài)C ) f 是指向 int 類型一維數(shù)組的指針變量D ) f 是函數(shù)名,該函數(shù)的返回值是其類型為 int 類型的地址 二、填空題(每空 2 分,共 30分) 請將每一個空的正確答案寫在答題卡【1】至【 15】序號的橫線上,答在試卷上不得分。( 1)測試用例包括輸入值集和【1】 值集。( 2)深度為 5 的滿二叉樹有【 2】 個葉子結(jié)點。( 3)設(shè)某循環(huán)隊列的容量為50,頭指針 front=5 (指向?qū)︻^元素的前一位置) ,尾指針 rear=29 (指向隊尾元素),則該循環(huán)隊列中共有【3】 個元素。( 4)

22、在關(guān)系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是【4】 。5】 負責數(shù)據(jù)的模(5)在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言和數(shù)據(jù)控制語言中,式定義與數(shù)據(jù)的物理存取構(gòu)建。(6)已有定義:char c= ' ' ;int a=1, b; (此處c的初值為空格字符),執(zhí)行b=!c &&a;后b的值為 【 6】。( 7)改變量已正確定義為整型,則表達式n=i=2,i+ 的值為【7】 。( 8)若有定義:int k:,以下程序段的輸出結(jié)果是【8】 。for (k=2; k<6; k+,k+) printf("#%d",k);(9) 以下程序的定義

23、語句中,x1 的初值是【9】,程序運行后輸出的內(nèi)容是【10】 。#include <stdio.h>main() int x=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, *p4,i;for(i=0; i<4; i+) pi=&x2*i+1;printf("%d", pi0);printf("n");(10) 以下程序的輸出結(jié)果是【11】 。#include <stdio.h>void swap(int *a, int *b) int *t,t=a; a=b; b=t;main()

24、int i=2, j=5, *p=&i, *q=&j;swap(p,q); printf("%d %dn", *p,*q)( 11)以下程序的輸出結(jié)果是【12】 。#include <stdio.h>main() int a5=2,4,6,8,10, *pp=a; p+;printf("%d", *p);(12)以下程序的輸出結(jié)果是【13】 。#include <stdio.h>void fun(int x) if(x/2>0) fun(x/2);printf("%d", x);main() fun(3); printf("n");(13)以下程序中函數(shù)fun的功能是:統(tǒng)計person所指結(jié)構(gòu)體數(shù)組中所有性

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論