C語言程序設(shè)計期末考試試卷_第1頁
C語言程序設(shè)計期末考試試卷_第2頁
C語言程序設(shè)計期末考試試卷_第3頁
C語言程序設(shè)計期末考試試卷_第4頁
C語言程序設(shè)計期末考試試卷_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上安徽大學(xué)20 -20 學(xué)年第 學(xué)期 C語言程序設(shè)計期末考試試卷(B卷120分鐘) 年級 院系專業(yè) 姓名 學(xué)號 座位號 題號 一 二 三 四 五 六 七 八 得分 得分 得分 一.單項選擇題:(每題2分,共20分) 下列各題A)、B)、C)、D)四個選項中只有一個是正確的,請將正確選項填在答題卡相應(yīng)題目的橫線上。答在試卷上不得分。 執(zhí)行程序: int a;printf(%d n, (a=3*5, a*4, a+5) );后,a的值是_。 )60 )20 )15 )10 程序段:int x=023; printf(%d n, -x );的輸出是_。 )19 )18 )23

2、 )22 3程序段:static char s10='C','h','i','n','a' printf(%dn,strlen(s);的輸出是_。 )6 )5 )11 )10 4若fun( int x) printf(“%dn”,x);,則fun_。 )返回值為void類型 )返回值類型無法確定 )返回值為int類型 )沒有返回值 5.有宏定義:#define MULT1(a,b) a*b #define MULT2(a,b) (a)*(b) 且引用宏:y=MULT1(3+2,5+8); z=MULT2(3+2,5

3、+8);則y和z的值是_。 )y=65,z=65)y=21,z=65)y=65,z=21)y=21,z=21 6程序段檔牡猠崳盡效汬屯,*p; p=s;執(zhí)行后,*(p+5)的值是_。 )'o' )'0' )'o'的地址 )不確定的值 7.程序段:char *s=”ABCD”, *p; for( p=s; *p ; p+) printf(%sn, p);的輸出是_。 )ABCD )A )D )ABCD BCD B C ABC CD C B AB D D A A 8.若定義:int (*p)3;則標(biāo)識符p_。 )定義不合法。 )是一個指針數(shù)組名,每個

4、元素是一個指向整型變量的指針。 )是一個指針,它指向一個具有三個元素的一維數(shù)組。 )是一個指向整型變量的指針。 9.定義: struct sk int a; float b; data,*p;且p=&data;則正確引用成員a的方式是_。 A) p.data.a B) (*p).a C) p->data.a D) (*p).data.a 10.以二進制只讀方式打開一個已有的文本文件file1,正確調(diào)用fopen函數(shù)的方式是_。 )FILE *fp; )FILE *fp; fp=fopen(專心-專注-專業(yè)ile1,b); fp=fopen(ile1,+); )FILE *fp;

5、)FILE *fp; fp=fopen(ile1,); fp=fopen(ile1,b+); 得分 二.填空題:(每空1分,共20分) 請將正確答案填在答題卡相應(yīng)題目的橫線上。答在試卷上不得分。 程序一個函數(shù)的定義由_和_兩部分組成。 語言的整型變量可分為基本型、短整型、_和_。 語言在判斷一個量是否為“真”時,以_代表“假”,以_代表 “真”。 語言中的break語句只能用于_和_語句。 對_和_型數(shù)組不賦初值,系統(tǒng)會對所有元素自動賦以0值。 語言中“文件包含”是通過_命令完成的,而符號常量是通 過_命令定義的。 對于數(shù)組,()表示_,() 表示_。 若定義:struct int y, m,

6、 d; today, *pdata;則為today分配內(nèi)存_字節(jié), 為pdata分配內(nèi)存_字節(jié)。 語言文件按數(shù)據(jù)的存放形式可分為_文件和_文件。 語言文件是一個_序列,這類文件稱為_文件。 得分 三.程序歸納題(每題2分,共10分) 閱讀下列函數(shù),總結(jié)其主要功能填在答題卡相應(yīng)的橫線上。答在試卷上不得分。 1. int fun1 (char *str) char *ptr=str; while(*ptr+); return ptr-str-1; 2. double fun2(double x, double y, double z) return x>(y>z?y:z)?x:(y&g

7、t;z?y:z); 3. void funs3( int num, int size ) int i=0, tmp; while( i<size/2 ) tmp=numi,numi=numsize-i-1,numsize-i-1=tmp,i+; 4. void fun4(char *f, char *t) for(;*f!='0'f+,t+) *t=*f; *t='0' 5.void fun5(char *ps) int a1=0, a2=0; while (*ps!= '0') if (*ps>='a'&&a

8、mp;*ps<='z') a1+; else if (*ps>='0'&&*ps<='9') a2+; p+; printf(%d,%d n,a1, a2); 得分 四.程序分析題(每題2分,共10分) 閱讀程序,將其運行結(jié)果填在答題卡相應(yīng)題目的橫線上。答在試卷上不得分。 1. #include stdio.h void main() static int a=1,2,3,4,5,6,*p; p=a; *(p+3)+=2; printf(%d,%dn,*p,*(p+3); 2. #include stdio.h

9、void main() int x=1; int x=2; int x=3; printf(-,x); printf(-,x); printf(-,x); 3. #include <stdio.h> #include <string.h> void sort( char *str, int n) char *tmp; int i,j; for( i=0; i<n-1; i+ ) for( j=0; j<n-i-1; j+ ) if(strcmp(strj,strj+1)>0) tmp=strj, strj=strj+1, strj+1=tmp; voi

10、d main() 檔牡?瀪?豬牴?住屋,?啐?屒,CHINA; int i; ps=str; sort(ps,3); for(i=0; i<3; i+) printf(%d %s ,i+1, stri); 4. #include <stdio.h> int leap_year(int year) return year%4=0 && year_x0010_0!=0 | year0=0; void main() int month_day=31,28,31,30,31,30,31,31,30,31,30,31 , days,i; struct date int

11、year; int month; int day; mdate=2008,5,1; if(leap_year(mdate.year) month_day1+; for(i=1,days=mdate.day;i<mdate.month;i+) days+=month_dayi-1; printf(%d-%d is the %dth day in %d, mdate.month,mdate.day,days,mdate.year); 5. #include <stdio.h> void add( int *x, int *y, int n) while(n-) *x+ += *y

12、+; void main() int i=5; static int s1=2, 1, 0, 3, 2, s25; add(s2, s1, 5); while(i-) printf(-, s2i); 分得五.程序設(shè)計題(每題10分,共40分) 閱讀下列程序,在指定位置上填入適當(dāng)?shù)膬?nèi)容使程序完整。請勿改動其它內(nèi)容。請將正確答案填在答題卡上。答在試卷上不得分。 1.函數(shù)insert將一個指定的單精度數(shù)按遞減規(guī)律插入數(shù)組num中,注:數(shù)組num中已有12個按照遞減順序排好序的單精度數(shù)。 void insert( float num13,float new ) int i=11; /*answer b

13、egin*/ /*answer end*/ 編寫函數(shù)mycmp實現(xiàn)庫函數(shù)strcmp的功能:兩個字符串的比較。 int mycmp(char *p1,char *p2) /*answer begin*/ /*answer end*/ 3設(shè)有三個候選人,每次輸入一個得票的候選人的名字,要求最后輸出各人得票結(jié)果。 #include <string.h> struct person char name20; int count; leader3=“Li”,0,“Zhang”,0,”Wang“,0; main() int i,j; char leader_name20; for(i=1;i

14、<=10;i+) /*answer begin*/ /*answer end*/ for(i=0;i<3;i+) printf(%5s:%dn,,leaderi.count); 4.從鍵盤上輸入一個字符串,將其中的小寫字母轉(zhuǎn)換成大寫字母,然后輸出到名為 “test”的文本文件中保存。輸入字符串以“!”結(jié)束。 #include <stdio.h> void main() int i; char str80; FILE *fp; if( (fp=fopen(est,w)=NULL) printf(cannot open filen); exit(0)

15、; printf(Input a string(end with !):); gets(str); /*answer begin*/ /*answer end*/ 參考答案: 一.單項選擇題:(每題2分,共20分) CBBCB BACBA 二.填空題:(每題2分,共20分) 1函數(shù)說明 2函數(shù)體 3長整型 4無符號型 5 0 6 非0 7 switch 8循環(huán) 9 extern 10 static 11 #include 12 #define 13 &x23 14 x32 15 6 16 2 17文本 18二進制 19字符(字節(jié)) 20流式 三.程序歸納題(每題2分,共10分) 1求字

16、符串長度 2求3個double型數(shù)中的大數(shù) 3翻轉(zhuǎn)整型數(shù)組 4復(fù)制字符串 5統(tǒng)計指定字符串中小寫字母、數(shù)字的個數(shù) 四.程序分析題(每題2分,共10分) 1 1,6 2 3 2 1 3 1 BOOK 2 CHINA 3 COMPUTER 4 5-1 is the 122th day in 2008 5 2 3 0 1 2 注:標(biāo)點符號錯誤不另扣分 五.程序設(shè)計題(每題10分,共40分) 1num12=new; 存儲新值:2分 while( i>=0 && datai<datai+1 )循環(huán)至插入點:2分 復(fù)合語句:1分 new=numi+1; 暫存新值:1分 numi+1=numi; 更新舊值:2分 numi=new; 更新新值:1分 i-; 循環(huán)計數(shù):1分 while(*p1&&*p2&&*p1=*p2) 依次比較兩個字符串直至其結(jié)束:6分 2p1+,p2+; 更新位置指示:2分 return *p1-*p2; 返回差值:2分 3scanf(%s,leader_name); 唱票:2分 for(j=0;j<3;j+) 循環(huán)尋找得票人:2分 if(strcmp(leader_name,)=0)

溫馨提示

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

評論

0/150

提交評論