版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
3.1算法計算機科學家沃思(NikiklausWirth)提出一個公式:
數據結構+算法=程序數據結構:對數據(操作對象)的描述---數據的類型和組織形式。算法:對操作步驟的描述。編寫程序的本質:
對哪些數據進行什么樣的一系列加工就可以達到目標。
第3章算法和基本程序設計特點:
有窮性
確定性
可行性
有輸入
有輸出
評價標準:
正確性
可讀性
健壯性
高效率
低存儲量需求
3.1.1算法——程序的靈魂算法是解決問題的一系列操作步驟的集合。3.1.2算法的表示
自然語言流程圖N-S圖偽代碼PAD圖流程圖例:求三個整數的和流程圖開始輸出sum的值結束輸入x,y,zsum=x+y+zmain(){floatx,y,z,sum;
scanf(“%f%f%f\n”,&x,&y,&z);
sum=x+y+z;
printf(“sum=%f\n”,sum);}例1例2:求三個數中最小數流程圖開始輸出min的值輸入a,b,ca<bNmin=amin=bY結束c<minmin=cYN#include<stdio.h>main(){
int
a,b,c,min;
scanf("%d%d%d",&a,&b,&c);
if(a<b) min=a;
else min=b;
if(c<min) min=c;
printf("min=%d",min);}例2N-S圖
例:求三個整數的和流程圖開始輸出sum的值結束輸入x,y,zsum=x+y+z輸出sum的值sum=x+y+z輸入x,y,zN-S圖例:求三個數中最小數。流程圖開始輸出min的值輸入a,b,ca<bNmin=amin=bY結束c<minmin=cYNN-S圖min=bmin=aa<bYNmin=cc<minYN輸入a,b,c輸出min的值3.2結構化程序設計方法基本思想:把一個復雜問題的求解過程分步進行,后一步在前一步的基礎上細化,這樣每步所考慮的子問題都相對易于理解和處理,每步都只用三種基本結構(順序、選擇、循環(huán)),進行復合和嵌套。結構化程序設計原則:自頂向下模塊化限制Goto語言使用
——清晰第一效率第二3.3程序基本結構
順序、選擇、循環(huán)結構ABPYN
若P為真,則執(zhí)行A,否則執(zhí)行B。APNY
若P為真,則執(zhí)行A,否則跳過A。K=K1A1A2AiAn……K2KiKn由選擇結構派生出多分支結構
當型循環(huán)當P為真,反復執(zhí)行A,P為假時出循環(huán)。直到型循環(huán)先執(zhí)行A,再判斷,若P為真,反復執(zhí)行A,直到P為假出循環(huán)。3.4順序結構程序設計
1.C語句
2.C程序語句分類:由若干語句組成,每個語句以分號結束。①控制語句②表達式語句③函數調用語句④空語句⑤復合語句9種控制語句:1.條件判斷語句if()…else… switch(){…}
2.循環(huán)控制語句for()… while()…do…while()3.轉移語句breakcontinuegoto
return例如:main(){inta,b;a=b=100;{
floatc=10.23;
printf("%f\n",c);}
printf("%d%d\n",a,b);}控制語句1.選擇分支控制語句if()…else… switch(){…}
2.循環(huán)控制語句for()… while()…do…while()3.其他控制語句break、continue、gotoreturn說明表達式后面加一個分號,構成表達式語句x=3;y=y+5;x=a-b&&c||d;printf("x=%d,y=%d\n",x,y);sort(a,10);表達式語句
賦值語句函數調用語句注意:①分號是語句必不可少的一部分②單獨的一個分號“;”構成一個空語句例如:;(空語句,是最簡單的C語句)復合語句
用一對花括號“{}”括起來的若干條語句花括號中可以是說明語句、表達式語句、控制語句,也可以是復合語句例如:⑴if(a>b){max=a;min=b;}
⑵for(n=1;n<10;n++)
{p=n+p;if(p>=100)
{
printf(“%d\n”,p);break;
}
}
復合語句中如果有說明性語句,應該寫在可執(zhí)行語句的前面例如:
main(){inta,b;a=b=100;{floatc=10.23;
printf("%f\n",c);}
printf("%d%d\n",a,b);}要特別注意:花括號的配對花括號的位置總結結構化程序設計過程輸入:將數據送入計算機輸出:將計算機處理的結果數據送出到輸出設備。
◆C語言中,數據輸入/輸出是由庫函數完成。
◆使用庫函數時,用預編譯命令將有關“頭文件”包括到源文件中。
◆標準輸入輸出庫函數:“stdio.h”文件
3.5數據的輸入輸出例一、字符數據的輸入輸出1.putchar
函數(字符輸出函數)格式:putchar(c)
參數:c為字符常量、變量或表達式
功能:把字符c輸出到顯示器上#include<stdio.h>main(){intc;chara;c=65;a='B';
putchar(c);putchar('\n');putchar(a);}AB格式:getchar()功能:從鍵盤讀入一字符,遇回車結束并回顯例
1#include<stdio.h>main(){intc;
printf("Enteracharacter:");c=getchar();
printf("%c--->hex%x\n",c,c);}Enteracharacter:AA--->hex412.getchar函數(字符輸入函數)例
2例33.getch函數格式:getch()功能:從鍵盤讀入一字符,
不用回車結束,不回顯例:#include<stdio.h>main(){charc;c=getch();
putchar(c);}a
4.Gets函數(字符串輸入函數)從鍵盤讀入一串字符gets(字符串變量名)以回車結束5.Puts函數(字符串輸出函數)將字符串顯示在屏幕上并換行puts(字符串變量名)二、格式輸入與輸出輸出若干任意類型的數據1、printf函數(格式輸出)格式:printf(“格式控制串”,輸出表)功能:按指定格式向顯示器輸出數據格式控制串:格式說明:普通字符或轉義序列:%格式字符,用于指定輸出格式原樣輸出輸出表:要輸出的數據(可以沒有,多個時以“,”分隔)例詳細說明見附表整型數據
%d輸入十進制整型數%u輸入無符號的十進制整型數%o輸入八進制整型數%x輸入十六進制整型數實型數據
%f輸入小數形式的單精度實型數%e輸入指數形式的單精度實型數字符型數據
%c輸入單個字符%s輸入一個字符串表1-printf函數格式說明dx,Xoucse,Efg%%十六進制無符號整數不帶符號十進制整數十進制整數指數形式浮點小數單一字符字符串八進制無符號整數小數形式浮點小數e和f中較短一種百分號本身inta=567;printf(“%d”,a);inta=255;printf(“%x”,a);inta=65;printf(“%o”,a);inta=-1;printf(“%u”,a);chara=65;printf(“%c”,a);printf(“%s”,“ABC”);floata=567.789;printf(“%e”,a);floata=567.789;printf(“%f”,a);floata=567.789;printf(“%g”,a);printf(“%%”);567ff10165535AABC5.67789e+02567.789000567.789%表2-格式說明符.n對實數,指定小數點后位數(四舍五入)對字符串,指定實際輸出位數修飾符功能m輸出數據域寬,數據長度<m,左補空格;否則按實際輸出輸出數據在域內左對齊(缺省右對齊)-指定在有符號數的正數前顯示正號(+)+輸出數值時指定左面不使用的空位置自動填00在八進制和十六進制數前顯示前導0,0x#在d,o,x,u前,指定輸出精度為long型在e,f,g前,指定輸出精度為double型l表3-附加格式說明符
若實際位數多于定義的寬度,按實際位數輸出;少于則補以空格;若不指定輸出寬度,按實際位數輸出。例2、scanf函數(格式輸入)格式:
scanf(“格式控制串”,地址表)功能:按指定格式從鍵盤讀入數據,存入地址表指
定的存儲單元中,按回車鍵結束說明:標準庫函數,在頭文件“stdio.h”中定義格式控制串:和格式輸出函數的含義相同地址表:變量的地址,用取地址運算符&例
inta;
scanf(“%d”,&a);10a=10例scanf("%d:%d:%d",&h,&m,&s);
輸入12:30:45則12h,30m,45s例scanf("%d,%d",&a,&b)
輸入3,4
則3a,4b例scanf("%d%d%d",&a,&b,&c);
輸入122436輸入分隔符的指定◆格式串中兩個格式符間隔字符◆格式串兩個格式符無間隔字符,以空格、TAB或回車鍵作為分隔例#include<stdio.h>#include<math.h>main(){floata,b,c,s,area;
printf("inputa,b,c:");
scanf("%f,%f,%f",&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%7.2f\n",area);}綜合例題:例1輸入三角形邊長,求面積。公式:s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));
inputa,b,c:3,4,5area=6.00例2從鍵盤上輸入一個字符,求出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖北省武漢市新洲區(qū)2025屆中考考前最后一卷生物試卷含解析
- 2025屆江蘇省啟東匯龍中學中考生物考試模擬沖刺卷含解析
- 五年級下冊語文教案
- 燒結廠危險源危險作業(yè)管理手冊
- 傳統(tǒng)節(jié)日作文小學三年級-修改版
- 高一化學成長訓練:第三單元從微觀結構看物質的多樣性
- 2024屆廣西柳鐵某中學高考適應性考試化學試卷含解析
- 2024高中地理第二章自然環(huán)境中的物質運動和能量交換1地殼的物質組成和物質循環(huán)學案湘教版必修1
- 2024高中生物專題2微生物的培養(yǎng)與應用課題1微生物的實驗室培養(yǎng)課堂演練含解析新人教版選修1
- 2024高考地理一輪復習第二部分人文地理-重在運用第三章農業(yè)地域的形成與發(fā)展第21講農業(yè)地域類型學案新人教版
- 公司費用預算表格模板(詳細版)
- 華為經營管理-華為市場營銷體系(6版)
- 2023年中國育齡女性生殖健康研究報告
- 鋼結構加工廠考察報告
- 發(fā)電機檢修作業(yè)指導書
- 薪酬與福利管理實務-習題答案 第五版
- 廢舊物資處置申請表
- GB/T 37234-2018文件鑒定通用規(guī)范
- GB/T 31888-2015中小學生校服
- 質量檢查考核辦法
- 云南省普通初中學生成長記錄-基本素質發(fā)展初一-初三
評論
0/150
提交評論