新聞中心
本文的定位讀者為小白讀者,將使用最快的方法過(guò)完C語(yǔ)言基礎(chǔ)知識(shí),并且制作一個(gè)學(xué)生管理系統(tǒng)。由于是快速閱覽,本文不會(huì)描述過(guò)多的其它知識(shí),大部分知識(shí)點(diǎn)只是描述了如何進(jìn)行使用,如何深入還需要各位努力;不過(guò)學(xué)習(xí)了一遍內(nèi)容后,學(xué)習(xí)起來(lái)也會(huì)較為容易。

創(chuàng)新互聯(lián)公司專注于天水企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。天水網(wǎng)站建設(shè)公司,為天水等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站策劃,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
一、HelloWorld
HelloWorld 是經(jīng)典的編程入門程序,指在編寫代碼生成程序,運(yùn)行該程序?qū)?huì)在程序中顯示 HelloWorld。以下是一個(gè) HelloWorld 的C語(yǔ)言代碼:
#include
int main(){
printf("HelloWorld");
}
以上程序中 #include 稱為頭文件,頭文件我們可以理解成“將工具箱拿過(guò)來(lái)”這一件事。代碼 #include 中,#include<> 相當(dāng)于一只手,stdio.h 為需要拿過(guò)來(lái)的工具箱的名。那為什么要拿這個(gè)工具?是因?yàn)槲覀冊(cè)谶@個(gè)代碼中將會(huì)用到這個(gè)工具箱中的工具。
int main(){} 為一個(gè)程序的入口,什么是程序的入口呢?其實(shí)就像醫(yī)院或者一些場(chǎng)所,總有一個(gè)大門規(guī)定從此進(jìn)入,否者當(dāng)客戶想要進(jìn)入這個(gè)場(chǎng)所時(shí)將會(huì)找不到入口。而這個(gè)main就是我們這個(gè)代碼的入口,里面具體的內(nèi)容就寫在main后面的花括號(hào){}中。
花括號(hào)中的代碼是 printf("HelloWorld");,其中printf()叫做printf函數(shù),其實(shí)函數(shù)這個(gè)術(shù)語(yǔ)我們可以理解成一個(gè)功能或者說(shuō)工具,printf()是存放在stdio.h 中的工具,printf()可以用來(lái)顯示你要顯示的內(nèi)容,在printf()圓括號(hào)中使用雙引號(hào)引起你想要顯示的內(nèi)容即可。在這里需要顯示的是HelloWorld。注意,一般情況下,每一句代碼結(jié)束后需要使用分號(hào)進(jìn)行結(jié)尾。
編譯運(yùn)行程序?qū)?huì)出HelloWorld:
二、變量
變量在C語(yǔ)言中我們可以當(dāng)做是一個(gè)存放內(nèi)容的容器,例如可以存一個(gè)數(shù)字、一個(gè)字符、小數(shù)等。變量有不同的類型,包括整型、字符型、浮點(diǎn)數(shù);浮點(diǎn)數(shù)我們可以簡(jiǎn)單的理解成小數(shù)即可。
如果你想要?jiǎng)?chuàng)建一個(gè)整數(shù)類型的變量很簡(jiǎn)單,整數(shù)在C語(yǔ)言中使用int進(jìn)行描述,隨后我們?cè)趇nt后輸入一個(gè)字符串或者字符就可以完成一個(gè)變量的創(chuàng)建,但是要注意,需要使用分號(hào)結(jié)束:
#include
int main(){
int a;
}
以上代碼 int 是類型描述,a字符是這個(gè)變量的名字,此時(shí)就等于讓計(jì)算機(jī)創(chuàng)建了一個(gè)名字標(biāo)識(shí)為a,能存儲(chǔ)整數(shù)類型的變量了。我們一般在創(chuàng)建一個(gè)變量時(shí)需要對(duì)變量初始化,初始化是指給這個(gè)變量一個(gè)值,讓我們能夠知道這個(gè)變量具體所存儲(chǔ)的內(nèi)容,所以可以這樣寫:
#include
int main(){
int a=0;
}
以上代碼 int a=0; 使用等于號(hào)將0存入了a變量,等于號(hào)的作用則是將等于號(hào)右邊的值存入左邊的變量中。
變量可以使用printf()將其內(nèi)容進(jìn)行輸出顯示,代碼如下:
#include
int main(){
int a=0;
printf("%d",a);
}
以上代碼 printf("%d",a); 將會(huì)把變量a的內(nèi)容進(jìn)行顯示,其中 %d 是一個(gè)占位符,占位符則表示在此處占據(jù)一個(gè)位置,之后將會(huì)替換成一個(gè)值;在這句代碼中,我們可以看見雙引號(hào)后使用逗號(hào)對(duì)變量a進(jìn)行了分隔,當(dāng)運(yùn)行printf()這一句代碼時(shí),將會(huì)輸出printf圓括號(hào)內(nèi)雙引號(hào)后使用逗號(hào)分隔的第一個(gè)變量值。
在此我們需要注意,創(chuàng)建一個(gè)變量后,之后使用該變量不需要在此將類型符一起編寫。就例如你跟你朋友介紹小a,只需要第一次介紹完畢,之后就直接說(shuō)名字就認(rèn)識(shí)了。
程序運(yùn)行結(jié)果如下:
三、常量
變量在程序運(yùn)行時(shí)是可變的,而常量不行。當(dāng)你創(chuàng)建一個(gè)常量時(shí)給予了它值,那么之后的值都不能進(jìn)行改變。我們先看一下變量在程序運(yùn)行時(shí)改變內(nèi)容是否可以:
#include
int main(){
int a=0;
printf("%d",a);
a=10;
printf(" %d",a);
}
以上代碼在顯示了第一次a的值后再次改變了a里面的內(nèi)容為10,之后再次輸出顯示,將為等于10:
接下來(lái)看下常量。常量只需要在創(chuàng)建一個(gè)變量時(shí)使用 const 進(jìn)行修飾即可:
#include
int main(){
const int a=0;
printf("%d",a);
a=10;
printf(" %d",a);
}
此時(shí)我們編譯代碼將會(huì)出錯(cuò):
四、變量運(yùn)算
變量之間是可以相互相加減的,例如正常的加減法、乘除法等。首先我們可以創(chuàng)建兩個(gè)變量:
int a=10;
int a1=20;
1
2
a和a1相加并且顯示就可以寫成如下代碼:
#include
int main(){
int a=10;
int a1=20;
printf("%d",a+a1);
}
以上代碼printf("%d",a+a1);中,%d是個(gè)占位符,將會(huì)輸出a與a1相加后的值。之前解釋過(guò),%d將會(huì)顯示引號(hào)后逗號(hào)隔開的第一個(gè)值,在這里a+a1是一個(gè)值,將會(huì)先運(yùn)算,然后進(jìn)行相加,結(jié)果為:
我們也可以同時(shí)顯示a與a1的值:
#include
int main(){
int a=10;
int a1=20;
printf("%d %d",a,a1);
}
以上代碼printf中,第一個(gè)%d 顯示引號(hào)后第一個(gè)逗號(hào)隔開的a值,第二個(gè)%d將會(huì)顯示逗號(hào)隔開的第二個(gè)值a1。結(jié)果為:
同時(shí)一行創(chuàng)建兩個(gè)變量以及乘法運(yùn)算可以寫成:
#include
int main(){
int a=10,a1=20;
printf("%d",a*a1);
}
五、輸入
在C語(yǔ)言中可以從鍵盤中輸入一個(gè)值并且賦值給一個(gè)變量。使用一個(gè)工具叫做scanf()函數(shù),它也存放在stdio.h這個(gè)頭文件工具箱中。以下是scanf()的使用方法:
#include
int main(){
int a=10;
printf("%d",a);
scanf("%d",&a);
printf("%d",a);
}
以上代碼首先創(chuàng)建了一個(gè)變量a等于10,隨后顯示a的值,之后使用了scanf("%d",&a);,在這個(gè)代碼中,%d表示接收即將要輸入的值,&a表示取到a的地址,并且把輸入的值存到變量a中。其實(shí)%d是一個(gè)只代表整數(shù)類型的占位符。最后再輸出a的值,結(jié)果如下:
六、邏輯
在C語(yǔ)言中,可以使用if語(yǔ)句對(duì)邏輯進(jìn)行判斷,例如判斷用戶輸入的數(shù)是否大于10。示例代碼如下:
#include
int main(){
int a=0;
scanf("%d",&a);
if(a>10){
printf("%d",a);
} }
以上代碼使用了if語(yǔ)句對(duì)輸入的值進(jìn)行判斷,在使用scanf后將值存入了變量a中,之后使用if語(yǔ)句在if語(yǔ)句后的圓括號(hào)中輸入條件,如果這個(gè)條件成立則運(yùn)行后面花括號(hào)的代碼printf("%d",a);,如果條件不正確,那么則不會(huì)執(zhí)行其它代碼。
- 輸入1,不顯示其他代碼,因?yàn)椴淮笥?0。
- 輸入11,條件成立,執(zhí)行花括號(hào)內(nèi)的代碼:
我們還可以在if語(yǔ)句后輸入其它代碼表示已經(jīng)執(zhí)行完if語(yǔ)句:
#include
int main(){
int a=0;
scanf("%d",&a);
if(a>10){
printf("%d",a);
}
printf("if 語(yǔ)句已經(jīng)執(zhí)行完畢");
}
運(yùn)行結(jié)果如下;
七、if else
if 語(yǔ)句還有一個(gè)else 分支,else分支用于在條件判斷錯(cuò)誤后執(zhí)行:
#include
int main(){
int a=0;
scanf("%d",&a);
if(a>10){
printf("條件成立,輸入值是 %d",a);
}else{
printf("條件錯(cuò)誤,輸入值是 %d",a);
}}
以上printf語(yǔ)句中有其他字符串以及占位符 %d,此時(shí)其它字符串照原樣輸出顯示,%d將會(huì)替換成變量a的值:
八、if else if
使用if else if語(yǔ)句可以為if語(yǔ)句判斷多個(gè)條件。
#include
int main(){
int a=0;
scanf("%d",&a);
if(a==1){
printf("a是 %d",a);
}else if(a==2){
printf("a是 %d",a);
} else if(a==3){
printf("a是 %d",a);
} else if(a==4){
printf("a是 %d",a);
} else{
printf("條件都不對(duì)");
}}
以上代碼使用了else if語(yǔ)句,在else if語(yǔ)句中可以增加多個(gè)判斷條件,判斷a的值為什么。在C語(yǔ)言中使用兩個(gè)等于號(hào)表示判斷左右兩邊的值是否相等。
九、邏輯運(yùn)算
在C語(yǔ)言中,使用一個(gè)if語(yǔ)句也可以判斷多個(gè)條件,這時(shí)需要使用邏輯判斷符&&邏輯與、||邏輯或。例如你需要判斷小于10以內(nèi)的偶數(shù),那么就是兩個(gè)條件;其一需要小于10,其二需要能夠被2整除,而且這兩個(gè)條件是同時(shí)都要滿足的,既要小于10,也要能夠被2整除。例如現(xiàn)在有一個(gè)變量a存儲(chǔ)的是用戶輸入的數(shù),這兩個(gè)條件就可以寫成 a<10和a%2==0,這兩個(gè)條件中的%是取模運(yùn)算,指的是取余數(shù),余數(shù)為0則表示能夠判斷被2整除。
那么如何使用if語(yǔ)句同時(shí)判斷這兩個(gè)條件呢?其實(shí)只需要在if語(yǔ)句中使用&&將兩個(gè)條件連接即可:
#include
int main(){
int a=0;
scanf("%d",&a);
if(a<10 && a%2==0){
printf("條件成立");
}else{
printf("條件不對(duì)");
}}
以上代碼中,if語(yǔ)句后的圓括號(hào)中輸入條件,在這里使用兩個(gè)&&將兩個(gè)條件進(jìn)行了連接,表示兩個(gè)條件都是要同時(shí)滿足。a%2==0表示取余數(shù)后結(jié)果要為0,運(yùn)行結(jié)果如下:
如果只需要滿足其中一個(gè)條件,只需要將&&換成||即可:
#include
int main(){
int a=0;
scanf("%d",&a);
if(a<10 || a%2==0){
printf("條件成立");
}else{
printf("條件不對(duì)");
}}
輸入12,能夠被2整除,不必小于10,滿足條件其一即可:
十、循環(huán)
循環(huán)在C語(yǔ)言中可以對(duì)某一段代碼塊重復(fù)執(zhí)行。示例代碼:
#include
int main(){
int a=0;
while(a<10){
printf("重復(fù)");
a=a+1;
}}
以上代碼首先創(chuàng)建了一個(gè)變量a,里面存儲(chǔ)的內(nèi)容是0,隨后使用一個(gè)while進(jìn)行循環(huán)。while是重復(fù)的關(guān)鍵字,你可以當(dāng)作一個(gè)魔法咒語(yǔ),直接使用while在后面的圓括號(hào)中是while循環(huán)的條件,在這里是a<10,意思是只要a這個(gè)變量的存儲(chǔ)值不大于10,那么就會(huì)一直循環(huán);圓括號(hào)后的花括號(hào)中是需要重復(fù)的代碼,在這里是printf("重復(fù)");與a=a+1,每次重復(fù)執(zhí)行代碼都會(huì)顯示重復(fù),并且a等于自身加1再給予自身,這樣a變量每重復(fù)一次就會(huì)增加1,第一次是1第二次為2,總有一次會(huì)超過(guò)10,超過(guò)10則會(huì)跳出循環(huán)不再執(zhí)行。結(jié)果如下:
為了更直觀的查看結(jié)果,我們?cè)趐rintf語(yǔ)句中增加一個(gè)換行符\n,我們可以理解\n為一個(gè)特殊功能字符串,使用后每次顯示到該位置就會(huì)換到下一行:
#include
int main(){
int a=0;
while(a<10){
printf("重復(fù)\n");
a=a+1;
}}
結(jié)果為:
除了while循環(huán)我們還可以使用一個(gè)for循環(huán),跟while循環(huán)一樣,都是循環(huán)作用:
#include
int main(){
int a=0;
for(a=0;a<10;a++){
printf("重復(fù)\n");
}}
以上代碼for與while一樣是一個(gè)關(guān)鍵字,你可以當(dāng)作是一個(gè)魔法咒語(yǔ),在圓括號(hào)中使用分號(hào)分隔了a=0、a<10與a++,其中a=0只會(huì)運(yùn)行一次,表示將0存入a,隨后a<10為這個(gè)for循環(huán)的循環(huán)條件,如果條件不對(duì)將會(huì)跳出循環(huán),每次for循環(huán)運(yùn)行a<10都會(huì)運(yùn)行一次,a++等于a=a+1,表示a變量自增1,此時(shí)每次循環(huán)a變量就會(huì)加上1,總有一次會(huì)跳出循環(huán)。結(jié)果為:
十一、結(jié)構(gòu)體
結(jié)構(gòu)體簡(jiǎn)單的來(lái)說(shuō)是一個(gè)數(shù)據(jù)的類型,跟int整型一樣,都是一種數(shù)據(jù)類型,是有多個(gè)或其它數(shù)量的數(shù)據(jù)類型組成的一種結(jié)構(gòu),其它數(shù)量的數(shù)據(jù)類型可以是整形等。代碼示例:
#include
void main(){
struct human{
int age;
char sex;
char name;
} ;
struct human xiaoming;
}
以上代碼使用一個(gè) struct human 表示創(chuàng)建一個(gè)結(jié)構(gòu)體,這個(gè)結(jié)構(gòu)體叫做human,花括號(hào)內(nèi)表示這個(gè)結(jié)構(gòu)體擁有什么屬性;int age;用來(lái)存儲(chǔ)年齡,char sex;中的char表示字符類型的數(shù)據(jù),跟int不一樣,char是值!@#¥……&*a之類的單個(gè)字符數(shù)據(jù),char name 表示存儲(chǔ)一個(gè)姓名代號(hào)。struct human xiaoming; 表示創(chuàng)建一個(gè)結(jié)構(gòu)體類型的數(shù)據(jù)叫做小明,其實(shí)就跟int a一樣,struct human只是表示這是結(jié)構(gòu)體 human的數(shù)據(jù),xiaoming值名稱。
我們看一個(gè)完整的使用示例:
#include
void main(){
struct human{
int age;
char sex;
char name;
} ;
struct human xiaoming;
xiaoming.age=10;
xiaoming.sex='T';
xiaoming.name='M';
printf(" age 為:%d\n",xiaoming.age);
printf(" sex 為:%c\n",xiaoming.sex);
printf(" name 為:%c\n",xiaoming.name);
}
以上代碼 xiaoming.age=10; 表示xiaoming這個(gè)結(jié)構(gòu)體類型數(shù)據(jù)中有一個(gè)叫做age的屬性,使用小數(shù)點(diǎn)加屬性名進(jìn)行賦值,那么就表示將這個(gè)值存儲(chǔ)到這個(gè)屬性中;xiaoming.sex='T';表示存儲(chǔ)T這個(gè)字符到sex這個(gè)戶型中,字符類型數(shù)據(jù)需要使用單引號(hào)引起來(lái),其中xiaoming.name='M';也是一樣;隨后使用printf進(jìn)行輸出時(shí)xiaoming.age就表示在這里使用age這個(gè)屬性的值進(jìn)行輸出,%d表示輸出的這個(gè)變量是個(gè)整數(shù);下一句printf語(yǔ)句中使用的占位符為%c,表示的是這個(gè)位置即將輸出一個(gè)字符類型的數(shù)據(jù),字符類的數(shù)據(jù)使用的是%c,而整數(shù)則是使用的是%d。
十二、數(shù)組
在之前的學(xué)習(xí)中我們使用了變量存儲(chǔ)單個(gè)的值,那如何使用一個(gè)容器存儲(chǔ)多個(gè)值呢?這個(gè)時(shí)候可以使用數(shù)組。顧名思義,數(shù)組就是一個(gè)值的組合,例如示例:
#include
void main(){
int a[]={1,2,3,4,5,99,888};
}
以上代碼使用int 描述了一個(gè)名稱為a的數(shù)組,其中方括號(hào)[]表示數(shù)組,在等于號(hào)右邊使用花括號(hào)將要存儲(chǔ)的值括起來(lái),并且使用逗號(hào)進(jìn)行分隔,這樣就創(chuàng)建好一個(gè)數(shù)組了。那如何顯示數(shù)組內(nèi)的值呢?這個(gè)時(shí)候我們可以使用數(shù)組名加下標(biāo)去進(jìn)行取值,例如我想取第一個(gè)并且顯示那么就可以寫成 printf("%d",a[0]);,在C語(yǔ)言中,是從0開始數(shù)數(shù)的,所以第一個(gè)我們使用的是a[0],第二個(gè)取值我們可以寫成printf("%d",a[1]);;我們可以對(duì)這些位置的值進(jìn)行重新的賦值例如 a[0]=11,示例如下:
#include
void main(){
int a[]={1,2,3,4,5,99,888};
printf("%d\n",a[2]);
a[2]=555;
printf("%d\n",a[2]);
}
以上代碼顯示a[2]的值為3,并且修改a[2]的值為555再次輸出,結(jié)果如下:
那如何顯示所有數(shù)組a的值呢?這個(gè)時(shí)候需要使用循環(huán),因?yàn)槲覀償?shù)組的取值是通過(guò)描述數(shù)組第幾個(gè)值進(jìn)行存取,我們稱為下標(biāo),下標(biāo)從0到數(shù)組所存儲(chǔ)的長(zhǎng)度為最大,此時(shí)使用循環(huán),設(shè)置一個(gè)變量從0開始即可取出數(shù)組內(nèi)所有的內(nèi)容:
#include
void main(){
int a[]={1,2,3,4,5,99,888};
int i;
for(i=0;i<7;i++){
printf("%d\n",a[i]);
}}
以上代碼使用for循環(huán),對(duì)數(shù)組進(jìn)行讀取,由于數(shù)組長(zhǎng)度最大為7,所以需要小于7,最后再使用變量i作為數(shù)組下標(biāo)即可,結(jié)果如下:
數(shù)組也可以先指定長(zhǎng)度最后賦值:
#include
void main(){
int a[10];
int i;
for(i=0;i<10;i++){
a[i]=i;
}
for(i=0;i<10;i++){
printf("%d\n",a[i]);
}}
以上代碼我們使用for循環(huán)設(shè)置數(shù)組a里面的內(nèi)容,a[10]表示數(shù)組a的長(zhǎng)度為10,能存儲(chǔ)10個(gè)值。隨后使用for循環(huán)設(shè)置數(shù)組a的內(nèi)容,第一次為1第二次為2以此類推,最后再使用循環(huán)進(jìn)行輸出,結(jié)果如下:
數(shù)組也可以先指定長(zhǎng)度最后賦值:
#include
void main(){
int a[10];
int i;
for(i=0;i<10;i++){
a[i]=i;
}
for(i=0;i<10;i++){
printf("%d\n",a[i]);
}
}
以上代碼我們使用for循環(huán)設(shè)置數(shù)組a里面的內(nèi)容,a[10]表示數(shù)組a的長(zhǎng)度為10,能存儲(chǔ)10個(gè)值。隨后使用for循環(huán)設(shè)置數(shù)組a的內(nèi)容,第一次為1第二次為2以此類推,最后再使用循環(huán)進(jìn)行輸出,結(jié)果如下:
新聞名稱:半小時(shí)一篇文過(guò)完C語(yǔ)言基礎(chǔ)知識(shí)點(diǎn)
本文路徑:http://m.fisionsoft.com.cn/article/djisegj.html


咨詢
建站咨詢
