C語言入門之基礎知識詳解
一、思維導圖
內(nèi)容不限于此思維導圖
二、環(huán)境搭建
對于老手,自動跳過這一趴吧,或者也可以看一下我有沒有啥紕漏,畢竟小白需要這一趴。
編譯器很多,大部分老師會在學生學習C語言的時候推薦使用VC,不帶語言提示器的那種,說是可以提高學生的編碼能力。我也不知道到底是不是這么一回事兒。我推薦使用VS,這樣學的快,函數(shù)記不住的問題很嚴重嗎?項目的車輪碾壓過去,再記不住也得記住吧?。。?/p>
更何況這個系列到后面是會有需要用文本文件編程寫項目的階段。
下載VS2019社區(qū)版,不要標新立異選那些最新版的,出了問題到時候又調(diào)不過來。
下載之后點擊安裝,前面一路正常,會出困惑的應該是這個界面:
如果說之后還有需要什么功能的話,也是可以再行添加的:
打開visual studio Installer,進入修改:
不建議安裝在C盤,換一個路徑吧。
再接下來,就是創(chuàng)建一個項目:
新建一個寫代碼的地方:
Ctrl+shift+A
編譯運行代碼:
三、編碼規(guī)范
分號:在 C 程序中,分號是語句結(jié)束符。也就是說,每個語句必須以分號結(jié)束。它表明一個邏輯實體的結(jié)束。
比方說:printf(“hello world”);
注釋:以 // 開始的單行注釋,這種注釋可以單獨占一行。
/* 多行注釋 多行注釋 多行注釋 */
不能在注釋內(nèi)嵌套注釋,注釋也不能出現(xiàn)在字符串或字符值中。
標識符:C 標識符是用來標識變量、函數(shù),或任何其他用戶自定義項目的名稱。一個標識符以字母 A-Z 或 a-z 或下劃線 _ 開始,后跟零個或多個字母、下劃線和數(shù)字(0-9)
C 標識符內(nèi)不允許出現(xiàn)標點字符
程序入口:C語言的程序入口從main函數(shù)開始、
頭文件:引用頭文件的時候有兩種方法:
#include <·····> //引用系統(tǒng)頭文件 #include "·····" //引用我們自己的頭文件
四、基本數(shù)據(jù)類型
標準輸入輸出
#include<stdio.h> int main() { /* 這是一個輸出的示例函數(shù)代碼 */ int i = 47; printf("hello world"); printf("%d\n", i); system("pause"); return 0; }
%d就是控制符,用“,“隔開參數(shù),進行格式化輸出時,有許多控制符,常用的有:
%d 十進制有符號整數(shù)。 %s 字符串。 %c 單個字符。
盤點一下:
%d —— 以帶符號的十進制形式輸出整數(shù) %o —— 以無符號的八進制形式輸出整數(shù) %x —— 以無符號的十六進制形式輸出整數(shù) %u —— 以無符號的十進制形式輸出整數(shù) %c —— 以字符形式輸出單個字符 %s —— 輸出字符串 %f —— 以小數(shù)點形式輸出單、雙精度實數(shù) %e —— 以標準指數(shù)形式輸出單、雙精度實數(shù) %g —— 選用輸出寬度較小的格式輸出實數(shù)
輸入部分:
#include<stdio.h> int main() { int i; printf("請輸入整型i的值:\n"); scanf_s("%d", &i); #注意這里的寫法,&i printf("輸入的值是:%d\n",i); return 0; }
五、分支循環(huán)
5.1 分支
if(boolean_expression) { /* 如果布爾表達式為真將執(zhí)行的語句 */ }
if(boolean_expression) { /* 如果布爾表達式為真將執(zhí)行的語句 */ } else { /* 如果布爾表達式為假將執(zhí)行的語句 */ }
if( boolean_expression 1) { /* 當布爾表達式 1 為真時執(zhí)行 */ if(boolean_expression 2) { /* 當布爾表達式 2 為真時執(zhí)行 */ } }
switch(expression){ case constant-expression : statement(s); break; /* 可選的 */ case constant-expression : statement(s); break; /* 可選的 */ /* -簡介可以有任意數(shù)量的 case 語句 */ default : /* 可選的 */ statement(s); }
switch(ch1) { case 'A': printf("這個 A 是外部 switch 的一部分" ); switch(ch2) { case 'A': printf("這個 A 是內(nèi)部 switch 的一部分" ); break; case 'B': /* 內(nèi)部 B case 代碼 */ } break; case 'B': /* 外部 B case 代碼 */ }
三目運算符:
Exp1 ? Exp2 : Exp3;
這個三目運算符呢,相對來說并不是那么非要掌握的,拿來裝逼用挺好。
如果在代碼中看到別人這么寫,理解一下就好:
問好前面是判斷條件,如果為真,執(zhí)行冒號前面的語句,否則執(zhí)行冒號后面的語句。
5.2 循環(huán)
while循環(huán)
while(condition) { statement(s); }
statement(s) 可以是一個單獨的語句,也可以是幾個語句組成的代碼塊。
condition 可以是任意的表達式,當為任意非零值時都為 true。當條件為 true 時執(zhí)行循環(huán)。 當條件為 false 時,退出循環(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 會首先被執(zhí)行,且只會執(zhí)行一次(可以放空,但是分號要有)。一般用于聲明對象。
判斷 condition(可以放空,默認為真)。如果為真,則執(zhí)行循環(huán)主體。如果為假,則不執(zhí)行循環(huán)主體,且控制流會跳轉(zhuǎn)到緊接著 for 循環(huán)的下一條語句。
執(zhí)行完 for 循環(huán)主體,跳回上面的 increment 語句(可以放空)。一般用于更新循環(huán)控制變量。
如此,循環(huán)往復。
#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
當 break 語句出現(xiàn)在一個循環(huán)內(nèi)時,循環(huán)會立即終止,且程序流將繼續(xù)執(zhí)行緊接著循環(huán)以外的下一條語句。
它還可用于終止 switch 語句中的一個 case。
continue 會跳過當前循環(huán)中的代碼,強迫開始下一次循環(huán)。
對于 for 循環(huán),continue 語句執(zhí)行后increment語句仍然會執(zhí)行。對于 while 循環(huán),continue 語句重新執(zhí)行條件判斷語句。
6.1 無限循環(huán)
相信我,總有一天你會需要無限循環(huán)的。
#include <stdio.h> int main () { for( ; ; ) //或者while(1) { printf("該循環(huán)會永遠執(zhí)行下去!\n"); } return 0; }
到此這篇關于C語言入門之基礎知識詳解的文章就介紹到這了,更多相關C語言基礎知識詳解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C語言實現(xiàn)魔方陣算法(幻方陣 奇魔方 單偶魔方實現(xiàn))
魔方陣是指由1,2,3……n2填充的,每一行、每一列、對角線之和均相等的方陣,階數(shù)n = 3,4,5…。魔方陣也稱為幻方陣,看下面的實現(xiàn)方法吧2013-11-11簡要解讀C++的動態(tài)和靜態(tài)關聯(lián)以及虛析構(gòu)函數(shù)
這篇文章主要介紹了簡要解讀C++的動態(tài)和靜態(tài)關聯(lián)以及虛析構(gòu)函數(shù),析構(gòu)函數(shù)在C++編程中平時并不是太常用,需要的朋友可以參考下2015-09-09C/C++多參數(shù)函數(shù)參數(shù)的計算順序與壓棧順序的示例代碼
這篇文章主要介紹了C/C++多參數(shù)函數(shù)參數(shù)的計算順序與壓棧順序,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06