作者簡介
名人/編輯推薦
目次
第1單元 簡單的C語言程式
1.1 兩個整數相加
1.1.1 兩個整數常數相加的C語言程式
1.1.2 C語言程式的編譯與連接
1.1.3 帶有輸出操作的C程式
習題 1.1
1.2 變量初步
1.2.1 使用變量的兩整數相加程式
1.2.2 從鍵盤給變量輸入值
習題1.2
1.3 用浮點數進行除運算
1.3.1 整數相除的問題
1.3.2 兩個浮點數相除的C程式
習題 1.3
第2單元 選擇結構
2.1 將從鍵盤輸入的任意兩個數按昇冪輸出
2.1.1 問題分析與參考代碼
2.1.2 關系運算符與關系表達式
2.1.3 if-else二分支選擇結構
2.1.4 程式測試
2.1.5 程式的書寫風格
習題2.1
2.2 三中取大
2.2.1 演算法分析與參考代碼
2.2.2 邏輯運算符與邏輯表達式
2.2.3 多分支選擇結構中if與else的配對規則
2.2.4 測試用例設計:語句覆蓋與分支覆蓋
2.2.5 else if結構
2.2.6 條件運算符
習題2.2
2.3 字元分類
2.3.1 字元類型
2.3.2 基於整型值匹配的switch結構
2.3.3 演算法分析與參考代碼
2.3.4 程式測試用例設計的等價分類法
2.3.5 switch結構與if-else結構的比較
習題 2.3
第3單元 重復結構
3.1 C語言重復結構基礎
3.1.1 C語言的三種重復結構
3.1.2 累加器程式
3.1.3 列印九九乘法表
習題3.1
3.2 窮舉
3.2.1 求素數
3.2.2 搬磚問題
3.2.3 推斷名次
習題3.2
3.3 迭代與遞推
3.3.1 用輾轉相除法求兩個正整數的最大公因數
3.3.2 Fibonacci數列
3.3.3 猴子吃桃子
3.3.4 用二分迭代法求解一元二次方程
習題3.3
第4單元 用函數組織C程式
4.1 函數基礎
4.1.1 函數定義
4.1.2 函數調用
4.1.3 函數原型聲明
4.1.4 局部變量與全局變量
4.1.5 模塊化程式設計
習題4.1
4.2 遞歸
4.2.1 階乘的遞歸計算
4.2.2 漢諾塔
習題4.2
第5單元 計算機模擬
5.1 隨機問題模擬
5.1.1 產品隨機抽樣
5.1.2 用蒙特卡洛法求π的近似值
習題5.1
5.2 基於步長的模擬
5.2.1 事件步長法——中子擴散問題
5.2.2 時間步長法——鹽水池問題
習題5.2
第2篇 數據結構+演算法
第6單元 順序地組織同類型數據——數組類型
6.1 數組基礎
6.1.1 撲克牌的表示與數組定義
6.1.2 撲克牌查找:數組元素引用與數組名參數
6.1.3 撲克洗牌的隨機模擬
6.1.4 撲克牌整理:數組元素排序
6.1.5 撲克發牌:二維數組應用
習題6.1
6.2 字串
6.2.1 字串與字元數組
6.2.2 字串輸入輸出
6.2.3 字串的其他操作
習題6.2
第7單元 描述一類對象的屬性——結構體類型和共用體類型
7.1 結構體類型基礎
7.1.1 結構體類型的定義
7.1.2 結構體類型的實例化
7.1.3 結構體變量的引用
習題7.1
7.2 結構體數組
7.2.1 結構體數組的定義與初始化
7.2.2 結構體數組元素的引用
習題7.2
7.3 union類型
7.3.1 共用體類型的定制與共用體變量的定義
7.3.2 共用體類型與結構體類型的比較
7.3.3 共用體變量的應用
習題7.3
第8單元 指針類型
8.1 指針的概念
8.1.1 指針=基類型十地址
8.1.2 懸空指針、空指針與void指針
8.1.3 多級指針
8.1.4 指針的操作
習題8.1
8.2 數組的指針形式
8.2.1 數組名與指向數組的指針
8.2.2 二維數組的指針形式
8.2.3 指針與C字串
習題8.2
8.3 指針參數
8.3.1 變量地址傳送
8.3.2 數組位址傳送
8.3.3 字元指針參數
8.3.4 帶參主函數
習題8.3
第9單元 常用演算法設計策略*
9.1 分治策略
9.1.1 二分查找
9.1.2 快速排序
9.1.3 自行車帶人問題
習題9.1
9.2 回溯策略
9.2.1 迷宮問題
9.2.2 使用堆棧組織搜索過程
習題9.2
9.3 貪心策略
9.3.1 旅行費用問題
9.3.2 刪數問題
習題9.3
9.4 動態規劃
習題9.4
……
第3篇 深入學習C語言
書摘/試閱
(2)同一作用域內不允許有重名的標識符。
(3)不同的作用域內可以有相同的標識符。對於兩個並列的作用域,即使有同名標識符,它們也是各自獨立互不影響的。對於兩個嵌套的塊,在內部塊的標識符可以遮罩外部塊內同名標識符,使其不可見。
2.函數原型作用域
函數原型(function prototype)作用域指函數在原型聲明中,形式參數所具有的作用域。這個作用域僅在該函數聲明語句中有效。也就是說,函數聲明中使用的參數名與函數定義中使用的參數名可以不相同,甚至在函數原型聲明中可以不要參數名,只要參數類型。
3.檔作用域
在所有函數外部定義的標識符具有檔(file)作用域,即這種標識符在一個文件中從定義處到檔結束都有效,並且根據需要,檔作用域內定義的標識符還可以向前或向其他檔域擴充。所以通常稱這種作用域為全局作用域。例如,函數都是定義在塊作用域外部的,從而可以在從其定義處到檔結束的代碼區間使用。
12.1.3 標識符的鏈接屬性
標識符的鏈接屬性是指在一個域中定義的標識符能不能被鏈接到別的域。這就引出了關于標識符的聲明的兩個概念:定義性聲明和引用性聲明。定義性聲明具有創建的作用,而引用性聲明沒有創建的作用,只有引用的作用,即具有鏈接的作用。通過鏈接可以擴展一個標識符的作用域。例如,使用原型聲明將函數的作用域擴展到定義前面或別的檔中(例如庫函數)。同樣,對於檔作用域的變量,也可以這樣進行作用域的擴展。這說明,在C語言程式中,只有檔作用域的標識符才具有這種鏈接性。檔作用域標識符的鏈接屬性又被進一步分為外部(external)鏈接屬性和內部(internal)鏈接屬性。外部鏈接屬性不僅允許將作用域擴展到本源代碼檔的別的區間,還允許將作用域擴展到別的檔;內部鏈接屬性只允許在本檔中擴展作用域。而塊作用域的標識符則沒有這種鏈接屬性,或者說具有無(none)鏈接屬性。
在默認(沒有特別修飾的)情況下,函數名和外部變量名一定具有外部鏈接性,局部變量名一定無鏈接性。
主題書展
更多主題書展
更多書展本週66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。