




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGE2第頁共4頁PAGE電子科技大學學生考試卷(A)卷考試課程C語言程序設計考試日期2007年6月日成績課程號上課時間任課教師姓名考生姓名學號(8位)年級專業說明:請將全部答案都書寫在最后頁答題紙上,否則答題無效。試題一、單選題,根據題目從A、B、C、D中,選擇一個正確的選項(共16分)1.有定義floata=1,z;intb=3;printf("%.2f",a+b/2);的輸出值是()。A、1 B、 2 C、 2.00 D、2.502.判斷char型變量c為數字字符的正確表達式為()。A、 ‘0’<=c<=’9’ B、 ‘0’<=c&&c<=’9’C、 c>=’0’||c<=’9’ D、 c>=0&&c<=93.假設變量x為int型、k為char型,下列語句片段中,無語法錯誤的是()。A、switch(x){casex>=90:putchar('A');casex<60:putchar('E');}B、 switch(x){case1+2:k='A';case2*4:k='B';}C、 switch(x){case2+x:k=x-2;case3*x:k=x+3;default:k=0;}D、 switch(x){case3.5:k=0.5*x;case7.8:k=8*x;default:k=0;}4.若有floata=2.5,b=6.3,*pa=&a;*pa*=3;pa=&b;則正確的是()。A、pa的值是2.5;B、*pa的值是6.3C、*pa的值是7.5D、pa的值是6.3;5.設x和y均為int型變量,則語句“x+=y;y=x–y;x–=y;”的功能是()。A、交換x和y的值 B、 把x和y按從大到小排列C、把x和y按從小到大排列 D、 無確定結果6.若有charc1,c2,s='b';連續執行下面語句后,c1,c2和s的輸出值應是()。c1=s++;c2=++s;printf("%c,%c,%c",c1,c2,s);A、b,d,dB、b,c,dC、d,e,fD、b,d,b7.若有變量定義intx=3,*p;,則下面語句不正確的是()。A、p=&(x+1); B、p=&x; C、p=&x+1; D、p=&x,p++;8.下面程序段的輸出結果是()。#include<stdio.h>voidfun(inta,intb,intc,int*px,int*py){ *px=a;if(*px>b)*px=b; if(*px>c)*px=c; if(a>b)*py=a; else*py=b; if(*py<c)*py=c;}voidmain(){intm=4,n=2,s=9,a=3,b=5;fun(m,n,s,&a,&b);printf("%d,%d",a,b);}A、4,2 B、2,9C、4,9 D、3,59.若有數組定義為inta[10],i;與a[i]=100等價的賦值表達式是()。A、a+i=100B、*(a+i)=100C、(a+i)=100D、&a[i]=10010.判斷下面的循環體執行多少次()。i=8;k=10;while(i!=8)i=k--;A、8次 B、 10次 C、無數次 D、0次11.下面語句的功能是將變量ch中小寫字母轉換為大寫字母,如果變量ch中的字符不是小寫字符,則保持原來字符,正確的應該是()。A、if(ch>='a'&ch<='z')ch=ch-32; B、if(ch>='a'&&ch<='z')ch=ch-32;C、ch=(ch>='a'&&ch<='z')?ch-32:''; D、ch=(ch>'a'&&ch<'z')?ch-32:ch;12.下面是關于break、continue語句的敘述,其中正確的說法是()。A、break、continue功能相同B、break只能出現在循環體中C、continue只能出現在循環體中D、continue的功能是跳出循環體13.C語言中,每個字符串的末尾都有一個字符串的結束符,表示字符串的終止。下列哪一個字符是字符串的結束符()。A、'\n'B、'\0'C、'\t'D、'-1'14.如果指針p指向x,則*p++表示的是()。A、對指針p加1B、對p的對象加1C、對變量x加1D、對指針p和變量x各加115.下面各敘述中不正確的是()。A、變量名sum和Sum代表兩個不同的變量。B、若變量已正確定義,表達式x+y=z是一個合法的賦值表達式。C、do-while語句先執行循環體,后判斷循環條件,所以循環體至少會執行一次。D、不同類型的變量在內存中占用存儲空間的大小不一樣。16.char*s[]={"first","second","third"};printf("%s,%s,%c\n",s[0],s[1]+1,*s[2]);first,second,*thirdB、first,econd+1,*thirdC、first,econd,*tD、first,econd,t試題二、按題目的意思,寫出正確的內容。(共12分)1.C程序中的“真”和“假”是如何表示?2.讀程序,回答問題#include<stdio.h>#defineMAX7voidmain(){inti,a[MAX]={5,8,-7,5,3,0,7},c;for(i=0;i<MAX;i++){c=a[i];/*第8行*/a[i]=a[MAX-i-1];a[MAX-i-1]=c;/*第10行*/}for(i=0;i<MAX;i++)printf(“%d”,a[i]);}問題1.程序運行后的輸出結果為是:。問題2.將for循環中的i<MAX改為i<MAX/2后,輸出結果為:。問題3.刪除第8行,將第10行a[MAX-i-1]=c改為a[MAX-i-1]=a[i],for循環中仍然是i<MAX則輸出結果為:。3.定義一個可以表示日期(年、月、日)的結構體數據類型date,并用該類型定義一個變量z同時為變量初始化,初始化年、月、日的值分別2007、6、28。4.寫出調用函數g(4)的輸出結果。intg(intn){if(n==2||n==1)returnn;elsereturng(n-2)+g(n-1);}試題三、讀程序寫出程序執行結果(共24分)1.閱讀下列程序,并寫出程序執行結果。#include<stdio.h>intf(intm,intn){intc=0;for(;m!=0;m=m/10){if(m%10==n)c++;}returnc;}voidmain(){printf("%d#",f(30303,0));printf("%d#",f(21212,3));}2.閱讀下列程序,并寫程序執行結果。#include<stdio.h>voidmain(){intx,i;for(i=1,x=1;i<=3;i++){ x=x+i;switch(x){case1:putchar('a');break;case2:putchar('b');break;case3:putchar('c');break;case4:putchar('d');break;default:putchar('e');break;}}}3.閱讀下列程序,并寫出程序執行結果。#include<stdio.h>voidmain(){inta=1,b=1;intf(inty,intm,intd);a=f(1976,4,25);printf("#%d#\n",a);}intf(inty,intm,intd){intk,flag,n;inttab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31},};flag=y%4==0&&y%100!=0||y%400==0;for(n=d,k=1;k<m;k++)n+=tab[flag][k];returnn;}4.閱讀下面程序,在提供的A~D四個答案中,按提問挑選正確答案。#include<stdio.h>voidsort(int*a,intn){inti,j,t; for(i=1;i<n;i++)for(j=0;j<n-i;j++) if(a[j]>a[j+1]){ t=a[j];a[j]=a[j+1];a[j+1]=t; }}voidmain(){inti,r,n,a[10]={4,6,-3,9,0,-4,8,5,1,7};scanf("%d%d",&r,&n); sort(a,10);/*第13行*/for(i=0;i<10;i++)printf("%d,",a[i]);}(1)程序運行時,輸出()。(2)若將第13行語句sort(a,10);改為sort(a+3,7)后;則輸出()。(3)若將第13行語句sort(a,10);改為sort(a+5,0)后;則輸出()。(4)若將第13行語句sort(a,10);改為sort(&a[1],8)后;則輸出()。供選擇的A~D四個答案如下:A、4,6,-3,9,0,-4,8,5,1,7,B、4,-4,-3,0,1,5,6,8,9,7,C、4,6,-3,-4,0,1,5,7,8,9, D、-4,-3,0,1,4,5,6,7,8,9,5.試題五、程序填空,按程序完成的功能,在劃線部分填寫適當的內容。(共18分)1.程序功能:在數組a中已存儲10個數,輸入查找數x,在數組a中查找x,如果在數組中找到,則輸出它在數組中的下標(元素號),如果沒有找到,則輸出“Notbeenfound.”#include<stdio.h>#defineN10voidmain(){inta[N]={3,-7,8,23,45,60,78,23,-33,-76},i,x;intflag=0;printf("inputxtolookfor:\n");scanf("%d",&x);for(i=0;i<N;i++) if(1){printf("find,at:%d\n",i); flag=1;}if(2)printf("Notbeenfound.\n");}2.程序功能:輸入班級50個學生的數學成績,計算平均分并統計高于平均分的人數在屏幕輸出,同時將高于平均成績的分數寫到d:\temp\aa.txt文件中。【程序】#include<stdio.h>#defineN50voidmain(){floatscore[N],sum,ave;FILE*fp;inti,count; fp=fopen(3);printf("請輸入學生成績\n");for(i=0,sum=0;i<N;i++){scanf("%f",&score[i]);sum+=score[i];}ave=4;5;for(i=0;i<N;i++)if(score[i]>=ave){ count++;6; }printf("平均成績=%.2f,高于平均分人數=%d\n",ave,count); fclose(fp);}3.程序功能:假設a數組中數據由小到大順序存放,以下程序把a數組中相同的數據刪除得只剩一個,然后以每行3個數的形式輸出a數組的數據。【程序】#include<stdio.h>#defineN12voidmain(){ inta[N]={3,3,4,4,4,6,9,9,23,23,90,90}; inti,j,n; n=N; i=N-1; while(i>=0) { if(a[i]==a[i-1]) { for(j=i;j<n;j++) a[j-1]=7; n--; } 8; } for(i=0;i<n;i++) {printf("%4d",a[i]); if((i+1)%3==0)9; }}試題六編程序(共30分)1.輸入x,按下式計算y值并輸出。2.輸出所有的“水仙花數”,水仙花數是指一個三位數,其各位數字立方和等于其本身。如:153=13+53+333.在主函數中計算1+1/2!+1/3!……1/n!的和并輸出。其中n的值通過程序輸入。要求將計算階乘的運算定義成函數。2007C程序設計期末試卷(A)解答試題一、單選題(20分,每小題1分)CBBBA,AABBD,BCAAB,DBDBD試題二、按題目的意思,寫出正確的內容(10分,每小題2分)非0為真,0為假(1)18(2)改變,24(該題2個問題中的“S的”應該刪除。問題表達不夠清楚)。(1)58–75307(2)7035-785或703(3)70353074.structdate{intx,y,z}z={2007,6,28};(成員名可以是其它)或structdate{intx,y,z};structdatez;z.x=2007;z.y=6;z.z=28;5.5試題三、讀程序寫出程序執行結果(每小題5分)1.2#0#2.bde3.#116#318#202#4.D
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國解剖刀行業市場前景預測及投資價值評估分析報告
- 青少年網絡安全教育片心得體會
- 信息技術領域領導干部能力素質提升培訓心得體會
- 電子產品供應商導入流程分析
- 牛奶行業發展前景及未來趨勢分析報告
- 2025年培訓調研總結報告
- 建材行業市場調查報告
- 初三畢業班班主任教學改革工作計劃
- 西南交通大學電力系統實驗報告1
- 自媒體商業項目計劃書
- 《慧典電子病歷系統》操作手冊
- 配電室維保方案資料
- 下消化道出血診治PPT
- 醫院病房裝修改造工程施工方案
- 非相干散射雷達調研報告
- 設計概論 設計批評
- 醫院崗位設置與人員編制標準
- 晚設計我們的校園——校園環境藝術設計
- 電機電磁線圈設計程序..
- 赫章縣水土保持規劃
- 乳膠漆知識培訓
評論
0/150
提交評論