![C語言基本知識課件_第1頁](http://file4.renrendoc.com/view/4afd6584fc23f7d66fc6a8482cd64679/4afd6584fc23f7d66fc6a8482cd646791.gif)
![C語言基本知識課件_第2頁](http://file4.renrendoc.com/view/4afd6584fc23f7d66fc6a8482cd64679/4afd6584fc23f7d66fc6a8482cd646792.gif)
![C語言基本知識課件_第3頁](http://file4.renrendoc.com/view/4afd6584fc23f7d66fc6a8482cd64679/4afd6584fc23f7d66fc6a8482cd646793.gif)
![C語言基本知識課件_第4頁](http://file4.renrendoc.com/view/4afd6584fc23f7d66fc6a8482cd64679/4afd6584fc23f7d66fc6a8482cd646794.gif)
![C語言基本知識課件_第5頁](http://file4.renrendoc.com/view/4afd6584fc23f7d66fc6a8482cd64679/4afd6584fc23f7d66fc6a8482cd646795.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
C語言程序設(shè)計第1章C語言基本知識
C語言程序設(shè)計第1章程序設(shè)計概述1.1程序設(shè)計語言1.2算法1.3程序設(shè)計與實現(xiàn)1.4C語言程序的基本結(jié)構(gòu)第1章程序設(shè)計概述1.1程序設(shè)計語言程序設(shè)計語言:計算機能夠理解和識別的一種語言體系,它按照特定的規(guī)則組織計算機指令,使計算機能夠自動進行各種操作處理。計算機程序:按照程序設(shè)計語言的規(guī)則組織起來的一組計算機指令。程序設(shè)計語言分類:機器語言、匯編語言和高級語言。C語言屬于高級語言,1972年由美國的DennisRitchie設(shè)計發(fā)明。1983年,美國國家標準化協(xié)會(ANSI)根據(jù)C語言問世以來各種版本對C的發(fā)展和擴充,制定了C的標準,稱為ANSIC。1987年ANSI又公布了新的標準——87ANSIC。1.1程序設(shè)計語言程序設(shè)計語言:計算機能夠理解和識別的一1.1程序設(shè)計語言C語言程序示例:
計算1到100的所有自然數(shù)的和。/*programe1-0.c*/#include<stdio.h>voidmain(){ inti=1,s=0; while(i<=100)/*循環(huán)控制*/ { s=s+i;/*數(shù)據(jù)累加*/ i=i+1;/*生成下一個要累加的數(shù)*/ } printf("sum=%d\n",s);/*輸出結(jié)果*/}1.1程序設(shè)計語言C語言程序示例:計算1到100的所有1.2算法1.2.1算法概念與算法描述1.2.2算法的邏輯結(jié)構(gòu)1.2.4算法的特性1.2.4算法評價1.2算法1.2.1算法概念與算法描述1.2.1算法概念與算法描述算法重要性:程序=數(shù)據(jù)結(jié)構(gòu)+算法1.算法的概念算法是求解問題的方法,是在有限步驟內(nèi)求解某一問題所使用的一組定義明確的規(guī)則,是計算機處理問題所需要的具體步驟。2.算法的描述方法自然語言流程圖N-S圖PAD圖偽碼等。1.2.1算法概念與算法描述算法重要性:程序=數(shù)據(jù)結(jié)構(gòu)+算1.2.1算法概念與算法描述⑴用自然語言描述算法“計算1到100的所有自然數(shù)的和”步驟①i和s賦初值,使i=1,s=0;步驟②判斷i的值,若i≤100則執(zhí)行步驟③;否則,轉(zhuǎn)步驟⑤;步驟③s加i;步驟④i加1,轉(zhuǎn)步驟②;步驟⑤顯示s的值,結(jié)束。1.2.1算法概念與算法描述⑴用自然語言描述算法1.2.1算法概念與算法描述⑵用流程圖描述算法1.2.1算法概念與算法描述⑵用流程圖描述算法1.2.1算法概念與算法描述“計算1~100自然數(shù)和”的算法步驟①i=1,s=0;步驟②若i≤100則執(zhí)行步驟③;否則,轉(zhuǎn)步驟⑤;步驟③s+i;步驟④i+1,轉(zhuǎn)步驟②;步驟⑤顯示s的值,結(jié)束1.2.1算法概念與算法描述“計算1~100自然數(shù)和”的算1.2.2算法的邏輯結(jié)構(gòu)順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)是算法的三種基本結(jié)構(gòu),這三種結(jié)構(gòu)互相結(jié)合,可以實現(xiàn)任何邏輯控制。算法步驟①輸入一個學(xué)生兩門課的成績a1、a2;步驟②計算平均成績(a1+a2)/2→ave;步驟③輸出平均成績ave,結(jié)束。問題1-順序結(jié)構(gòu):輸入一個學(xué)生的兩門課的成績,計算出平均成績。1.2.2算法的邏輯結(jié)構(gòu)順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)是算1.2.2算法的邏輯結(jié)構(gòu)問題2-分支結(jié)構(gòu):輸入一個學(xué)生的兩門課的成績,若平均成績不低于90分,則顯示“優(yōu)等生”,否則顯示“要加油?。 彼惴ú襟E①輸入一個學(xué)生兩門課的成績a1、a2;步驟②計算平均成績(a1+a2)/2→ave;步驟③若ave≥90,則執(zhí)行步驟④;否則執(zhí)行步驟⑤;步驟④輸出“優(yōu)等生”,結(jié)束。步驟⑤輸出“要加油??!”,結(jié)束。1.2.2算法的邏輯結(jié)構(gòu)問題2-分支結(jié)構(gòu):輸入一個學(xué)生的1.2.2算法的邏輯結(jié)構(gòu)問題3-循環(huán)結(jié)構(gòu):按照問題2的標準,統(tǒng)計全班的優(yōu)等生人數(shù)(全班共30人)。算法步驟①設(shè)置變量count對輸入的數(shù)據(jù)量計數(shù),其初值為1;設(shè)置變量result對優(yōu)等生計數(shù),其初值為0;步驟②若count≤30,則執(zhí)行步驟③;否則轉(zhuǎn)步驟⑧;步驟③輸入一個學(xué)生兩門課的成績a1、a2;步驟④計算平均成績(a1+a2)/2→ave;步驟⑤若ave≥90,則執(zhí)行步驟⑥;否則轉(zhuǎn)步驟⑦;步驟⑥r(nóng)esult+1→result;步驟⑦count+1→count;轉(zhuǎn)步驟②;步驟⑧輸出統(tǒng)計結(jié)果,結(jié)束。1.2.2算法的邏輯結(jié)構(gòu)問題3-循環(huán)結(jié)構(gòu):按照問題2的標1.2.2算法的邏輯結(jié)構(gòu)算法邏輯結(jié)構(gòu)框圖⑴順序結(jié)構(gòu)
順序結(jié)構(gòu)傳統(tǒng)流程圖順序結(jié)構(gòu)N-S圖1.2.2算法的邏輯結(jié)構(gòu)算法邏輯結(jié)構(gòu)框圖⑴順序結(jié)構(gòu)1.2.2算法的邏輯結(jié)構(gòu)算法邏輯結(jié)構(gòu)框圖(2)分支結(jié)構(gòu)
分支結(jié)構(gòu)流程圖分支結(jié)構(gòu)N-S圖
1.2.2算法的邏輯結(jié)構(gòu)算法邏輯結(jié)構(gòu)框圖(2)分支結(jié)構(gòu)1.2.2算法的邏輯結(jié)構(gòu)算法邏輯結(jié)構(gòu)框圖(3)循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)流程圖循環(huán)結(jié)構(gòu)N-S圖
1.2.2算法的邏輯結(jié)構(gòu)算法邏輯結(jié)構(gòu)框圖(3)循環(huán)結(jié)構(gòu)1.2.3算法的特性算法特性⑴有窮性:經(jīng)過有限步驟解決問題。
⑵確定性:每個步驟所規(guī)定的操作必須是確定的。
⑶有效性:每一個步驟必須能夠有效地執(zhí)行。
⑷輸入和輸出特性。有零個或多個輸入,有一個或多個輸出。
還應(yīng)注意算法的多樣性:一個具體問題可以有不同的解決方法,因此可以設(shè)計解決問題的不同算法。算法的通用性:一個算法應(yīng)是適用于某類問題,而不只是適用于某一個問題。
1.2.3算法的特性算法特性還應(yīng)注意1.2.4算法評價算法復(fù)雜程度算法執(zhí)行速度算法對系統(tǒng)資源的需求程度算法的通用性正確和清晰易懂永遠是一個好算法的基本條件。1.2.4算法評價算法復(fù)雜程度1.3程序設(shè)計與實現(xiàn)1.3.1程序設(shè)計的基本過程1.3.2使用VisualC++6.0實現(xiàn)C語言程序1.3.3程序設(shè)計示例1.3程序設(shè)計與實現(xiàn)1.3.1程序設(shè)計的基本過程1.3.1程序設(shè)計的基本過程問題分析算法設(shè)計編寫程序調(diào)試運行程序分析要處理的問題涉及的各種概念、數(shù)據(jù)特點、已知條件、所求結(jié)果,以及已知條件與所求結(jié)果之間的關(guān)系等各方面的信息。明確:要做什么?確定具體的算法,并選擇合適的算法表達工具對算法進行描述。用程序設(shè)計語言的語句和命令實現(xiàn)算法的每一個步驟。1.3.1程序設(shè)計的基本過程問題分析算法設(shè)計編寫程序調(diào)試運1.3.2使用VC++6.0實現(xiàn)C語言程序使用VC++6.0實現(xiàn)C程序的基本步驟有4個:1.建立源程序文件3.構(gòu)建可執(zhí)行文件2.編譯源程序4.運行可執(zhí)行文件啟動VC++6.0系統(tǒng)使用“File”→“New”命令,打開VC++6.0的程序編輯窗口錄入編輯源程序,保存文件使用“Build”→“Compile”命令對源程序進行編譯,生成二進制目標代碼文件。程序通過編譯之后,使用“Build”→“Build”命令將編譯階段生成的目標文件和系統(tǒng)的庫函數(shù)文件等連接起來,生成擴展名是“.exe”的可執(zhí)行文件。使用“Build”→“!Execute”命令運行程序,獲得執(zhí)行結(jié)果。1.3.2使用VC++6.0實現(xiàn)C語言程序使用VC++1.3.3程序設(shè)計示例例1-1設(shè)計計算矩形面積的程序。3.編寫程序2.算法設(shè)計4.調(diào)試運行程序1.問題分析⑴設(shè)矩形的邊長為a和b、矩形面積為s,則s=a×b。⑵通過鍵盤輸入等方式為矩形邊長a、b提供數(shù)據(jù)。⑶程序執(zhí)行后要輸出計算結(jié)果。2.算法設(shè)計3.編寫程序4.調(diào)試運行程序⑴輸入a、b的值。⑵計算a×b,并存儲到s中。⑶輸出s。3.編寫程序4.調(diào)試運行程序流程圖⑴假設(shè)該矩形都是整型數(shù)據(jù),因此,要使用int對a、b、s進行說明。⑵使用scanf()函數(shù)輸入數(shù)據(jù)a、b。⑶使用“s=a*b”計算矩形面積,并存儲到s中。⑷使用printf()函數(shù)輸出計算結(jié)果s。⑸把上面的一些具體語句放在main()函數(shù)中。
程序清單1.3.3程序設(shè)計示例例1-1設(shè)計計算矩形面積的程序。1.3.3程序設(shè)計示例3.編寫程序2.算法設(shè)計4.調(diào)試運行程序1.問題分析⑴假設(shè)該矩形都是整型數(shù)據(jù),因此,要使用int對a、b、s進行說明。⑵使用scanf()函數(shù)輸入數(shù)據(jù)a、b。⑶使用“s=a*b”計算矩形面積,并存儲到s中。⑷使用printf()函數(shù)輸出計算結(jié)果s。⑸把上面的一些具體語句放在main()函數(shù)中。
/*programarea.c*/#include<stdio.h>voidmain(){
inta,b,s;
printf("Inputa,b:");
scanf("%d,%d",&a,&b);
s=a*b;
printf("Area:%d\n",s);}例1-1設(shè)計計算矩形面積的程序。1.3.3程序設(shè)計示例3.編寫程序2.算法設(shè)計4.調(diào)試運1.3.3程序設(shè)計示例4.調(diào)試運行程序例1-1設(shè)計計算矩形面積的程序。⑴建立源程序文件。①啟動VC++6.0,使用“File”→“New”命令,打開“new”窗口,選用“Files”選項卡,在主窗口中選擇“C++SourceFile”項,在“File”對話框中輸入文件名,在“Location”對話框中指定文件的存儲位置。1.3.3程序設(shè)計示例4.調(diào)試運行程序例1-1設(shè)計計算1.3.3程序設(shè)計示例4.調(diào)試運行程序例1-1設(shè)計計算矩形面積的程序。⑴建立源程序文件②單擊“OK”按鈕,打開程序編輯窗口錄入編輯源程序,并及時存盤。1.3.3程序設(shè)計示例4.調(diào)試運行程序例1-1設(shè)計計算1.3.3程序設(shè)計示例4.調(diào)試運行程序例1-1
設(shè)計計算矩形面積的程序。⑴建立源程序文件⑵編譯源程序程序編輯完成后,使用“Build”→“Compile”命令編譯執(zhí)行“Build”→“Compile”命令后的提示信息編譯結(jié)果顯示在編譯報告窗口1.3.3程序設(shè)計示例4.調(diào)試運行程序例1-11.3.3程序設(shè)計示例4.調(diào)試運行程序
例1-1
設(shè)計計算矩形面積的程序。⑴建立源程序文件。⑵編譯源程序。⑶構(gòu)建可執(zhí)行文件。程序編譯完成后,使用“Build”→“Build”構(gòu)建可執(zhí)行文件。⑷運行可執(zhí)行文件。成功構(gòu)建可執(zhí)行文件之后,使用“Build”→“!Execute”命令即可運行程序。
1.3.3程序設(shè)計示例4.調(diào)試運行程序例1-11.4C語言程序的基本結(jié)構(gòu)1.4.1程序的函數(shù)化結(jié)構(gòu)
1.4.2程序中的常量和變量1.4.3程序中的基本語句1.4.4標識符與保留字1.4.5程序風(fēng)格1.4C語言程序的基本結(jié)構(gòu)1.4.1程序的函數(shù)化結(jié)構(gòu)1.41程序的函數(shù)化結(jié)構(gòu)1.簡單C語言程序的結(jié)構(gòu)C語言程序是由函數(shù)構(gòu)成的,任何一個C語言程序都有一個稱為主函數(shù)的main()函數(shù),例如,前面介紹的C語言程序e1-0.c和e1-1.c,其主體內(nèi)容都是main()函數(shù)。程序中main()函數(shù)的一般結(jié)構(gòu):voidmain(){ 函數(shù)體}例1-2更簡單的C程序。#include<stdio.h>voidmain(){ printf("Hello!\n");}特別強調(diào):任何一個C語言程序,main()函數(shù)都是不可缺少的,當一個C語言程序只有一個函數(shù)模塊時,這個函數(shù)必然是main()函數(shù)。1.41程序的函數(shù)化結(jié)構(gòu)1.簡單C語言程序的結(jié)構(gòu)例1-1.4.1程序的函數(shù)化結(jié)構(gòu)上述程序,在“voidmain()”之前都有一行代碼“#include<stdio.h>”,作為初學(xué)者,為方便起見,不妨先將其視為C語言程序的基本構(gòu)成部分??梢哉J為,簡單C語言程序的基本結(jié)構(gòu):#include<stdio.h>voidmain(){ 函數(shù)體}1.4.1程序的函數(shù)化結(jié)構(gòu)上述程序,在“voidmain1.4.1程序的函數(shù)化結(jié)構(gòu)2.C語言程序的一般結(jié)構(gòu)一個C語言程序,在結(jié)構(gòu)上不僅要有main()函數(shù),還可以包括其他獨立的函數(shù),一個函數(shù)可以在另一個函數(shù)中被使用。例1-3
輸出圖案程序。/*programe1-3.c*/#include<stdio.h>voidmain()/*主函數(shù)*/{voidp_s(void); p_s(); p_s(); p_s();}voidp_s()/*其他函數(shù)*/{ printf("$$$$$#####$$$$$$\n");}1.4.1程序的函數(shù)化結(jié)構(gòu)2.C語言程序的一般結(jié)構(gòu)例1-31.4.1程序的函數(shù)化結(jié)構(gòu)3.C語言程序的基本特點⑴C語言程序由函數(shù)構(gòu)成,而且每個程序可以有多個函數(shù)。⑵一個源程序不論由多少個函數(shù)組成,有且只能有一個main()函數(shù),而且main()函數(shù)可以放在程序的任何位置。⑶一個源程序無論由多少個函數(shù)構(gòu)成,總是從main()函數(shù)開始執(zhí)行程序,與main()函數(shù)在程序中的位置無關(guān)。1.4.1程序的函數(shù)化結(jié)構(gòu)3.C語言程序的基本特點1.4.2程序中的常量和變量1.常量程序中的常量分為直接常量和符號常量兩種。直接常量就是具體的數(shù)據(jù),有整數(shù)、實數(shù)、字符和字符串四種類型。例如,程序e-0.c中的“1”和“100”是整數(shù)常量,程序e1-2.c中的“Hello!”是字符串常量;符號常量是通過特殊方式定義的一類常量,其定義方法將在第2章介紹。2.變量程序中的變量用變量名標識,每個變量具有特定的數(shù)據(jù)類型,計算機按照一定的規(guī)則為變量分配一定的內(nèi)存空間,變量的值存儲在變量所在的存儲空間中。C語言的每個變量在使用之前必須首先進行變量定義,為變量指定數(shù)據(jù)類型和變量名。C語言中變量的基本類型有3種:整型、實型和字符型,分別用的int、float和char進行標識。1.4.2程序中的常量和變量1.常量1.4.3程序中的基本語句按照功能劃分3類數(shù)據(jù)定義語句流程控制語句數(shù)據(jù)處理語句對程序中使用的變量名稱、數(shù)據(jù)類型等進行說明。例如,程序e1-1.c的“inta,b,c;”語句。對程序中的數(shù)據(jù)進行運算、輸入、輸出等。例如,程序e1-1.c的““s=a*b;”、“printf(“Area:%d\n",s);”等。對程序的執(zhí)行流程進行控制,分為分支控制和循環(huán)控制兩類。例如,程序e1-0.c中的while語句。1.4.3程序中的基本語句按照功能劃分3類流程控制語句數(shù)1.4.4標識符與保留字1.標識符在程序中使用的變量名、函數(shù)名等。標識符構(gòu)成任何一個標識符只能是由字母(A~Z,a~z)、數(shù)字(0~9)和下劃線“_”構(gòu)成的字符串,其他符號不能出現(xiàn)在標識符中,并且標識符的第一個字符必須是字母或下劃線。合法標識符aBOOK1max_addnum_1非法標識符3sum不允許以數(shù)字開頭ab#cd使用了非法字符“#”book-1出現(xiàn)非法字符“-”(減號)注意:⑴兩個標識符中的字母相同而大小寫形式不同時,C語言認為是兩個不同的標識符。⑵標識符命名應(yīng)盡量有相應(yīng)的意義,以便閱讀理解。⑶建議初學(xué)者盡量使用較短而有意義的標識符,既便于上機訓(xùn)練,也會使程序更清晰。1.4.4標識符與保留字1.標識符注意:1.4.5程序風(fēng)格⑴如果一行能夠容下一個語句,那么就讓這個語句獨占一行。⑵用{}括起來的部分,通常表示了程序的某一層次結(jié)構(gòu)?!皗”和“}”一般與該結(jié)構(gòu)語句的第一個字母對齊,并單獨占一行。⑶低一層次的語句應(yīng)比高一層次的語句縮進若干列后書寫,以便看起來更加清晰。⑷要在程序的開始或者在程序的關(guān)鍵位置使用注釋,以提高程序的可讀性。1.4.5程序風(fēng)格⑴如果一行能夠容下一個語句,那么就讓小結(jié)(
1)算法是求解問題的方法,是計算機處理問題所需要的具體步驟。(2)順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)是算法的三種基本結(jié)構(gòu)。(3)程序設(shè)計步驟:問題分析、算法設(shè)計、編寫程序、調(diào)試運行程序。(4)實現(xiàn)C語言程序步驟:建立源程序、編譯源程序、構(gòu)建可執(zhí)行文件、運行程序。(5)函數(shù)化結(jié)構(gòu)是C語言程序的特點,main()函數(shù)是任何一個C語言程序中必須具有的函數(shù)。main()函數(shù)的一般結(jié)構(gòu):
voidmain(){ 函數(shù)體}(6)C語言程序中的常量分為5種:整數(shù)、實數(shù)、字符、字符串和符號常量;C語言有3種基本變量類型:int型、float型和char型,任何一種變量在使用之前必須先行定義。(7)程序中使用的變量名、函數(shù)名等統(tǒng)稱為標識符。標識符有一定的命名規(guī)則,標識符中字母的大、小寫形式是不等價的。。小結(jié)(1)算法是求解問題的方法,是計算機處理問題所需要的C語言程序設(shè)計第1章C語言基本知識
C語言程序設(shè)計第1章程序設(shè)計概述1.1程序設(shè)計語言1.2算法1.3程序設(shè)計與實現(xiàn)1.4C語言程序的基本結(jié)構(gòu)第1章程序設(shè)計概述1.1程序設(shè)計語言程序設(shè)計語言:計算機能夠理解和識別的一種語言體系,它按照特定的規(guī)則組織計算機指令,使計算機能夠自動進行各種操作處理。計算機程序:按照程序設(shè)計語言的規(guī)則組織起來的一組計算機指令。程序設(shè)計語言分類:機器語言、匯編語言和高級語言。C語言屬于高級語言,1972年由美國的DennisRitchie設(shè)計發(fā)明。1983年,美國國家標準化協(xié)會(ANSI)根據(jù)C語言問世以來各種版本對C的發(fā)展和擴充,制定了C的標準,稱為ANSIC。1987年ANSI又公布了新的標準——87ANSIC。1.1程序設(shè)計語言程序設(shè)計語言:計算機能夠理解和識別的一1.1程序設(shè)計語言C語言程序示例:
計算1到100的所有自然數(shù)的和。/*programe1-0.c*/#include<stdio.h>voidmain(){ inti=1,s=0; while(i<=100)/*循環(huán)控制*/ { s=s+i;/*數(shù)據(jù)累加*/ i=i+1;/*生成下一個要累加的數(shù)*/ } printf("sum=%d\n",s);/*輸出結(jié)果*/}1.1程序設(shè)計語言C語言程序示例:計算1到100的所有1.2算法1.2.1算法概念與算法描述1.2.2算法的邏輯結(jié)構(gòu)1.2.4算法的特性1.2.4算法評價1.2算法1.2.1算法概念與算法描述1.2.1算法概念與算法描述算法重要性:程序=數(shù)據(jù)結(jié)構(gòu)+算法1.算法的概念算法是求解問題的方法,是在有限步驟內(nèi)求解某一問題所使用的一組定義明確的規(guī)則,是計算機處理問題所需要的具體步驟。2.算法的描述方法自然語言流程圖N-S圖PAD圖偽碼等。1.2.1算法概念與算法描述算法重要性:程序=數(shù)據(jù)結(jié)構(gòu)+算1.2.1算法概念與算法描述⑴用自然語言描述算法“計算1到100的所有自然數(shù)的和”步驟①i和s賦初值,使i=1,s=0;步驟②判斷i的值,若i≤100則執(zhí)行步驟③;否則,轉(zhuǎn)步驟⑤;步驟③s加i;步驟④i加1,轉(zhuǎn)步驟②;步驟⑤顯示s的值,結(jié)束。1.2.1算法概念與算法描述⑴用自然語言描述算法1.2.1算法概念與算法描述⑵用流程圖描述算法1.2.1算法概念與算法描述⑵用流程圖描述算法1.2.1算法概念與算法描述“計算1~100自然數(shù)和”的算法步驟①i=1,s=0;步驟②若i≤100則執(zhí)行步驟③;否則,轉(zhuǎn)步驟⑤;步驟③s+i;步驟④i+1,轉(zhuǎn)步驟②;步驟⑤顯示s的值,結(jié)束1.2.1算法概念與算法描述“計算1~100自然數(shù)和”的算1.2.2算法的邏輯結(jié)構(gòu)順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)是算法的三種基本結(jié)構(gòu),這三種結(jié)構(gòu)互相結(jié)合,可以實現(xiàn)任何邏輯控制。算法步驟①輸入一個學(xué)生兩門課的成績a1、a2;步驟②計算平均成績(a1+a2)/2→ave;步驟③輸出平均成績ave,結(jié)束。問題1-順序結(jié)構(gòu):輸入一個學(xué)生的兩門課的成績,計算出平均成績。1.2.2算法的邏輯結(jié)構(gòu)順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)是算1.2.2算法的邏輯結(jié)構(gòu)問題2-分支結(jié)構(gòu):輸入一個學(xué)生的兩門課的成績,若平均成績不低于90分,則顯示“優(yōu)等生”,否則顯示“要加油??!”算法步驟①輸入一個學(xué)生兩門課的成績a1、a2;步驟②計算平均成績(a1+a2)/2→ave;步驟③若ave≥90,則執(zhí)行步驟④;否則執(zhí)行步驟⑤;步驟④輸出“優(yōu)等生”,結(jié)束。步驟⑤輸出“要加油??!”,結(jié)束。1.2.2算法的邏輯結(jié)構(gòu)問題2-分支結(jié)構(gòu):輸入一個學(xué)生的1.2.2算法的邏輯結(jié)構(gòu)問題3-循環(huán)結(jié)構(gòu):按照問題2的標準,統(tǒng)計全班的優(yōu)等生人數(shù)(全班共30人)。算法步驟①設(shè)置變量count對輸入的數(shù)據(jù)量計數(shù),其初值為1;設(shè)置變量result對優(yōu)等生計數(shù),其初值為0;步驟②若count≤30,則執(zhí)行步驟③;否則轉(zhuǎn)步驟⑧;步驟③輸入一個學(xué)生兩門課的成績a1、a2;步驟④計算平均成績(a1+a2)/2→ave;步驟⑤若ave≥90,則執(zhí)行步驟⑥;否則轉(zhuǎn)步驟⑦;步驟⑥r(nóng)esult+1→result;步驟⑦count+1→count;轉(zhuǎn)步驟②;步驟⑧輸出統(tǒng)計結(jié)果,結(jié)束。1.2.2算法的邏輯結(jié)構(gòu)問題3-循環(huán)結(jié)構(gòu):按照問題2的標1.2.2算法的邏輯結(jié)構(gòu)算法邏輯結(jié)構(gòu)框圖⑴順序結(jié)構(gòu)
順序結(jié)構(gòu)傳統(tǒng)流程圖順序結(jié)構(gòu)N-S圖1.2.2算法的邏輯結(jié)構(gòu)算法邏輯結(jié)構(gòu)框圖⑴順序結(jié)構(gòu)1.2.2算法的邏輯結(jié)構(gòu)算法邏輯結(jié)構(gòu)框圖(2)分支結(jié)構(gòu)
分支結(jié)構(gòu)流程圖分支結(jié)構(gòu)N-S圖
1.2.2算法的邏輯結(jié)構(gòu)算法邏輯結(jié)構(gòu)框圖(2)分支結(jié)構(gòu)1.2.2算法的邏輯結(jié)構(gòu)算法邏輯結(jié)構(gòu)框圖(3)循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)流程圖循環(huán)結(jié)構(gòu)N-S圖
1.2.2算法的邏輯結(jié)構(gòu)算法邏輯結(jié)構(gòu)框圖(3)循環(huán)結(jié)構(gòu)1.2.3算法的特性算法特性⑴有窮性:經(jīng)過有限步驟解決問題。
⑵確定性:每個步驟所規(guī)定的操作必須是確定的。
⑶有效性:每一個步驟必須能夠有效地執(zhí)行。
⑷輸入和輸出特性。有零個或多個輸入,有一個或多個輸出。
還應(yīng)注意算法的多樣性:一個具體問題可以有不同的解決方法,因此可以設(shè)計解決問題的不同算法。算法的通用性:一個算法應(yīng)是適用于某類問題,而不只是適用于某一個問題。
1.2.3算法的特性算法特性還應(yīng)注意1.2.4算法評價算法復(fù)雜程度算法執(zhí)行速度算法對系統(tǒng)資源的需求程度算法的通用性正確和清晰易懂永遠是一個好算法的基本條件。1.2.4算法評價算法復(fù)雜程度1.3程序設(shè)計與實現(xiàn)1.3.1程序設(shè)計的基本過程1.3.2使用VisualC++6.0實現(xiàn)C語言程序1.3.3程序設(shè)計示例1.3程序設(shè)計與實現(xiàn)1.3.1程序設(shè)計的基本過程1.3.1程序設(shè)計的基本過程問題分析算法設(shè)計編寫程序調(diào)試運行程序分析要處理的問題涉及的各種概念、數(shù)據(jù)特點、已知條件、所求結(jié)果,以及已知條件與所求結(jié)果之間的關(guān)系等各方面的信息。明確:要做什么?確定具體的算法,并選擇合適的算法表達工具對算法進行描述。用程序設(shè)計語言的語句和命令實現(xiàn)算法的每一個步驟。1.3.1程序設(shè)計的基本過程問題分析算法設(shè)計編寫程序調(diào)試運1.3.2使用VC++6.0實現(xiàn)C語言程序使用VC++6.0實現(xiàn)C程序的基本步驟有4個:1.建立源程序文件3.構(gòu)建可執(zhí)行文件2.編譯源程序4.運行可執(zhí)行文件啟動VC++6.0系統(tǒng)使用“File”→“New”命令,打開VC++6.0的程序編輯窗口錄入編輯源程序,保存文件使用“Build”→“Compile”命令對源程序進行編譯,生成二進制目標代碼文件。程序通過編譯之后,使用“Build”→“Build”命令將編譯階段生成的目標文件和系統(tǒng)的庫函數(shù)文件等連接起來,生成擴展名是“.exe”的可執(zhí)行文件。使用“Build”→“!Execute”命令運行程序,獲得執(zhí)行結(jié)果。1.3.2使用VC++6.0實現(xiàn)C語言程序使用VC++1.3.3程序設(shè)計示例例1-1設(shè)計計算矩形面積的程序。3.編寫程序2.算法設(shè)計4.調(diào)試運行程序1.問題分析⑴設(shè)矩形的邊長為a和b、矩形面積為s,則s=a×b。⑵通過鍵盤輸入等方式為矩形邊長a、b提供數(shù)據(jù)。⑶程序執(zhí)行后要輸出計算結(jié)果。2.算法設(shè)計3.編寫程序4.調(diào)試運行程序⑴輸入a、b的值。⑵計算a×b,并存儲到s中。⑶輸出s。3.編寫程序4.調(diào)試運行程序流程圖⑴假設(shè)該矩形都是整型數(shù)據(jù),因此,要使用int對a、b、s進行說明。⑵使用scanf()函數(shù)輸入數(shù)據(jù)a、b。⑶使用“s=a*b”計算矩形面積,并存儲到s中。⑷使用printf()函數(shù)輸出計算結(jié)果s。⑸把上面的一些具體語句放在main()函數(shù)中。
程序清單1.3.3程序設(shè)計示例例1-1設(shè)計計算矩形面積的程序。1.3.3程序設(shè)計示例3.編寫程序2.算法設(shè)計4.調(diào)試運行程序1.問題分析⑴假設(shè)該矩形都是整型數(shù)據(jù),因此,要使用int對a、b、s進行說明。⑵使用scanf()函數(shù)輸入數(shù)據(jù)a、b。⑶使用“s=a*b”計算矩形面積,并存儲到s中。⑷使用printf()函數(shù)輸出計算結(jié)果s。⑸把上面的一些具體語句放在main()函數(shù)中。
/*programarea.c*/#include<stdio.h>voidmain(){
inta,b,s;
printf("Inputa,b:");
scanf("%d,%d",&a,&b);
s=a*b;
printf("Area:%d\n",s);}例1-1設(shè)計計算矩形面積的程序。1.3.3程序設(shè)計示例3.編寫程序2.算法設(shè)計4.調(diào)試運1.3.3程序設(shè)計示例4.調(diào)試運行程序例1-1設(shè)計計算矩形面積的程序。⑴建立源程序文件。①啟動VC++6.0,使用“File”→“New”命令,打開“new”窗口,選用“Files”選項卡,在主窗口中選擇“C++SourceFile”項,在“File”對話框中輸入文件名,在“Location”對話框中指定文件的存儲位置。1.3.3程序設(shè)計示例4.調(diào)試運行程序例1-1設(shè)計計算1.3.3程序設(shè)計示例4.調(diào)試運行程序例1-1設(shè)計計算矩形面積的程序。⑴建立源程序文件②單擊“OK”按鈕,打開程序編輯窗口錄入編輯源程序,并及時存盤。1.3.3程序設(shè)計示例4.調(diào)試運行程序例1-1設(shè)計計算1.3.3程序設(shè)計示例4.調(diào)試運行程序例1-1
設(shè)計計算矩形面積的程序。⑴建立源程序文件⑵編譯源程序程序編輯完成后,使用“Build”→“Compile”命令編譯執(zhí)行“Build”→“Compile”命令后的提示信息編譯結(jié)果顯示在編譯報告窗口1.3.3程序設(shè)計示例4.調(diào)試運行程序例1-11.3.3程序設(shè)計示例4.調(diào)試運行程序
例1-1
設(shè)計計算矩形面積的程序。⑴建立源程序文件。⑵編譯源程序。⑶構(gòu)建可執(zhí)行文件。程序編譯完成后,使用“Build”→“Build”構(gòu)建可執(zhí)行文件。⑷運行可執(zhí)行文件。成功構(gòu)建可執(zhí)行文件之后,使用“Build”→“!Execute”命令即可運行程序。
1.3.3程序設(shè)計示例4.調(diào)試運行程序例1-11.4C語言程序的基本結(jié)構(gòu)1.4.1程序的函數(shù)化結(jié)構(gòu)
1.4.2程序中的常量和變量1.4.3程序中的基本語句1.4.4標識符與保留字1.4.5程序風(fēng)格1.4C語言程序的基本結(jié)構(gòu)1.4.1程序的函數(shù)化結(jié)構(gòu)1.41程序的函數(shù)化結(jié)構(gòu)1.簡單C語言程序的結(jié)構(gòu)C語言程序是由函數(shù)構(gòu)成的,任何一個C語言程序都有一個稱為主函數(shù)的main()函數(shù),例如,前面介紹的C語言程序e1-0.c和e1-1.c,其主體內(nèi)容都是main()函數(shù)。程序中main()函數(shù)的一般結(jié)構(gòu):voidmain(){ 函數(shù)體}例1-2更簡單的C程序。#include<stdio.h>voidmain(){ printf("Hello!\n");}特別強調(diào):任何一個C語言程序,main()函數(shù)都是不可缺少的,當一個C語言程序只有一個函數(shù)模塊時,這個函數(shù)必然是main()函數(shù)。1.41程序的函數(shù)化結(jié)構(gòu)1.簡單C語言程序的結(jié)構(gòu)例1-1.4.1程序的函數(shù)化結(jié)構(gòu)上述程序,在“voidmain()”之前都有一行代碼“#include<stdio.h>”,作為初學(xué)者,為方便起見,不妨先將其視為C語言程序的基本構(gòu)成部分??梢哉J為,簡單C語言程序的基本結(jié)構(gòu):#include<stdio.h>voidmain(){ 函數(shù)體}1.4.1程序的函數(shù)化結(jié)構(gòu)上述程序,在“voidmain1.4.1程序的函數(shù)化結(jié)構(gòu)2.C語言程序的一般結(jié)構(gòu)一個C語言程序,在結(jié)構(gòu)上不僅要有main()函數(shù),還可以包括其他獨立的函數(shù),一個函數(shù)可以在另一個函數(shù)中被使用。例1-3
輸出圖案程序。/*programe1-3.c*/#include<stdio.h>voidmain()/*主函數(shù)*/{voidp_s(void); p_s(); p_s(); p_s();}voidp_s()/*其他函數(shù)*/{ printf("$$$$$#####$$$$$$\n");}1.4.1程序的函數(shù)化結(jié)構(gòu)2.C語言程序的一般結(jié)構(gòu)例1-31.4.1程序的函數(shù)化結(jié)構(gòu)3.C語言程序的基本特點⑴C語言程序由函數(shù)構(gòu)成,而且每個程序可以有多個函數(shù)。⑵一個源程序不論由多少個函數(shù)組成,有且只能有一個main()函數(shù),而且main()函數(shù)可以放在程序的任何位置。⑶一個源程序無論由多少個函數(shù)構(gòu)成,總是從main()函數(shù)開始執(zhí)行程序,與main()函數(shù)在程序中的位置無關(guān)。1.4.1程序的函數(shù)化結(jié)構(gòu)3.C語言程序的基本特點1.4.2程序中的常量和變量1.常量程序中的常量分為直接常量和符號常量兩種。直接常量就是具體的數(shù)據(jù),有整數(shù)、實數(shù)、字符和字符串四種類型。例如,程序e-0.c中的“1”和“100”是整數(shù)常量
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國中置電機自行車行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國PTZ電子體積校正器行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國軍用飛行器模擬器行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國工業(yè)木鋸機行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 期末測試卷01【考試范圍:6-10單元】(原卷版)
- 2025國際商業(yè)代理合同詳細版樣本
- 擔保合同范文集錦年
- 健身房私教合同范文
- 電力設(shè)備采購合同模板
- 2025XL數(shù)字地震儀器租賃合同
- 《造血干細胞移植護理》課件
- 課題申報參考:全齡友好視角下的社區(qū)語言景觀評估及空間優(yōu)化研究
- 中央2025年公安部部分直屬事業(yè)單位招聘84人筆試歷年參考題庫附帶答案詳解
- 五年級下冊語文四大名著??贾R點
- 2025年1月日歷表(含農(nóng)歷-周數(shù)-方便記事備忘)
- 2024年同等學(xué)力人員申請碩士學(xué)位英語試卷與參考答案
- 臨床用血管理培訓(xùn)
- 工業(yè)自動化生產(chǎn)線操作手冊
- 《走進神奇》說課稿
- 2024年內(nèi)蒙古中考語文試卷五套合卷附答案
- 五年級下冊語文教案 學(xué)習(xí)雙重否定句 部編版
評論
0/150
提交評論