包郵 中國高等院校計(jì)算機(jī)基礎(chǔ)教育課程體系規(guī)劃教材C程序設(shè)計(jì)教程(第3版)學(xué)習(xí)輔導(dǎo)/譚浩強(qiáng)
-
>
全國計(jì)算機(jī)等級(jí)考試最新真考題庫模擬考場(chǎng)及詳解·二級(jí)MSOffice高級(jí)應(yīng)用
-
>
決戰(zhàn)行測(cè)5000題(言語理解與表達(dá))
-
>
軟件性能測(cè)試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強(qiáng)教科書(完全版)(全彩印刷)
-
>
深度學(xué)習(xí)
中國高等院校計(jì)算機(jī)基礎(chǔ)教育課程體系規(guī)劃教材C程序設(shè)計(jì)教程(第3版)學(xué)習(xí)輔導(dǎo)/譚浩強(qiáng) 版權(quán)信息
- ISBN:9787302503835
- 條形碼:9787302503835 ; 978-7-302-50383-5
- 裝幀:一般膠版紙
- 冊(cè)數(shù):暫無
- 重量:暫無
- 所屬分類:>
中國高等院校計(jì)算機(jī)基礎(chǔ)教育課程體系規(guī)劃教材C程序設(shè)計(jì)教程(第3版)學(xué)習(xí)輔導(dǎo)/譚浩強(qiáng) 本書特色
本書為普通高等教育“十一五”國家級(jí)規(guī)劃教材,榮獲全國高校出版社**書一等獎(jiǎng)。本書是與譚浩強(qiáng)所著的《C程序設(shè)計(jì)教程(第3版)》(清華大學(xué)出版社出版)配合使用的參考書,全書可分四個(gè)部分。**部分為《C程序設(shè)計(jì)教程(第3版)》習(xí)題與參考解答,包括了該書各章的全部習(xí)題,對(duì)全部編程習(xí)題都給出了參考解答,包括114個(gè)程序;第二部分為常見錯(cuò)誤分析和程序調(diào)試;第三部分為C語言上機(jī)指南,詳細(xì)介紹了利用Visual C++ 6.0集成環(huán)境和Visual Studio 2010編輯、編譯、調(diào)試和運(yùn)行程序的方法;第四部分為上機(jī)實(shí)驗(yàn),提供了學(xué)習(xí)本課程應(yīng)當(dāng)進(jìn)行的12個(gè)實(shí)驗(yàn)。 本書內(nèi)容豐富、實(shí)用性強(qiáng),是學(xué)習(xí)C語言的一本好參考書,可作為《C程序設(shè)計(jì)教程(第3版)》和其他C語言教材的配套教材,既適合高等學(xué)校師生使用,也可供報(bào)考計(jì)算機(jī)等級(jí)考試者和其他自學(xué)者參考。
中國高等院校計(jì)算機(jī)基礎(chǔ)教育課程體系規(guī)劃教材C程序設(shè)計(jì)教程(第3版)學(xué)習(xí)輔導(dǎo)/譚浩強(qiáng) 內(nèi)容簡介
本書是與譚浩強(qiáng)所著的《C程序設(shè)計(jì)教程(第3版)》(清華大學(xué)出版社出版)配合使用的參考書,全書可分4個(gè)部分。靠前部分為《C程序設(shè)計(jì)教程(第3版)》習(xí)題與參考解答,包括了該書各章的全部習(xí)題,對(duì)全部編程習(xí)題都給出了參考解答,包括114個(gè)程序;第二部分為常見錯(cuò)誤分析和程序調(diào)試;第三部分為C語言上機(jī)指南,詳細(xì)介紹了利用Visual C++ 6.0集成環(huán)境和Visual Studio 2010編輯、編譯、調(diào)試和運(yùn)行程序的方法;第四部分為上機(jī)實(shí)驗(yàn),提供了學(xué)習(xí)本課程應(yīng)當(dāng)進(jìn)行的12個(gè)實(shí)驗(yàn)。 本書內(nèi)容豐富,實(shí)用性強(qiáng),是學(xué)習(xí)C語言的一本好參考書,可作為《C程序設(shè)計(jì)教程(第3版)》和其他C語言教材的參考書,既適合高等學(xué)校師生使用,也可供報(bào)考計(jì)算機(jī)等級(jí)考試者和其他自學(xué)者參考。
中國高等院校計(jì)算機(jī)基礎(chǔ)教育課程體系規(guī)劃教材C程序設(shè)計(jì)教程(第3版)學(xué)習(xí)輔導(dǎo)/譚浩強(qiáng) 目錄
目錄
第1章程序設(shè)計(jì)和C語言3
第2章*簡單的C程序設(shè)計(jì)——順序程序設(shè)計(jì)8
第3章選擇結(jié)構(gòu)程序設(shè)計(jì)16
第4章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)25
第5章利用數(shù)組處理批量數(shù)據(jù)42
第6章利用函數(shù)進(jìn)行模塊化程序設(shè)計(jì)64
第7章善于使用指針90
第8章根據(jù)需要?jiǎng)?chuàng)建數(shù)據(jù)類型114
第9章利用文件保存數(shù)據(jù)147
第二部分常見錯(cuò)誤分析和程序調(diào)試
第10章常見錯(cuò)誤分析169第11章程序的調(diào)試與測(cè)試185
11.1程序的調(diào)試185
11.2程序錯(cuò)誤的類型187
11.3程序的測(cè)試189
第三部分C語言上機(jī)指南
第12章Visual C++ 6.0的上機(jī)操作19712.1Visual C++ 6.0的安裝和啟動(dòng)197
12.2輸入和編輯源程序198
12.2.1新建一個(gè)C源程序的方法198
12.2.2打開一個(gè)已有的程序200
12.2.3通過已有的程序建立一個(gè)新程序的方法200
12.3編譯、連接和運(yùn)行201
12.3.1程序的編譯201
12.3.2程序的調(diào)試202
12.3.3程序的連接204
12.3.4程序的執(zhí)行205
12.4建立和運(yùn)行包含多個(gè)文件的程序的方法206
12.4.1由用戶建立項(xiàng)目工作區(qū)和項(xiàng)目文件206
12.4.2用戶只建立項(xiàng)目文件211
第13章用Visual Studio 2010運(yùn)行C程序213
13.1關(guān)于Visual Studio 2010213
13.2怎樣建立新項(xiàng)目213
13.3怎樣建立文件217
13.4怎樣進(jìn)行編譯219
13.5怎樣運(yùn)行程序220
13.6怎樣打開項(xiàng)目中已有的文件221
13.7怎樣編輯和運(yùn)行一個(gè)包含多文件的程序222
13.8關(guān)于用Visual Studio 2010編寫和運(yùn)行C程序的說明225
第四部分上 機(jī) 實(shí) 驗(yàn)
第14章實(shí)驗(yàn)指導(dǎo)22914.1上機(jī)實(shí)驗(yàn)的目的229
14.2上機(jī)實(shí)驗(yàn)前的準(zhǔn)備工作230
14.3上機(jī)實(shí)驗(yàn)的步驟230
14.4實(shí)驗(yàn)報(bào)告231
14.5實(shí)驗(yàn)內(nèi)容安排的原則231
第15章實(shí)驗(yàn)安排 232
15.1實(shí)驗(yàn)1C程序的運(yùn)行環(huán)境和運(yùn)行C程序的方法232
15.2實(shí)驗(yàn)2*簡單的C程序設(shè)計(jì)——順序程序設(shè)計(jì)234
15.3實(shí)驗(yàn)3選擇結(jié)構(gòu)程序設(shè)計(jì)236
15.4實(shí)驗(yàn)4循環(huán)結(jié)構(gòu)程序設(shè)計(jì)237
15.5實(shí)驗(yàn)5利用數(shù)組(一)238
15.6實(shí)驗(yàn)6利用數(shù)組(二)239
15.7實(shí)驗(yàn)7函數(shù)調(diào)用(一)240
15.8實(shí)驗(yàn)8函數(shù)調(diào)用(二)241
15.9實(shí)驗(yàn)9善用指針(一)242
15.10實(shí)驗(yàn)10善用指針(二)243
15.11實(shí)驗(yàn)11使用結(jié)構(gòu)體244
15.12實(shí)驗(yàn)12文件操作245
參考文獻(xiàn)246
中國高等院校計(jì)算機(jī)基礎(chǔ)教育課程體系規(guī)劃教材C程序設(shè)計(jì)教程(第3版)學(xué)習(xí)輔導(dǎo)/譚浩強(qiáng) 節(jié)選
第5章 利用數(shù)組處理批量數(shù)據(jù) 5.1用篩選法求100之內(nèi)的素?cái)?shù)。 解: 解題思路: 所謂“篩法”指的是“埃拉托色尼(Eratosthenes)篩法”。埃拉托色尼是古希臘的著名數(shù)學(xué)家。他采取的方法是,在一張紙上寫上1~1000的全部整數(shù),然后逐個(gè)判斷它們是否是素?cái)?shù),找出一個(gè)非素?cái)?shù),就把它挖掉,*后剩下的就是素?cái)?shù),見圖51。① 2 3 ④ 5 ⑥ 7 ⑧ ⑨ ⑩ 11 13 17 19 23 29 31 37 41 43 47 … 圖51 具體做法如下: (1) 先將1挖掉(因?yàn)?不是素?cái)?shù))。 (2) 用2去除它后面的各個(gè)數(shù),把能被2整除的數(shù)挖掉,即把2的倍數(shù)挖掉。 (3) 用3去除它后面各數(shù),把3的倍數(shù)挖掉。 (4) 分別用4,5…各數(shù)作為除數(shù)去除這些數(shù)以后的各數(shù)。這個(gè)過程一直進(jìn)行到在除數(shù)后面的數(shù)已全被挖掉為止。例如在圖51中找1~50的素?cái)?shù),要一直進(jìn)行到除數(shù)為47為止。事實(shí)上,可以簡化,如果需要找1~n范圍內(nèi)的素?cái)?shù)表,只須進(jìn)行到除數(shù)為n(取其整數(shù)) 即可。例如對(duì)1~50,只須進(jìn)行到將7(即50的整數(shù)部分)作為除數(shù)即可。請(qǐng)讀者思考為什么? 上面的算法可表示如下: (1) 挖去1; (2) 用下一個(gè)未被挖去的數(shù) p去除p后面各數(shù),把p的倍數(shù)挖掉; (3) 檢查p是否小于n的整數(shù)部分(如果n=1000,則檢查p<31?),如果是,則返回(2)繼續(xù)執(zhí)行,否則就結(jié)束; (4) 剩下的數(shù)就是素?cái)?shù)。 用計(jì)算機(jī)解此題,可以定義一個(gè)數(shù)組 a。數(shù)組元素a\[1\]~a\[n\] 分別代表1~n這n個(gè)數(shù)。如果檢查出數(shù)組a的某一元素的值是非素?cái)?shù),就使它變?yōu)?,*后剩下不為0的就是素?cái)?shù)。 編寫程序如下:#include #include//程序中用到求平方根函數(shù)sqrt int main() { int i,j,n,a\[101\];//定義a數(shù)組包含101個(gè)元素 for (i=1;i a\[i\]=i; //使a\[1\]~a\[100\] 的值為1到100 a\[1\]=0; //先"挖掉"a\[1\] for (i=2;i for (j=i+1;j { if(a\[i\]!=0 && a\[j\]!=0) if (a\[j\]%a\[i\]==0) a\[j\]=0; //把非素?cái)?shù)“挖掉” } printf("\\n"); for (i=2,n=0;i {if (a\[i\]!=0)//選出值不為0的數(shù)組元素,即素?cái)?shù) {printf("%5d",a\[i\]);//輸出素?cái)?shù),寬度為5列 n++; //累計(jì)本行已輸出的數(shù)據(jù)個(gè)數(shù) } if(n==10) { printf("\\n"); n=0; } } printf("\\n"); return 0; }運(yùn)行結(jié)果:2357111317192329 31374143475359616771 737838997 輸入數(shù)組a各元素for (i=1; i≤9; i++)min=ifor (j=i+1; j≤10; j++)a [min]>a[j] TFmin=j交換a[min]與a[i]輸出已排序的10個(gè)數(shù)圖525.2用選擇法對(duì)10個(gè)整數(shù)排序。 解: 解題思路: 選擇法的思路如下: 設(shè)有10個(gè)元素a\[1\]~a\[10\], 將a\[1\] 與a\[2\]~a\[10\]比較,若a\[1\]比a\[2\]~a\[10\]都小,則不進(jìn)行交換,即無任何操作。若a\[2\]~a\[10\]中有一個(gè)以上比a\[1\] 小,則將其中*大的一個(gè)(假設(shè)為a\[i\]) 與a\[1\] 交換,此時(shí)a\[1\]中存放了10個(gè)數(shù)中*小的數(shù)。第2輪將a\[2\]與a\[3\]~a\[10\]比較,將剩下9個(gè)數(shù)中的*小者a\[i\]與a\[2\]對(duì)換,此時(shí)a\[2\]中存放的是10個(gè)中第二小的數(shù)。依此類推,共進(jìn)行9輪比較,a\[1\]~a\[10\] 就已按由小到大的順序存放了。NS圖如圖52所示。 編寫程序如下:#include int main() { int i,j,min,temp,a\[11\]; printf("enter data:\\n"); for (i=1;i {printf("a\[%d\]=",i); scanf("%d",&a\[i\]);//輸入10個(gè)數(shù) } printf("\\n"); printf("The orginal numbers:\\n"); for (i=1;i printf("%5d",a\[i\]);//輸出這10個(gè)數(shù) printf("\\n"); for (i=1;i {min=i; for (j=i+1;j if (a\[min\]>a\[j\]) min=j; temp=a\[i\];//以下3行將a\[i+1\]~a\[10\]中*小者與a\[i\]對(duì)換 a\[i\]=a\[min\]; a\[min\]=temp; } printf("\\nThe sorted numbers:\\n");//輸出已排好序的10個(gè)數(shù) for (i=1;i printf("%5d",a\[i\]); printf("\\n"); return 0; }運(yùn)行結(jié)果:enter data: a\[1\]=1↙ a\[2\]=16↙ a\[3\]=5↙ a\[4\]=98↙ a\[5\]=23↙ a\[6\]=119↙ a\[7\]=18↙ a\[8\]=75↙ a\[9\]=65↙ a\[10\]=81↙ The orginal numbers: 1 165 98 23119 18 75 65 81 The sorted numbers: 15 16 18 23 65 75 81 98119 5.3求一個(gè)3×3的整型二維數(shù)組對(duì)角線元素之和。 解: 編寫程序如下:#include int main() { int a\[3\]\[3\],sum=0; int i,j; printf("enter data:\\n"); for (i=0;i for (j=0;j scanf("%d",&a\[i\]\[j\]); for (i=0;i sum=sum+a\[i\]\[i\]; printf("sum=%6d\\n",sum); return 0; }運(yùn)行結(jié)果:enter data: 1↙ 2↙ 3↙ 4↙ 5↙ 6↙ 7↙ 8↙ 9↙ sum=15關(guān)于輸入數(shù)據(jù)方式的討論: 在程序的scanf語句中用%d作為輸入格式控制,上面輸入數(shù)據(jù)的方式顯然是可行的。其實(shí)也可以在一行中連續(xù)輸入9個(gè)數(shù)據(jù),如:1 2 3 4 5 6 7 8 9↙結(jié)果也一樣。在輸入完9個(gè)數(shù)據(jù)并按回車鍵后,這9個(gè)數(shù)據(jù)被送到內(nèi)存中的輸入緩沖區(qū)中,然后逐個(gè)送到各個(gè)數(shù)組元素中。下面的輸入方式也是正確的:1 2 3↙ 4 5 6↙ 7 8 9↙或者:1 2↙ 3 4 5 6↙ 7 8 9↙都是可以的。 請(qǐng)考慮,如果將程序第7~9行改為for (j=0;j scanf(" %d %d %d",&a\[0\]\[j\],&a\[1\]\[j\],&a\[2\]\[j\]);應(yīng)如何輸入?是否必須一行輸入3個(gè)數(shù)據(jù),如:1 2 3↙ 4 5 6↙ 7 8 9↙答案是可以按此方式輸入,也可以不按此方式輸入,而采用前面介紹的方式輸入,不論分多少行、每行包括幾個(gè)數(shù)據(jù),只要求*后輸入完9個(gè)數(shù)據(jù)即可。 程序中用的是整型數(shù)組,運(yùn)行結(jié)果是正確的。如果用的是實(shí)型數(shù)組,只須將程序第4行的int改為float或double即可,并且在scanf函數(shù)中使用%f或%lf格式聲明。 5.4已有一個(gè)已排好序的數(shù)組,要求輸入一個(gè)數(shù)后,按原來排序的規(guī)律將它插入數(shù)組中。 解: 解題思路: 設(shè)數(shù)組a有n個(gè)元素,而且已按升序排列,在插入一個(gè)數(shù)時(shí)按下面的方法處理: (1) 如果插入的數(shù)num比a數(shù)組*后一個(gè)數(shù)大,則將插入的數(shù)放在a數(shù)組末尾。 (2) 如果插入的數(shù)num不比a數(shù)組*后一個(gè)數(shù)大,則將它依次和a\[0\]~a\[n-1\] 比較,直到出現(xiàn)a\[i\]>num為止,這時(shí)表示a\[0\]~a\[i-1\]各元素的值比num小,a\[i\]~a\[n-1\] 各元素的值比num大。num理應(yīng)插到a\[i-1\] 之后、a\[i\]之前。怎樣才能實(shí)現(xiàn)此目的呢?將a\[i\]~a\[n-1\] 各元素向后移一個(gè)位置(即a\[i\]變成a\[i+1\],…,a\[n-1\]變成a\[n\])。然后將num放在a\[i\]中。NS圖如圖53所示。顯示初始數(shù)組輸入待插入的數(shù)值numnum>末尾元素
中國高等院校計(jì)算機(jī)基礎(chǔ)教育課程體系規(guī)劃教材C程序設(shè)計(jì)教程(第3版)學(xué)習(xí)輔導(dǎo)/譚浩強(qiáng) 作者簡介
譚浩強(qiáng)教授,我國著名計(jì)算機(jī)教育專家,計(jì)算機(jī)普及和高校計(jì)算機(jī)基礎(chǔ)教育開拓者之一,現(xiàn)任全國高校計(jì)算機(jī)基礎(chǔ)教育研究會(huì)會(huì)長。他創(chuàng)造了3個(gè)世界紀(jì)錄:(1)20年來他(及其合作者)共編著出版了140余部計(jì)算機(jī)著作,此外主編了300多部計(jì)算機(jī)書籍,是出版科技著作數(shù)量最多的人。(2)他編著和主編的書發(fā)行量近5000萬冊(cè),是讀者最多的科技作家。(3)他和別人合作編著的《BASIC語言》發(fā)行了1250萬冊(cè),創(chuàng)科技書籍發(fā)行量的世界紀(jì)錄。他善于用讀者容易理解的方法和語言說明復(fù)雜的概念。許多人認(rèn)為他“開創(chuàng)了計(jì)算機(jī)書籍貼近大眾的新風(fēng)”,為我國的計(jì)算機(jī)普及事業(yè)做出了重要的貢獻(xiàn)。
- >
小考拉的故事-套裝共3冊(cè)
- >
龍榆生:詞曲概論/大家小書
- >
煙與鏡
- >
姑媽的寶刀
- >
羅庸西南聯(lián)大授課錄
- >
推拿
- >
伊索寓言-世界文學(xué)名著典藏-全譯本
- >
名家?guī)阕x魯迅:故事新編