本書從基礎性和實用性出發(fā),較全面地介紹計算機程序設計的基本概念和計算思維方法。全書共3個部分15章:C語言基礎實驗,主要內容包括程序設計基礎,數(shù)據(jù)類型、運算符、表達式及順序結構,程序流程控制結構、數(shù)組,函數(shù),指針,結構體,文件;C語言綜合實驗,主要內容包括公交線路查詢實驗和圖書借閱信息鏈表存儲管理實驗;Arduino C基礎實驗,主要內容包括Arduino C語言基礎、Arduino I/O讀寫基本應用、Arduino溫度傳感器的應用、Arduino I/O驅動顯示、Arduino PWM的應用等。本書配套實例程序源代碼、多媒體實驗指導電子教案等。本書可作為高等學校、高職本科和高職高專計算機、人工智能及相關專業(yè)C語言程序設計實驗課程的基礎教材,也可供相關領域的工程技術人員學習、參考。
尉洪,男,2002年7月,進入云南大學工作,長期承擔云南大學信息學院本科生的一線教學研究任務,共講授本科生多門課程,主要包括:計算機程序設計、計算機程序設計實驗、信號與系統(tǒng)、信號與系統(tǒng)實驗、UNIX操作系統(tǒng)、計算機組成原理、計算機基礎、數(shù)學實驗等課程;承擔了多項校級、省級和國家級科研項目任務。
目 錄
C語言基礎實驗
第1章 程序設計基礎 2
1.1 主要概念 2
1.1.1 程序設計基本概念 2
1.1.2 CodeBlocks開源跨平臺
IDE介紹 2
1.1.3 C語言程序的創(chuàng)建
開發(fā)步驟 2
1.1.4 C語言程序的工程管理
與程序調試方法 7
1.2 典型實例 12
1.2.1 單一主函數(shù)結構
—最簡單的
C語言程序 12
1.2.2 主函數(shù)附加用戶
自定義函數(shù)調用 13
1.3 實驗項目 13
實驗一:C語言程序設計入門 13
第2章 數(shù)據(jù)類型、運算符、
表達式及順序結構 15
2.1 主要概念 15
2.1.1 數(shù)據(jù)類型、類型轉換、
變量與常量、運算符、
表達式、順序結構 15
2.1.2 數(shù)據(jù)輸入與輸出 16
2.2 典型實例 16
2.2.1 順序結構程序
(銀行存款本息計算) 16
2.2.2 各類常量、
變量的使用 17
2.2.3 數(shù)據(jù)類型不匹配
及數(shù)據(jù)溢出 18
2.3 實驗項目 19
實驗二:順序結構程序設計 19
第3章 程序流程控制結構 20
3.1 主要概念 20
3.1.1 關系表達式與
邏輯表達式 20
3.1.2 流程結構語句 20
3.2 典型實例 21
3.2.1 選擇結構程序
(單分支、兩分支、
多分支結構) 21
3.2.2 循環(huán)結構程序 26
3.3 實驗項目 32
實驗三:選擇結構程序設計 32
實驗四:循環(huán)結構程序設計 33
第4章 數(shù)組 35
4.1 主要概念 35
4.1.1 一維數(shù)組 35
4.1.2 二維數(shù)組 35
4.1.3 字符數(shù)組 36
4.2 典型實例 36
4.2.1 一維數(shù)值型數(shù)組排序 36
4.2.2 矩陣乘法 41
4.2.3 字符數(shù)組(特征字符的
統(tǒng)計、查找、插入、
刪除算法) 42
4.3 實驗項目 44
實驗五:一維數(shù)組和二維數(shù)組 44
實驗六:字符串及其處理 45
第5章 函數(shù) 47
5.1 主要概念 47
5.1.1 函數(shù)的概念及定義 47
5.1.2 函數(shù)的調用 47
5.2 典型實例 47
5.2.1 階乘函數(shù)的定義調用 47
5.2.2 函數(shù)嵌套調用 48
5.2.3 函數(shù)遞歸調用
(數(shù)值遞歸) 50
5.2.4 數(shù)組名做函數(shù)參數(shù)
(數(shù)值型數(shù)組、
字符數(shù)組) 51
5.3 實驗項目 53
實驗七:函數(shù)的定義與調用 53
實驗八:函數(shù)與數(shù)組 55
第6章 指針 56
6.1 主要概念 56
6.1.1 指針的概念與指針的
基本運算 56
6.1.2 指向變量的指針變量
及指針變量做函數(shù)參數(shù) 56
6.1.3 指向數(shù)組的指針變量
及指向數(shù)組的指針變量
做函數(shù)參數(shù) 56
6.1.4 指向字符串的指針變量
及指向字符串的指針
變量做函數(shù)參數(shù) 57
6.1.5 動態(tài)內存的申請使用 57
6.2 典型實例 57
6.2.1 指針變量做函數(shù)
參數(shù)交換變量的值 57
6.2.2 指向數(shù)組的指針變量
做函數(shù)參數(shù)實現(xiàn)
數(shù)組排序 58
6.2.3 指向字符串的指針變量
做函數(shù)參數(shù)實現(xiàn)
字符串連接 59
6.2.4 動態(tài)內存申請使用 61
6.3 實驗項目 62
實驗九:指針及其應用 62
第7章 結構體 64
7.1 主要概念 64
7.1.1 結構體類型、結構體
變量、結構體數(shù)組 64
7.1.2 指向結構體數(shù)據(jù)的
指針變量 64
7.1.3 結構體數(shù)據(jù)的運算符 64
7.1.4 鏈表 65
7.2 典型實例 65
7.2.1 復數(shù)的表達及運算 65
7.2.2 結構體數(shù)組實現(xiàn)選票的
統(tǒng)計計票程序 66
7.2.3 結構體指針變量
做函數(shù)參數(shù)
實現(xiàn)復數(shù)運算 67
7.2.4 學生電話簿
單向鏈表管理 68
7.3 實驗項目 73
實驗十:結構體及其應用 73
第8章 文件 74
8.1 主要概念 74
8.1.1 文本文件的讀寫 74
8.1.2 二進制文件的讀寫 74
8.2 典型實例 74
8.2.1 班級同學成績的輸入
和保存(文本文件) 74
8.2.2 班級同學成績的輸入
和保存(二進制文件) 76
8.3 實驗項目 78
實驗十一:文件 78
C語言綜合實驗
第9章 公交線路查詢實驗 81
第10章 圖書借閱信息鏈表
存儲管理實驗 87
Arduino C基礎實驗
第11章 Arduino C語言基礎 95
11.1 Arduino集成開發(fā)板(UNO) 95
11.2 Arduino C語言程序集成
開發(fā)環(huán)境及使用 96
11.2.1 程序開發(fā)環(huán)境的
下載與安裝配置 96
11.2.2 Arduino C語言程序
基本結構 98
11.2.3 Arduino C源程序設計
調試運行 99
11.3 Arduino C庫文件與對象 100
11.3.1 類和對象 100
11.3.2 Arduino C庫文件中
的對象 100
第12章 Arduino I/O讀寫基本應用 101
12.1 跑馬燈顯示 101
12.1.1 實驗問題 101
12.1.2 LED亮燈原理 101
12.1.3 實例設計 101
12.1.4 拓展實驗 102
12.2 按鍵控制 103
12.2.1 實驗問題 103
12.2.2 按鈕按鍵使用原理 103
12.2.3 實例設計 103
12.2.4 拓展實驗 106
12.3 硬件串口實驗 106
12.3.1 實驗問題 106
12.3.2 UART串行接口
的概念 106
12.3.3 實例設計 106
12.3.4 拓展實驗 108
12.4 傳感器燈控實驗 108
12.4.1 實驗問題 108
12.4.2 傳感器原理 108
12.4.3 實例設計 109
12.4.4 拓展實驗 111
第13章 Arduino溫度傳感器的應用 112
13.1 模擬溫度傳感器LM35
的應用 112
13.1.1 實驗問題 112
13.1.2 溫度傳感器LM35
的原理 112
13.1.3 實例設計 113
13.1.4 拓展實驗
(實時顯示溫度) 114
13.2 數(shù)字溫濕度傳感器DHT11
的應用 114
13.2.1 實驗問題 114
13.2.2 溫濕度傳感器DHT11
的原理 114
13.2.3 實例設計 114
13.2.4 拓展實驗 116
第14章 Arduino I/O驅動顯示 117
14.1 數(shù)碼管顯示 117
14.1.1 實驗問題 117
14.1.2 數(shù)碼管顯示原理 117
14.1.3 實例設計 120
14.1.4 拓展實驗 124
14.2 液晶模塊顯示 124
14.2.1 實驗問題 124
14.2.2 字符型液晶
顯示原理 125
14.2.3 實例設計 125
14.2.4 拓展實驗 128
第15章 Arduino PWM的應用 129
15.1 脈寬調制(PWM)控制
LED燈亮度 129
15.1.1 實驗問題 129
15.1.2 脈寬調制(PWM)
的原理 129
15.1.3 實例設計 130
15.1.4 拓展實驗 131
15.2 脈寬調制(PWM)控制
直流電機轉速 131
15.2.1 實驗問題 131
15.2.2 直流電機轉速
控制方法 131
15.2.3 實例設計 132
15.2.4 拓展實驗 133
參考文獻 135