安徽大學(xué)C語言期末試卷_第1頁
安徽大學(xué)C語言期末試卷_第2頁
安徽大學(xué)C語言期末試卷_第3頁
安徽大學(xué)C語言期末試卷_第4頁
安徽大學(xué)C語言期末試卷_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上安徽大學(xué) C語言程序設(shè)計(jì)期末試題一. 單項(xiàng)選擇題:(每題2分,共20分)執(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)223程序段:static char s10='C','h','i','n','a' printf("%dn",strlen

2、(s);的輸出是_。)6 )5)11)104若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+8); 則y和z的值是_。 )y=65,z=65 )y=21,z=65 )y=65,z=21 )y=21,z=216程序段char s="Hello", *p; p=s;執(zhí)行后,*(p+5)的

3、值是_。)'o')'0')'o'的地址)不確定的值7. 程序段:char *s=”ABCD”, *p; for( p=s; *p ; p+) printf("%sn", p);的輸出是_。)ABCD)A )D)ABCDBCDBCABCCDCBABDDAA8. 若定義:int (*p)3; 則標(biāo)識(shí)符p_。)定義不合法。)是一個(gè)指針數(shù)組名,每個(gè)元素是一個(gè)指向整型變量的指針。)是一個(gè)指針,它指向一個(gè)具有三個(gè)元素的一維數(shù)組。)是一個(gè)指向整型變量的指針。9. 定義: struct sk int a; float b; data,*p;

4、且 p=&data; 則正確引用成員a的方式是 _。A) p.data.aB) (*p).aC) p->data.aD) (*p).data.a10. 以二進(jìn)制只讀方式打開一個(gè)已有的文本文件file1,正確調(diào)用fopen函數(shù)的方式是_。)FILE *fp;)FILE *fp;fp=fopen("file1","rb");fp=fopen("file1","r+");)FILE *fp;)FILE *fp;fp=fopen("file1","r");fp=fope

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

6、ata; 則為today分配內(nèi)存 _ 字節(jié),為pdata分配內(nèi)存 _ 字節(jié)。 語言文件按數(shù)據(jù)的存放形式可分為_文件和_文件。 語言文件是一個(gè)_序列,這類文件稱為_文件。得分三. 程序歸納題(每題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>z?y:z); 3.

7、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'&&*ps<='

8、;z') a1+; else if (*ps>='0'&&*ps<='9') a2+; p+; printf("%d,%d n",a1, a2); 得分四. 程序分析題(每題2分,共10分)閱讀程序,將其運(yùn)行結(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

9、. #include "stdio.h" void main() int x=1; int x=2; int x=3; printf("%2d",x); printf("%2d",x); printf("%2d",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

10、+ ) if(strcmp(strj,strj+1)>0) tmp=strj, strj=strj+1, strj+1=tmp; void main() char *ps,*str3= "BOOK","COMPUTER","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 yea

11、r%4=0 && year%100!=0 | year%400=0; void main() int month_day=31,28,31,30,31,30,31,31,30,31,30,31 , days,i; struct date int 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

12、 %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+; void main() int i=5; static int s1=2, 1, 0, 3, 2, s25; add(s2, s1, 5); while(i-) printf("%2d", s2i); 得分五. 程序設(shè)計(jì)題(每題10分,共40分)閱讀下列程序,在指定位置上填入適當(dāng)?shù)膬?nèi)容使程序

13、完整。請(qǐng)勿改動(dòng)其它內(nèi)容。請(qǐng)將正確答案填在答題卡上。答在試卷上不得分。1.函數(shù)insert將一個(gè)指定的單精度數(shù)按遞減規(guī)律插入數(shù)組num中,注:數(shù)組num中已有12個(gè)按照遞減順序排好序的單精度數(shù)。void insert( float num13, float new ) int i=11;/*answer begin*/*answer end*/ 編寫函數(shù)mycmp實(shí)現(xiàn)庫函數(shù)strcmp的功能:兩個(gè)字符串的比較。int mycmp(char *p1,char *p2) /*answer begin*/*answer end*/ 3設(shè)有三個(gè)候選人,每次輸入一個(gè)得票的候選人的名字,要求最后輸出各人得票

14、結(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<=10;i+) /*answer begin*/ /*answer end*/ for(i=0; i<3;i+) printf("%5s:%dn",,leaderi.count);4. 從鍵盤上輸入一個(gè)字符串,將其中的小寫字母轉(zhuǎn)換成大寫字母,然后輸出到

15、名為“test”的文本文件中保存。輸入字符串以“!”結(jié)束。#include <stdio.h>void main() int i; char str80; FILE *fp; if( (fp=fopen("test","w")=NULL) printf("cannot open filen"); exit(0); printf("Input a string(end with !):"); gets(str); /*answer begin*/ /*answer end*/參考答案:一. 單項(xiàng)選擇題:(

16、每題2分,共20分)CBBCB BACBA二. 填空題:(每題2分,共20分)1函數(shù)說明2函數(shù)體3長(zhǎng)整型4無符號(hào)型5 0 6 非0 7 switch 8 循環(huán) 9 extern10 static 11 #include12 #define 13 &x2314 x3215 6 16 217文本18二進(jìn)制19字符(字節(jié))20流式 三. 程序歸納題(每題2分,共10分)1求字符串長(zhǎng)度 2 求3個(gè)double型數(shù)中的大數(shù)3 翻轉(zhuǎn)整型數(shù)組 4 復(fù)制字符串5 統(tǒng)計(jì)指定字符串中小寫字母、數(shù)字的個(gè)數(shù) 四. 程序分析題(每題2分,共10分)1 1,6 2 3 2 1 3 1 BOOK 2 CHINA 3

17、 COMPUTER4 5-1 is the 122th day in 2008 5 2 3 0 1 2 注:標(biāo)點(diǎn)符號(hào)錯(cuò)誤不另扣分五. 程序設(shè)計(jì)題(每題10分,共40分) 1num12=new; 存儲(chǔ)新值:2分 while( i>=0 && datai< datai+1 ) 循環(huán)至插入點(diǎn):2分復(fù)合語句:1分 new=numi+1;暫存新值:1分 numi+1=numi; 更新舊值:2分 numi=new;更新新值:1分 i-;循環(huán)計(jì)數(shù):1分 2 while(*p1&&*p2&&*p1=*p2) 依次比較兩個(gè)字符串直至其結(jié)束:6分p1+,p2+;更新位置指示:2分 return *p1-*p2;返回差值:2分3 scanf("%s",leader_name);唱票:2分 for(j=0;j<3;j+)循環(huán)尋找得票人:2分 if(strcmp(leader_name, )=0) 尋找得票人:4分

溫馨提示

  • 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)論