初识C语言学习笔记 入门
目錄
C語言之C生萬物
VS2019的使用方法(如下圖)
C語言的構成:
主函數
左值
右值
#include
scanf()函數
printf()函數
C語言之C生萬物
C語言作為一門底層開發語言,從十九世紀七十年代誕生至今近50年間,在TIOBE 排行榜中,C/C++位置長期霸占前三名,沒有絲毫撼動,可謂經典永不過時!
而C語言是一門通用計算機編程語言,廣泛應用于底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的
C語言程序可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超
級電腦等作業平臺。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言制
定了一套完整的美國國家標準語法,稱為ANSI C,作為C語言最初的標準。 [1] 目前2011年12月8
日,國際標準化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標
準,也是C語言的最新標準,該標準更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢
字編程。
C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。
其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
Clang是一個C語言、C++、Objective-C語言的輕量級編譯器。源代碼發布于BSD協議下。Clang是一個由Apple主導編寫,基于LLVM的C/C++/Objective-C編譯器,2013年4月,Clang已經全面支持C++11標準,并開始實現C++1y特性(也就是C++14,這是C++的下一個小更新版本)。Clang將支持其普通lambda表達式、返回類型的簡化處理以及更好的處理constexpr關鍵字。
終端用戶特色:
快速編譯和較少內存占用;有診斷功能;兼容GCC。
GCC原名為GNU C語言編譯器(GNU C Compiler),只能處理C語言。但其很快擴展,變得可處理C++,后來又擴展為能夠支持更多編程語言。GCC(GNU Compiler Collection,GNU編譯器套件)是由GNU開發的編程語言編譯器,GCC的初衷是為GNU操作系統專門編寫一款編譯器,現已被大多數類Unix操作系統(如Linux、BSD、MacOS X等)采納為標準的編譯器,甚至在微軟的Windows上也可以使用GCC。
MSVC,就是微軟(MS)的VC運行庫,即Visual C++的運行庫。使用微軟的運行庫可以在編程的時候大大減少編碼量,同時也能提高代碼的兼容性,在運行的時候,就需要事先安裝好運行庫。而所有的運行庫統稱為MSVC。屬于集成開發環境。而在C語言學習階段,將會使用到VS2019(Visual Stdio 2019)。
VS2019的使用方法(如下圖)
其中包括編輯器,編譯器,調試器,鏈接器。
?
最后,便能開始C語言的編程啦!
C語言的構成:
主函數
int main() {return 0;//要縮進,返回值0 }//一個C程序有多個函數,但只有一個主函數,執行代碼是先從主函數開始執行 //書寫代碼要規范 //每個一句以分號形式結束,但函數的頭文件處的預處理命令不能加分號 //函數體內,在函數后要加{} #define _CRT_SECURE_NO_WARNINGS 1//此處定義一個安全函數,解決VS環境下scanf無法安全使用的情況 #include<stdio.h>//#定義的預處理命令,頭文件 int main() {int a = 0;//定義一個整型變量scanf("%d",&a);//輸入函數,%d是從鍵盤接收一個整型變量,用“,”隔開,&a中&是尋址操作符printf("Hello World!\n");//'\n'是換行命令符,“”內輸入要輸出的內容printf("%d",a);//輸出函數return 0; } //&a表示對象a在內存中的地址,是一個右值 //在C語言中表示位于賦值運算符兩側的兩個值,左邊叫左值(內存空間),右邊叫右值(內存地址里的數據)左值
指的是如果一個表達式可以引用到某一個對象,并且這個對象是一塊內存空間且可以被檢查和存儲,那么這個表達式就可以作為一個左值。
右值
指的是引用了一個存儲在某個內存地址里的“數據”。
從上面的兩個定義可以看出,左值其實要引用一個對象,而一個對象在我們的程序中又肯定有一個名字或者可以通過一個名字訪問到,所以左值又可以歸納為:左值表示程序中必須有一個特定的名字引用到這個值。而右值引用的是地址里的內容,所以相反右值又可以歸納為:右值表示程序中沒有一個特定的名字引用到這個值除了用地址。
#include<stdio.h>
此段代碼是文件包含命令,主要是將<>或""中的文件命令包含到本程序中,使其成為代碼的一部分,包含的文件一般由系統提供。這里的stdio是standard input output的縮寫,是標準輸入輸出的意思。有了這個頭文件就可以使用scanf函數和printf函數。
scanf()函數
輸入函數,格式?scanf(格式控制字符串,參數地址表);
其中,格式控制字符串是用雙引號括起來的字符串,它包括格式轉換說明符和分隔符兩個部分。函數 scanf ()的格式轉換說明符通常由%開始,并以一個格式字符結束,用于指定各參數的輸入格式。
| 格式轉換說明符 | 用法 |
| %d | 輸入十進制整數 |
| %o | 輸入八進制整數 |
| %x | 輸入十六進制整數 |
| %c | 輸入一個字符,空白字符(包括空格,回車,制表符)也作為有效字符輸入 |
| %s | 輸入字符串,遇到空白字符(包括空格、回車、制表符)時,系統認為讀入結束(但在開始讀之前遇到的空白字符會被系統跳過) |
| %f或%e | 輸入實數,以小數或指數形式輸入均可 |
| %% | 輸入一個百分號 |
printf()函數
輸入函數,格式 printf(格式控制字符串);
printf(格式控制字符串,輸出值參數表);
其中,格式控制字符串( Format String )是用雙引號括起來的字符串,也稱轉換控制字符串,輸出值參數表中可有多個輸出值,也可沒有(只輸出一個字符串時)。一般情況下,格式控制字符串包括兩部分:格式轉換說明( Format? Specifier )和需原樣輸出的普通字符,格式轉換說明由%開始,并以轉換字符( Conversion??Character )結束,用于指定各輸出值參數的輸出格式。
| 格式轉換說明 | 用法 |
| %d | 輸出帶符號的十進制整數,正數的符號省略 |
| %u | 以無符號的十進制整數形式輸出 |
| %o | 以無符號的八進制整數形式輸出,不輸出前導符0 |
| %x | 以無符號十六進制整數形式(小寫)輸出,不輸出前導符0x |
| %X | 以無符號十六進制整數形式(大寫)輸出,不輸出前導符0x |
| %c | 輸出一個字符 |
| %s | 輸出字符串 |
| %f | 以十進制小數形式輸出實數(包括單、雙精度),整數部分全部輸出,隱含輸出6位小數,輸出的數字并非全部是有效數字,單精度實數的有效位數一股為7位,雙精度實數的有效位數一般為16位。 % f 適合于輸出像3.14這樣的小數位較少的實數,可以使實數輸出的寬度較小 |
| %e | 以指數形式(小寫 e 表示指數部分)輸出實數,要求小數點之前必須有且僅有一位非零數字。 |
| %E | 以指數形式(大寫E表示指數部分)輸出實數 |
| %g | 自動選取f或 e 格式中輸出寬度較小的一種使用, 且不輸出無意義的0 |
| %% | 輸出百分號% |
Continue......
總結
以上是生活随笔為你收集整理的初识C语言学习笔记 入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高等数学张宇18讲 第五讲 中值定理
- 下一篇: 恩智浦智能车摄像头循迹部分