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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

桂林電子科技大學C語言程序設計課程期末考試試卷(A卷)授課系別:_計算機學院_ 適用班級:_計科所有班級 _ 考試形式:_閉卷_班級: 姓名: 學號: 題號一二三四五六七總分得分一:填空題:(每題2分,共10題)1、結構化程序設計的基本結構有三種,分別是順序結構、 選擇 結構和 循環(huán) 結構。2、有如下程序:void main() int k=1,n=263 ; do k*= n%10 ; n/=10 ; while (n) ; printf(%dn,k);則k值為_36_。3、有如下程序char a=China,int num=sizeof(a),num的值為_6_。4、函數(shù)直接或間接的調用自己成為函數(shù)的_遞歸調用_。5、有如下定義:static int a6=1,2,3,4,5,6; int*p=a+1; p+;則*(p+1)的值為_4_。6、有以下程序:#define A 4#define B(x) A*x/2void main() float c,a=4.5; c =B(a) ; printf(%5.1fn,c);則c的值為_9.0_。7、C語言的變量值存在時間角度來分,可以分為_動態(tài)_存儲方式和_靜態(tài)_存儲方式。8、C語言可以定義枚舉類型,其關鍵字為 enum 。9、寫出下面程序的運算結果。struct ks int a; s4,*p ;void main() int n=1,i ; for (i=0;ia);p-a的值為_3_。10、C語言打開文件的函數(shù)是_fopen_,關閉文件的函數(shù)是_fclose_。二 單項選擇題:(每題2分,共12題)1:以下程序片段_D_。void main() int x=0,y=0,z=0; if (x=y+z) printf(*); else printf(#);A)有語法錯誤,不能通過編譯 B)輸出:*C)可以編譯,但不能通過連接,所以不能運行 D)輸出:#2:若w=1,x=2,y=3,z=4,則條件表達式wx ? w:yz ? y : z ;的值為_B_。A)4 B)3 C)2 D)13:下述程序的輸出結果是 C 。void main() int x=-1,y=4,k; k=(x+=0)&!(y-100) break ; C) int k=0; D)int s=36;do +k; while (k=0); while (s) ; -s ;5:下列程序運行結果為:_C_。int a=1,b=2,c=1,t; while(ab0&chi=9;i+=2) s=10*s+chi-0; printf(%dn,s);A)1 B)1256 C)12ab56 D)ab7:以下正確的描述是 B 。A)函數(shù)的定義可以嵌套,但函數(shù)的調用不可以嵌套B)函數(shù)的定義不可以嵌套,但函數(shù)的調用可以嵌套C)函數(shù)的定義和函數(shù)的調用均不可以嵌套D)函數(shù)的定義和函數(shù)的調用均可以嵌套8:以下程序的運行結果是 A 。#define ADD(x) x+xvoid main() int m=1,k=2,sum; sum=ADD(m)*k; printf(%dn,sum) ;A)3 B)4 C)5 D)69:下面程序段的運行結果是 C 。 char a =language,*p ; p=a ; while (*p!=u) printf(%c,*p-32); p+ ; A)LANGUAGE B)language C)LANG D)langUAGE10:若有定義:int a5,*p=a;則對a數(shù)組元素的正確引用是 D 。A)*&a5 B)a+2 C)*(p+5) D)*(a+2)11:已知學生記錄描述為:struct student int no; char name20; char sex; struct int year; int month ; int day ; birth ; s ;設結構變量s中的“birth”應是“1985年10月1日”,則下面正確的賦值方式是 D 。A) year=1985 B) birth.year=1985month=10 birth.month=10day=1 birth.day=1C) s.year=1985 D) s.birth.year=1985 s.month=10 s.birth.month=10s.day=1 s.birth.day=112:函數(shù)rewind的作用是 A 。A)使位置指針重新返回文件的開頭B)將位置指針指向文件中所要求的特定位置C)使位置指針指向文件的末尾D)使位置指針自動移至下一個字符位置三: 閱讀程序,寫出正確結果:(每題4分,共5題)1、下列程序的運行結果是:int fun (char *s) char *p=s; while (*p) p+ ; return (*p-*s);void main() char *a=abcdef; printf(%dn,fun(a) ;程序運行結果為: -972、若int i=0;執(zhí)行下列程序后,變量i的結果是_1_。switch (i) case 9: i+=1 ; case 10: i+=1 ; case 11: i+=1 ; default : i+=1 ; 3、下列程序的運算結果為:int *sort(int *s) int *p=s; p+; return p;void main() int a5=1,2,3,4,5; int *p; p=sort(a+2); printf(%dn,*p); 程序運行結果為:_4_。4、下列程序的運算結果為:int mm(int,int);int mm(int m,int n) static int s=1 ; s+ ; return(s*(m+n);void main() int i; for (i=0;im的值為_2_。四:閱讀程序,在橫線上填上正確內容:(每空3分,共8空)1、 下面函數(shù)用“折半查找法”從有10個數(shù)的a數(shù)組中對關鍵字m查找,若找到,返回其下標值,否則返回1,請?zhí)睿?)空使程序完整。經(jīng)典算法提示:折半查找法的思路是先確定待查元素的范圍,將其分成兩半,然后比較位于中間點元素的值。如果該待查元素的值大于中間點元素的值,則將范圍重新定義為大于中間點元素的范圍,反之亦反。int search(int a10,int m) int x1=0,x2=10,mid; while (x1=x2) mid = (x1+x2)/2; if (mamid) 【_x1=mid+1_】; else return (mid); return (-1) ; 2、 編寫函數(shù)void fun(char s1,char s2)把兩個字符串s1,s2連接起來存放在s1中。void fun(char s1,char s2) int i=0,j; for (;s1i!=0;) 【_i+_】; for (j=0;s2j!=0;j+) 【_s1i=s2j_】; 【_i+_】; s1i=0;3、 輸入10個整數(shù),找出10個數(shù)中的最大數(shù)和最小數(shù)。void main() int Max,Min; int a10,i; for (i=0;i10;i+)scanf(%d,&ai); 【_Max=Min=a0_】; for (i=1;i10;i+)if (Maxai) 【_Min=ai_】; printf(Max=%d,Min=%dn,Max,Min);五程序編寫。(每題6分,共兩題)1:有一個整型數(shù)組a11,向數(shù)組中輸入10個整數(shù),要求:用冒泡排序法對10個數(shù)進行排序并輸出。輸入一個數(shù),然后按原來排完序的規(guī)律將它插入到數(shù)組中。#include stdio.h void main() int a11,i,j,temp; int num; for (i=0;i10;i+) scanf(%d,&ai); for (j=0;j9;j+) for (i=0;iai+1) temp=ai; ai=ai+1; ai+1=temp; for (i=0;ia9) a10=num; else if (num=1;i-) ai=ai-1; a0=num; else for (i=0;i10;i+) if (numk;i-) ai=ai-1; ak=num; printf(輸出插入數(shù)字后的數(shù)組:n); for (i=0;i11;i+) printf(%d,ai); 2:有5個學生,每個學生包括學號,姓名,和一門課成績,求出課程的總分和平均分。:將這些數(shù)據(jù)全部寫入一個”stu”文件中保存。:重新打開文件”stu”讀出這些數(shù)據(jù)顯示到屏幕上。#include stdio.h #include stdlib.hstruct student int num; char Name20; float score;stu5;void main() float allscore=0,aver; int i; FILE *fp; printf(輸入五位學生學號,姓名,成績:n); for (i=0;i5;i+) printf(輸入學生學號:n); scanf(%d,&stui.num); printf(輸入學生姓名:n); getchar(); gets(stui.Name); printf(輸入學生分數(shù):n); scanf(%f,&stui.score); for (i=0;i5;i+) allscore+=stui.score; aver=allscore/5; if (fp=fopen(student.txt,w)=NULL) printf(文件打開出錯!); exit(0); for (i=0;i5;i+) fwrite(&stui,sizeof(struct student),1,fp); fprintf(fp,%5.2f,allscore); fprintf(fp,%5.2f,aver); fclose(fp); fp=fopen(student.txt,r); for (i=0;i5;i+) pri

溫馨提示

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

評論

0/150

提交評論