C語(yǔ)言概述基礎(chǔ)2

簡(jiǎn)單程序的結(jié)構(gòu)

int main(void) ? ?//函數(shù)頭

{//函數(shù)體

? ? ? ? ? ? 語(yǔ)句;

? ? ? ? ? ?return 0;

}

注:大部分的語(yǔ)句都是以分號(hào)(;)結(jié)束,還有必須是英文狀態(tài)下輸入符號(hào)。


可讀性

寫(xiě)程序必須要有可讀性,不然明天也許你就忘了那行代碼是什么意思,然后從頭開(kāi)始看,浪費(fèi)時(shí)間。

保持注釋,定義變量要來(lái)做什么,可以注釋說(shuō)明,這樣下次再看的時(shí)候能迅速知道,而且當(dāng)需要?jiǎng)e人閱讀你的代碼的時(shí)候,別人也會(huì)懂。

規(guī)定格式,保持縮進(jìn)(tab鍵縮進(jìn)),當(dāng)你寫(xiě)短的代碼的時(shí)候還不會(huì)怎么樣,但當(dāng)你寫(xiě)大量代碼的時(shí)候,如果沒(méi)有格式,你就會(huì)亂七八糟的,看都看不懂自己在寫(xiě)什么

如:

int main()

{

? ? ? ? ? if(....)

? ? ? ? ? {

? ? ? ? ? } ? ? ? ? ? //這樣保持一定的格式,知道什么時(shí)候開(kāi)始,什么時(shí)候結(jié)束。

}


多個(gè)函數(shù)

#include<stdio.h>

void call(void); ? //聲明函數(shù),這樣才能調(diào)用函數(shù)。

int main()

{

? ? ? ? ?printf("接下來(lái)調(diào)用函數(shù)\n");

? ? ? ? ?call();// 調(diào)用函數(shù)

? ? ? ? ?return 0;

}

void call(void)

{

? ? ? ?printf("這里是被調(diào)用的函數(shù),返回值是空,所以不用return,第二個(gè)(void)是不帶參數(shù)的意思\n");

}


編譯完執(zhí)行就會(huì)出現(xiàn)

我并沒(méi)有在 printf("接下來(lái)調(diào)用函數(shù)\n");寫(xiě)這個(gè)。而是寫(xiě)了call();? 因?yàn)榍懊媛暶髁撕瘮?shù),所以才可以調(diào)用,因?yàn)榫幾g器是自上到下編譯的。寫(xiě)到這里,大概有人想到了,把void call(void)函數(shù)寫(xiě)在main的前面,這樣就可以不用聲明也可以調(diào)用了。但一般有大量代碼的一般會(huì)把調(diào)用的函數(shù)寫(xiě)在其他文件里這里就需要自己寫(xiě)一個(gè)頭文件來(lái)定義,然后預(yù)編譯這個(gè)頭文件(#include"你的寫(xiě)頭文件.h")但需要把這個(gè)函數(shù)聲明extern,這樣外部文件也能調(diào)用。


C語(yǔ)言保留關(guān)鍵字和保留標(biāo)識(shí)符

auto ? ? ? ?extern ? ? short ? ? ? while ?

break ? ? ?float ? ? ?signed ? ? _Alignas ? ?

case ? ? ??for ? ? ? ? sizeof ? ?_Alignof ? ?

char ? ? ? ?goto ? ? ?static ? ? ?_Atomic

const ? ? ? if ? ? ? ? ? struct ? ? ?_Bool

continue ?inline ? ?switch ? _Complex

default ? ?int ? ? ? ?typedef ? ? _Generic

do ? ? ? ?long ? ? ?union ? ? _Imaginary

double ? ?register ? ? unsigned ? ? _Noreturn

else ? ? ? ? restrict ? ? ?void ? ? ? ? ?_Static_assert

enum ? ? ? return ? ? ?volatile ? ? _Thread_local

粗體表示c90新增的關(guān)鍵字,斜體表示c99標(biāo)準(zhǔn)新增的關(guān)鍵字,粗斜是C11新增的關(guān)鍵字。

數(shù)據(jù)類(lèi)型

數(shù)據(jù)類(lèi)型占用內(nèi)存:

32位編譯器:

char :1個(gè)字節(jié) ? ? 字符型

char*(即指針變量): 4個(gè)字節(jié)(32位的尋址空間是2^32, 即32個(gè)bit,也就是4個(gè)字節(jié)。同理64位編譯器) ?

short int : 2個(gè)字節(jié) ?短整型 ?-------------取值范圍: -32768~32767

int: 4個(gè)字節(jié)? ? 整型? ? -----------------取值范圍:-2147483648~2147483647

unsigned int : 4個(gè)字節(jié) ? 正整型

float: 4個(gè)字節(jié)? ? ? 浮點(diǎn)型(就是小數(shù)型)? 取值范圍:0以及1.2*10^(-38) ~ 3.4*10^(38)

double: 8個(gè)字節(jié)? ? 雙精度浮點(diǎn)型(還是小數(shù)型,不過(guò)內(nèi)存占用比f(wàn)loat多一倍。) 取值范圍:0以及1.2*10^(-308) ~ 3.4*10^(308)

long: 4個(gè)字節(jié) ??

long long: 8個(gè)字節(jié)

unsigned long: 4個(gè)字節(jié)

64位編譯器:

char :1個(gè)字節(jié)

char*(即指針變量): 8個(gè)字節(jié)

short int : 2個(gè)字節(jié)

int: 4個(gè)字節(jié)

unsigned int : 4個(gè)字節(jié)

float: 4個(gè)字節(jié)

double: 8個(gè)字節(jié)

long: 8個(gè)字節(jié)

long long: 8個(gè)字節(jié)

unsigned long: 8個(gè)字?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容