1.c語言介紹
1)c語言於2023年發明,c語言是一門面向過程的語言。
2)c語言特點:豐富的運算子,豐富的資料型別,可以直接操作硬體,搞笑的**目標,可移植性好。
3)c語言版本:2023年c語言標準被批准,這個版本的c語言標準通常被稱為ansi c。2023年,國際標準化組織iso又對c語言標準進行修訂,在基本保留原來c語言特徵的基礎上,針對應該的需要,增加了一些功能,命名為c99。 2023年12月8日,iso正式公布c語言新的國際標準草案:c11。
4).c語言程式
mian函式是程式的入口,乙個程式只能有乙個main函式,需要乙個int返回值。返回值int可以省略,預設為int,main()函式中可以不提供return
#include void showmessage()
main(int argc, const char * argv)
例子2
int main(int argc, const char * argv)
5).#include是預處理指令,用於包含指定檔案,它的實際工作就是將檔案複製到指定的位置。包含的檔案可以是任意的檔案,不一定是.h檔案。#include包含檔案時有兩種方式:<>和「」。<>只會包含庫函式檔案,適用於包含庫函式。「」先查詢當前目錄下檔案,在查詢庫函式。
編譯:將對應的.c 原始檔編譯成目標檔案.obj。
7).c語言關鍵字
c語言關鍵字是c語言中特殊保留的符號,提供特殊含義,也稱「保留字」。c語言中一共有32個關鍵字,都有特殊的含義,都是小寫。
2.c語言資料型別
1).資料型別分類
基本型別:整型(int)浮點型(float,double), 字元型(char)
構造型別:陣列,結構體(struct),列舉(enum),共用體(union)
指標型別(void*):
空型別(void):
2).型別修飾符
short短型,修飾int,double.
long長型,修飾int,double。
signed有符號型,修飾int,char。
unsigned無符號型,修飾int,char
資料型別在不同編譯器環境中的位元組長度
資料型別
16位編譯器(位元組)
32位編譯器(位元組)
64位編譯器(位元組)
char11
1int24
4float44
4double88
8short int 22
2unsigned int24
4long44
8unsigned long44
8long long88
8void *24
8 3.變數、常量
1)變數
值經常發生改變的資料儲存,用變數來表示,比如int a = 1,a就是變數。變數的定義的目的是在記憶體中分配一塊記憶體空間來儲存資料。
2)變數的格式:變數型別 變數名稱
3)變數的賦值:可以是乙個變數的值,也可以連續賦值,比如,int a =1; int b = a以及int a = b= 1;
注意:變數名不能相同,在同乙個作用域內
4)常量
就是值不發生改變的的資料,用常量來表示,比如,1,2.2,『a』等都是常量。
5)常量分類:整型常量,浮點型常量,字元型常量,字串常量。
4.printf,scanf函式
1)printf()函式 ,輸出函式
格式符
格式符說明
%d帶符號十進位制形式輸出整數 int
%u不帶符號十進位制輸出整數 unsigned int
%o不帶符號八進位制輸出整數
%x以不帶符號十六進製制輸出整數
%c輸出乙個字元
%s輸出乙個或者多個字串
%f以小數形式輸出單精度,雙精度浮點數,預設6位小數
%e以指數形式輸出單精度,雙精度浮點數,預設6位小數
2)scanf()函式,輸入函式,從鍵盤接收使用者輸入的函式。
引數接收以回車進行結束操作
如果引數接收多個引數,引數之間的分隔符是任意的,但是如果分隔符是空格可以使用空格,tab,回車,(最後乙個回車結束任務);
scanf函式的格式:scanf("格式控制符",輸入項的位址列表)
scanf("%f",&score); //不允許%m.nf形式,但是%mf可以
注意:scanf的第乙個引數中不要包含\n,比如scanf(「%d\n」,&a); 這將導致scanf函式無法結束
5.基本運算
c語言共有34種運算子,主要分以下幾種:
1).算術運算子
+、-、*、/、%,++,--
2).關係運算子
==、!=、>、<、>=、<=
3)邏輯運算子
&&、||、!
4)按位運算子
&、|、^、~、<<、>>
5)賦值運算子
=、+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=
6)三目運算子
a>b? a:b
6.流程控制
1)分類:
順序結構,選擇結構,迴圈結構。
2)選擇結構-if
a.if(){}
b.if(){}else{}
c.if(){}else if(){}else{}
3)選擇結構-switch
switch(表示式)
4)迴圈結構-while
while(表示式)
5)迴圈結構-do-whiledo
{}while
( 條件
);6)迴圈結構-for
for(表示式1;表示式2;表示式3){}
注意:死迴圈for(;;),for迴圈內的作用域混淆(for (int i = 0; i<5; i++) int a = 10;)。
7)break和continue
break使用於switch和迴圈結構,continue使用於迴圈結構
C語言基礎知識
1 的問題。int i 1 int j 2 int k i j printf d k 輸出k為3。編譯原理有關編譯器在詞法解析的時候,對於運算子,總是查詢最大的匹配也就是說,i j,編譯器在找到 的時候,它不立即理解為 而是繼續下乙個字元,下乙個字元仍然是 可以組成 再往下的話便是 不成立了。所以i...
C語言基礎知識
一 位元組對齊 位元組對齊的原因,是機器在訪問記憶體中儲存的資料的高效性。通常機器是機器位數為自然邊界來訪問記憶體的,如果乙個4位元組整形數,所在的記憶體不在虛擬記憶體的自然邊界。則cpu需要讀多於一次的資料,這樣就降低了效率。所以,簡單地說,就是保證cpu指令在訪問資料的時候,能一次讀取,而不需要...
C語言基礎知識
1.進製 1 基數 基數為n,代表n進製 2 位權 從個位開始,向左依次編號為0,1.x 分別代表n進 制的x次 3 八進位制以0開頭,十六進製制以0x開頭 4 x 進製轉 進製 按權求和 十進位制轉 x進製 連除倒取餘 2.基本資料型別 3.常量 程式執行期間值不能被改變的量 分為 整型常量,浮點...