高級語言程序設(shè)計(jì)環(huán)節(jié)考核指導(dǎo)_第1頁
高級語言程序設(shè)計(jì)環(huán)節(jié)考核指導(dǎo)_第2頁
高級語言程序設(shè)計(jì)環(huán)節(jié)考核指導(dǎo)_第3頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、高級語言程序設(shè)計(jì)實(shí)踐環(huán)節(jié)考核指導(dǎo)(2006年2月修訂)一、類型課程實(shí)驗(yàn)考核二、目的與要求高級語言程序設(shè)計(jì)是一門理論與實(shí)踐密切結(jié)合、實(shí)踐性較強(qiáng)的課程。本考核主要達(dá)到兩個(gè)目的:1、檢查學(xué)生掌握C語言基本語法的水平; 2、檢查學(xué)生以C語言開發(fā)、調(diào)試簡單程序的能力。三、考核環(huán)境軟件要求:Windows操作系統(tǒng); Visual C+ 6.0英文版。 考試系統(tǒng):高等教育自學(xué)考試計(jì)算機(jī)信息管理專業(yè)考試系統(tǒng)四、考核內(nèi)容1、C語言的簡單命令、函數(shù)和基本的語法規(guī)則;2、循環(huán)、分支語法規(guī)則(特別是復(fù)雜條件式的書寫規(guī)則);3、掌握一維數(shù)組和二維數(shù)組的定義及使用方法; 4、函數(shù)的設(shè)計(jì)和調(diào)用方法; 5、熟練掌握結(jié)構(gòu)型的定

2、義和使用方法。五、考核時(shí)間與形式考核時(shí)間為60分鐘;采用閉卷形式,考生首先從考核服務(wù)器下載考核用文件到d:2005ks下,所有答案都直接做在文件夾d:2005ks內(nèi),最后根據(jù)考試要求把答案文件上傳到考核服務(wù)器上考生自己的文件柜中(上傳的答案文件不要壓縮打包)。請認(rèn)真閱讀“考試系統(tǒng)”使用說明。六、注意事項(xiàng)1遵守考場紀(jì)律,因計(jì)算機(jī)引起的問題請及時(shí)與監(jiān)考老師聯(lián)系;2考生不要等到最后才上傳答案文件,以免因最后時(shí)刻交卷人員太多造成服務(wù)器響應(yīng)速度低;上傳文件前務(wù)必關(guān)閉相應(yīng)的軟件。例如上傳Word文檔前應(yīng)關(guān)閉Word系統(tǒng)。3如果發(fā)現(xiàn)無法登錄系統(tǒng),請及時(shí)與監(jiān)考老師聯(lián)系,由監(jiān)考老師協(xié)助處理。4本系統(tǒng)采取了一定安

3、全性措施,系統(tǒng)自動(dòng)記錄考生的登錄時(shí)間和登錄微機(jī)(登錄時(shí)間取自服務(wù)器)。一旦發(fā)現(xiàn)同一時(shí)間段內(nèi)有兩臺微機(jī)同時(shí)以某個(gè)考號登錄系統(tǒng),將按作弊處理。一旦發(fā)現(xiàn)某臺微機(jī)在考試期間用兩個(gè)準(zhǔn)考證號登錄過考試系統(tǒng)。也按照作弊處理。5考試完畢,主動(dòng)刪除D盤上的相關(guān)文件夾。6本次考試,要求熟練掌握壓縮軟件Winzip/Winrar的使用。能夠用Winzip/Winrar壓縮含有目錄的文件夾和解壓縮含有目錄的文件夾。7注意保護(hù)自己的二次登錄密碼,不要被其他考生知道。8考生在考試前如果使用了模擬環(huán)境,請于考試開始前關(guān)閉所有瀏覽器窗口,然后重新登錄考試服務(wù)器。七、題型與要求 請參考以下樣題。樣題一一、(20分) 請閱讀以下

4、程序“a1.c”,回答問題。#include "stdio.h"main() int n,k=0; printf("enter a number:"); scanf("%d", &n); while(n!=0) +k; n/=10; print("The result is %dn",k);1、糾正程序中的兩個(gè)語法錯(cuò)誤,將正確的程序存入a1.c,并將程序?qū)崿F(xiàn)的功能寫在下面。2、編譯運(yùn)行該程序,若輸入為“5436”,則輸出是什么?將其輸出結(jié)果寫在下面。二、(40分)完善程序題目1、用起泡法對10個(gè)數(shù)進(jìn)行排序。

5、起泡法的思路是:將相鄰兩個(gè)數(shù)比較,將小的調(diào)到前頭。請?zhí)钛a(bǔ)程序“a2.c”的空缺,改正其中的錯(cuò)誤,并編譯執(zhí)行之。將正確的程序存入a2.c。 假設(shè)輸入以下數(shù)列“100 101 57 7 5 68 72 0 9 80”,程序的輸出是什么?2、用選擇法對數(shù)組中10個(gè)整數(shù)按由小到大排序。所謂選擇法就是:先將10個(gè)數(shù)中最小的數(shù)與a0對換;再將a1到a9中最小的數(shù)與a1對換;,每比較一輪,找出一個(gè)未經(jīng)排序的數(shù)中最小的一個(gè)。請?zhí)钛a(bǔ)程序“a3.c”的空缺,改正其中的錯(cuò)誤,并編譯執(zhí)行之。將正確的程序存入a3.c 假設(shè)輸入以下數(shù)列“100 98 107 7 5 68 72 0 9 84”,程序的輸出是什么?第1題程

6、序a2.c第2題程序a3.c#include "stdio.h"void main() int a11; int i,j,t; printf("input 10 numbers :n"); for(i=1;i<11;i+) scanf("%d",&ai); printf("n"); for(j=1;j<=9;j+) for(i=1;i<=10-j;i+) if(ai>ai+1) t=_; ai=_; ai+1=_; printf("the sorted numbers :n

7、"); for(i=1;i<11;i+) printf("%d ",ai);void sort(array,n)int array;int n; int i,j,k,t; for(i=0;i<n-1;i+) k=i; for(j=i+1;j<n;j+) if(arrayj<arrayk) k=j; t=_; arrayk=_; arrayi=_; main() int a10,i; printf("enter the arrayn"); for (i=0;i<10;i+) scanf("%d",

8、&ai); sort(a,10); printf("the sorted array :n"); for (i=0;i<10;i+) printf("%d ",ai); printf("n");三、編寫程序(40分)求解方程x2+5y2=z2(0<x<y<z<20)的所有整數(shù)解。將調(diào)試正確的程序存入文件“a4.c”。再將所有的解答寫在下面:樣題二一、(20分) 編譯以下程序“b1.c”,然后回答問題。swap(pt1,pt2)int *pt1,*pt2;int p; p=*pt1; *pt1=*p

9、t2; *pt2=p;exchange(q1,q2,q3)int *q1,*q2,*q3;if(*q1<*q2) swap(q1,q2); if(*q1<*q3) swap(q1,q3); if(*q2<*q3) swap(q2,q3);main()int a,b,c,*p1,*p2,*p3; scanf("%d,%d,%d",&a,&b,&c); p1=&a;p2=&b;p3=&c; exchange(p1,p2,p3); printf("n%d,%d,%dn",a,b,c);1、簡述函

10、數(shù)swap()的功能。2、假設(shè)輸入為“98,0,100”,則程序輸出是什么?二、完善程序或程序糾錯(cuò)(40分)1、用遞歸方法求n! 1 (n=0,1)n! n·(n-1)! (n>1)請?zhí)钛a(bǔ)程序“b2.c”的空缺,改正其中的錯(cuò)誤,并編譯執(zhí)行之。將正確的程序存入b2.c。請將15!的結(jié)果寫在下面:2、 這是一個(gè)利用插入法排序的程序b3.c,請糾正這個(gè)程序中的錯(cuò)誤。第1題程序b2.c第2題程序b3.c:double fac(n)int n; double f; if(n<0) printf("n<0,data error!"); else if ( )

11、 ; else f= ; return(f);main() int n; double y; printf("input a integer number:"); scanf("%d",&n); y=fac(n); printf("%d!=%15.0f",n,y);#include <stdio.h>void main ( ) int xx20,yy20; int x,y ,x0,n,nn; for(x=0;x<20;x+) read("%d",xxx); nn=0; for(x=0;x&

12、lt;20;x+) x0=xxx; y=0; while(yyy<x0 && y<nn) y+; if(nn<=y) yyy=xo else n=nn; while(n>y) yyn=yyn-1; n-; yyy=x0; nn+; for(y=0;y<20;y+) printf("%d ",yyy); printf("n");三、編寫程序(40分)有一個(gè)一維數(shù)組,內(nèi)放10個(gè)學(xué)生成績,寫一個(gè)函數(shù),求出平均分,最高分和最低分。將調(diào)試正確的程序存入文件“b4.c”。假設(shè)輸入以下成績“99 45 78 97 100

13、67.5 89 92 66 43”,程序的輸出是什么?樣題三一、(20分) 請閱讀以下程序“c1.c” ,回答問題。#include "stdio.h"main( ) void change( ); char c,*p=&c,bb ; while ( (*p=getchar( )!='n' ) bb=2; change(p,&bb) if(bb=1) printf( "%c",*p ) ; void change(char *pc, char *aa) if ( *pc>='a' &&

14、 *pc<='z' ) *aa=1;1、糾正程序中的兩個(gè)語法錯(cuò)誤,將正確的程序存入c1.c,并將程序?qū)崿F(xiàn)的功能寫在下面。2、編譯運(yùn)行該程序,若輸入為“How Are You”,則輸出是什么?將其輸出結(jié)果寫在下面。二、完善程序或程序糾錯(cuò)(40分)1、找出1-n之間的所有素?cái)?shù),并顯示在屏幕上。N由用戶輸入,為負(fù)值則報(bào)錯(cuò)。請把程序補(bǔ)充完整。2、從鍵盤上輸入一個(gè)字符串,然后利用指針將其中的數(shù)字和字母分別存入數(shù)組a和b中,然后把他們分別輸出。請把程序補(bǔ)充完整。第1題程序第2題程序include <stdio.h>void main() int n, m, k; scan

15、f(“%d”, &n); if(n>0) for(m=2;m<=n;m+)for if(m % k=0) _ if(m=k) printf(“%d, ”,m); else prinf(“Error!”);#include <stdio.h>void main() int n=0, m=0; char a80,b80,c80; char *p=c; gets(p); while (*p!=0) if _ am=*p; m+; p+; else bn=*p;n+;p+; am=0; bn=0; ;三、編寫程序(40分) 編寫程序求解百錢買百雞問題。已知大公雞三文錢一

16、只,大母雞兩文錢一只,小雞一文錢買三只?,F(xiàn)有100文錢,想買100只雞,請編寫程序atest.c解決這個(gè)問題。樣題四一、(20分) 請閱讀以下程序“d1.c”,回答問題。#include "stdio.h"main( ) char ch int sum=0; for( ; ; ) ch=getchar(); if (ch='n') break; if (ch=>'A' && ch<='Z') sum+; printf("sum=%d",sum);1、糾正程序中的兩個(gè)語法錯(cuò)誤,將正

17、確的程序存入d1.c,并將程序?qū)崿F(xiàn)的功能寫在下面。2、編譯運(yùn)行該程序,若輸入為“Good Morning!”,則輸出是什么?將其輸出結(jié)果寫在下面。二、完善程序或程序糾錯(cuò)(40分)1、有學(xué)生信息如下,學(xué)號(整型),姓名(字符串型),三門課的成績(均為實(shí)型)。下面程序的功能是輸入20名學(xué)生的信息,并計(jì)算每位學(xué)生的總分,最后輸出這些學(xué)生的有關(guān)資料。糾正d2.c程序中存在的兩個(gè)錯(cuò)誤。2、有一遞推數(shù)列,滿足條件: f(0)=0 f(1)=1 f(n)=f(n-1)+4f(n-2) 考盤“考核試題”文件夾中的程序“d3.c”可根據(jù)輸入的n值計(jì)算f(n)。 請?zhí)钛a(bǔ)該程序中的空缺,改正其中的錯(cuò)誤,并編譯執(zhí)行之

18、。將正確的程序存入d3.c。 請將f(10)的結(jié)果寫在下面:第1題程序d2.c第2題程序d3.cstructure student; int no; char xm10; int score3, zf; stu20;void main()int n, k; for(n=0;n<20;n+) printf(“請輸入第 %d 個(gè)學(xué)生信息:”,n+1); scanf(“%d”,stun.num); scanf(“%s”,stun.xm); stun.zf=0; for(k=0;k<3;k+) scanf(“%d”,stun.scorek); stun.zf=stun.zf+stun.sc

19、orek; printf(“現(xiàn)在輸出結(jié)果:n”);for(n=0;n<20;n+)printf(“%d %s %d %d %d %dn ”, stun.no, stun.xm, stun.score0, stun.score1, stun.score2, stun.zf);include <stdio.h>void main ( ) long int x0, x1, xc ; int i, n ; read ("%d", &n ); x0=0 ; x1=1 ; for (i=2; i<n; i+) xc=_ ; x0=x1; x1=_ ; ; printf ("The result is %dn",xc) ;三、編寫程序(40分) 編寫程序,要求用戶不停地輸入學(xué)生的學(xué)號和考試成績,直到學(xué)號為-1結(jié)束輸入。程序自動(dòng)輸出這些數(shù)據(jù)中的最高分,最低分以及取得這兩個(gè)成績的學(xué)生的學(xué)號、成績。(考試成績的范圍為0至100分)。(可參考實(shí)踐指導(dǎo)書59頁)。樣題參考答案樣題一一、糾

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論