注釋note
附錄還記得上篇最後的筆記嗎?還記得那個簡單的hello world嗎?回顧一下吧。
首先,這個程式要有乙個入口,能被系統呼叫,這個入**們叫main,然後他是個函式,函式的格式是要有返回值和引數,最重要函式的內容要包含在一堆大括號中,而函式中的每句話必須要用英文的分號結尾,像這一樣。
int main()
然後我們這個程式實際什麼也沒有幹,我們希望他做點什麼,比如可以輸出一句話,我們用到了printf(「hello world」);
int main()
到這裡,我們的程式還是不能執行,因為printf,我們沒有寫過,他怎麼列印文字呢,原來他是系統實現了的,於是我們要告訴我們的程式要去系統裡面找這樣乙個函式,我們通過#include,來匯入系統的標準輸入輸出,#include叫做預編譯符,他在在程式編譯之前幫我們找到print函式,而stdio.h是包含我們要找的函式的檔案。這樣,我們的程式就完成了。
#includeint main()
其實在寫第乙個程式的時候,我們就講了一些語法了,畢竟乙個程式是不可能離開語法的。
程式中有些預留的詞,是絕對不能用的,稱為關鍵字,是c語言語法的關鍵,這些詞不需要你包含任何檔案就能使用。每乙個關鍵字,都相當於乙個暗語,告訴計算機要怎樣工作。
關鍵字表:
關鍵字說明
標註auto
宣告自動變數
break
跳出當前迴圈
case
開關語句分支
char
宣告字元型變數或函式返回值型別
const
定義常量,如果乙個變數被 const 修飾,那麼它的值就不能再被改變
continue
結束當前迴圈,開始下一輪迴圈
default
開關語句中的"其它"分支
do迴圈語句的迴圈體
double
宣告雙精度浮點型變數或函式返回值型別
else
條件語句否定分支(與 if 連用)
enum
宣告列舉型別
extern
宣告變數或函式是在其它檔案或本檔案的其他位置定義
float
宣告浮點型變數或函式返回值型別
for一種迴圈語句
goto
無條件跳轉語句
if條件語句
int宣告整型變數或函式
long
宣告長整型變數或函式返回值型別
register
宣告暫存器變數
return
子程式返回語句(可以帶引數,也可不帶引數)
short
宣告短整型變數或函式
signed
宣告有符號型別變數或函式
sizeof
計算資料型別或變數長度(即所佔位元組數)
static
宣告靜態變數
struct
宣告結構體型別
switch
用於開關語句
typedef
用以給資料型別取別名
unsigned
宣告無符號型別變數或函式
union
宣告共用體型別
void
宣告函式無返回值或無引數,宣告無型別指標
volatile
說明變數在程式執行中可被隱含地改變
while
迴圈語句的迴圈條件
#include就是乙個預編譯指令,所有的預編譯指令都以#開頭,和關鍵字一樣,也是系統定義的一些指令,後面會慢慢接觸一些,暫時不需要做過多了解,後面詳細講。下面是乙個常用的指令,由於指令比較多,用到時具體講。
指令描述
#define
定義巨集#include
包含乙個源**檔案
#undef
取消已定義的巨集
#ifdef
如果巨集已經定義,則返回真
#ifndef
如果巨集沒有定義,則返回真
#if如果給定條件為真,則編譯下面**
#else
#if 的替代方案
#elif
如果前面的 #if 給定條件不為真,當前條件為真,則編譯下面**
#endif
結束乙個 #if……#else 條件編譯塊
#error
當遇到標準錯誤時,輸出錯誤訊息
#pragma
使用標準化方法,向編譯器發布特殊的命令到編譯器中
關鍵字和預處理的命令,也就是系統用來標識功能的符號,我們在自己的程式中也需要很多識別符號來給自己變數,函式等命名,比如main,printf,都是識別符號,那麼我們在程式內部的識別符號除了不能是關鍵字和預編譯指令這些,還要滿足乙個基本規定。
乙個識別符號以字母 a-z 或 a-z 或下劃線 _ 開始
後跟零個或多個字母、下劃線和數字(0-9)。
c 識別符號內不允許出現標點字元,比如 @、$ 和 %。
c 是區分大小寫的程式語言。
第一條,其實這條你以後基本不太可能忘記,每一句話結尾一定要加分號,你是不是發現有些時候一行結束的時候沒有分號,是的,這裡說的一句話不是一行的意思。
雖然說用的時間多了就知道什麼時候需要加什麼時候不需要加。但是這裡還是做些簡單的說明。
#開頭的預編譯命令後面不需要加
乙個可以執行的單元後面加
最後,真不知道需不需要加,可以加了看看有沒有bug,或者學習嘛,跟著比人寫就是了。233333
在c語言,也可以說在所有其他語言中,基本上括號都必須是成對出現的。
小括號一般是用來放引數的,沒有引數也必須寫括號。
在後面的學習或出現,是陣列的代表。
大括號是c程式的最小**塊單元。在任何時候,都可以使用大括號,來把**和前後做個簡單的分塊,不光是為了好看,這個大括號會在程式中新建乙個叫棧的東西,然後裡面會有只有自己可見的區域性變數。
另外乙個非功能性的用法,就是用大括號做排版,一般c語言都是上面**的風格,大括號在**塊的下一行單獨起一行而且只有大括號,然後換行,下一行**要在之前的**的縮排下多縮排4個空格,一般設定table為4個空格,就可以只需要按一下table皆可以了。然後後面的大括號也是單獨佔一行,縮排也退回來,這樣的**就顯得很整潔。
**中的文字不一定所以的都是有用的,有時候我們需要在**中加一些個人的記錄,單存描述一下這個地方寫的什麼意思,這個時候注釋就能派上用場了。比如我們第一次寫了hello world,很開心,那麼我們可以給這個地方加個注釋。
#includeint main()
或者
#includeint main()
c語言中注釋有兩種形式,
1.單行注釋 //
2.多行注釋 /*被注釋的內容*/
這裡單行和多行並不是絕對的,你可以將多行都是要//,也就是每行加乙個雙斜槓實現
同樣的對於單行注釋,你也可以用多行的注釋符號
這裡推薦獎注釋寫在被注釋的**的上面一行
本篇主要講了一些程式的基本語法和組成,大多只需要了解就可以了,沒有特別需要記憶的地方。不要花功夫死記硬背這些,因為用的久了,大部分都自然會記住,而比較難的,現在講太多也沒有必要,不如等以後乙個個詳細講。
試試看自己能不能不參考別人的,自己把**寫出來
試著整理自己的**,讓**整潔
試試設定自己的編輯器用table鍵來控制四個縮排
4.試試注釋**
vs的快捷鍵
操作功能
f7編譯
vs的設定
設定vs使用table表示四個空格。
tools -> options -> text editor -> [c/c++] -> tabs
這個頁面兩個選擇,選成和我一樣就好了。
第乙個引數
none:換行的時候沒有縮排
block:縮排到和{}也就是當前塊一樣
smart:比block再多縮排乙個
第二個引數:兩個值分別為插入空格和保留tab,也就是按table的時候,檔案裡面記錄的到底是四個空格,還是乙個table,後面我們會介紹字元的編碼的時候,會發現這其實是不一樣的。
C語言規則
個人認為記住某個型別數字的範圍最好的方法就是記住這種型別的數字占用的位元組數 char 1byte 128 127 short 2 byte 32767 32768 unsigned short 2byte 0 65536 int 4byte 2147483648 2147483647 unsign...
C語言基礎 二
迴圈 for int i 1 i 100 i 迴圈示例 1.for int i 0 i 9 i for int j 0 j i j printf n 2.倒三角for int i 5 i 0 i printf n 2.函式 void 自定義函式應該在主函式內呼叫 函式宣告 的位置必須在主函式之上 對...
c語言基礎(二)
目錄 識別符號的定義規則 三數比大小 判斷閏年 指標基礎 插入排序 只能是字母,數字,和下劃線,並且開頭不能用數字 賦值表示式跟賦值語句的區別 表示式沒有分號,賦值語句有分號 邏輯運算子的優先順序順序 includeint main if a c if b c printf d d d a,b,c ...