半小時一篇文過完C語言基礎知識點

      網友投稿 987 2025-04-02

      本文定位讀者為小白讀者,將使用最快的方法過完C語言基礎知識,并且制作一個學生管理系統。由于是快速閱覽,本文不會描述過多的其它知識,大部分知識點只是描述了如何進行使用,如何深入還需要各位努力;不過學習過了一遍內容后,學習起來也會較為容易。

      環境:

      系統:windows7

      IDE:Devc

      面向讀者:小白

      一、HelloWorld

      HelloWorld 是經典的編程入門程序,指在編寫代碼生成程序,運行該程序將會在程序中顯示 HelloWorld。以下是一個 HelloWorld 的C語言代碼:

      #include int main(){ printf("HelloWorld"); }

      以上程序中?#include?稱為頭文件,頭文件我們可以理解成“將工具箱拿過來”這一件事。代碼?#include?中,#include<>?相當于一只手,stdio.h?為需要拿過來的工具箱名。那為什么要拿這個工具?是因為我們在這個代碼中將會用到這個工具箱中的工具。

      int main(){}?為一個程序的入口,什么是程序的入口呢?其實就像醫院或者一些場所,總有一個大門規定從此進入,否者當客戶想要進入這個場所時將會找不到入口。而這個main就是我們這個代碼的入口,里面具體的內容就寫在main后面的花括號{}中。

      花括號中的代碼是?printf("HelloWorld");,其中printf()叫做printf函數,其實函數這個術語我們可以理解成一個功能或者說工具,printf()是存放在stdio.h?中的工具,printf()可以用來顯示你要顯示的內容,在printf()圓括號中使用雙引號引起你想要顯示的內容即可。在這里需要顯示的是HelloWorld。注意,一般情況下,每一句代碼結束后需要使用分號進行結尾。

      編譯運行程序將會出HelloWorld:

      二、變量

      變量在C語言中我們可以當做是一個存放內容的容器,例如可以存一個數字、一個字符、小數等。變量有不同的類型,包括整型、字符型、浮點數;浮點數我們可以簡單的理解成小數即可。

      如果你想要創建一個整數類型的變量很簡單,整數在C語言中使用int進行描述,隨后我們在int后輸入一個字符串或者字符就可以完成一個變量的創建,但是要注意,需要使用分號結束:

      #include int main(){ int a; }

      以上代碼?int?是類型描述,a字符是這個變量的名字,此時就等于讓計算機創建了一個名字標識為a,能存儲整數類型的變量了。我們一般在創建一個變量時需要對變量初始化,初始化是指給這個變量一個值,讓我們能夠知道這個變量具體所存儲的內容,所以可以這樣寫:

      #include int main(){ int a=0; }

      以上代碼?int a=0;?使用等于號將0存入了a變量,等于號的作用則是將等于號右邊的值存入左邊的變量中。

      變量可以使用printf()將其內容進行輸出顯示,代碼如下:

      #include int main(){ int a=0; printf("%d",a); }

      以上代碼?printf("%d",a);?將會把變量a的內容進行顯示,其中?%d?是一個占位符,占位符則表示在此處占據一個位置,之后將會替換成一個值;在這句代碼中,我們可以看見雙引號后使用逗號對變量a進行了分隔,當運行printf()這一句代碼時,將會輸出printf圓括號內雙引號后使用逗號分隔的第一個變量值。

      半小時一篇文過完C語言基礎知識點

      在此我們需要注意,創建一個變量后,之后使用該變量不需要在此將類型符一起編寫。就例如你跟你朋友介紹小a,只需要第一次介紹完畢,之后就直接說名字就認識了。

      程序運行結果如下:

      三、常量

      變量在程序運行時是可變的,而常量不行。當你創建一個常量時給予了它值,那么之后的值都不能進行改變。我們先看一下變量在程序運行時改變內容是否可以:

      #include int main(){ int a=0; printf("%d",a); a=10; printf(" %d",a); }

      以上代碼在顯示了第一次a的值后再次改變了a里面的內容為10,之后再次輸出顯示,將為等于10:

      接下來看下常量。常量只需要在創建一個變量時使用?const?進行修飾即可:

      #include int main(){ const int a=0; printf("%d",a); a=10; printf(" %d",a); }

      此時我們編譯代碼將會出錯:

      四、變量運算

      變量之間是可以相互相加減的,例如正常的加減法、乘除法等。首先我們可以創建兩個變量:

      int a=10; int a1=20;

      a和a1相加并且顯示就可以寫成如下代碼:

      #include int main(){ int a=10; int a1=20; printf("%d",a+a1); }

      以上代碼printf("%d",a+a1);中,%d是個占位符,將會輸出a與a1相加后的值。之前解釋過,%d將會顯示引號后逗號隔開的第一個值,在這里a+a1是一個值,將會先運算,然后進行相加,結果為:

      我們也可以同時顯示a與a1的值:

      #include int main(){ int a=10; int a1=20; printf("%d %d",a,a1); }

      以上代碼printf中,第一個%d?顯示引號后第一個逗號隔開的a值,第二個%d將會顯示逗號隔開的第二個值a1。結果為:

      同時一行創建兩個變量以及乘法運算可以寫成:

      #include int main(){ int a=10,a1=20; printf("%d",a*a1); }

      五、輸入

      在C語言中可以從鍵盤中輸入一個值并且賦值給一個變量。使用一個工具叫做scanf()函數,它也存放在stdio.h這個頭文件工具箱中。以下是scanf()的使用方法:

      #include int main(){ int a=10; printf("%d",a); scanf("%d",&a); printf("%d",a); }

      以上代碼首先創建了一個變量a等于10,隨后顯示a的值,之后使用了scanf("%d",&a);,在這個代碼中,%d表示接收即將要輸入的值,&a表示取到a的地址,并且把輸入的值存到變量a中。其實%d是一個只代表整數類型的占位符。最后再輸出a的值,結果如下:

      六、邏輯

      在C語言中,可以使用if語句對邏輯進行判斷,例如判斷用戶輸入的數是否大于10。示例代碼如下:

      #include int main(){ int a=0; scanf("%d",&a); if(a>10){ printf("%d",a); } }

      以上代碼使用了if語句對輸入的值進行判斷,在使用scanf后將值存入了變量a中,之后使用if語句在if語句后的圓括號中輸入條件,如果這個條件成立則運行后面花括號的代碼printf("%d",a);,如果條件不正確,那么則不會執行其它代碼。

      輸入1,不顯示其他代碼,因為不大于10。

      輸入11,條件成立,執行花括號內的代碼:

      我們還可以在if語句后輸入其它代碼表示已經執行完if語句:

      #include int main(){ int a=0; scanf("%d",&a); if(a>10){ printf("%d",a); } printf("if 語句已經執行完畢"); }

      運行結果如下;

      七、if else

      if 語句還有一個else?分支,else分支用于在條件判斷錯誤后執行:

      #include int main(){ int a=0; scanf("%d",&a); if(a>10){ printf("條件成立,輸入值是 %d",a); }else{ printf("條件錯誤,輸入值是 %d",a); } }

      以上printf語句中有其他字符串以及占位符?%d,此時其它字符串照原樣輸出顯示,%d將會替換成變量a的值:

      八、if else if

      使用if else if語句可以為if語句判斷多個條件。

      #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("條件都不對"); } }

      以上代碼使用了else if語句,在else if語句中可以增加多個判斷條件,判斷a的值為什么。在C語言中使用兩個等于號表示判斷左右兩邊的值是否相等。

      九、邏輯運算

      在C語言中,使用一個if語句也可以判斷多個條件,這時需要使用邏輯判斷符&&邏輯與、||邏輯或。例如你需要判斷小于10以內的偶數,那么就是兩個條件;其一需要小于10,其二需要能夠被2整除,而且這兩個條件是同時都要滿足的,既要小于10,也要能夠被2整除。例如現在有一個變量a存儲的是用戶輸入的數,這兩個條件就可以寫成?a<10和a%2==0,這兩個條件中的%是取模運算,指的是取余數,余數為0則表示能夠判斷被2整除。

      那么如何使用if語句同時判斷這兩個條件呢?其實只需要在if語句中使用&&將兩個條件連接即可:

      #include int main(){ int a=0; scanf("%d",&a); if(a<10 && a%2==0){ printf("條件成立"); }else{ printf("條件不對"); } }

      以上代碼中,if語句后的圓括號中輸入條件,在這里使用兩個&&將兩個條件進行了連接,表示兩個條件都是要同時滿足。a%2==0表示取余數后結果要為0,運行結果如下:

      如果只需要滿足其中一個條件,只需要將&&換成||即可:

      #include int main(){ int a=0; scanf("%d",&a); if(a<10 || a%2==0){ printf("條件成立"); }else{ printf("條件不對"); } }

      輸入12,能夠被2整除,不必小于10,滿足條件其一即可:

      十、循環

      循環在C語言中可以對某一段代碼塊重復執行。示例代碼:

      #include int main(){ int a=0; while(a<10){ printf("重復"); a=a+1; } }

      以上代碼首先創建了一個變量a,里面存儲的內容是0,隨后使用一個while進行循環。while是重復的關鍵字,你可以當作一個魔法咒語,直接使用while在后面的圓括號中是while循環的條件,在這里是a<10,意思是只要a這個變量的存儲值不大于10,那么就會一直循環;圓括號后的花括號中是需要重復的代碼,在這里是printf("重復");與a=a+1,每次重復執行代碼都會顯示重復,并且a等于自身加1再給予自身,這樣a變量每重復一次就會增加1,第一次是1第二次為2,總有一次會超過10,超過10則會跳出循環不再執行。結果如下:

      為了更直觀的查看結果,我們在printf語句中增加一個換行符\n,我們可以理解\n為一個特殊功能字符串,使用后每次顯示到該位置就會換到下一行:

      #include int main(){ int a=0; while(a<10){ printf("重復\n"); a=a+1; } }

      結果為:

      除了while循環我們還可以使用一個for循環,跟while循環一樣,都是循環作用:

      #include int main(){ int a=0; for(a=0;a<10;a++){ printf("重復\n"); } }

      以上代碼for與while一樣是一個關鍵字,你可以當作是一個魔法咒語,在圓括號中使用分號分隔了a=0、a<10與a++,其中a=0只會運行一次,表示將0存入a,隨后a<10為這個for循環的循環條件,如果條件不對將會跳出循環,每次for循環運行a<10都會運行一次,a++等于a=a+1,表示a變量自增1,此時每次循環a變量就會加上1,總有一次會跳出循環。結果為:

      十一、結構體

      結構體簡單的來說是一個數據的類型,跟int整型一樣,都是一種數據類型,是有多個或其它數量的數據類型組成的一種結構,其它數量的數據類型可以是整形等。代碼示例:

      #include void main(){ struct human{ int age; char sex; char name; } ; struct human xiaoming; }

      以上代碼使用一個?struct human?表示創建一個結構體,這個結構體叫做human,花括號內表示這個結構體擁有什么屬性;int age;用來存儲年齡,char sex;中的char表示字符類型的數據,跟int不一樣,char是值!@#¥……&*a之類的單個字符數據,char name?表示存儲一個姓名代號。struct human xiaoming;?表示創建一個結構體類型的數據叫做小明,其實就跟int a一樣,struct human只是表示這是結構體?human的數據,xiaoming值名稱。

      我們看一個完整的使用示例:

      #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這個結構體類型數據中有一個叫做age的屬性,使用小數點加屬性名進行賦值,那么就表示將這個值存儲到這個屬性中;xiaoming.sex='T';表示存儲T這個字符到sex這個戶型中,字符類型數據需要使用單引號引起來,其中xiaoming.name='M';也是一樣;隨后使用printf進行輸出時xiaoming.age就表示在這里使用age這個屬性的值進行輸出,%d表示輸出的這個變量是個整數;下一句printf語句中使用的占位符為%c,表示的是這個位置即將輸出一個字符類型的數據,字符類的數據使用的是%c,而整數則是使用的是%d。

      數組

      在之前的學習中我們使用了變量存儲單個的值,那如何使用一個容器存儲多個值呢?這個時候可以使用數組。顧名思義,數組就是一個值的組合,例如示例:

      #include void main(){ int a[]={1,2,3,4,5,99,888}; }

      以上代碼使用int?描述了一個名稱為a的數組,其中方括號[]表示數組,在等于號右邊使用花括號將要存儲的值括起來,并且使用逗號進行分隔,這樣就創建好一個數組了。那如何顯示數組內的值呢?這個時候我們可以使用數組名加下標去進行取值,例如我想取第一個并且顯示那么就可以寫成?printf("%d",a[0]);,在C語言中,是從0開始數數的,所以第一個我們使用的是a[0],第二個取值我們可以寫成printf("%d",a[1]);;我們可以對這些位置的值進行重新的賦值例如?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再次輸出,結果如下:

      那如何顯示所有數組a的值呢?這個時候需要使用循環,因為我們數組的取值是通過描述數組第幾個值進行存取,我們稱為下標,下標從0到數組所存儲的長度為最大,此時使用循環,設置一個變量從0開始即可取出數組內所有的內容:

      #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循環,對數組進行讀取,由于數組長度最大為7,所以需要小于7,最后再使用變量i作為數組下標即可,結果如下:

      數組也可以先指定長度最后賦值:

      #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循環設置數組a里面的內容,a[10]表示數組a的長度為10,能存儲10個值。隨后使用for循環設置數組a的內容,第一次為1第二次為2以此類推,最后再使用循環進行輸出,結果如下:

      C 語言 數據結構

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Pandas DataFrame reindex 重置行索引
      下一篇:如何添加到桌面(軟件如何添加到桌面)
      相關文章
      亚洲日韩在线中文字幕第一页| 一本久久a久久精品亚洲| 国产成人亚洲精品无码AV大片| 亚洲高清国产拍精品青青草原 | 亚洲一区二区三区香蕉| 亚洲视频在线观看免费| 四虎亚洲精品高清在线观看| 亚洲精品卡2卡3卡4卡5卡区| 亚洲av高清在线观看一区二区 | 国产精品亚洲一区二区无码| 亚洲av无码专区国产乱码在线观看| 一本久久综合亚洲鲁鲁五月天| 久久久久亚洲AV片无码下载蜜桃| 亚洲资源最新版在线观看| 老汉色老汉首页a亚洲| 亚洲欧洲尹人香蕉综合| 亚洲Av无码国产情品久久| 亚洲AV永久无码精品水牛影视| 亚洲AV无码日韩AV无码导航| 亚洲邪恶天堂影院在线观看| 区久久AAA片69亚洲| 亚洲精品成人av在线| 亚洲国产一区国产亚洲| 亚洲成a∨人片在无码2023| 亚洲GV天堂GV无码男同| 久久亚洲欧美国产精品| 国产亚洲精品美女久久久久| 亚洲成片观看四虎永久| 成人精品国产亚洲欧洲| 亚洲日韩精品无码专区网站| 亚洲综合色自拍一区| 久久香蕉国产线看观看亚洲片| 亚洲av日韩av高潮潮喷无码| 亚洲黄色网址大全| 2022年亚洲午夜一区二区福利 | 激情综合亚洲色婷婷五月APP| 亚洲最大天堂无码精品区| 亚洲AV无码成人精品区日韩| 亚洲?V乱码久久精品蜜桃 | 亚洲国产成人久久精品99| 亚洲中文字幕不卡无码|