C語言2006A(軟)答案_第1頁
C語言2006A(軟)答案_第2頁
C語言2006A(軟)答案_第3頁
C語言2006A(軟)答案_第4頁
C語言2006A(軟)答案_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.2006級 C語言程序設(shè)計 A卷答案一、 基礎(chǔ)知識題(20分,每題5分)1. 什么是數(shù)據(jù)緩沖區(qū)?對于輸入流來說,數(shù)據(jù)緩沖區(qū)是如何工作的?開辟一塊存儲區(qū)(稱為“數(shù)據(jù)緩沖區(qū)”),作為文件和程序之間的中介,作為數(shù)據(jù)的緩沖??梢跃徍蛢?nèi)存和外存之間的數(shù)據(jù)提供和使用之間速度上的差別。在程序與實(shí)際文件之間的傳輸通道上設(shè)置了一個緩沖區(qū)。文件中的數(shù)據(jù)被以成塊方式復(fù)制到緩沖區(qū)。當(dāng)程序中需要讀入數(shù)據(jù)時:1)如果緩沖區(qū)有數(shù)據(jù),它就直接由緩沖區(qū)讀取,而不必到外存讀數(shù)據(jù)。2)如果緩沖區(qū)里數(shù)據(jù)已經(jīng)用完,系統(tǒng)會自動執(zhí)行一個內(nèi)部操作,一次從文件里取得一批數(shù)據(jù),將緩沖區(qū)填滿,程序又可以按照正常方式讀入數(shù)據(jù)。2. C語言的預(yù)處理

2、有哪幾種?各有什么作用?C中的預(yù)處理命令有三種:宏定義、文件包含和條件編譯。一個宏定義的作用是為宏名字定義一個替代,該替代由整個替代正文段構(gòu)成。所謂“文件包含”處理是指一個源程序文件可以將另外一個源程序文件的全部內(nèi)容包含進(jìn)來。即將另外的文件包含到本文件之中。對其中一部分內(nèi)容只在滿足一定條件下才進(jìn)行編譯,也就是對一部分內(nèi)容指定編譯的條件,這就是“條件編譯”。3. 對于數(shù)據(jù)類型和存儲類別,你是如何理解的?在 C語言中每一個變量和函數(shù)有兩個屬性:數(shù)據(jù)類型和數(shù)據(jù)存儲類別。數(shù)據(jù)類型決定著數(shù)據(jù)的存儲空間和數(shù)據(jù)的存儲方式。存儲類別是指數(shù)據(jù)在內(nèi)存中存儲的方法和存儲的位置。4. 寫出switch 分支結(jié)構(gòu)的語法

3、結(jié)構(gòu),并寫出其執(zhí)行過程。switch(表達(dá)式) case 整型常量表達(dá)式:語句序列 case 整型常量表達(dá)式:語句序列 . default:語句序列它的執(zhí)行過程:首先求出 switch 后面“表達(dá)式”的值,然后用這個值與寫在各 case 標(biāo)號中的“整型常量表達(dá)式” 的值依次做比較。如果遇到相等的值,程序就從這里執(zhí)行下去;如果找不到,而這個開關(guān)語句有 default 部分,就從 “default : ”之后繼續(xù)執(zhí)行;如果開關(guān)語句沒有 default 部分,那么整個語句結(jié)束。二、 讀程序?qū)懡Y(jié)果(30分,每題5分)1struct s int n; int *m; *p ;int d5= 10,20,

4、30,40,50;struct s arr= 100,&d0,200,&d1, 300,&d2,400,&d3,500,&d4;int main()p = arr;printf(“%dn”, +p-n);printf(“%dn”,(+p)-n);printf(“%dn”,+(*p-m); return 0;101200212 int main ( ) static int x =0, 5, 6, 10, 12, 15, 18, 20;int a, s=0, *p=x;for(;p=0; a-=2) s*=*(p+a);printf (“S=%dn”,s); return 0;s=0s=6s=1

5、8s=36s=20s=300s=3000s=150003include include void fun(char *w, int m)char s, *p1, *p2;p1 = w; p2 = w+ m- 1; while (p1 p2) s = *p1+; *p1 = *p2-; *p2 = s;int main()char a=”ALGORITHM”;fun(a, strlen(a);puts(a);return 0;AMAMMAMAM4include void fun(int x) if (x=8) fun(x/8); putchar(0+x%8);int main()fun(231)

6、; return 0;3475#define PRINT(int) printf (“int=%dn”,int);int main()int x=1,y=1,z=1;x += y += z;PRINT(xy ? y : x) PRINT(z += xy ? x+ : y+) PRINT(x) PRINT(y) PRINT(z)return 0;int=3int=3int=3int=3int=36#include stdio.hvoid main() int i,j; for(i=1;i=5;i+) for(j=1;j=30-i;j+) putchar( ); printf(*); for(j=

7、1;j0;i-) for(j=1;j=30-i;j+) putchar( ); printf(*); for(j=1;j=2*i-3;j+) putchar( ); if(i!=1) printf(*); printf(n); 三、 應(yīng)用及程序編程題(50分,每題10分)1從鍵盤輸入20個整數(shù),將它們從小到大排序后輸出,并輸出每個元素輸入時的序號。#include int main()int t,i,j;int data202;for(i=0;i20;i+)scanf(“%d”,&datai0);datai1=i; for(i=0;i14;i+)for(j=0;jdataj+1) t=data

8、j0;dataj0=dataj+10;dataj+10=t;t=dataj1;dataj1=dataj+11;dataj+11=t;for(i=0;i20;i+)printff(“%5d,%5dn”,&datai0,datai1);return 0;2如果一個正整數(shù)等于其各個數(shù)字的立方和,則該數(shù)稱為阿姆斯特朗數(shù)。如:40743+03+73 就是一個阿姆斯特朗數(shù)。編程求100999以內(nèi)的所有阿姆斯特朗數(shù)。#include ”stdio.h”int main() int i,a,b,c; for(i=100;inext; while(p!=NULL) sum=sum+p-data;p=p-next; return sum;4找出下列圖形的規(guī)律,使用循環(huán)編寫程序打印如下圖形。3711155913 177111519913172111151923#include int main() int i,j,k=1; for(i=3;i=11;i=i+2) for(j=0;jk;j+) printf(%5c, ); k+; for(j=i;j=A)&(ch=a)&(ch=z) count0+; else if (0=ch)&(ch=9) count1+

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論