C程序作業(yè)答案_第1頁(yè)
C程序作業(yè)答案_第2頁(yè)
C程序作業(yè)答案_第3頁(yè)
C程序作業(yè)答案_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、什 么 是 程 序 及 程 序 設(shè) 計(jì)程序program 是為實(shí)現(xiàn)特定目標(biāo)或解決特定問(wèn)題而用計(jì)算機(jī)語(yǔ)言編寫(xiě)的命令序列的集合.為實(shí)現(xiàn)預(yù)期目的而進(jìn)行操作的一系列語(yǔ)句和指令.一般分為系統(tǒng)程序和應(yīng)用程序兩大類(lèi).程序設(shè)計(jì)Programming是指設(shè)計(jì)、編制、調(diào)試程序的方法和過(guò)程.它是目標(biāo)明確的智力活動(dòng).由于程序是軟件的本體,軟件的質(zhì)量主要通過(guò)程序的質(zhì)量來(lái)表達(dá),在軟件研究中,程序設(shè)計(jì)的工作非常重要,內(nèi)容涉及到有關(guān)的根本概念、工具、方法以及方法學(xué)等.程序設(shè)計(jì)=數(shù)據(jù)名構(gòu)+算法正確理解以下名詞及其含義1、源程序目標(biāo)程序可執(zhí)行程序2、程序編輯程序編譯程序連接3、程序程序模塊程序文件4、函數(shù)主函數(shù)被調(diào)用函數(shù)庫(kù)函數(shù)5

2、、程序調(diào)試程序測(cè)試1、源程序:程序可以用高級(jí)語(yǔ)言或匯編語(yǔ)言編寫(xiě),用高級(jí)語(yǔ)言或匯編語(yǔ)言編寫(xiě)的程序稱(chēng)為源程序.目標(biāo)程序:源程序經(jīng)過(guò)“編譯程序編譯所得到的二進(jìn)制代碼稱(chēng)為目標(biāo)程序.可執(zhí)行程序:目標(biāo)程序與庫(kù)函數(shù)連接,形成的完整的可在操作系統(tǒng)下獨(dú)立執(zhí)行的程序稱(chēng)為可執(zhí)行程序.2、程序編輯:是指將完成一件工作所需要的步驟,也就是算法,用計(jì) 算機(jī)所能識(shí)別的語(yǔ)言,根據(jù)一定的程序結(jié)構(gòu)譯出來(lái),并可被計(jì)算機(jī)執(zhí)行的編寫(xiě)代碼的全過(guò)程.該程序編輯形式能通過(guò)編譯、鏈接生成最終程序一般是可執(zhí)行文件的源代碼文件.用戶使用編譯程序?qū)ζ鋫€(gè)人編制的源程序進(jìn)行編譯的過(guò)程稱(chēng)為程序編譯.程序連接:編輯就是自己寫(xiě)代碼,編譯就是將你寫(xiě)的代碼譯成目

3、標(biāo)文件,連接是將你的目標(biāo)文件與系統(tǒng)文件資源、模塊等組合生成可執(zhí)行文件.3、程序就是為使電子計(jì)算機(jī)執(zhí)行一個(gè)或多個(gè)操作,或執(zhí)行某一任務(wù),按序設(shè)計(jì)的計(jì)算機(jī)指令的集合.程序模塊program module 即可由匯編程序、編譯程序、裝入程序或譯程序作為一個(gè)整體來(lái)處理的一級(jí)獨(dú)立的、可識(shí)別的程序指令.程序以命令形式存儲(chǔ)在磁盤(pán)上,稱(chēng)為:程序文件,文件擴(kuò)展名為.PRG4、庫(kù)函數(shù)由C系統(tǒng)提供,用戶無(wú)須定義, 也不必在程序中作類(lèi)型說(shuō)明,只需在程序前包含有該函數(shù)原型的頭文件即可在程序中直接調(diào)用.被調(diào)用函數(shù):計(jì)算機(jī)編程術(shù)語(yǔ),即由一個(gè)函數(shù)調(diào)用另一個(gè)函數(shù), 那么稱(chēng)第二個(gè)函數(shù)為被調(diào)用函數(shù).主函數(shù)既是程序的入口,又是程序的出

4、口.函數(shù):函數(shù)是C程序的根本單位,在設(shè)計(jì)良好的程序中,每個(gè)函數(shù)都用來(lái)實(shí)現(xiàn)一個(gè)或幾個(gè)特定的功能.5、程序調(diào)試:所謂程序調(diào)試,是將編制的程序投入實(shí)際運(yùn)行前,用手工或編譯程序等方法進(jìn)行測(cè)試,修正語(yǔ)法錯(cuò)誤和邏輯錯(cuò)誤的過(guò)程.這是保證計(jì)算機(jī)信息系統(tǒng)正確性的必不可少的 步驟.程序測(cè)試program testing是指對(duì)一個(gè)完成了全部或局部功能、模塊的計(jì)算機(jī)程序在正式使用前的檢測(cè),以確保該程序能按預(yù)定的方式正確地運(yùn)行.為什么需要計(jì)算機(jī)語(yǔ)言高級(jí)語(yǔ)言的特點(diǎn)計(jì)算機(jī)語(yǔ)言Computer Language 指用于人與計(jì)算機(jī)之間通訊的語(yǔ)言.計(jì)算機(jī)語(yǔ)言是人與計(jì)算機(jī)之間傳遞信息的媒介.計(jì)算機(jī)系統(tǒng)最大特征是指令通過(guò)一種語(yǔ)言傳達(dá)

5、給機(jī)器.為了使電子計(jì)算機(jī)進(jìn)行各種工作,就需要有一套用以編寫(xiě)計(jì)算機(jī)程序的數(shù)字、字符和語(yǔ)法規(guī)劃,由這些字符和語(yǔ)法規(guī)那么組成 計(jì)算機(jī)各種指令或各種語(yǔ)句.這些就是計(jì)算機(jī)能接受的語(yǔ)言.高級(jí)語(yǔ)言獨(dú)立于機(jī)器的特性是靠編譯器為不同機(jī)器生成不同的目標(biāo)代碼或機(jī)器指令來(lái)實(shí)現(xiàn)的.C程序設(shè)計(jì)答案:4-1有兩個(gè)瓶子A和B分別盛放醋和醬油,將他 們互換如果A瓶原來(lái)盛醋現(xiàn)改盛醬油,B瓶原來(lái)盛醬油現(xiàn)改盛醋.4-3開(kāi)始輸入A、B、C、如果a>b>c那么輸出A然后是B最后Cb>a>c那么輸出b然后是a最后Cc>a>b那么輸出c然后是a最后C4-5開(kāi)始輸入數(shù)N如果能被3整除而且能被5整除那么算法結(jié)

6、束.4-7輸入M和N找出M和N所有公有質(zhì)因數(shù),然后將所有公有質(zhì)因數(shù)相乘,其積即為M和N的最大公約數(shù).8設(shè)YEAR為被檢測(cè)的年份S1: 1900= >yearS2:假設(shè) year 不能被4整除那么輸出year的值和“不是閏年.然后轉(zhuǎn)到 S6檢查 一下年份.S3:假設(shè)year能被4整除不能被100整除,那么輸出year的值和“是閏年.然后轉(zhuǎn)到S6S4:假設(shè)year能被400整除輸出year的值和“是潤(rùn)年然后轉(zhuǎn)到 s6S5:輸出year的值和“不是閏年S6: year+1= >yearS7:當(dāng)year02000時(shí),轉(zhuǎn)S2繼續(xù)執(zhí)行,否那么算法停止.假設(shè)我國(guó)國(guó)民生產(chǎn)總值的年增長(zhǎng)率r=9% ,

7、計(jì)算n=10年后我國(guó)國(guó)民生產(chǎn)總值與現(xiàn)在相比增長(zhǎng)百分比p#include <>int mainint argc, char *argv口int n;float p1=,p2=,r=,p;forn=1;n<=10;n+ p2+=p1*r;p1=p2;p=p2/;printf"10 年后的比現(xiàn)在相對(duì)增長(zhǎng)百分比為:.2f%n",p*100;return 0;存款利息的計(jì)算.有1000元,想存5年,可按以下5種方法存:1 一次存5年2先存2年,到期后將本息再存三年期3先存3年期,到期后將本息再存 2年期4存1年期,到期后將本息再存1年期,連續(xù)存5次(5)存活期存款.

8、活期利 息每一季度結(jié)算一次.2007年12月的銀行存款利息是:1年期定期存款利息=% ; 2年期=% ; 3年期=% ; 5年期=% 活期存款利息為% (活期存款每一季度結(jié)算一次利息).如果 r為年利率,n為存款年數(shù),那么 計(jì)算本息的公式如下.一年期本息和:P=1000*(1+r) n年期本息和:P=1000* (1+n*r ) 存n次一年期的本息 和:P=1000* ( 1+r-n (n次方哦) 活期存款本息和:P=1000*(1+r/4)A4n(4n次方哦!)(說(shuō)明:1000*(1+r/4 )是一個(gè)季度的本息和)#include<>#include<>#includ

9、e<>#define b#define cmain()while (1)int a;printf("Please return the way you want 1,2,3,4,5:");scanf("%d",&a);switch (a)case 1:printf("The money is:%fnn",1000+1000*5);break;case 2:printf("The moneyis:%fnn",1000+(1000+1000*2)*3);break;case 3:printf(&qu

10、ot;The moneyis:%fnn",1000+(1000+1000*3)*2);break;case 4:printf("The money is:%fnn",1000*b*b*b*b*b);break;case 5:printf("The money is:%fnn",1000*pow(c,20);break; system("pause");#include<>分析下面的程序:int main()省略1、運(yùn)行時(shí)會(huì)出現(xiàn)什么信息為什么2、如果將程序4、5行改為c1=197c2=198運(yùn)行時(shí)會(huì)出現(xiàn)什么信息為什

11、么3、將3行給為int c1 , c2 ;運(yùn)行時(shí)會(huì)出現(xiàn)什么信息為什么1,輸出:c1=a,c2=bc1=97,c2=98原因:由于輸出為整型格式時(shí),就輸出對(duì)應(yīng)的ASC代碼值;字符格式就輸出相應(yīng)的字符.2,輸出:c1 = ? , c2 = ?c1 = - 59c2 =-58原因:英文字母對(duì)應(yīng)的asc值越界,所以輸出(不能輸出對(duì)應(yīng)的特殊符號(hào),應(yīng)為格式是 c),至于后面輸出的負(fù)數(shù),是由于字符常量在內(nèi)存中存儲(chǔ)的時(shí)候?qū)嶋H上是以二進(jìn)制形式存儲(chǔ)的,197和198存儲(chǔ)進(jìn)去,內(nèi)存中由于越界不能完整存儲(chǔ)相應(yīng)的二進(jìn)制碼,而存儲(chǔ)的二進(jìn)制碼輸出來(lái)的整數(shù)就是那二進(jìn)制碼對(duì)應(yīng)的負(fù)數(shù)了.3,輸出:c1=a,c2=bc1=97,c

12、2=98原因和1的問(wèn)根本相同了.用下面的SCANF函數(shù)輸入數(shù)據(jù),使a=3 , b=7 , x= , y= , c1='A' , c2='a',問(wèn)在鍵盤(pán)上如何輸入#include<>int main()int a,b;char c1,c2;float x,y,z;scanf("%d%d",&a,&b);scanf("%c",&c1);getchar();scanf("%c",&c2);scanf("%f%f%f",&x,&y,

13、&z);printf("%d %d %c %c %f %f %fn",a,b,c1,c2,x,y,z);return 0;C語(yǔ)言中如何表示“真和“假 系統(tǒng)如何判定一個(gè)量的“真和“假.C語(yǔ)言編譯系統(tǒng)在表示邏輯運(yùn)算結(jié)果時(shí),以數(shù)值 1代表“真,以0代表“假其實(shí)語(yǔ)句是否執(zhí)行由用戶的代碼(即判斷條件)決定的,而系統(tǒng)只用0和非0進(jìn)行判斷,當(dāng)用戶認(rèn)為此句可執(zhí)行,系統(tǒng)判斷為“真,反之亦然寫(xiě)出下面邏輯表達(dá)式的值,設(shè)a=4,c=501101有三個(gè)整數(shù)a,b,c,由鍵盤(pán)輸入,輸出其中最大值方法一#include <>main() int a,b,c;printf("

14、請(qǐng)輸入3個(gè)整數(shù):");scanf("%d,%d,%d",&a,&b,&c);if(a<b)if(b<c) printf("max=%dn",c);else printf("max=%dn",b);else if(a<c) printf("max=%dn",c);else printf("max=%dn",a);輸入兩個(gè)正整數(shù) m和n ,求其最大公約數(shù)和最小公倍數(shù).main()long m,n,i=1,j,s;scanf("%ld,%l

15、d",&m,&n);for(;i<=m&&i<=n;i+)if(m%i=0&&n%i=0) s=i;if(m>=n) j=m;else j=n;for(;!(j%m=0&&j%n=0);j+);printf("s=%ld,j=%ldn",s,j);getchar();求 Sn=a+aa+aaa+ +aa -aaa (有 n 個(gè) a) 之值,其中 a是一個(gè) 數(shù)字.除如:2+22+222+2222+22222(n=5) , n 由鍵盤(pán)輸入.#include""main

16、()int n,sum=0,i=1,s=2;scanf("%d",&n);while(i<=n)sum=sum+s;s=s+2*pow(10,i);i+;printf("sum=%dn",sum);打印以下列圖案#include""main()int i,j,k;for(i=0;i<=3;i+)for(j=0;j<=2-i;j+)printf("");for(k=0;k<=2*i;k+)printf("*");printf("n");for(i

17、=0;i<=2;i+)for(j=0;j<=i;j+)printf("");for(k=0;k<=4-2*i;k+)printf("*");printf("n");打印出以下楊輝三角形(要求打印出10行)main() static int m,n,k,b1515;b01=1;for(m=1;m<15;m+)for(n=1;n<=m;n+) bmn=bm-1n-1+bm-1n;printf(“-5d,bmn);printf(“n“);有一行電文譯文下面規(guī)律譯成密碼:main() int i;char str

18、1100,str2100;gets(str1);for(i=0;str1i!=' 0 ' ;i+)if(str1i>=65&&str1i<=90)str2i=155-str1i;else if(str1i>=97&&str1i<=122)str2i=219-str1i;elsestr2i=str1i;printf("%sn%sn",str1,str2);寫(xiě)兩個(gè)函數(shù),分別求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩個(gè)函數(shù),并輸出結(jié)果兩個(gè)整數(shù)由鍵盤(pán)輸入.maxyueshu(m,n)int m,n;

19、int i=1,t;for(;i<=m&&i<=n;i+)if(m%i=0&&n%i=0)t=i;return(t);minbeishu(m,n)int m,n;int j;if(m>=n) j=m;else j=n;for(;!(j%m=0&&j%n=0);j+);return j;main()int a,b,max,min;printf("enter two number is:");scanf("%d,%d",&a,&b);max=maxyueshu(a,b);min=minbeishu(a,b);printf("max=%d,min=%dn,max,min);寫(xiě)一個(gè)判斷素?cái)?shù)的函數(shù),在主函數(shù)輸入一個(gè)整數(shù),輸出是否是素?cái)?shù) 的消息.psushu(m)int m;int i=2,t;for(;i<=m;i+)if(m%i=0&&i<m) break;if(m-i=0) t=1;else t=0;retu

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論