1.軟件開發概述算法
軟件:用程序去處理數據數組
經過一系列計算機語言處理數據 函數
計算機語言的發展:機器語言-->彙編語言-->高級語言工具
開發軟件的流程: 測試
1.分析問題(讀題)指針
2.建模(畫流程圖,定義算法:順序、分支和循環) 算法的特性:1.肯定性2.有效性3.有窮性4.能夠沒有輸入5.至少有一個輸出內存
3.編寫程序(語法、工具)開發
4.測試程序(異常:運行時異常和非運行時異常:語法和邏輯)字符串
高級語言---->機器語言:1.編譯(有中間文件產生)string
2.解釋(無中間文件,逐行讀取)
2.程序語言概述
高級語言(C):
1.字符集
2.標示符(自定義+關鍵字)
3.語句
4.函數庫
自定義標示符:
1.不能和關鍵字重複
2.不能以數字開頭,有數字、字母和_組成
3.見名知意
4.首字母小寫
上機執行過程:
編寫源文件——>編譯目標文件——>連接頭文件——>執行可執行文件
3.數據存儲
數據類型的做用:
1.肯定數據的存放空間
2.肯定數據的存放格式
數據類型分類:
1.整型 short(2) int(4) long(8) 字節爲單位,以二進制存儲,最高位爲符號位,0位正,1位負
2.實型 float(4) double(8) 以規格化的數據形式分爲小數和指數,存儲小數和指數
3.字符型 char(1) 存儲以ACSII碼爲標準的整數
數據值:
1.常量
2.變量
常量: 1.字面常量
2.符號常量(便於修改,業務含義帶入常量值)
變量:
1.數據類型
2.變量名
3.數據值 %佔位符 &地址符
4.運算符、表達式和語句
表達式:有惟一結果且至少有一個操做符
操做符:
1. 算數運算符 + - * / %
2.賦值運算符 =
3.增量、減量運算符 ++ --
4.關係運算符 > < >= <= ==
5.邏輯運算符 & | !
6.條件運算符 ?: if switch
7.特殊運算符 sizeof
5.選擇結構
if語句: 1.單分支2.雙分支3.多分支
switch:1.無順序2.能夠沒有break
6.循環結構
循環: 1.先驗循環:while、for 2.後驗循環:do-while
while適用場景:不明確循環次數,只知道達到某個條件循環結束
for適用場景:肯定循環次數
break:跳出循環
continue:結束本次循環,進入下一次循環
7.數組和字符串
數組:集合的一種,用於處理批量數據
數組的結構:1.連續的存放空間中(內存利用率不高)
2.只能存放同一數據類型
3.空間大小一旦聲明不能改變
初始值的個數小於長度,其他部分默認爲
字符串:
字符數字容許存放字符串
字符串結束的表示"\0"
字符串函數頭文件string.h
經常使用函數:strlen()長度 stringcpy()複製 strcat()鏈接 strcmp()比較大小
8.複雜數據類型
複雜數據類型:數組(3類6種)、結構型(3種)、指針(8種)
結構型:結構體、共用體(聯合體)、枚舉
結構體:1.表示更豐富的複雜類型2.內部屬性定義的順序不影響使用,隻影響內存分配3.關鍵在於內存大小的對齊問題
struct 結構名{數據類型1 數據名1. ……};
共用體(聯合體):1.同一個區域能夠存放不一樣類型的數據(不經常使用)2.內部屬性定義不影響使用和內存分配3.改變一個屬性,其餘屬性也會改變
union 共用體名{數據類型1 數據名1. ……};
枚舉:1.某些類型取值固定2.枚舉定義時括號內不是屬性,是值的標示符3.改變標示符的順序影響使用(除非用賦值符號"="寫死)
enum 枚舉名{標示符1[=整型變量] ……};
指針:存放數據類型的地址(4字節)
9.函數
函數:函數定義(函數的聲明和實現)和函數調用
返回類型 函數名(形式參數列表){語句}
參數的三要素:1.返回類型2.個數3.順序
調用函數時數據傳遞形式:1.值傳遞2.地址傳遞
return:1.返回值給調用者2.結束整個函數
在C中的函數:1.函數名不能重複2.返回類型不能是數組3.函數不容許嵌套定義