c语言的程序灵魂是什么,C语言 第二章 程序的灵魂--算法
《C語言 第二章 程序的靈魂--算法》由會員分享,可在線閱讀,更多相關《C語言 第二章 程序的靈魂--算法(39頁珍藏版)》請在人人文庫網上搜索。
1、第二章 程序的靈魂-算法,什么是程序? 計算機是機器-在求解某一問題時-需要有相應程序-程序是用計算機能夠識別的語言表示出的如何求解問題的一段“文章”-因為沒有程序的計算機是不知如何求解問題的。,那如何寫出程序呢? 一是:學習掌握計算機能夠識別的語言 二是:求解問題的方法步驟-算法 三是:將兩者的結合,即用計算機語言將求解問題的方法步驟表達出來即寫出程序。 程序是用計算機語言表達的算法。 程序設計首先要進行的是算法設計,2.1 算法的概念 算法就是求解問題的方法步驟。算法從時間和空間兩個方面有不同的性質。 同一個問題有不同的算法,所以評價一個算法就有優劣之分。 如:1+2+3+100 時間性、。
2、可讀性等,2.2 算法舉例 例1:求1*2*n即n! S1:使p=1 S2:使i=2 S3:給定n的值 S4:使p*i,將乘積存入p,表示為p*i=i S5:使i的值增加1,即i+1=i S6:如果i不大于n,返回重新執行步驟S4,以及其后的S5和S6,最后得到p的即是n!的值. S7:打印p,即是程序運行結果,例2:求1+1/2+1/3+1/100 如果題目變為: 1-1/2+1/3-1/100,2.3 算法特性 1、有窮性 2、確定性 3、有效性 4、0或多個輸入 5、1或多個輸出,2.4 算法表示 1、用自然語言 2、用流程圖 3、用偽代碼 4、用計算機語言 作業: P37 2.2 2.。
3、4(1)、(3)、(8),第三章 數據類型、運算符與表達式,3.1 C數據類型 一個程序應包括兩個方面的內容 1、對處理數據的描述(數據結構) 2、對處理數據的操作(算法描述) Wirth提出的公式: 程序=數據結構+算法 C提供的數據結構是以數據類型形式出現的,由于算法千變萬化,程序要處理的數據(對象)也是多種多樣,在程序設計語言中就將數據處分為不同的類型,如數值型(int、float等)、非數值型(char等)不同類型數據在內存的存貯方式上、運算方式上都是不同的。所以在對處理方法描述之前,要對處理過程中涉及到的數據進行類型說明。 對各種類型的數據,有兩種存在形式即:常量和變量。,C程序要處。
4、理的各種數據 一、有類型之分,所以要進行類型說明,其作用有二,一是知其存貯方法,二是知其運算方式。 二、無論何種類型數據,在程序中都有兩種出現形式,即常量和變量,3.2 常量與變量 3.2.1常量和符號常量 常量定義 常量類型:-3,4.6,a 常量的形式:以常量形式直接出現; 符號常量:#define PRICE 35 程序中出現35處可以常量名(符號) PRICE形式出現。符號常量名用大寫,變量名用小寫。,3.2.2 變量 其值可以改變的量稱為變量。變量要有一個名字。變量名和變量值的區別。 用來標記變量名、符號常量名、函數名、數組名、文件名和有效字符序列稱為標識符。 C語言規定標識符只能由。
5、字母、數字和下劃線三種字符組成。且第一個字符必須是字母或下劃線,長度的規定 合法名、大小寫被認為是不同的字符。,在C語言中,要求對所有用到的變量作強制定義,也就是“先定義、后使用” 其意義有三: 1、保證變量名使用正確 2、根據類型分配存貯單元 3、根據類型判斷其運算是否合法,3.3 整型數據 3.3.1 整形常量 整形常量即整形數。有三種形式: 1、十進制形式 如123 2、八進制形式 以0開頭,如0123 3、十六進制形式 以0 x開頭,如0 x123 3.3.2 整型變量 一、整型變量的分類 1、基本型,以int表示(integer),2、短整型,以short int表示,或short表。
6、示 3、長整型,以long int表示,或long表示 4、無符號型,又分無符號整形、短整型和長整型,分別以unsigned int、 unsigned short和unsigned long表示 C規定各類數據所占字節數。 二、整型變量的定義 int a,b; unsigned short c,d; long e,f;,三、整型常量的類型 整型常量與整型變量之間的匹配關系 四、整型量的運算 進行各種類型的算術運算 3.4 實型數據 3.4.1實形常量 實數在C中又稱浮點數。實數有兩種形式: 1、十進制數形式:它由數字和小數點組成(必須有小數點)。,如12.9,34.0或34. 2、指數形式:。
7、123e3或123E3。注意的是E(或e)之前必須有數字且E后面指數必須是整數。 3.4.2 實形變量 實型變量分類與類型說明 分為兩類:單精度(float)和雙精度(double) 類型說明語句: float x,y; double z;,在一般的系統中,一個float型數據在內存中占32位,一個double型數據在內存中占64位. 數據的范圍和精度、實型常量不分float和double 實型量的運算 3.5 字符型數據 3.5.1字符常量 C的字符常量有兩種形式: 1、C的字符常量是用單引號(即撇號)括起來的一個字符。如A,a等,2、特殊形式的字符常量,就是以開頭的字符序列。如n代表一個“。
8、換行”符。因為有些非顯示字符難以用一般形式的字符表示,故規定用這種特殊形式表示。 以開頭的特殊字符見表,“轉義字符” 自己看例2.3 3.5.2 字符變量 字符變量用來存放字符常量。只能放一個字符。字符變量的定義: char c1,c2;,一個字符變量占用一個字節的內存空間。 3.5.3 字符數據在內存中的存儲形式及其使用方法 字符是以ASCII形式放在內存單元中的。由于它在存儲形式上與整數存貯形式相類似。C就使char數據與int數據可以通用。 例2.4 main() char c1,c2; c1=97;c2=98; printf(“%c %c”, c1,c2); 其中:“%c”是輸出字符的。
9、格式符,例2.5 main() int i; char c; i=a; c=97; printf(“%c %d”, c,c); 程序執行的輸出結果,3.5.4 字符串常量 字符串常量是一對雙括號括起來的字符序列。如:“How do you do.”,“CHINA”等。 可以輸出一個字符串,如: printf(“How do you do.”); 要注意的是:“A”與A不同。 在C中沒有專門的字符串變量,需要用字符數組。,3.6 變量賦初值 程序中需要對一些變量預先設置初值。C中可在定義變量時同時使變量初值化。 如: int a=4; float h=3.567; char c=a; 它等同于:。
10、 int a; a=4;,3.7 各類數值型數據間的混合運算 數值型是整型與實型的總稱。 各類int、float和double數據可以混合運算。由于char與int型通用,因此,int、float、double與char間可以混合運算。 例如: 10+a+1.5-8.68* b 是合法的。 但:在運算前,計算機要將不同類型的數據先轉換成同一類型,然后進行運算。 轉換規則是:,類型數據總結 一、常量和變量 常量的形式、標識符 二、變量 1、定義(說明) 2、內存中的存貯形式、導致數據范圍(精度) 3、int與char異同點 三、不同類型的數據運算方式不同,3.8 算術運算符和算術表達式 3.8.。
11、1 C運算符簡介 C運算符范圍很寬,除了控制語句和輸入輸出以外的幾乎所有操作都作為運算符處理。分為下面幾類: 1、算術運算符 2、關系運算符! 3、邏輯運算符 ! int i; x=3.6; i=(int)x printf(“x=%f,i=%d”,x,i); ,從上可知:有兩種類型轉換,一種是運算時不必用戶指定,而由系統按規則自動進行類型轉換;另一種是強制類型轉換。 四、自增、自減運算符 該運算符的作用是使變量值增1或減1,如: +i,-i 是一種形 i+,i- 式的表達式 粗看, +i和 i+都相當于i=i+1,但有不同之處,表達式的值什么,i的值是多少,如i=2,則+i表達式的值為3,i值。
12、也為3; 而i+表達式的值為2,i值卻為3 注意: (1)自增自減運算符的運算對象只能是變量,不能是常量或表達式。如5+或 +(a+b)都是不合法的。 (2)+和-的結合方向是“自右至左”。如:-i+,相當于-(i+) 五、有關表達式使用中的問題說明 1、表達式中包含自加或自減時的理解,如:若i=3 (i+)+ (i+)+ (i+)=? i=? (+i)+ (+i)+ (+i)=? i=? 2、表達式的理解問題 問題一:i+j 編譯系統將其理解為(i+)+j還是i+(+j)呢? 問題二: main() int i=3; printf(%d %dn,i,i+);,3.9 賦值運算符與賦值表達式 。
13、一、賦值符號“=”的作用,將一個數據賦給一個變量。如:c=k; 二、對賦值運算符兩側的類型不一致時,類型轉移問題。 例: main() unsigned a;int b=-1; a=b;printf(“%u”,a); 注:這部分內容理解有一個前提。,三、復合的賦值運算符 在賦值號之前加上其它運算符,構成復合運算符。 如:a+=3 理解為 a=a+3 x*=y+8 理解為 x=x*(y+8) ? 四、賦值表達式 賦值運算符將一個變量和一個表達式連接起來的式子,一般形式為 注意:,(1)賦值運算符有兩種 (2)賦值表達式作用有二。一是使變量得值;二是使“賦值表達式”得值。 將賦值表達式做為表達式的一種 main() int a,b; a=1; b=a+=3; a-=a+=a*a; printf(%d %dn,a,b);,3.10 逗號運算符與逗號表達式 逗號表達式的一般形式 表達式1,表達式2 如:3+5,6+8 a=3*5,a*4 逗號表達式求值過程是:先求表達式1的值,再求表達式2的值。整個逗號表達式的值是表達式2的值。 式1:x=(a=3,6*a) 式2: x=a=3,6*a,重點內容 1、數據類型,為什么要進行類型說明? 2、變量及變量名、標識符 3、表達式概念(算術、賦值和逗號)、表達式求值、運算符優先級、運算符的結合性 習題 3.2, 3.10 ,3.12。
總結
以上是生活随笔為你收集整理的c语言的程序灵魂是什么,C语言 第二章 程序的灵魂--算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 白术的功效与作用及禁忌
- 下一篇: c语言蓝桥杯矩阵乘法,蓝桥杯 基础练习