完整word版,C語言期末考試試題(譚浩強(qiáng)版)_第1頁
完整word版,C語言期末考試試題(譚浩強(qiáng)版)_第2頁
完整word版,C語言期末考試試題(譚浩強(qiáng)版)_第3頁
完整word版,C語言期末考試試題(譚浩強(qiáng)版)_第4頁
完整word版,C語言期末考試試題(譚浩強(qiáng)版)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C 語言期末考試試題2008年04月12日星期六 00:22選擇題( 24 分,每小題 2 分)1已知函數(shù) fread 的調(diào)用形式為 fread ( buffer , size, count , fp ),其中 buffer 代表 的是()。A 存放讀入數(shù)據(jù)項(xiàng)的存儲(chǔ)區(qū)B 存放讀入數(shù)據(jù)的地址或指向此地址的指針C 一個(gè)指向所讀文件的文件指針D 一個(gè)整形變量 , 代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)2以下程序的輸出結(jié)果為()。main( )int i=010,j=10;printf("%d,%dn",i+,j-);A 11,9B 9,10C 8,10D 9,93 .設(shè)a為int型變量,執(zhí)行下列

2、賦值語句后,a的取值分別是()。a=125.534;a=20.0/3;a=(int)125.521%4;a=5<<2;A 125,6,31,1B 125,6,1,20C 125,6.666666,31,20D 125.534,6.666666,2,204 .設(shè)i和k都是int類型,則for循環(huán)語句()。for(i=0,k=-1;k=1;i+,k+)printf("*n");A 循環(huán)結(jié)束的條件不合法B 循環(huán)體一次也不執(zhí)行C 循環(huán)體只執(zhí)行一次D 是無限循環(huán)5以下程序的輸出結(jié)果為()。main( )char c;int i;for(i=65;i<68;i+)c=

3、i+32;switch(c)case 'a':case 'b':case 'c':printf("%c,",c);break;default:printf("end");A a,b,c,endB a,a,a,endC a,a,a,D a,b,c,6函數(shù)調(diào)用語句: fseek ( fp ,-10L ,2);的含義是( )。A 將文件位置指針從文件末尾處向文件頭的方向移動(dòng)10 個(gè)字節(jié)B 將文件位置指針從當(dāng)前位置向文件頭的方向移動(dòng)10 個(gè)字節(jié)C 將文件位置指針從當(dāng)前位置向文件末尾方向移動(dòng)10 個(gè)字節(jié)i+;D 將文

4、件位置指針移到距離文件頭 10 個(gè)字節(jié)處7以下程序的輸出結(jié)果為()。main( )int i=0,j=0;while(s1i!='0')while(s2j!='0')s1i+=s2j+;s1i=0;printf("%sn",s1);A sideB countryC sidetryD countryside8下列說法不正確的是()。A 主函數(shù) main 中定義的變量在整個(gè)文件或程序中有效B 不同函數(shù)中 , 可以使用相同名字的變量C 形式參數(shù)是局部變量D 在一個(gè)函數(shù)內(nèi)部 , 可以在復(fù)合語句中定義變量,這些變量只在本復(fù)合語句中有效9在下列程序段中,

5、枚舉變量 c1 的值是( )。enum color red,yellow,blue=4,green,whitec1;c1=yellow;c1=white;10 設(shè)有說明 int (*ptr)(); 其中標(biāo)識(shí)符 ptr 是( )。A 是一個(gè)指向整形變量的指針B 是一個(gè)指針 , 它指向一個(gè)函數(shù)值是 int 的函數(shù)C 是一個(gè)函數(shù)名D 定義不合法11.定義由n個(gè)指向整形數(shù)據(jù)的指針組成的數(shù)組P,其正確的方式為()。A int p;B int (*p)n;C int *pn;D int (*p)( );12 .具有相同類型的指針類型變量P與數(shù)組a,不能進(jìn)行的操作是()。A p=a;B *p=a0;C p=

6、&a0;D p=&a;判斷對(duì)錯(cuò),對(duì)的劃“V”,錯(cuò)的劃“x”(20分,每小題2 分)1參加位運(yùn)算的數(shù)據(jù)可以是任何類型的數(shù)據(jù)。2若有定義和語句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通過鍵盤輸入: 10 A 12 5則 a=10,c= A',f=12.5 。( )3C 語言把文件看作是一個(gè)字符(字節(jié))的序列。4若有宏定義: #define S(a,b) t=a;a=b;b=t由于變量 t 沒定義,所以此宏定義是錯(cuò)誤的。5在 Turbo C 中,下面的定義和語句是合法的:f

7、ile *fp;fp=fopen("a.txt","r"); ( )6若有定義: char s = "china"則Turbo C系統(tǒng)為數(shù)組s開辟6個(gè)字節(jié)的內(nèi)存單元。7若有定義和語句: int a33 = 3,5,8,9,12,35,i,sum=0;for(i=0;i<3;i+)sum+=ai2-i;則 sum=21 。( )8若有定義和語句: struct studentint num;char name10;float score;s5=1,"lili",98.5,9,"xiaohua"

8、;,66,*p=s;printf("%d",*p+);輸出結(jié)果是 1。 ( )9在程序中定義了一個(gè)結(jié)構(gòu)體類型后,可以多次用它來定義具有該類型的變量。10在 Turbo C 中,此定義和語句是合法的:enum aa a = 5,b,cbb;bb=(enum aa)5; ( )三 寫出下列程序的運(yùn)行結(jié)果( 36 分,每小題 6 分 ) 1.main( )int i=29,j=6,k=2,s;s=i+i/j%k-9;/s=i+(i/j)%k-9printf(“ s=%n ”d ,s);2.main( )int x=31,y=2,s=0;dos-=x*y;x+=2;y-=3;whi

9、le(x%3=0);/ 先執(zhí)行,后判斷4.printf( “ x=%dn” ,x,y,s);3.main( )int a6 = 10,20,30,40,50,60,i;invert(a,0,5);for(i=0;i<6;i+)printf(%d, ” ,ai);printf( n“” );invert(int s ,int i,int j)/ 倒置int t;if(i<j)invert(s,i+1,j-1);/ 函數(shù)自身的嵌套調(diào)用 ,形成循環(huán)t=si;si=sj;sj=t;#include <stdio.h>main()char str ="The C pro

10、gram",c;int i;for(i=2;(c=stri)!='0'i+)switch(c)case 'g': +i; break;/由于+i,跳過了 g后面的1個(gè)字母case 'o': continue;default: printf(%c” ,c); continue;printf(*” );printf(? “ n“” );5.struct w/ 結(jié)構(gòu)體char low;char high;union u/共用體struct w byte;short word;uw;main( )int result;uw.word=0x123

11、4;printf("word value:%04xn",uw.word);printf("high byte:%02xn",uw.byte.high);printf("low byte:%02xn",uw.byte.low);uw.byte.low=0x74;printf("word value:%04xn",uw.word);result=uw.word+0x2a34;printf("the result:%04xn",result);6main ()char *s2="I love

12、 China!",*s1=&s2;char *s3,c,*s4="w"s3=&c;*s3='H's2=s2+2;printf("%st%ct%st%cn",s2,*s3,s4,*s1);(5)1.百馬百擔(dān)問題:1 擔(dān),問大、中、有 100 匹馬,馱 100 擔(dān)貨,大馬馱 3 擔(dān),中馬馱 2 擔(dān),兩匹小馬馱 小馬各多少匹 ?main( )int hb,hm,hl,n=0;for(hb=0;hb<=100;hb+=(1)for(hm=0;hm<=100-hb;hm+=(2)hl=100-hb- (3) ;

13、if(hb/3+hm/2+2*(3)=100)n+;printf("hb=%d,hm=%d,hl=%dn",hb/3,hm/2,2*hl);printf("n=%dn",n);2. 用“起泡法”對(duì)輸入的 10 個(gè)字符排序后按從小到大的次序輸出。#define N 10 char strN;void main()int i,flag;for(flag=1;flag=1;)scanf("%s",str);flag=0;printf("n");sort(_(4)for(i=0;i<N;i+)printf("

14、;%c",stri);printf("n");sort(char strN)/ 冒泡排序int i,j;char t;for(j=1;j<N;j+)for(i=0;i<10-j;i+)if(stri>stri+1)t=stri;(6)/ 交換位置3. 以下程序是一個(gè)函數(shù),功能是求二階矩陣( m 行 n 列矩陣)的所有靠外側(cè)的各元素 值之和。(本程序中二階矩陣用一維數(shù)組來表示。)例如 ,矩陣為 :則所有靠外側(cè)的各元素值之和為 3+0+0+3+2+3+1+0+4+2=18 add(int m,int n,int arr)for(i=0;i<m;

15、i=i+m-1)for(j=0;j<n;j+)sum=sum+(7)for(j=0;j<n;j=j+n-1)for(i=1;(8);i+)sum=sum+arri*n+j;return(sum);4.用指針作函數(shù)參數(shù),編程序求一維數(shù)組中的最大和最小的元素值。#define N 10 main()void maxmin(int arr,int *pt1,int *pt2,int n);int arrayN=10,7,19,29,4,0,7,35,-16,21,*p1,*p2,a,b;p1=&a;p2=&b;maxmin(array,p1,p2,N);printf(&q

16、uot;max=%d,min=%d",a,b);void maxmin(int arr,int *pt1,int *pt2,int n)int i;*pt1=*pt2=arr0;for(i=1;i<n;i+)if(arri>*pt1)(9)if(arri<*pt2)(10)答案選擇題( 24 分,每小題 2 分)1. ( B ) 2.( C ) 3.( B )4. ( D ) 5.( D ) 6.( A ) 7.( D ) 8.( A ) 9.( D ) 10.( B ) 11.( C ) 12.( D )二判斷對(duì)錯(cuò),對(duì)的劃“V”,錯(cuò)的劃“X”(20分,每小題2 分)1. ( X ) 2. ( V) 3. ( V) 4. ( X)5.7.(V)8.(X)9.V)10.( V)寫出下列程序的運(yùn)行結(jié)果( 36 分,每小題 6 分)1.s=202. x=35 y=-4 s=-29 3.60,50,40,30,20,10, 4.e C

溫馨提示

  • 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. 人人文庫網(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)論