日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言再学习--关键字

發布時間:2025/3/15 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言再学习--关键字 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如需轉載請注明出處:https://blog.csdn.net/qq_29350001/article/details/53021879

C語言一共有32個關鍵字,如下表所示:

?

關鍵字

說明

auto

聲明自動變量

short

聲明短整型變量或函數

int

聲明整型變量或函數

long

聲明長整型變量或函數

float

聲明浮點型變量或函數

double

聲明雙精度變量或函數

char

聲明字符型變量或函數

struct

聲明結構體變量或函數

union

聲明共用數據類型

enum

聲明枚舉類型

typedef

用以給數據類型取別名

const

聲明只讀變量

unsigned

聲明無符號類型變量或函數

signed

聲明有符號類型變量或函數

extern

聲明變量是在其他文件正聲明

register

聲明寄存器變量

static

聲明靜態變量

volatile

說明變量在程序執行中可被隱含地改變

void

聲明函數無返回值或無參數,聲明無類型指針

if

條件語句

else

條件語句否定分支(與?if?連用)

switch

用于開關語句

case

開關語句分支

for

一種循環語句

do

循環語句的循環體

while

循環語句的循環條件

goto

無條件跳轉語句

continue

結束當前循環,開始下一輪循環

break

跳出當前循環

default

開關語句中的“其他”分支

sizeof

計算數據類型長度

return

子程序返回語句(可以帶參數,也可不帶參數)循環條件

?

參看:C語言32個關鍵字詳解

?1數據類型關鍵字
?A)基本數據類型(5個)
?void:聲明函數無返回值或無參數,聲明無類型指針,顯式丟棄運算結果
?char:字符型類型數據,屬于整型數據的一種
?int:整型數據,通常為編譯器指定的機器字長
?float:單精度浮點型數據,屬于浮點數據的一種
?double:雙精度浮點型數據,屬于浮點數據的一種
?B)類型修飾關鍵字(4個)
?short:修飾int,短整型數據,可省略被修飾的int。
?long:修飾int,長整形數據,可省略被修飾的int。
?signed:修飾整型數據,有符號數據類型
?unsigned:修飾整型數據,無符號數據類型
?C)復雜類型關鍵字(5個)
?struct:結構體聲明
?union:共用體聲明
?enum:枚舉聲明
?typedef:聲明類型別名
?sizeof:得到特定類型或特定類型變量的大小
?D)存儲級別關鍵字(6個)
?auto:指定為自動變量,由編譯器自動分配及釋放。通常在棧上分配
?static:指定為靜態變量,分配在靜態變量區,修飾函數時,指定函數作用域為文件內部
?register:指定為寄存器變量,建議編譯器將變量存儲到寄存器中使用,也可以修飾函數形參,建議編譯器通過寄存器而不是堆棧傳遞參數
?extern:指定對應變量為外部變量,即在另外的目標文件中定義,可以認為是約定由另外文件聲明的對象的一個“引用“
?const:與volatile合稱“cv特性”,指定變量不可被當前線程/進程改變(但有可能被系統或其他線程/進程改變)
?volatile:與const合稱“cv特性”,指定變量的值有可能會被系統或其他進程/線程改變,強制編譯器每次從內存中取得該變量的值


?2流程控制關鍵字
?A)跳轉結構(4個)
?return:用在函數體中,返回特定值(或者是void值,即不返回值)
?continue:結束當前循環,開始下一輪循環
?break:跳出當前循環或switch結構
?goto:無條件跳轉語句
?B)分支結構(5個)
?if:條件語句
?else:條件語句否定分支(與if連用)
?switch:開關語句(多重分支語句)
?case:開關語句中的分支標記
?default:開關語句中的“其他”分治,可選。
?C)循環結構(3個)
?for:for循環結構,for(1;2;3)4;的執行順序為1->2->4->3->2...循環,其中2為循環條件
?do:do循環結構,do 1 while(2);的執行順序是1->2->1...循環,2為循環條件
?while:while循環結構,while(1) 2;的執行順序是1->2->1...循環,1為循環條件
?以上循環語句,當循環條件表達式為真則繼續循環,為假則跳出循環。

?

下面來詳細介紹各個關鍵字:

(簡單的就一筆帶過,有必要的會另起一篇文章,詳細講述。)

基本數據類型(5個)
?void
?char
?int
?float
?double
類型修飾關鍵字(4個)
?short
?long
?signed

?unsigned

?

1)在windows,32位系統中
char ? ? ? ? 1個字節
short ? ? ? ?2個字節
int ? ? ? ? ? ?4個字節
long ? ? ? ? 4個字節
double ? ?8個字節
float ? ? ? ? 4個字節

2)數據類型和占位符之間的對應關系
char和unsingned char ? ? %c
short ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?%hd
unsigned short ? ? ? ? ? ? ? ? %hu
long ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %ld
unsigned long ? ? ? ? ? ? ? ? ?%lu
int ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?%d
unsigned int ? ? ? ? ? ? ? ? ? ? %u
float ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %f/%g
double ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %lf/%lg

%f和%lf會保留小數點后面多余的0 ? 如 3.1400000 ? .2%f得 3.14
%g和%lg不會保留 ? 如 3.14

?

規定整型值相互之間大小的規則:

長整型至少應該和整型一樣長,而整型至少應該和短整型一樣長。

?

擴展:C語言再學習 5--浮點數

擴展:C語言再學習 19 -- 負數

?

3)signed、unsigned關鍵字

signed char取值范圍是 -2^7 到 2^7-1
unsigned char取值范圍是 0 到 2^8

?

signed int取值范圍是 -2^31 到 2^31-1
unsigned int取值范圍是 0 到 2^32

?

留兩個問題思考:
1), int i = -20;
unsigned j = 10;
i+j 的值為多少?為什么?

-10 ? 應該是按照有符號的來計算的

2), 下面的代碼有什么問題?
unsigned i ;
for (i=9;i>=0;i--)
{
printf("%u\n",i);
}

一直打印無法停止,到了0 后,變成-1。因為-1是有符號的了,再變成 4294967295一直又減下去了

?

4)void關鍵字:

參看:C語言再學習 19 -- void

復雜類型關鍵字(5個)
?struct
?union
?enum
?typedef
?sizeof

1)struct

參看:C語言再學習 -- 關鍵字struct(轉)

?

2)union、enum

參看:C語言再學習 -- 結構和其他數據形式

?

3)typedef

參看:C語言再學習 -- 關鍵字typedef

?

4)sizeof

參看:C語言再學習 -- sizeof與strlen

存儲級別關鍵字(6個)
?auto
?static
?register
?extern
?const
?volatile

1)auto、static、register、extern

參看:C語言再學習 -- 存儲類型關鍵字

?

2)const

參看:C語言再學習 -- 關鍵字const

?

3)volatile

參看:C語言再學習 -- 關鍵字volatile

?

2、流程控制關鍵字
?A)跳轉結構(4個)
?return
?continue
?break
?goto

?

1)return

參看:C語言再學習 -- 關鍵字return和exit

?

2)continue、break、goto

參看:C語言再學習 -- 分支與跳轉語句


?B)分支結構(5個)
?if
?else
?switch
?case
?default

?

1)if、else、switch、case、default

參看:C語言再學習 -- 分支與跳轉語句


?C)循環結構(3個)
?for
?do
?while

?

1)for、do、while

參看:C語言再學習 -- 循環語句

如需轉載請注明出處:https://blog.csdn.net/qq_29350001/article/details/53021879

總結

以上是生活随笔為你收集整理的C语言再学习--关键字的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。