版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
算法簡介C語言程序的基本語句數(shù)據(jù)的輸入輸出Begin:第三章程序設(shè)計初步所謂面向過程的程序設(shè)計,是指利用面向過程的語言工具(如Basic、Pascal、Fortran和C語言等)進行程序開發(fā)的各項活動。3.1結(jié)構(gòu)化程序設(shè)計1面向過程的程序設(shè)計優(yōu)點:編程簡單、結(jié)構(gòu)性強、可讀性好,程序執(zhí)行時序特征明顯;遵循這種結(jié)構(gòu)的程序只有一個入口和一個出口。缺點:存在數(shù)據(jù)與程序模塊的分離和程序的可重用性差等問題?;舅枷耄喊岩粋€需要求解的復(fù)雜問題分為若干個模塊來處理,每個模塊處理一個子問題;設(shè)計時遵循自頂向下、逐步細化、模塊化設(shè)計和結(jié)構(gòu)化編碼的原則。3.1結(jié)構(gòu)化程序設(shè)計2.面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計是一種新的程序設(shè)計范型。它將一些新的理念和結(jié)構(gòu)化程序設(shè)計中好的思想相融合,提供了一種全新的程序設(shè)計方法?;舅枷雽⒁粋€需要求解的問題分解為一系列實體(對象),然后圍繞這些對象建立數(shù)據(jù)和函數(shù);函數(shù)的功能決定了該對象的行為。規(guī)定一個對象的函數(shù)可以訪問另一對象的函數(shù),但一個對象的數(shù)據(jù)不能應(yīng)用于另一對象的函數(shù)中。(即只有屬于該對象的成員函數(shù)才能訪問自己的數(shù)據(jù)成員,從而達到了保護數(shù)據(jù)的目的。)幾個基本概念:三類機制:類、對象、屬性、事件、方法封裝、繼承、多態(tài)算法——解決某一問題所采取的方法和步驟。3.2算法3.2.1算法的概念
⑴有窮性一個算法其操作步驟應(yīng)當(dāng)是有限的;⑵確定性算法中的每一個步驟應(yīng)當(dāng)有確定的意義,不能有二義性;⑶有效性算法中的每一個步驟應(yīng)當(dāng)正確、可行,并且能有效地執(zhí)行;⑷有零個或多個輸入執(zhí)行算法時需要從外界獲取的信息;⑸有一個或多個輸出執(zhí)行算法后應(yīng)當(dāng)?shù)玫秸_的結(jié)果。計算機算法的特性3.2算法3.2.2算法的基本結(jié)構(gòu)順序結(jié)構(gòu)選擇(分支)結(jié)構(gòu)循環(huán)結(jié)構(gòu)3.2算法3.2.3算法的表示1.用自然語言表示算法
——用人們?nèi)粘J褂玫恼Z言和語序來表示算法?!纠?-1】:輸入n個整數(shù),輸出其中最大的數(shù)。
自然語言偽代碼流程圖設(shè)置變量:n代表整數(shù)的個數(shù),num代表參與取值比較的整數(shù),i代表已參與取值比較的整數(shù)個數(shù),max代表n個整數(shù)中的最大數(shù)。步驟1:從鍵盤輸入一個整數(shù)給n(設(shè)n=5),將1=>i;步驟2:從鍵盤輸入一個整數(shù)給num,再將num=>max;步驟3:如果i<n,再從鍵盤輸入一個整數(shù)給num;步驟4:如果num>max,將num=>max,否則max的值為原值;步驟5:i+1=>i,如果i<n,重復(fù)步驟3和步驟4;否則輸出max的值,即輸出n個整數(shù)中的最大數(shù)。用自然語言描述算法如下:2.用偽代碼表示算法
——一種接近于程序設(shè)計語言,但又不受語言語法約束的算法表示法。上例用偽代碼表示:
輸入n個整數(shù),輸出其中最大的數(shù)。inputninputnummax=numi=1whilei<ndoinputnumifnum>maxthenmax=numendifi=i+1enddoprintmax3.2算法3.用流程圖表示算法
——用一些圖框和方向線表示算法的圖形表示法。常用流程圖符號及含義如下:開始max=num,計數(shù)器i=1i<n輸入n和num的值num>maxmax=numi=i+1輸出max結(jié)束輸入數(shù)給num假假真真上例用流程圖表示:3.2算法⒋用N-S流程圖表示算法——用一些基本結(jié)構(gòu)圖框來表示算法的圖形表示法。語句A語句B條件P成立不成立語句A語句B當(dāng)條件P成立時語句語句直到條件P不成立順序結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)基本結(jié)構(gòu)圖框及含義如下:輸入n的值,i=1輸入num的值,max=num輸入numnum>max真
假max=numi=i+1當(dāng)i<n輸出max的值上例用N-S流程圖表示:3.2算法3.3C語言程序的基本語句3.1C語言程序的基本語句
C語言語句分為五類:聲明語句、表達式語句、函數(shù)調(diào)用語句、控制語句、復(fù)合語句、空語句。聲明語句
類型說明符變量名;類型說明符函數(shù)名(參數(shù)列表);inta;charc;intmax(inta,intb);2.表達式語句由一個表達式組成一個語句。
如:++p;/*自增運算表達式加分號構(gòu)成語句*/N+=10;/*復(fù)合賦值表達式加分號構(gòu)成語句*/a+b;/*a+b表達式加分號構(gòu)成語句*/3.函數(shù)調(diào)用語句由一次函數(shù)調(diào)用加上分號“;”組成。形式:函數(shù)名(實參列表);如:printf(“VeryGood!\n”);/*輸出VeryGood!*/max(x,y,z);/*調(diào)用自定義函數(shù)max,求x,y,z中的最大數(shù)*/5.復(fù)合語句:用{}括起來組成的一個語句
如:if(a>b)
{x=0;b=b+1;x=a;}4.空語句:僅由一個分號構(gòu)成的語句6.控制語句:控制程序的流程
如:if…else語句,while語句,return語句等。
如:while(getchar()!='\n')
;
/*空語句*/3.1C語言程序的基本語句1、字符輸出:putchar()函數(shù)格式:
putchar(C);功能:向終端輸出一個字符。C為形式參數(shù),它可以是字符型變量、整型變量,字符型常量或轉(zhuǎn)義字符。3.5數(shù)據(jù)輸入輸出intmain(void){chara;intb;a='b';b=111;putchar(a);putchar(b);putchar('y');putchar('\n'); return0;}例:運用putchar()函數(shù)程序運行結(jié)果:boy“o”的ASCII碼為1112、字符輸入:getchar()函數(shù)格式:
getchar();功能:從終端輸入一個字符。getchar()只能接收一個字符,該字符可賦給字符變量、整型變量或作為表達式的一部分。例:
intmain(void)
{charc;c=gethar();putchar(c); return0;}輸入一個字符,再將該字符輸出功能:通過標(biāo)準(zhǔn)輸出設(shè)備(如顯示器)輸出一組數(shù)據(jù)。輸出形式由“格式控制”字符串規(guī)定。一般形式:
printf(“格式控制字符串”,輸出表列);3.格式輸出函數(shù)printf()格式控制:由雙引號括起來的字符串,用于指定要輸出的數(shù)據(jù)的格式。2)格式說明:用來指定需輸出數(shù)據(jù)的輸出格式的,其形式為:
%[<修飾符>]格式字符
格式字符用以說明輸出數(shù)據(jù)的類型,形式,長度,小數(shù)位數(shù)等。它包括:
1)普通字符:按原樣輸出的字符;
輸出表列:需要輸出的數(shù)據(jù)列表,彼此間用逗號分隔。它可是任意合法的表達式。格式輸出:printf()函數(shù)用于輸出的格式字符格式符功
能形
式d輸出十進制整數(shù)%d、%md、%ld、%mldo以八進制形式輸出整數(shù)%o、%mo、%lox以十六進制形式輸出整數(shù)%x、%mx、%lxu以十進制形式輸出一個無符號的數(shù)%uc輸出一個字符%cs輸出一個字符串%s、%ms、%m.nsf以小數(shù)的形式輸出實數(shù)%f、%m.nf、%lfe以標(biāo)準(zhǔn)指數(shù)的形式輸出實數(shù)%e、%m.neg根據(jù)實數(shù)的大小自動按f或e的形式選擇輸出格式%g格式輸出:printf()函數(shù)用于輸出的修飾符格式輸出:printf()函數(shù)例:格式輸出:printf()函數(shù)printf("a+b=%5.2f",c);附加格式符格式符輸出表列普通字符格式說明符格式控制格式輸出:printf()函數(shù)(1)d格式字符%d:按整型數(shù)據(jù)的實際長度輸出%md:m為指定的輸出長度。如果數(shù)據(jù)位小于m,則左端補以空格;大于m,則按實際位輸出。例:printf(“%4d,%4d”,a,b);
若a=12,b=12345,則輸出12,12345%ld:輸出長整型數(shù)據(jù)。%d的輸出范圍為-32768~32767,輸出超過該范圍的整型數(shù)就會出錯,此時用%ld輸出。其輸出格式和功能與%d相同,如:%8ld格式輸出:printf()函數(shù)(2)o格式字符以八進制數(shù)形式輸出整數(shù),且不帶符號。對于長整數(shù)可用“%lo”輸出。功能同十進制輸出。(3)x格式字符以十六進制數(shù)形式輸出整數(shù),且不帶符號。對于長整數(shù)可用“%lx”輸出。功能同十進制輸出。(4)u格式字符用來輸出unsigned型數(shù)據(jù),即無符號數(shù),輸出十進制數(shù)。用%o,%x輸出負(fù)數(shù)時會發(fā)生錯誤。格式輸出:printf()函數(shù)(5)c格式字符
一個整數(shù),如果在0~255之間,也可用字符形式輸出,系統(tǒng)會將該整數(shù)轉(zhuǎn)換成相對應(yīng)的ASCII碼字符;同時,一字符也可以用整數(shù)形式輸出。例:charc=‘a(chǎn)’;printf(“%c”,c);用來輸出一個字符。inta=65;printf(“%c”,a);intc=‘A’;printf(“%d”,c);輸出A輸出65如:printf(“%3c”,c),則輸出c格式字符也可以指定輸出字?jǐn)?shù)寬度A格式輸出:printf()函數(shù)(6)s格式字符%s:用來輸出一個字符串例:printf(“%s”,“Hello!”);輸出Hello!,不包括“”%ms:輸出的字符串占m列。如果字符串長度小于m,則左端補以空格;長度大于m,則輸出整個字符串。%-ms:如果串長小于m,則字符串向左靠,右補空格,其余同上。%m.ns:輸出的字符串占m列,但只取字符串中左端n個字符,這n個字符輸出在m列的右側(cè),左端補空格。%-m.ns:其他意義同%m.ns,右補空格。例:printf(“%3s”,“Hello!”);輸出Hello!
printf(“%7s”,“Hello!”);輸出Hello!格式輸出:printf()函數(shù)(7)f格式字符%f:不指定字段寬度,整數(shù)部分全部輸出,小數(shù)部分輸出6位。%m.nf:指定輸出數(shù)據(jù)占m列,其中有n位小數(shù)。若數(shù)值長度小于m,則左端補以空格。%-m.nf:功能同上,右端補以空格。(8)e格式字符%e:不指定字段寬度,系統(tǒng)自動給出6位小數(shù),指數(shù)部分占4位。其中“e”占1位,指數(shù)符號占1位,指數(shù)占2位。格式輸出:printf()函數(shù)例:printf(“%e”,123.456);輸出:1.234560e+026位小數(shù)部分4位指數(shù)部分%m.ne,%-m.ne,%me
:中m,-的意義和前相同,n是指數(shù)據(jù)的小數(shù)部分輸出的位數(shù)。(9)g格式字符
用來輸出實數(shù),根據(jù)數(shù)值大小,自動選f或e格式,且不輸出無意義的零。格式輸出:printf()函數(shù)#include<stdio.h>voidmain(){inta=1234;floatf1=12.34567,f2=678.9;printf("1)%d,%6d,%-6d,%2d;\n",a,a,a,a);printf("2)%f,%10.4f,%3.2f;\n",f1,f1,f1);printf("3)%e,%e;\n",f1,f2);printf("4)%8e,%14e;\n",f1,f1);printf("5)%10.7e,%10.3e;\n",f1,f1);}實例:程序運行結(jié)果:1)1234,1234,1234,1234;2)12.345670,12.3457,12.35;3)1.23457e+01,6.78900e+02;4)1.23457e+01,1.23457e+01;5)1.234567e+01,1.23e+01;功能:從終端輸入任何類型的多個數(shù)據(jù)
格式:scanf("格式控制",地址表列);格式控制:由雙引號括起來的字符串,用于指定要輸入的數(shù)據(jù)的格式。1)普通字符:按原樣輸入的字符;
2)格式說明:用來指定需輸入數(shù)據(jù)的輸入格式的,其形式為:
%[<修飾符>]格式字符4.格式輸入:scanf()函數(shù)地址表列:由若干個變量地址組成的表列。地址是由”&”運算得到的。“&”是取址運算符,單目運算符,右結(jié)合性。用于輸入的修飾符4.格式輸入:scanf()函數(shù)用于輸入的格式字符4.格式輸入:scanf()函數(shù)格式輸入的使用與注意:輸入數(shù)據(jù)時采用的分隔符應(yīng)與格式控制中的分隔符一致。例1:
scanf("%d%f%d",&a,&b,&c);
格式符中無普通字符時,可用空格、Tab鍵、回車鍵作分隔符。如:123.45678↙或12(Tab)3.45(Tab)678例2:
scanf("%d,%f,%d",&a,&b,&c);
必須采用格式:12,3.45,678↙例3:
scanf("a=%d,b=%d",&a,&b);
必須采用格式:a=12,b=345↙4.格式輸入:scanf()函數(shù)無符號數(shù)可用%d、%o、%x
格式輸入。輸入格式符帶有*:表示該數(shù)據(jù)不賦值。
例:scanf("%d%*d%d",&a,&c);
鍵入:1234567
則a=12,c=567,34未賦值。數(shù)據(jù)輸入時不可規(guī)定精度,但可確定寬度。
例:scanf(”%3f%3c”,&a,&b);
合法。
例:scanf(”%3.2f%3c”,&a,&b);
非法。4.格式輸入:scanf()函數(shù)用c格式符輸入字符時,空格、轉(zhuǎn)義字符均為有效字符。
例
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 部編本二年級上冊語文第二至七單元(內(nèi)容含課文口語交際及語文園地)全部教案
- 城市規(guī)劃學(xué)徒指導(dǎo)手冊
- 油氣勘探鉆探施工合同
- 勞務(wù)派遣員工健康檢查
- 汽車制造鍋爐房施工合同
- 環(huán)保項目嚴(yán)禁參與虛假環(huán)保承諾
- 硫酸廠宿舍樓施工協(xié)議
- 科技園區(qū)研發(fā)創(chuàng)新車庫改造協(xié)議
- 石油公司出納人員聘用合同
- 室內(nèi)運動場地坪施工協(xié)議
- 平凡的世界英文簡介ppt
- ??低曇曨l車位誘導(dǎo)與反向?qū)ぼ囅到y(tǒng)與解決與方案
- 四年級湘版美術(shù)知識點(復(fù)習(xí)提綱)
- 牙、牙合、頜的生長發(fā)育 顱面的生長發(fā)育
- 幕墻預(yù)埋件工程專項施工方案
- 公文管理中的錯誤
- 2023年11月北京地區(qū)成人本科學(xué)士學(xué)位英語真題及答案
- 2020年城市燃氣服務(wù)企業(yè)組織結(jié)構(gòu)及部門職責(zé)
- 《計算機操作系統(tǒng)》湯小丹
- GB/T 19682-2005翻譯服務(wù)譯文質(zhì)量要求
- GB/T 12755-1991建筑用壓型鋼板
評論
0/150
提交評論