c語言c99標準_自學C語言之一

上次自學C語言還是在剛開學到國慶期間,聽學姐的建議買了本C語言的書,在軍訓期間的晚上翻翻看看。后來選課、開始正式上課、面試社團、開各種會等等,好像每天都有許多事要忙,但又沒忙出來什么結果,慢慢地好像就把C語言放下了。近日拿出C語言的書再次學習,發現比初學時理解透徹了些。
書中第一章簡要介紹了C語言的歷史和特性、編寫程序的步驟、編譯器和連接器的一些知識和C標準等。使用C語言通常有7個步驟:定義程序的目標、設計程序、編寫代碼、編譯、運行程序、測試和調試程序、維護和修改程序。計算機語言有許多種,我們選擇C語言的理由主要包括它的設計特性、高效性、可移植性、強大而靈活、面向程序員等。當然C語言也有一些缺點,如C語言十分嚴謹、涉及指針的編程錯誤難以察覺等。瑕不掩瑜,C語言的優點比缺點多很多,它仍是最重要的編程語言之一。
第二章以一個簡單程序為例,逐行介紹代碼的含義與細節,了解之后能夠自己編寫簡單的程序,會調用printf()函數,打印一些簡單對話。
不過讓我印象更深的還是關鍵字與變量。
關鍵字如下:
dba626a1c57ffabbf554ca20526fca83.png
bae3eddd8351aef8286056a9adcdc81b.png 變量有三個基本要素:變量名、變量的數據類型和值。基本數據類型包括關鍵字、有符號整型、無符號整型(只能表示零和正整數)、布爾類型(1表示true,0表示false)、實浮點型、字符型、復數和虛數浮點數。

整數是沒有小數部分的數,浮點數與之相反,二者的儲存方案不同,計算機把浮點數分成小數部分和指數部分來表示,分開儲存這兩部分(即7.00和7在數值上相同,但儲存方式不同)
其中 int 類型、short int 類型、long int 類型、long 類型、long long int 類型、long long 類型 、unsigned int 類型、unsigned 類型均為整數類型(在C90標準中添加了unsigned long int 或 unsigned long 和 unsigned short int 或 unsigned short類型,C99標準又添加了 unsigned long long int 或unsigned long long ,本人電腦在運行當中證實了不支持C99和C11)一般 long long 占64位,long 占32位,short 占16位,int 占16位或32位。對于16位機,short 和 int 最小取值范圍是 -32767到32767;對于32位機,long 的最小取值范圍是-2147483647到2147483647。對于 unsigned short 和 unsigned int ,最小取值范圍是0到65535對于 unsigned long ,最小取值范圍是0到4294967295。 long long 類型是為了支持64位的需求,最小取值范圍是-9223372036854775807到9223372036854775807; unsigned long long 的最小取值范圍是0到18446744073709551615。如果一個數超出了int類型的取值范圍,且在long類型的取值范圍內時,使用long 類型。然而,對于那些long占用的空間比int大的系統,使用long類型會減慢運算速度。如果在long類型和int類型占用空間相同的機器上編寫代碼,當確實需要32位的整數時,應使用long類型而不是int類型,以便把程序移植到16位機后仍然可以正常工作。類似地,如果確實需要64位的整數,應使用long long類型。如果在int 設置為32位的系統中要使用16位的值,應使用short類型以節省存儲空間。通常,只有當程序使用相對于系統可用內存較大的整型數組時,才需要重點考慮節省空間的問題。使用short類型的另一個原因是,計算機中某些組件使用的硬件寄存器是16位。
浮點類型包括float類型、double類型(意為雙精度)和long double類型。float類型必須至少能表示6位有效數字(不是精確到小數點后6位數字)。通常系統儲存一個浮點數要占用32位,其中8位用于表示指數的值和符號,剩下24位用于表示非指數部分(也叫作尾數或有效數)及其符號。double類型和float類型的最小取值范圍相同,但至少必須能表示10位有效數字。一般情況下,double占用64位而不是32位,一些系統將多出的32位全部用來表示非指數部分,不僅增加了有效數字的位數(即提高了精度),而且還減少了舍入誤差,另一些系統把其中的一些位分配給指數部分,以容納更大的指數,從而增加了可表示數的范圍。無論哪種方法,double類型的值至少有13位有效數字,超過了標準的最低位數規定。
不同變量對應的轉換說明也不同,如下示例
feda6a0d7b1c307a2d2e15c609dd6c49.png
5096f68df5aa3768a5631d37b48d4428.png如%.2f 中的.2用于精確控制輸出,指定輸出的浮點數只顯示小數點后面兩位。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/258955.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/258955.shtml
英文地址,請注明出處:http://en.pswp.cn/news/258955.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

boost解析info文件

先給出info文件: parameters {MAX_STAGES 4MAX_DEPTH 3MAX_NUMTRESS 5MAX_NUMTHRESHS 500MAX_NUMFEATS 1000,1000,1000,500,500,500,400,400MAX_RATIO_RADIUS 0.3,0.2,0.2,0.15,0.12,0.10,0.08,0.06,0.06,0.05BAGGING_OVERLAP 0.4IS_FLIP true }meanface {MAX_ITER…

Font Rending 的 Hint 機制對排版的影響

Font Rending 的 Hint 機制對排版的影響【轉】 在設計一種 Font 時,設計者使用的是一個抽象的單位,叫做 EM,來源于大寫 M 的寬度(通常英文字體中大寫 M 的寬度最大)。EM 即不同于在屏幕顯示時用的像素(Pixe…

《SQL初學者指南(第2版)》——2.4 指定列

本節書摘來自異步社區出版社《SQL初學者指南(第2版)》一書中的第2章,第2.4節,作者:【美】Larry Rockoff,更多章節內容可以訪問云棲社區“異步社區”公眾號查看。 2.4 指定列 到目前為止,我們只…

python從文件中提取特定文本_使用Python從HTML文件中提取文本

我發現最好的一段代碼用于提取文本,而不需要javascript或不需要的東西:import urllibfrom bs4 import BeautifulSoupurl "http://news.bbc.co.uk/2/hi/health/2284783.stm"html urllib.urlopen(url).read()soup BeautifulSoup(html)# kill …

mutable、volatile的使用

本文轉載自http://blog.csdn.net/tht2009/article/details/6920511 (1)mutable 在C中,mutable是為了突破const的限制而設置的。被mutable修飾的變量,將永遠處于可變的狀態,即使在一個const函數中,甚至結構體變量或者類對象為const…

文本框點擊后文字消失總結

1.文本框顯示默認文字&#xff1a; <textarea>白鴿男孩</textarea> <textarea>白鴿男孩</textarea>    2.鼠標點擊文本框&#xff0c;默認文字消失&#xff1a; <textarea οnfοcus”if(value’白鴿男孩’) {value’ ‘}”>白鴿男孩</text…

[裴禮文數學分析中的典型問題與方法習題參考解答]4.5.8

需要全部的解答, 請 http://www.cnblogs.com/zhangzujin/p/3527416.html 設 $f(x)$ 在 $[a,\infty)$ 上可微; 且 $x\to\infty$ 時, $f(x)$ 單調遞增趨于 $\infty$, 則 $$\bex \int_a^\infty \sin f(x)\rd x,\quad \int_a^\infty \cos f(x)\rd x \eex$$ 都收斂. 證明: 由 $$\be…

《PowerShell V3——SQL Server 2012數據庫自動化運維權威指南》——2.13 創建視圖...

本節書摘來自異步社區出版社《PowerShell V3—SQL Server 2012數據庫自動化運維權威指南》一書中的第2章&#xff0c;第2.13節&#xff0c;作者&#xff1a;【加拿大】Donabel Santos&#xff0c;更多章節內容可以訪問云棲社區“異步社區”公眾號查看。 2.13 創建視圖 本方案展…

python刷抖音_用Python生成抖音字符視頻!

抖音字符視頻在去年火過一段時間。 反正我是始終忘不了那段極樂凈土的音樂... 這一次自己也來實現一波&#xff0c;做一個字符視頻出來。 主要用到的庫有cv2&#xff0c;pillow庫。 原視頻如下&#xff0c;直接抖音下載的&#xff0c;妥妥的水印。 不過并不影響本次的操作。 / …

變長參數

轉載自&#xff1a;http://blog.csdn.net/tht2009/article/details/7019635 變長參數 設計一個參數個數可變、參數類型不定的函數是可能的&#xff0c;最常見的例子是printf函數、scanf函數和高級語言的Format函數。在C/C中&#xff0c;為了通知編譯器函數的參數個數和類型可變…

第十七章 我國農業科學技術

農村改革解說&#xff08;專著&#xff09;第十七章 第十七章 我國農業科學技術 1、為什么說科學技術是生產力&#xff1f; 我們說科學技術是生產力&#xff0c;是因為在構成生產力的兩個主要因素中&#xff0c;都包含著科學技術在內。 A、生產力中人的因素是同一定的科學技術緊…

《淘寶網開店 拍攝 修圖 設計 裝修 實戰150招》一一1.2 選購鏡頭時應注意的事項...

本節書摘來自異步社區出版社《淘寶網開店 拍攝 修圖 設計 裝修 實戰150招》一書中的第1章&#xff0c;第1.2節&#xff0c;作者&#xff1a; 葛存山&#xff0c;更多章節內容可以訪問云棲社區“異步社區”公眾號查看。 1.2 選購鏡頭時應注意的事項 面對如此之多的鏡頭&#xf…

OpenCV中的神器Image Watch

Image Watch是在VS2012上使用的一款OpenCV工具&#xff0c;能夠實時顯示圖像和矩陣Mat的內容&#xff0c;跟Matlab很像&#xff0c;方便程序調試&#xff0c;相當好用。跟VS2012配合使用&#xff0c;簡直就是一款神器&#xff01;讓我一下就愛上它了&#xff01; 下面介紹一些鏈…

python異步_Python通過Thread實現異步

當long函數耗時較長時&#xff0c;需要程序先向下執行&#xff0c;這就需要異步&#xff0c;改寫代碼如下&#xff1a; import _thread import time def long(cb): print (long execute) def fun(callback): time.sleep(5) result long end callback(result) _thread.start_ne…

SAM4E單片機之旅——13、LCD之ASF初步

在Atmel Studio 6中&#xff0c;集成了Atmel Software Framework&#xff08;ASF框架&#xff09;。通過它提供的庫&#xff0c;可以很快速地完成新的項目。 這次的最終目標使用ASF在LCD上顯示出文字“Hello World!”&#xff0c;現階段目標是點亮LCD的背光&#xff0c;學習目標…

《HTML5與CSS3實戰指南》——2.2 基本的HTML5模板

本節書摘來自異步社區《HTML5與CSS3實戰指南》一書中的第2章&#xff0c;第2.2節,作者&#xff1a; 【美】Estelle Weyl , Louis Lazaris , Alexis Goldstein 更多章節內容可以訪問云棲社區“異步社區”公眾號查看。 2.2 基本的HTML5模板 在您學習HTML5和新技術時&#xff0c;您…

c# Message const

typeTMsg packed recordhwnd: HWND; //窗口句柄message: UINT;//消息常量標識符wParam: WPARAM ;// 32位消息的特定附加信息lParam: LPARAM ;// 32位消息的特定附加信息time: DWORD;//消息創建時的時間pt: TPoint; //消息創建時的鼠標位置end ; 消息中有什么&#xff1f;是否覺…

OpenCV坐標體系的初步認識

實驗基礎本次實驗通過一個簡短的例子&#xff0c;主要來說明下面4個問題&#xff1a; 1. 坐標體系中的零點坐標為圖片的左上角&#xff0c;X軸為圖像矩形的上面那條水平線&#xff1b;Y軸為圖像矩形左邊的那條垂直線。該坐標體系在諸如結構體Mat,Rect,Point中都是適用的。&…

python爬取知乎live_Python爬蟲 - 簡單抓取百度指數

前言有點忙&#xff0c;沒空寫東西&#xff0c;這是之前寫的&#xff0c;加了些配圖而已 這次要爬的網站是百度指數 正文 一、分析 打開網站(百度指數)&#xff0c;呈現出來是這樣的 如果搜索的話就需要登陸了&#xff0c;如果沒有什么特別頻繁的請求的話&#xff0c;直接登陸復…

在Visual Studio上開發Node.js程序

在Visual Studio上開發Node.js程序 原文:在Visual Studio上開發Node.js程序【題外話】 最近準備用Node.js做些東西&#xff0c;于是找找看能否有Visual Studio上的插件以方便開發。結果還真找到了一個&#xff0c;來自微軟的Node.js Tools for Visual Studio&#xff08;NTVS&a…