




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
算法簡介C語言程序的基本語句數(shù)據(jù)的輸入輸出Begin:第三章程序設計初步所謂面向過程的程序設計,是指利用面向過程的語言工具(如Basic、Pascal、Fortran和C語言等)進行程序開發(fā)的各項活動。3.1結構化程序設計1面向過程的程序設計優(yōu)點:編程簡單、結構性強、可讀性好,程序執(zhí)行時序特征明顯;遵循這種結構的程序只有一個入口和一個出口。缺點:存在數(shù)據(jù)與程序模塊的分離和程序的可重用性差等問題?;舅枷耄喊岩粋€需要求解的復雜問題分為若干個模塊來處理,每個模塊處理一個子問題;設計時遵循自頂向下、逐步細化、模塊化設計和結構化編碼的原則。3.1結構化程序設計2.面向對象的程序設計面向對象的程序設計是一種新的程序設計范型。它將一些新的理念和結構化程序設計中好的思想相融合,提供了一種全新的程序設計方法。基本思想將一個需要求解的問題分解為一系列實體(對象),然后圍繞這些對象建立數(shù)據(jù)和函數(shù);函數(shù)的功能決定了該對象的行為。規(guī)定一個對象的函數(shù)可以訪問另一對象的函數(shù),但一個對象的數(shù)據(jù)不能應用于另一對象的函數(shù)中。(即只有屬于該對象的成員函數(shù)才能訪問自己的數(shù)據(jù)成員,從而達到了保護數(shù)據(jù)的目的。)幾個基本概念:三類機制:類、對象、屬性、事件、方法封裝、繼承、多態(tài)算法——解決某一問題所采取的方法和步驟。3.2算法3.2.1算法的概念
⑴有窮性一個算法其操作步驟應當是有限的;⑵確定性算法中的每一個步驟應當有確定的意義,不能有二義性;⑶有效性算法中的每一個步驟應當正確、可行,并且能有效地執(zhí)行;⑷有零個或多個輸入執(zhí)行算法時需要從外界獲取的信息;⑸有一個或多個輸出執(zhí)行算法后應當?shù)玫秸_的結果。計算機算法的特性3.2算法3.2.2算法的基本結構順序結構選擇(分支)結構循環(huán)結構3.2算法3.2.3算法的表示1.用自然語言表示算法
——用人們?nèi)粘J褂玫恼Z言和語序來表示算法?!纠?-1】:輸入n個整數(shù),輸出其中最大的數(shù)。
自然語言偽代碼流程圖設置變量:n代表整數(shù)的個數(shù),num代表參與取值比較的整數(shù),i代表已參與取值比較的整數(shù)個數(shù),max代表n個整數(shù)中的最大數(shù)。步驟1:從鍵盤輸入一個整數(shù)給n(設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,重復步驟3和步驟4;否則輸出max的值,即輸出n個整數(shù)中的最大數(shù)。用自然語言描述算法如下:2.用偽代碼表示算法
——一種接近于程序設計語言,但又不受語言語法約束的算法表示法。上例用偽代碼表示:
輸入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結束輸入數(shù)給num假假真真上例用流程圖表示:3.2算法⒋用N-S流程圖表示算法——用一些基本結構圖框來表示算法的圖形表示法。語句A語句B條件P成立不成立語句A語句B當條件P成立時語句語句直到條件P不成立順序結構分支結構循環(huán)結構基本結構圖框及含義如下:輸入n的值,i=1輸入num的值,max=num輸入numnum>max真
假max=numi=i+1當i<n輸出max的值上例用N-S流程圖表示:3.2算法3.3C語言程序的基本語句3.1C語言程序的基本語句
C語言語句分為五類:聲明語句、表達式語句、函數(shù)調(diào)用語句、控制語句、復合語句、空語句。聲明語句
類型說明符變量名;類型說明符函數(shù)名(參數(shù)列表);inta;charc;intmax(inta,intb);2.表達式語句由一個表達式組成一個語句。
如:++p;/*自增運算表達式加分號構成語句*/N+=10;/*復合賦值表達式加分號構成語句*/a+b;/*a+b表達式加分號構成語句*/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.復合語句:用{}括起來組成的一個語句
如:if(a>b)
{x=0;b=b+1;x=a;}4.空語句:僅由一個分號構成的語句6.控制語句:控制程序的流程
如:if…else語句,while語句,return語句等。
如:while(getchar()!='\n')
;
/*空語句*/3.1C語言程序的基本語句1、字符輸出:putchar()函數(shù)格式:
putchar(C);功能:向終端輸出一個字符。C為形式參數(shù),它可以是字符型變量、整型變量,字符型常量或轉義字符。3.5數(shù)據(jù)輸入輸出intmain(void){chara;intb;a='b';b=111;putchar(a);putchar(b);putchar('y');putchar('\n'); return0;}例:運用putchar()函數(shù)程序運行結果:boy“o”的ASCII碼為1112、字符輸入:getchar()函數(shù)格式:
getchar();功能:從終端輸入一個字符。getchar()只能接收一個字符,該字符可賦給字符變量、整型變量或作為表達式的一部分。例:
intmain(void)
{charc;c=gethar();putchar(c); return0;}輸入一個字符,再將該字符輸出功能:通過標準輸出設備(如顯示器)輸出一組數(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以標準指數(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輸出負數(shù)時會發(fā)生錯誤。格式輸出:printf()函數(shù)(5)c格式字符
一個整數(shù),如果在0~255之間,也可用字符形式輸出,系統(tǒng)會將該整數(shù)轉換成相對應的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格式字符也可以指定輸出字數(shù)寬度A格式輸出:printf()函數(shù)(6)s格式字符%s:用來輸出一個字符串例:printf(“%s”,“Hello!”);輸出Hello!,不包括“”%ms:輸出的字符串占m列。如果字符串長度小于m,則左端補以空格;長度大于m,則輸出整個字符串。%-ms:如果串長小于m,則字符串向左靠,右補空格,其余同上。%m.ns:輸出的字符串占m列,但只取字符串中左端n個字符,這n個字符輸出在m列的右側,左端補空格。%-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);}實例:程序運行結果: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ù)地址表列:由若干個變量地址組成的表列。地址是由”&”運算得到的?!埃Α笔侨≈愤\算符,單目運算符,右結合性。用于輸入的修飾符4.格式輸入:scanf()函數(shù)用于輸入的格式字符4.格式輸入:scanf()函數(shù)格式輸入的使用與注意:輸入數(shù)據(jù)時采用的分隔符應與格式控制中的分隔符一致。例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格式符輸入字符時,空格、轉義字符均為有效字符。
例
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 肺結核胸痛護理措施
- 槐蔭區(qū)面試數(shù)學試卷
- 湖北省孝感數(shù)學試卷
- 黑龍江期末聯(lián)考數(shù)學試卷
- 2025年中國河南商業(yè)地產(chǎn)行業(yè)發(fā)展監(jiān)測及市場發(fā)展?jié)摿︻A測報告
- 中國整體軟裝行業(yè)市場運行現(xiàn)狀及投資戰(zhàn)略研究報告
- 上海市浦東新區(qū)南匯中學2025屆物理高二下期末經(jīng)典模擬試題含解析
- 健康知識講座結核課件
- 健康的蔬菜試講課件
- 營利性學校食堂管理辦法
- 管培生合同或協(xié)議模板
- 2025年軍事理論與國防教育課程考核試卷及答案
- 第38屆中國化學奧林匹克(決賽)第二場參考案
- 生態(tài)水利工程學的研究范式創(chuàng)新與實踐需求分析
- SJG 130 – 2023《混凝土模塊化建筑技術規(guī)程》
- DB37-T5321-2025 居住建筑裝配式內(nèi)裝修技術標準
- 《視網(wǎng)膜色素變性》課件示例
- 2025-2030中國火箭發(fā)動機行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析研究報告
- T-CHSA 090-2024 年輕恒牙根尖誘導成形術操作專家共識
- 區(qū)塊鏈在虛擬電廠分布式能源管理中的應用-全面剖析
- 防性侵教師安全培訓
評論
0/150
提交評論