發表於2024-11-23
最接地氣的C語言圖書,擁有3個最顯著的特點,那就是——不用啃,不用啃,真的不用啃!
為零基礎的初學者量身定做,讓讀者在十分輕鬆的環境中花費最少的時間掌握C語言。通過本書學習C語言,讀者會很快抓住知識的“根”,因而事半功倍!
張寜,南開大學生物信息學博士和博士後,現任職於天津大學精密儀器與光電子工程學院,主要從事生物醫學信息相關的數據分析、數據庫、軟件開發等工作。在C語言一綫教學多年,精通C語言、Visual Basic、Windows編程等,有19年編程和軟件開發的實踐經驗,在國內外高水平刊物發錶論文50餘篇,多次在各類編程競賽和講課大賽中獲奬。著有《老兵新傳:VisualBasic核心編程及通用模塊開發》(清華大學齣版社)等。
第1章 從這裏愛上編程——程序設計和C語言概述
1.1 水麵下的冰山——計算機程序和計算機語言
1.2 第一次親密接觸——縱覽C語言
1.2.1 一窺程序之美——C語言程序的結構
1.2.2 循序漸進,快樂學習——語句的光和影
1.2.3 程序裏的說明書——注釋
1.2.4 免費翻譯服務——編譯和鏈接
1.3 先其利器——Visual C++ 6.0上機指導
1.4 天平稱物問題——進製轉換
1.4.1 這些進製是哪來的——二進製、八進製、十六進製
1.4.2 你還應知道這幾招——不同進製之間的轉換
第2章 色彩斑斕的積木——數據類型、運算符和錶達式
2.1 標識符、常量和變量
2.1.1 給我起個名字吧——標識符
2.1.2 有一說一——常量
2.1.3 程序裏的儲物盒——變量
2.2 追根“數”源——細說數據類型
2.2.1 整型數據用C語言怎樣說
2.2.2 實型數據用C語言怎樣說
2.2.3 字符型數據用C語言怎樣說
2.2.4 字符串型常量用C語言怎樣說
2.3 諸算達人——運算符和錶達式
2.3.1 再談加減乘除——算術運算
2.3.2 走,給我進去!——賦值
2.3.3 加加和減減——自增、自減
2.3.4 神秘的倒數第一——逗號運算
2.4 位在我心中——位運算
第3章 一戰到底——順序結構
3.1 整裝待發——C語言中的語句
3.2 彆急,一個一個來——單個字符的輸齣與輸入
3.2.1 拿好瞭鑰匙進倉庫——輸齣與輸入概述
3.2.2 嚮屏幕開火——單個字符的輸齣
3.2.3 飯要一口一口地吃——單個字符的輸入
3.3 更過癮的輸齣與輸入——格式輸齣與輸入
3.3.1 我有私人警察——格式輸齣函數printf
3.3.2 我是快樂的快遞員——格式輸入函數scanf
3.4 常用係統數學函數
3.5 是不是有點專業級軟件的意思瞭——順序結構程序舉例
……
第4章 程序也能跑捷徑——選擇結構
第5章 不必親手愚公移山——循環結構
第6章 把平房升級為高樓大廈——數組
第7章 濛著麵乾活——函數
第8章 璀璨的星星——指針
第9章 我的類型我做主——結構體與共用體
第10章 得文件者得天下——文件
第11章 編程的經驗財富——算法與數據結構基礎
第12章 程林高手武功秘籍——軟件開發基礎
第8章 璀璨的星星——指針
當你從網頁復製一段文本,再到你想要的地方隨意粘貼的時候;當你在Excel錶格中插入幾行數據的時候;當你不知怎的突然遭到被彈齣“xx程序錯誤,單擊確定立即關閉”的時候;當你用遊戲修改軟件鎖定生命值,讓遊戲中的角色成為“金剛不死之軀”的時候……知道嗎,這些都與指針息息相關!
指針可是程序設計的一個強大工具,使用指針,不僅可以錶示很多重要的數據結構、高效地使用數組、方便地處理字符串、另類地調用函數……而且可以直接訪問內存,賦予我們廣大的自由度和“至高無上”的權利!編程高手們常說“無指針,不自由”,就是這個道理。因此指針也是學習C語言最重要的一環,可以說如果不會使用指針編程,就不是真正掌握瞭C語言。
有人說指針也是學習C語言最睏難的一部分,但本書持相反意見。隻要學習方法得當,實際上指針也並沒有聽起來那麼難學!請讀者不要畏懼,在本章我們會教給你很多技巧和方法,一步步帶領大傢攻剋指針的壁壘。讓我們現在就齣發,一起體會這一次精彩、充滿刺激挑戰和富有樂趣的指針之旅!
8.1 內存裏的門牌號——地址和指針的基本概念
“編號”,是人們常用的手段。例如,現在你翻到本書的這一頁就有一個頁碼編號。編號的例子還有很多,如超市的存包箱有箱號,電影院座位有座次號,樓房的房間有房間號……。通過編號我們可以準確地找到位置。
計算機的內存是由一個個字節組成的,每個字節可以保存8個比特(8個0或1)。計算機內存的字節數可以有很多,例如一颱有2GB內存的計算機就有多達2,147,483,648個字節(2×1024×1024×1024=2,147,483,648)! 那麼多的字節,如果搞錯搞亂,麻煩可就大瞭。如何有條不紊地管理這些字節,必須有個閤適的手段。人們仿照生活中為事物編號的方式,也為計算機內存的每個字節編號。把第一個字節編為0號(從0開始,與數組下標有點像),第二個字節編為1號……,最後一個字節是2G-1即2,147,483,647號,如圖8.1所示。
與我們把房間號稱為地址類似,計算機內存中的字節編號也稱為地址,地址也稱指針。
9.4 內存空間的批發和零售——動態存儲分配
在日常生活中,不知我們有沒有遇到過這樣的尷尬:本來說好瞭約10位朋友去吃飯,結果卻隻來瞭5個人,預定的10個菜由於吃不瞭就浪費瞭。然而作為聚會組織者卻必須以最多的可能人數來訂餐,這樣帶來的問題就是來的人越少,浪費得就越多。如何解決這種問題呢?我們可以不預先定餐,待客人來瞭之後,再根據實到人數來點菜;即使在開席之後中途又有新客人到來,也可以隨時加菜。這樣按需實時點菜,來多少人點多少菜,就不會有浪費瞭。
在程序中,預先定義的變量或固定大小的數組就如同預先訂桌點好的菜,同樣也會麵臨這樣的尷尬。例如,計算平均分的程序需要由用戶輸入每位同學的分數,當預先不能確定有多少位同學時,就需事先定義一個足夠大的數組,例如要定義包含100個元素的數組;又如輸入字符串時,由於預先不能確定用戶所輸入字符串的長度,也要事先預定義一個足夠大的char型數組如char str[80];。而這些數組的空間很可能實際隻用瞭其中的一部分,沒有使用的空間就浪費瞭。能否在程序中也實現按需實時分配內存空間呢?
C語言提供瞭一些內存管理庫函數,常用的列於錶9.1。通過這些庫函數可由我們自己直接申請分配內存空間,而不必非要通過定義變量或數組纔能夠獲得內存空間;在不需要這些空間時還可以隨時將它們釋放由係統迴收。這稱為動態存儲分配。
12.1.3.1 類和實例
類,就是類型的類,“物以類聚,人以群分”,我們將同類事物歸為一類。例如,張三、李四、王五同屬人類;你的手機、我的手機、商場櫃颱上賣的手機同屬手機這一類;電腦遊戲中不斷齣現的一個個“小兵”同屬小兵這一類。
“類(class)”隻是一個抽象的概念,它並不代錶某一個具體的事物。例如“人類”是個抽象的概念,但不指任何一個具體的人;而張三、李四、王五纔是具體的人。“手機”也是個抽象的概念,它既不能打電話,也不能接電話;隻有具體落實到某一部看得見摸得著的、實實在在的手機,纔能使用。盡管“類”不代錶具體事物,但“類”代錶瞭同種事物的共性信息,隻要提及“手機”這個概念,我們頭腦中都會想象齣一部手機的樣子,而絕不會齣現一幅長著兩條腿可以走路的“人”的形象。
也可以將“類”看做一張設計圖紙,它可用於製造具體的事物。例如“汽車”類是一張設計圖紙,它是不能跑起來的;但按照“汽車”這個類的圖紙製造齣一輛輛具體的汽車我們就能坐上去“兜風”瞭。
一般來說,由“類”這張設計圖製造齣的一個個具體的事物纔能稱之為“對象”或“類的實例(instance)”,而不應把一個“類”叫做對象。但在不引起混淆的情況下,有人也把“類”叫做對象,即“對象”這個術語既可指具體的事物,也可泛指類;而“實例”這個術語,必然指具體的事物。所以把一個個具體的事物稱之為“類的實例”更確切一些。
12.3 信息時代是怎樣煉成的——數據庫和數據庫設計初步
現如今是一個信息高度發達的時代,足不齣戶就可以在網上商城查詢各種商品的價格,人事管理部門輕點鼠標就能調齣一個人的詳細檔案,從就醫的病曆記錄到我們身邊的百度搜索,從銀行存款到網上婚戀交友,我們被充斥在各種信息的環境中,可以隨時隨地查詢、獲取我們所需要的信息。這些信息在計算機內部是怎樣管理的,是怎樣供我們查詢使用的,為什麼在一傢銀行把錢存進去卻能在另一傢聯網銀行把錢取齣來,為什麼查詢序列號便能立即得知商品的真僞,為什麼小小鼠標的輕輕點擊就能在百度上想要什麼查齣什麼……這些都要歸功於數據庫。數據庫不僅使人們管理數據的工作量大大減輕,它也是信息時代的基礎。現在很少有專業級的軟件沒有數據庫的功能瞭,即使一個簡單的網站在後颱也配有數據庫至少管理著瀏覽日誌、登錄賬戶、網站點擊次數等信息。
那麼什麼是數據庫呢?數據庫(database,簡稱DB),顧名思義,就是數據的倉庫,是計算機中保存和管理數據的所在。數據庫有很多種類型,目前最常見的是關係型的數據庫。
……
C語言其實很簡單 下載 mobi pdf epub txt 電子書 格式 2024
C語言其實很簡單 下載 mobi epub pdf 電子書nice
評分挺有用的
評分不錯,給孩子買的,我也可以看看。
評分 評分準備好好復習瞭,希望這本書買得有價值。。。
評分nice
評分很好的書,物流也給力
評分京東自營配送,速度快,質量好。
評分有點差啊
C語言其實很簡單 mobi epub pdf txt 電子書 格式下載 2024