TOP
0
0
【簡體曬書節】 單本79折,5本7折,優惠只到5/31,點擊此處看更多!
C語言程序設計(第二版)(簡體書)
滿額折

C語言程序設計(第二版)(簡體書)

商品資訊

人民幣定價:49 元
定價
:NT$ 294 元
優惠價
87256
領券後再享88折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:7 點
相關商品
商品簡介
目次
書摘/試閱

商品簡介

本書采用“實例導入問題提出解釋與應用”的敘述模式,以生動有趣的案例引入,從情境中提出問題,建立數學模型,獲得解決方法,*后實現應用。全書共分12章,包括概述、分支結構、循環結構、函數、數組、指針、結構等內容。
本書在結構設計上,從有利于學習者學習的角度出發來選擇、組織和呈現教學內容。首先,在書的安排順序上,先安排函數,然后是數組和指針,這樣便于學生早接觸函數,早使用函數,有利于后續課程的學習;其次,強調實踐,而不拘泥于基礎知識,通過實踐掌握基礎知識,重點在程序設計能力的培養;再次,本教材設計了一些專題,如迭代算法、*大公約數的求解、素數判定等,總結了某一類問題的解決方法,既讓學習者體驗到程序設計的實用性,又激發了學習者的學習興趣;*后,為滿足讀者對在線開放學習的需求,本教材的大部分實例配套了微課。
本書可以作為各類大專院校、等級考試與各類培訓的教學用書,也可作為對C語言程序設計感興趣人員的自學用書。

目次

第1章概述/1
1.1計算機程序設計語言1
1.1.1機器語言1
1.1.2匯編語言1
1.1.3高級語言2
1.2用程序設計語言編寫程序的步驟2
1.2.1編碼2
1.2.2編譯2
1.2.3調試3
1.2.4維護3
1.3結構化程序設計方法4
1.4算法4
1.4.1算法的特性5
1.4.2算法的描述5
1.5關于C程序設計語言8
1.5.1C語言出現的歷史背景8
1.5.2C語言的特點9
1.6簡單的C語言程序10
1.6.1輸出hello, world10
1.6.2計算a+b11
1.6.3計算分段函數的值12
1.6.4按先大后小的順序輸出兩個整數13
1.6.5華氏溫度與攝氏溫度的轉換14
練習16
第2章類型、運算符與表達式/19
2.1變量19
2.1.1變量的命名規則19
2.1.2變量的聲明20
2.2數據類型及長度21〖1〗C語言程序設計(第2版)目錄[3]〖3〗2.2.1short與long限定符21
2.2.2signed與unsigned限定符21
2.2.3每種數據類型的printf和scanf格式轉換符22
2.3常量25
2.3.1整數常量與浮點數常量25
2.3.2字符常量25
2.3.3字符串常量26
2.3.4符號常量27
2.3.5枚舉常量27
2.4常量表達式28
2.5算術運算符28
2.6關系運算符與邏輯運算符28
2.7自增運算符與自減運算符31
2.8逗號運算符31
2.9賦值運算符與賦值表達式32
2.10條件運算符與條件表達式33
2.11一元運算符sizeof34
2.12類型轉換34
2.13運算符的優先級及求值次序36
練習37
第3章分支結構/44
3.1實例導入44
3.2語句與程序塊45
3.3ifelse語句45
3.4elseif語句48
3.5switch語句50
3.6應用實例: 學生成績管理56
練習58
第4章循環結構/62
4.1實例導入62
4.2while循環65
4.3for循環70
4.4dowhile循環74
4.5三種循環語句的比較76
4.6循環結構的嵌套77
4.7break語句與continue語句83
4.8goto語句與標號88
4.9專題1: 正整數的拆分89
4.10專題2: 迭代法92
4.11應用實例: 學生成績管理95
練習96
第5章輸入與輸出/109
5.1getchar()函數109
5.2putchar()函數110
5.3printf()函數113
5.4scanf()函數114
5.5應用實例: 求和116
練習122
第6章函數/126
6.1實例導入126
6.2函數的基本知識129
6.2.1函數的定義129
6.2.2函數的調用130
6.2.3函數的聲明135
6.2.4函數設計的基本原則138
6.3函數的嵌套調用139
6.4函數的遞歸調用139
6.5變量的存儲類型145
6.6變量的類別145
6.6.1外部變量與內部變量145
6.6.2靜態變量147
6.6.3寄存器變量148
6.7變量的作用域與生存期148
6.7.1變量的作用域148
6.7.2變量的生存期149
6.7.3內存空間及分配方式149
6.8程序塊結構156
6.9變量的初始化156
6.10預處理157
6.10.1文件包含157
6.10.2宏替換157
6.10.3條件編譯159
6.11專題3: 最大公約數的求解161
6.11.1bruteforce算法161
6.11.2歐幾里德算法162
6.11.3更相減損法164
練習165
第7章數組/177
7.1實例導入177
7.2一維數組180
7.2.1一維數組的定義180
7.2.2一維數組元素的引用181
7.2.3一維數組的初始化181
7.2.4一維數組的應用舉例182
7.3二維數組184
7.3.1二維數組的定義184
7.3.2二維數組元素的引用184
7.3.3二維數組的初始化185
7.3.4二維數組的應用舉例186
7.4字符數組192
7.4.1字符數組的定義和引用192
7.4.2字符數組的初始化192
7.4.3字符數組的輸入/輸出193
7.4.4字符數組的應用舉例195
7.5數組與函數參數197
7.5.1數組元素作函數實參197
7.5.2數組作函數實參198
7.6查找和排序201
7.6.1查找201
7.6.2排序203
7.7專題4: 進制轉換206
7.7.1十進制整數轉換成其他進制整數206
7.7.2其他進制整數轉換成十進制整數208
7.8專題5: 素數209
7.8.1素數判定的基本方法209
7.8.2一定范圍內所有素數的求解217
7.9應用實例: 學生成績管理220
練習222
第8章指針/240
8.1實例導入240
8.2指針的基本知識246
8.2.1指針變量的聲明246
8.2.2指針變量的初始化246
8.2.3指針變量的基本運算246
8.3指針與數組249
8.3.1指針與一維數組249
8.3.2指針與多維數組258
8.4指針與函數259
8.4.1指針作為函數的參數259
8.4.2指針作為函數的返回值263
8.4.3指向函數的指針266
8.5字符指針與函數267
8.6指針數組269
8.6.1指針數組的聲明269
8.6.2指針數組的初始化269
8.6.3指針數組與二維數組的區別269
8.7命令行參數270
8.8指向指針的指針271
8.9動態分配272
8.9.1動態分配內存272
8.9.2釋放內存272
8.9.3void 類型273
8.9.4動態數組273
8.9.5查找malloc中的錯誤275
練習275
第9章結構/297
9.1實例導入297
9.2結構的基本知識302
9.2.1結構類型的定義303
9.2.2結構變量的定義303
9.2.3結構成員的訪問304
9.2.4對結構變量的操作304
9.2.5結構變量的初始化306
9.2.6結構的嵌套307
9.3結構數組308
9.4結構指針311
9.5typedef313
9.6結構與函數314
9.7單鏈表315
9.7.1單鏈表的創建316
9.7.2單鏈表的輸出316
9.7.3單鏈表的插入316
9.7.4單鏈表的刪除319
9.7.5鏈表的綜合操作319
9.8聯合321
9.9枚舉324
9.9.1枚舉類型的定義324
9.9.2枚舉變量的定義324
9.9.3對枚舉變量的操作325
9.10應用實例: 學生成績管理327
9.10.1用結構數組實現328
9.10.2用單鏈表實現329
練習332
第10章位運算/342
10.1原碼、反碼和補碼342
10.2位運算符343
10.2.1與運算符343
10.2.2或運算符343
10.2.3異或運算符343
10.2.4取反運算符344
10.2.5左移運算符和右移運算符344
10.3位賦值運算符347
10.4位域348
練習349
第11章文件/352
11.1實例導入353
11.2C語言中文件的使用354
11.2.1聲明FILE類型的變量355
11.2.2打開文件355
11.2.3執行I/O操作356
11.2.4關閉文件356
11.3字符I/O357
11.3.1讀字符函數fgetc()357
11.3.2寫字符函數fputc()357
11.4行I/O360
11.4.1讀字符串函數fgets()360
11.4.2寫字符串函數fputs()360
11.5格式化I/O361
11.5.1格式化輸出函數fprintf()和sprintf()361
11.5.2格式化輸入函數fscanf()和sscanf()361
11.6數據塊讀寫363
11.6.1數據塊讀函數fread()363
11.6.2數據塊寫函數fwrite()363
11.7文件的定位363
11.7.1fseek()函數363
11.7.2ftell()函數365
11.7.3rewind()函數365
11.8錯誤檢測函數366
11.8.1clearerr()函數366
11.8.2feof()函數366
11.8.3ferror()函數366
11.9應用實例: 學生成績管理366
練習371
第12章大串講/376
12.1順序輸出整數的各位數字376
12.2計算階乘之和378
12.3Fibonacci數列380
12.4計算函數的值383
12.5在有序數組中插入一個元素384
附錄A常用字符與ASCII碼對照表/388
附錄B常用的C語言庫函數/390
B.1數學函數390
B.2字符處理函數391
B.3字符串處理函數392
B.4實用函數393
附錄C與具體實現相關的限制/394
參考文獻/395

書摘/試閱

第5章輸入與輸出本章要點:
常用輸入、輸出函數的使用;
簡單的數據處理。在程序的運行過程中,往往需要由用戶輸入一些數據,這些數據經機器處理后要輸出反饋給用戶。通過數據的輸入/輸出來實現人與計算機之間的交互,所以在程序設計中,輸入/輸出語句是一類必不可少的重要語句。
在C語言中,沒有專門的輸入/輸出語句,所有的輸入/輸出操作都是通過對標準I/O庫函數的調用來實現的。
最常用的輸入/輸出函數有getchar()、putchar()、scanf()、printf()。ANSI標準精確地定義了這些庫函數,所以,在任何可以使用C語言的系統中都有這些函數的兼容形式。如果程序的系統交互部分僅僅使用了標準庫提供的功能,則可以不加修改地從一個系統移植到另一個系統中。
5.1getchar()函數
getchar()函數的原型如下: int getchar(void);此函數的功能是從stdio流中讀字符。C語言中,在沒有輸入時,getchar()函數將返回一個特殊值,這個特殊值與任何實際字符都不同,這個值稱為EOF(End Of File,文件結束),它的值通常是-1。
getchar()函數只能接受單個字符,如果輸入的是數字也按字符處理。輸入多于一個字符時,只接收第一個字符。使用本函數前必須包含文件“stdio.h”。
例5.1輸入一行字符,分別統計出其中空格或回車、數字和其他字符的個數。
輸入樣例: beautiful 2010 heihei輸出樣例: sumWhite=3
sumNumber=4〖1〗C語言程序設計(第2版)第5章輸入與輸出〖3〗〖3〗sumOther=15實現代碼如下。1#include
2int main()
3{
4int c;
5int sumWhite=0;/空格或回車的個數/
6int sumNumber=0;/數字的個數/
7int sumOther=0;/其他字符的個數/
8while((c=getchar())!=EOF){
9if(c=='\\n' || c==' '){
10sumWhite++;
11}
12else if(c>='0' && c<='9'){
13sumNumber++;
14}
15else{
16sumOther++;
17}
18}
19printf("sumWhite=%d\\n", sumWhite);
20printf("sumNumber=%d\\n", sumNumber);
21printf("sumOther=%d\\n", sumOther);
……

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 256
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區