C語言歷年題目一_第1頁
C語言歷年題目一_第2頁
C語言歷年題目一_第3頁
C語言歷年題目一_第4頁
C語言歷年題目一_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C語言歷年題目(一)一、單項(xiàng)選擇題(共40分 每題1分)說明:答案必須填在答題卡的單項(xiàng)選擇題部分,否則不得分。1. 關(guān)于C程序的構(gòu)成描述, D 是不正確的。A) 一個(gè)源程序至少且僅包含一個(gè)main函數(shù),也可包含一個(gè)main函數(shù)和若干個(gè)其他函數(shù)。B) 函數(shù)由函數(shù)首部和函數(shù)體兩部分組成,二者缺一不可。C) 函數(shù)首部通常是函數(shù)的第1行,包括:函數(shù)屬性、函數(shù)類型、函數(shù)名、函數(shù)參數(shù)等,不管有無函數(shù)參數(shù),函數(shù)名后的圓括號(hào)不能省。D) 函數(shù)體通常在函數(shù)首部下面,用一對(duì)花括號(hào)將聲明部分和執(zhí)行部分括起來,不能為空。2. C程序中,不管是數(shù)據(jù)聲明還是語句,都必須有一個(gè)結(jié)束符,它是C語句的必要組成部分,該符號(hào)是 C

2、 。A) 逗號(hào)“,”B) 句號(hào)“。”C) 分號(hào)“;”D)單撇號(hào)“”3. 下列關(guān)于C程序的運(yùn)行流程描述, C 是正確的。A) 編輯目標(biāo)程序、編譯目標(biāo)程序、連接源程序、運(yùn)行可執(zhí)行程序。B) 編譯源程序、編輯源程序、連接目標(biāo)程序、運(yùn)行可執(zhí)行程序。C) 編輯源程序、編譯源程序、連接目標(biāo)程序、運(yùn)行可執(zhí)行程序。D) 編輯目標(biāo)程序、編譯源程序、連接目標(biāo)程序、運(yùn)行可執(zhí)行程序。4. 下列關(guān)于算法特性的描述, D 是不正確的。A) 有窮性:指一個(gè)算法應(yīng)該包含有限的操作步驟,而不能是無限的。B) 確定性:指算法的每一個(gè)步驟都應(yīng)當(dāng)是確定的,不應(yīng)該是含糊的、模棱兩可的。C) 有效性:指算法中的每一個(gè)步驟都應(yīng)當(dāng)能有效地執(zhí)

3、行,并得到確定的結(jié)果。D) 輸入/輸出性:指算法中可以有輸入/輸出操作,也可以沒有輸入/輸出操作。5. 描述或表示算法有多種方法, D 不是常用的表示方法。A) 自然語句B) 流程圖或N-S圖C) 偽代碼D) 效果圖6. 下面四個(gè)哪一個(gè)是C語言正確的標(biāo)識(shí)符 B 。 A) 27. 下面數(shù)據(jù)中屬于字符型常量的是 B 。 A) “AND” B)N C)“ABC” D)OR8. 執(zhí)行下列程序段后,a的值是 D 。int a,b,c,m=10,n=9;a=(-m=n+)?-m:+n; A) 11 B) 10 C) 9 D) 89. 下面不正確的賦值語句是 A 。 A) a=b B) a+; C) a=1

4、,b=1; D) a+=b;10. 正確表示整型變量a在1,10區(qū)間的表達(dá)式是 D 。 A)1<=a<=10 B)1<a<10 C)a>=1,a<=10 D)1<=a&&a<=1011. 執(zhí)行下列程序段,x的值為5的程序段是 D 。 A) m=5; B) m=5; C) m=5; D) m=5;m+; +m; x=+m; x=m+;x=m; x=m;12. 若定義int a=3,b=4,c=5;,則表達(dá)式a|b+c&&b=c的值是 B 。 A) 0 B) 1 C) 2 D) 313. 與y=(x>0?1:0)

5、;等價(jià)的是 C 。 A)if(x>0) y=1; B)if(x)y=1;else y=0; C)y=1;if(x<=0)y=0; D)if(x<=0)y=1;14. 在for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)中, B 常用于表示循環(huán)條件判斷。 A)表達(dá)式1 B) 表達(dá)式2 C) 表達(dá)式3 D)都不是15. 下列程序段表示的數(shù)學(xué)關(guān)系是 A 。y=-1;if(x!=0) if(x>0)y=1; else y=0; A) -1 x=0 B) 1 x=0 C) 0 x>0 D) -1 x<2y= 1 x>0 y= -1 x>0 y= 1 x<0

6、y= 0 x=20 x<0 0 x<0 -1 x=0 1 x>216. int a6=1,2,3,則a0到a5各元素的值是 A 。 A) 1,2,3,0,0,0 B) 1,2,3,3,3,3 C) 1,2,3,1,2,3 D) 1,2,3,a3到a5不確定17. 下列程序段執(zhí)行后,z的結(jié)果是 B 。#define p(x) x*xint x=5,y=3,z;z=p(x+y);A) 64 B) 23 C) 46 D) 3218. 有以下定義,且滿足0<i<5,則 D 是對(duì)數(shù)組元素地址的正確表示。int a =1,2,3,4,5,*p,i;p=a;A) &(a

7、+i) B) a+ C) &p D) &pi19. 下列程序段執(zhí)行后,i的值是 A 。int i=100,*p;p=&i;i=*p+10;A) 110 B) 100 C) 120 D) 9020. 在數(shù)組名作函數(shù)實(shí)參時(shí),傳遞給函數(shù)形參的是 A 。A) 數(shù)組首地址 B) 數(shù)組全部元素 C) 數(shù)組第1個(gè)元素 D)數(shù)組最后一個(gè)元素21. 下列的函數(shù)原型聲明, D 是正確的。A) void f(int x;int y); B) void f(x,y);C) void f(intx,y); D) void f(int,int);22. 若int i=10;執(zhí)行下列程序后,變量i的

8、正確結(jié)果是_D_。switch(i)case 9:i+=1;case 10:i+=1;case 11:i+=1;default:i+=1;A) 10 B) 11 C) 12 D) 1323. 以下判斷兩個(gè)字符串相等的正確方法是_D_。A) if(str1=str2) B) if(str1=str2)C) if(strcpy(str1,str2)=0) D) if(strcmp(str1,str2)=0)24. C語言對(duì)嵌套if語句的規(guī)定是:else總是_D_配對(duì)。A) 與之前最近的ifB) 與第一個(gè)ifC) 與縮進(jìn)位置相同的ifD) 與其之前最近的且尚為配對(duì)的if25. 在下面的條件語句中(其

9、中s1和s2表示C語言的語句),只有一個(gè)在功能上與其它三個(gè)語句不等價(jià),它是_D_。A) if(a)s1;else s2;B) if(a=0)s2;else s1;C) if(a!=0)s1;else s2;D) if(a=0)s1;else s2;26. 以下錯(cuò)誤的描述是_B_。A) break語句不能用于循環(huán)語句和switch語句外的任何其它語句。B) 在switch語句中使用break語句或continue語句的作用相同。C) 在循環(huán)語句中使用continue語句是為了結(jié)束本次循環(huán),而不是終止整個(gè)循環(huán)。D) 在循環(huán)語句中使用break語句是為了使流程跳出循環(huán)體,提前結(jié)束循環(huán)。27. 以下四

10、個(gè)關(guān)于C語言的結(jié)論中,只有一個(gè)是錯(cuò)誤的,它是_D_。A) 可以用while語句實(shí)現(xiàn)的循環(huán)一定可以用for語句實(shí)現(xiàn)B) 可以用for語句實(shí)現(xiàn)的循環(huán)一定可以用while語句實(shí)現(xiàn)C) 可以用do-while語句實(shí)現(xiàn)的循環(huán)一定可以用while語句實(shí)現(xiàn)D) do-while語句與while語句的區(qū)別僅是關(guān)鍵字“while”出現(xiàn)的位置不同28. 以下不是死循環(huán)的語句是_D_。A) for(;x+=i);B) while(1)x+;C) for(i=10;i-)sum+=i;D) for(;(c=getchar()!='n')printf("%c",c);29. 定義in

11、t i=1;,執(zhí)行語句while(i+<5);后,i的值為_D_。A) 3B) 4C) 5D) 630. 下面程序段中,for語句的循環(huán)次數(shù)是_B_。sum=0;for(i=0;i<100;i+=2)sum+=i;A) 100B) 50C) 49D) 9931. 在C語言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是_C_。A) 整型常量B) 整型表達(dá)式C) 整形常量或整形表達(dá)式D) 任何類型的表達(dá)式32. 若有定義:int a10,則對(duì)數(shù)組a元素的正確引用是_D_。A) a10B) a3.5C)a(5)D) a10-1033. 以下能對(duì)二維數(shù)組a進(jìn)行正確初始化的語句是_A_。A)

12、 int a2=1,0,1,5,2,3;B) int a3=1,2,3,4,5,6;C) int a24=1,2,3,4,5,6;D) int a3=1,0,1,1,1;34. 若二維數(shù)組a有m列,則在aij之前的元素個(gè)數(shù)為_B_。A) j*m+iB) i*m+jC) i*m+j-1D) i*m+j+135. 以下說法中正確的是C。A) C語言程序總是從第一個(gè)函數(shù)開始執(zhí)行B) 在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義C) C語言程序總是從main()函數(shù)開始執(zhí)行D) C語言程序中的main()函數(shù)必須放在程序的開始部分36. 下列敘述中正確的是A。A) 函數(shù)定義不能嵌套,函數(shù)調(diào)

13、用能嵌套B) 函數(shù)定義和函數(shù)調(diào)用都不能嵌套C) 函數(shù)定義能嵌套,函數(shù)調(diào)用不能嵌套D) 函數(shù)定義與函數(shù)調(diào)用都能嵌套37. 以下說法中正確的是C。A、#define和printf都是C語句B、#define是C語句,而printf不是C、printf是C語句,#define不是D、#define和printf都不是C語句38. 以下關(guān)于函數(shù)敘述中,正確的是D。A) 在函數(shù)體中可以直接引用另一個(gè)函數(shù)中聲明為static類別的局部變量的值B) 在函數(shù)體中至少必須有一個(gè)return 語句C) 在函數(shù)體中可以定義另一個(gè)函數(shù)D) 在函數(shù)體中可以調(diào)用函數(shù)自身39. 在C語言中,若對(duì)函數(shù)類型未加顯式說明,則函數(shù)

14、的隱含類型是C。A) voidB) doubleC) intD) char40. 下面不正確的描述為D。A) 調(diào)用函數(shù)時(shí),實(shí)參可以是表達(dá)式B) 調(diào)用函數(shù)時(shí),實(shí)參與形參可以共用內(nèi)存單元C) 調(diào)用函數(shù)時(shí),將為形參分配內(nèi)存單元D) 調(diào)用函數(shù)時(shí),實(shí)參與形參的類型必須完全相同二、填空題(共10分 每空1分)說明:答案必須填在答題卡的填空題部分,否則不得分。1. 函數(shù)由主要由_函數(shù)聲明_、_函數(shù)體_組成。2. 結(jié)構(gòu)化程序設(shè)計(jì)中的三種基本結(jié)構(gòu)是順序結(jié)構(gòu)、_選擇結(jié)構(gòu)_、_循環(huán)結(jié)構(gòu)3. C語言的標(biāo)識(shí)符只能由大小寫字母,數(shù)字和下劃線三種字符組成,而且第一個(gè)字符必須為_字母_。4. 字符串是以_0_為結(jié)束標(biāo)志的一維

15、字符數(shù)組。5. 定義int a1,2,3,4,5,6,*pa;表達(dá)式(*p)的值是_3_。6. 若x=5,y=10,則x>y和x<=y的邏輯值分別為0和_1_。7C語言中,數(shù)組是一種重要的數(shù)據(jù)結(jié)構(gòu),它的下標(biāo)總是從_0_開始。8若有定義FILE *fp;,要求以二進(jìn)制讀寫方式(rb+)打開文件list,正確打開文件list的語句是fp=fopen(“l(fā)ist”, “rb+”); 。三、程序運(yùn)行題(共20分 每題4分)說明:答案必須填在答題卡的程序運(yùn)行題部分,否則不得分。1. 下面程序的運(yùn)行的結(jié)果是 。#include <stdio.h>void main()int i,j

16、,m,n;i=8;j=10;m=+i;n=j+;printf(“%d,%d,%d,%d”,i,j,m,n);2. 下面程序段執(zhí)行后,sum的值為 。#include <stdio.h>void main()int sum=0,i;for(i=1;i<=10;i+)if(i%5=0)break;else sum+=i;3. 下面程序運(yùn)行的結(jié)果是: #include <stdio.h>void main()int s=0,k;for(k=7;k>=4;k-)switch(k)case 1:case 2:case 3:s+;break;case 4:case 5:

17、case 6:s+=2;break;case 7:case 0:s+=3;break;printf(“s=%dn”,s);4. 程序清單如下:#include <stdio.h>void main()int sum=0,number,i=1,finished=0;while(i<=8&&!finished)scanf(“%d”,&number);if(number>0) sum+=number;else if(number=0) finished=1;i+;printf(“sum=%d,number=%d”,sum,number);若運(yùn)行該程序,

18、并輸入數(shù)據(jù)為:5 6 3 7 4 0,則結(jié)果為 。5. 下面程序運(yùn)行的結(jié)果是: 。#include <stdio.h>int max(int,int);int a=3,b=5,c=100;void main()int s=0;s+=max(max(a,b),c);printf(“s=%dn”,s);int max(int x,int y)int a=15,b=20,max;max=(a>b)?a:b;return(max);1. 9,11,9,10 2. 10 3. s=9 4. sum=18,number=0 5. s=20 四、完善程序題(共20分 每空2分)說明:每空必

19、須且只能填寫一個(gè)語句或一個(gè)表達(dá)式,答案必須填在答題卡的完善程序題部分,否則不得分。1.打印輸出100200間的所有素?cái)?shù),要求每行輸出10個(gè)素?cái)?shù)。其中判定m是否為素?cái)?shù)的方法:用2到m-1范圍內(nèi)的各整數(shù)去除m,若都除不盡,則m是素?cái)?shù)。程序清單如下:#include <stdio.h>#include <math.h>void main()int m,i,n=0;for(m=100;m<=200;m+)for(i=2;i<=m-1;i+)if( (1) ) break;if(i>=m)printf(“%d”,m); (2) ;if(n%10=0) (3) ;

20、printf(“n”);2下列程序的功能是:從鍵盤輸入一行字符,統(tǒng)計(jì)其中單詞個(gè)數(shù),單詞之間用空格分隔開。程序清單如下:#include <stdio.h>void main()char string81;int i,num=0,word=0;char c;gets( (1) );for(i=0;(c=stringi) (2) 0;i+)if(c= )word=0;else if( (3) )word=1; (4) ;printf(“There are %d words in the line.n”, num);3下列程序用于輸出下面的圖形。要求:圖形第一行的第一個(gè)字符輸出在第40列

21、且字符0之間以一個(gè)空格隔開。 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0程序清單如下:#include <stdio.h>void main()int i,j;char a5=0, 0, 0, 0, 0,space= ;for(i=1;i<= (1) ;i+) for(j=1;j<= (2) ;j+) printf(“%c”,space);for(j=0;j<5;j+) printf(“%c%c”,aj,space); (3) ;1. (1)m%i=0 (2)n+ (3)printf(“”n) 2. (1)s

22、tring (2)!= (3)word=0 (4)num+ 3. (1)5 (2)38+i (3)printf(“n”) 五、編程題(共10分 第1題4分,第2題6分)說明:答案必須填在答題卡的編程題部分,否則不得分。1 編程序,從鍵盤輸入三個(gè)整數(shù),求出其中的最大數(shù)和最小數(shù)(4分)。2用/41-1/3+1/5-1/7+公式求的近似值,直到最后一項(xiàng)的絕對(duì)值小于10-6為止(6分)。第1題:程序清單#include <stdio.h>void main()int a,b,c,max,min;printf(“Please input three numbers:n ”);scanf(“%

23、d,%d,%d”,&a,&b,&c);max=a;min=a;if(b>max)max=b;if(b<min)min=b;if(c>max)max=c;if(c<min)min=c;printf(“Max=%d,Min=%dn”,max,min);第2題:程序清單#include<math.h>main()int s;float n,t,Pi;t=1;Pi=0;n=1.0;S=1;while(fabs(t)>1e-6)Pi=Pi+t; n=n+2; s=-S; t=S/n;Pi=Pi*4;printf("Pi=%10.6fn",Pi);C語言歷年題目(一)參考答案一、單項(xiàng)選擇題(共40分 每題1分)12345678910DCCDDBBDAD11121314151617181920DBCBAABDAA21222324252627282930DDDDDBDDDB3132

溫馨提示

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

評(píng)論

0/150

提交評(píng)論