C語(yǔ)言入門(mén)之基礎(chǔ)知識(shí)詳解
一、思維導(dǎo)圖

內(nèi)容不限于此思維導(dǎo)圖
二、環(huán)境搭建
對(duì)于老手,自動(dòng)跳過(guò)這一趴吧,或者也可以看一下我有沒(méi)有啥紕漏,畢竟小白需要這一趴。
編譯器很多,大部分老師會(huì)在學(xué)生學(xué)習(xí)C語(yǔ)言的時(shí)候推薦使用VC,不帶語(yǔ)言提示器的那種,說(shuō)是可以提高學(xué)生的編碼能力。我也不知道到底是不是這么一回事兒。我推薦使用VS,這樣學(xué)的快,函數(shù)記不住的問(wèn)題很?chē)?yán)重嗎?項(xiàng)目的車(chē)輪碾壓過(guò)去,再記不住也得記住吧?。?!
更何況這個(gè)系列到后面是會(huì)有需要用文本文件編程寫(xiě)項(xiàng)目的階段。
下載VS2019社區(qū)版,不要標(biāo)新立異選那些最新版的,出了問(wèn)題到時(shí)候又調(diào)不過(guò)來(lái)。
下載之后點(diǎn)擊安裝,前面一路正常,會(huì)出困惑的應(yīng)該是這個(gè)界面:


如果說(shuō)之后還有需要什么功能的話,也是可以再行添加的:
打開(kāi)visual studio Installer,進(jìn)入修改:

不建議安裝在C盤(pán),換一個(gè)路徑吧。
再接下來(lái),就是創(chuàng)建一個(gè)項(xiàng)目:



新建一個(gè)寫(xiě)代碼的地方:
Ctrl+shift+A

編譯運(yùn)行代碼:

三、編碼規(guī)范
分號(hào):在 C 程序中,分號(hào)是語(yǔ)句結(jié)束符。也就是說(shuō),每個(gè)語(yǔ)句必須以分號(hào)結(jié)束。它表明一個(gè)邏輯實(shí)體的結(jié)束。
比方說(shuō):printf(“hello world”);
注釋?zhuān)阂?// 開(kāi)始的單行注釋?zhuān)@種注釋可以單獨(dú)占一行。
/* 多行注釋 多行注釋 多行注釋 */
不能在注釋內(nèi)嵌套注釋?zhuān)⑨屢膊荒艹霈F(xiàn)在字符串或字符值中。
標(biāo)識(shí)符:C 標(biāo)識(shí)符是用來(lái)標(biāo)識(shí)變量、函數(shù),或任何其他用戶自定義項(xiàng)目的名稱(chēng)。一個(gè)標(biāo)識(shí)符以字母 A-Z 或 a-z 或下劃線 _ 開(kāi)始,后跟零個(gè)或多個(gè)字母、下劃線和數(shù)字(0-9)
C 標(biāo)識(shí)符內(nèi)不允許出現(xiàn)標(biāo)點(diǎn)字符
程序入口:C語(yǔ)言的程序入口從main函數(shù)開(kāi)始、
頭文件:引用頭文件的時(shí)候有兩種方法:
#include <·····> //引用系統(tǒng)頭文件 #include "·····" //引用我們自己的頭文件
四、基本數(shù)據(jù)類(lèi)型

標(biāo)準(zhǔn)輸入輸出
#include<stdio.h>
int main() {
/*
這是一個(gè)輸出的示例函數(shù)代碼
*/
int i = 47;
printf("hello world");
printf("%d\n", i);
system("pause");
return 0;
}
%d就是控制符,用“,“隔開(kāi)參數(shù),進(jìn)行格式化輸出時(shí),有許多控制符,常用的有:
%d 十進(jìn)制有符號(hào)整數(shù)。 %s 字符串。 %c 單個(gè)字符。
盤(pán)點(diǎn)一下:
%d —— 以帶符號(hào)的十進(jìn)制形式輸出整數(shù) %o —— 以無(wú)符號(hào)的八進(jìn)制形式輸出整數(shù) %x —— 以無(wú)符號(hào)的十六進(jìn)制形式輸出整數(shù) %u —— 以無(wú)符號(hào)的十進(jìn)制形式輸出整數(shù) %c —— 以字符形式輸出單個(gè)字符 %s —— 輸出字符串 %f —— 以小數(shù)點(diǎn)形式輸出單、雙精度實(shí)數(shù) %e —— 以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度實(shí)數(shù) %g —— 選用輸出寬度較小的格式輸出實(shí)數(shù)
輸入部分:
#include<stdio.h>
int main() {
int i;
printf("請(qǐng)輸入整型i的值:\n");
scanf_s("%d", &i); #注意這里的寫(xiě)法,&i
printf("輸入的值是:%d\n",i);
return 0;
}
五、分支循環(huán)
5.1 分支

if(boolean_expression)
{
/* 如果布爾表達(dá)式為真將執(zhí)行的語(yǔ)句 */
}
if(boolean_expression)
{
/* 如果布爾表達(dá)式為真將執(zhí)行的語(yǔ)句 */
}
else
{
/* 如果布爾表達(dá)式為假將執(zhí)行的語(yǔ)句 */
}
if( boolean_expression 1)
{
/* 當(dāng)布爾表達(dá)式 1 為真時(shí)執(zhí)行 */
if(boolean_expression 2)
{
/* 當(dāng)布爾表達(dá)式 2 為真時(shí)執(zhí)行 */
}
}
switch(expression){
case constant-expression :
statement(s);
break; /* 可選的 */
case constant-expression :
statement(s);
break; /* 可選的 */
/* -簡(jiǎn)介可以有任意數(shù)量的 case 語(yǔ)句 */
default : /* 可選的 */
statement(s);
}
switch(ch1) {
case 'A':
printf("這個(gè) A 是外部 switch 的一部分" );
switch(ch2) {
case 'A':
printf("這個(gè) A 是內(nèi)部 switch 的一部分" );
break;
case 'B': /* 內(nèi)部 B case 代碼 */
}
break;
case 'B': /* 外部 B case 代碼 */
}
三目運(yùn)算符:
Exp1 ? Exp2 : Exp3;
這個(gè)三目運(yùn)算符呢,相對(duì)來(lái)說(shuō)并不是那么非要掌握的,拿來(lái)裝逼用挺好。
如果在代碼中看到別人這么寫(xiě),理解一下就好:
問(wèn)好前面是判斷條件,如果為真,執(zhí)行冒號(hào)前面的語(yǔ)句,否則執(zhí)行冒號(hào)后面的語(yǔ)句。
5.2 循環(huán)

while循環(huán)
while(condition)
{
statement(s);
}
statement(s) 可以是一個(gè)單獨(dú)的語(yǔ)句,也可以是幾個(gè)語(yǔ)句組成的代碼塊。
condition 可以是任意的表達(dá)式,當(dāng)為任意非零值時(shí)都為 true。當(dāng)條件為 true 時(shí)執(zhí)行循環(huán)。 當(dāng)條件為 false 時(shí),退出循環(huán)。
#include <stdio.h>
int main()
{
int i=1,j;
while (i <= 5)
{
j=1;
while (j <= i )
{
printf("%d ",j);
j++;
}
printf("\n");
i++;
}
return 0;
}
for循環(huán)
for ( init; condition; increment )
{
statement(s);
}
init 會(huì)首先被執(zhí)行,且只會(huì)執(zhí)行一次(可以放空,但是分號(hào)要有)。一般用于聲明對(duì)象。
判斷 condition(可以放空,默認(rèn)為真)。如果為真,則執(zhí)行循環(huán)主體。如果為假,則不執(zhí)行循環(huán)主體,且控制流會(huì)跳轉(zhuǎn)到緊接著 for 循環(huán)的下一條語(yǔ)句。
執(zhí)行完 for 循環(huán)主體,跳回上面的 increment 語(yǔ)句(可以放空)。一般用于更新循環(huán)控制變量。
如此,循環(huán)往復(fù)。
#include <stdio.h>
int main ()
{
/* for 循環(huán)執(zhí)行 */
for( int a = 10; a < 20; a = a + 1 )
{
printf("a 的值: %d\n", a);
}
return 0;
}
六、break與continue
當(dāng) break 語(yǔ)句出現(xiàn)在一個(gè)循環(huán)內(nèi)時(shí),循環(huán)會(huì)立即終止,且程序流將繼續(xù)執(zhí)行緊接著循環(huán)以外的下一條語(yǔ)句。
它還可用于終止 switch 語(yǔ)句中的一個(gè) case。
continue 會(huì)跳過(guò)當(dāng)前循環(huán)中的代碼,強(qiáng)迫開(kāi)始下一次循環(huán)。
對(duì)于 for 循環(huán),continue 語(yǔ)句執(zhí)行后increment語(yǔ)句仍然會(huì)執(zhí)行。對(duì)于 while 循環(huán),continue 語(yǔ)句重新執(zhí)行條件判斷語(yǔ)句。
6.1 無(wú)限循環(huán)
相信我,總有一天你會(huì)需要無(wú)限循環(huán)的。
#include <stdio.h>
int main ()
{
for( ; ; ) //或者while(1)
{
printf("該循環(huán)會(huì)永遠(yuǎn)執(zhí)行下去!\n");
}
return 0;
}
到此這篇關(guān)于C語(yǔ)言入門(mén)之基礎(chǔ)知識(shí)詳解的文章就介紹到這了,更多相關(guān)C語(yǔ)言基礎(chǔ)知識(shí)詳解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Qt鍵盤(pán)事件實(shí)現(xiàn)圖片在窗口上下左右移動(dòng)
這篇文章主要為大家詳細(xì)介紹了Qt鍵盤(pán)事件實(shí)現(xiàn)圖片在窗口上下左右移動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
C語(yǔ)言實(shí)現(xiàn)魔方陣算法(幻方陣 奇魔方 單偶魔方實(shí)現(xiàn))
魔方陣是指由1,2,3……n2填充的,每一行、每一列、對(duì)角線之和均相等的方陣,階數(shù)n = 3,4,5…。魔方陣也稱(chēng)為幻方陣,看下面的實(shí)現(xiàn)方法吧2013-11-11
簡(jiǎn)要解讀C++的動(dòng)態(tài)和靜態(tài)關(guān)聯(lián)以及虛析構(gòu)函數(shù)
這篇文章主要介紹了簡(jiǎn)要解讀C++的動(dòng)態(tài)和靜態(tài)關(guān)聯(lián)以及虛析構(gòu)函數(shù),析構(gòu)函數(shù)在C++編程中平時(shí)并不是太常用,需要的朋友可以參考下2015-09-09
C/C++多參數(shù)函數(shù)參數(shù)的計(jì)算順序與壓棧順序的示例代碼
這篇文章主要介紹了C/C++多參數(shù)函數(shù)參數(shù)的計(jì)算順序與壓棧順序,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
C++與C#互調(diào)dll的實(shí)現(xiàn)步驟
這篇文章主要介紹了C++與C#互調(diào)dll的實(shí)現(xiàn)步驟,dll動(dòng)態(tài)鏈接庫(kù)的共享在一些大型項(xiàng)目中有一定的應(yīng)用價(jià)值,需要的朋友可以參考下2014-08-08

