[C语言学习]C语言程序设计基础(一)
C語言程序設計基礎(一)
- C語言基礎知識
- C語言文件后綴名說明:
- 學C語言前需要了解的計算機基礎知識
- 計算機語言
- 內存
- 內存中的數據存放
- C語言序論
- C語言程序組成
- C語言的執行
- C語言的數據類型—非數字型
- ASCII碼
- 轉義字符
大家好這里是三歲,C語言是各類語言的基礎,由于個人學習需要特別開設了C語言基礎專題,內容不一定深入,都是基礎知識,還是白話C語言,最簡單的方式帶領大家學習不是那么容易理解的C語言!(該系列應該每周末更新直到系列結束,有問題的及時留言,會馬上修改!)
C語言基礎知識
C語言文件后綴名說明:
*代表的是通配符
- C語言文件:其拓展名為 *.c或者 *.cpp(c++)源文件名
- *.h 是頭文件名(包含文件)可以使用 # include <* .h>進行導入(相當于文件引用)
(拓展:類似于python中的import)
學C語言前需要了解的計算機基礎知識
計算機語言
語言是溝通交流的工具(區別在于不同的語言表達方式不同)
而計算機語言也類似:
是人與計算機之間的交流的方式(工具)
計算機語言可以分為低級語言和高級語言下面對內容進行了分析:
語言三要素:語法、詞匯、語義;
白話三要素:
語法:對應于C語言的一些特定語法:if、else……
詞匯:對應的應該是保留的關鍵字
語義:就是對指定的代碼的解析(a=1對應把1賦值給a)
內存
計算機內部存放中間結果的,是臨時數據存放的地方。
在內存中按照字節(Byte)劃分存儲單元
1Byte == 8bit
| 正整數(無符號整數) | 0 ~ 255 |
| 帶符號數 | -128 ~ 127 |
為什么呢?
計算機中,如果是帶符號的第一位就代表了符號 0代表正的、1代表負的。
- 無符號整數:
- 帶符號數
內存地址:每個字節給予一個從0開始的順序編號。
小知識:
設在C語言中:char * p存在一個內存中。
變量p分配的內存是__sizeof(unsigned)__B.(固定大小是4)
每保存一個數據就會給出一個地址:數據占據
如果一個數據的內容太大了(占據多個字節時):以首地址(低位地址)作為數據存儲單元地址。(假設初始是128,占了6個位置那么他的地址就是128(可以理解為學號))
CPU根據內存地址范圍數據(訪問需要知道訪問地址和訪問的大小(字節數))
白話:
訪問地址類似于你家的門牌號,幾棟幾單元
但是還是不知道你在哪個房間,還需要一個訪問大小
類似于第幾個房間或者是到第幾個房間(簡易理解不代表正確)
地址是數值(整數類型):經過符號化生成了變量
程序員通用變量訪問數據(數據初始化地址)但是沒有大小,這個時候就出現了數據類型
| int a | &a | sizeof(int) | 4 |
| char b | &b | sizeof(char) | 1 |
| double c | &c | sizeof(double) | 8 |
內存中的數據存放
內存的數據都是以補碼的形式進行存儲的。
里面分為真值、原碼、反碼、補碼
emmmm這個不好 解釋逐個來白話
真碼:有正負號的二進制(十進制、八進制、十六進制)數據
例如:12、-1902……
原碼:真碼的二進制值
例如 :1100、111 0110 1110
反碼 :正數的反碼等于原碼,負數的反碼是原碼符號位不變其他位取反
補碼:正數的補碼等于反碼,負數的補碼是反碼符號位不變其他的取反加一
-
正數
-
負數
C語言序論
發展史 :源于上世紀60年代末、70年代初
由B語言發展而來。
優點:效率高,可移植性較好。
C語言是結構化面向過程的編程語言。
C語言程序組成
- C語言程序由函數組成
- C語言中main() (主函數)是程序的入口
- 主函數在一個程序里面有且只有一個
- C語言面向的過程可以是:子程序、函數、模塊
函數頭:
函數返回值類型 函數名(形參列表)冒號
形參列表:
類型1 參數1, 類型2 參數2,……,類型n 參數n
舉例:
函數主體: 變量申明語句、函數功能完成語句、return返回語句
- 變量聲明語句:
變量類型 變量名 = 變量初始值 (語言解析:把變量初始值賦值給屬于變量類型的變量名)
- 函數功能完成語言:
使用C語言的語法完成有關的內容
- return返回語句:
就是把需要的計算結果進行返回用于其他函數或代碼的使用。
(void類型沒有數據返回,int類型有返回是整型,以此類推……)
舉例:
#include<stdio.h> // 文件引用 #define pi 3.14 // 定義pi的值為3.14 void main() // 定義空主函數(程序入口) {float area,p,r; //變量聲明語句 定義變量// 函數功能完成語言,通過輸入輸出和公示完成內容printf("圓的半徑:");//輸出內容scanf("%f,");//輸入一個字符串類型數據area=(float)pi*r*r;//計算圓的面積printf("圓的面積:%6.2f\n",area);//輸出圓的面積p=(float)pi*2*r;//計算圓的周長printf("圓的周長:%6.2f\n",p);//輸出圓的周長return;//無返回值 }C語言的執行
- 編輯—— 編輯源程序(*.c 、 *.cpp)
- 編譯——生成目標程序(*.obj) 將.c文件編譯成二進制代碼
- 鏈接——生成可執行文件(*.exe)
C語言的數據類型—非數字型
非數字類型:字符、字符串
- 字符:用單引號括起來的一個字符
- 字符串:用雙引號括起來的若干有限個字符序列。
注:一個漢字占兩個字符位
字符串內占字節空間數 = 字符數+1(多了一個’\0’)
ASCII碼
美國信息交換標準代碼:是基于拉丁字母的一套電腦編碼系統,主要用于顯示現代英語和其他西歐語言。它是最通用的信息交換標準.
ASCII 碼使用指定的7 位或8 位二進制數組合來表示128 或256 種可能的字符。
后128個稱為擴展ASCII碼。許多基于x86的系統都支持使用擴展(或“高”)ASCII。擴展ASCII 碼允許將每個字符的第8 位用于確定附加的128 個特殊符號字符、外來語字母和圖形符號
字符在C語言中存放 (或者是在C語言中的表示)是對于ASCII碼的碼字
| ‘a’ - ‘z’ | 97 - 122 |
| ‘A’ - ‘Z’ | 65 - 90 |
| ‘0’ - ‘9’ | 48 - 57 |
| ’ ’ (空格) | 32 |
| ‘’(空) | 0 |
轉義字符
所有的ASCII碼都可以用“\”加數字(一般是8進制數字)來表示。而C中定義了一些字母前加""來表示常見的那些不能顯示的ASCII字符,如\0,\t,\n等,就稱為轉義字符,因為后面的字符,都不是它本來的ASCII字符意思了。
如果'\字符'合起來表示一個特殊字符則發生轉義,如果不符合則不能夠表示特殊字符 應該理解為兩個字符。
今天的資料就整理到這里了,非常感大家的關注,如果好就來個一鍵三連吧!
[C語言學習]C語言程序設計基礎(二)[點擊傳送]
總結
以上是生活随笔為你收集整理的[C语言学习]C语言程序设计基础(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: platform_device和plat
- 下一篇: 共轭梯度法推导