C语言入门——内功心法
C語言入門 -> Linux C語言編程基本原理與實踐 -> Linux C語言指針與內存 -> Linux C語言結構體
?
c語言入門
C語言一經出現就以其功能豐富、表達能力強、靈活方便、應用面廣等特點迅速在全世界普及和推廣。C語言不但執行效率高而且可移植性好,可以用來開發應用軟件、驅動、操作系統等。C語言也是其它眾多高級語言的鼻祖語言,所以說學習C語言是進入編程世界的必修課。
hello,world
#include<stdio.h> int main() { /*在雙引號中間輸入Hello World*/ printf("Hello World"); return 0; } 復制代碼
注:在最新的C標準中,main函數前的類型為int而不是void
c語言的具體結構
簡單來說,一個C程序就是由若干頭文件和函數組成。
?
?
- #include <stdio.h>就是一條預處理命令, 它的作用是通知C語言編譯系統在對C程序進行正式編譯之前需做一些預處理工作。
- 函數就是實現代碼邏輯的一個小的單元。
必不可少之主函數
一個C程序有且只有一個主函數,即main函數。
- C程序就是執行主函數里的代碼,也可以說這個主函數就是C語言中的唯一入口。
- 而main前面的int就是主函數的類型.
- printf()是格式輸出函數,這里就記住它的功能就是在屏幕上輸出指定的信息
- return是函數的返回值,根據函數類型的不同,返回的值也是不同的。
- \n是轉義字符中的換行符。(注意:C程序一定是從主函數開始執行的)
良好習慣之規范
?
程序解釋——注釋
注釋是寫給程序員看的,不是寫給電腦看的。
C語言注釋方法有兩種:
多行注釋:?/* 注釋內容 */
單行注釋:?//注釋一行
有名有姓的C(標識符)
C語言規定,標識符可以是字母(A~Z,a~z)、數字(0~9)、下劃線_組成的字符串,并且第一個字符必須是字母或下劃線。在使用標識符時還有注意以下幾點:
?
變量及賦值
變量就是可以變化的量,而每個變量都會有一個名字(標識符)。變量占據內存中一定的存儲單元。使用變量之前必須先定義變量,要區分變量名和變量值是兩個不同的概念。
?
變量定義的一般形式為:數據類型 變量名;
多個類型相同的變量:數據類型 變量名, 變量名, 變量名...;
?
注意:在定義中不允許連續賦值,如int a=b=c=5;是不合法的。
變量的賦值分為兩種方式:
基本數據類型
C語言中,數據類型可分為:
注:
- intshort intlong int是根據編譯環境的不同,所取范圍不同。
- 而其中short int和long int至少是表中所寫范圍, 但是int在表中是以16位編譯環境寫的取值范圍。
- 另外 c語言int的取值范圍在于他占用的字節數 ,不同的編譯器,規定是不一樣。
- ANSI標準定義int是占2個字節,TC是按ANSI標準的,它的int是占2個字節的。但是在VC里,一個int是占4個字節的。
浮點數據是指帶小數的數字。
生活中有很多信息適合使用浮點型數據來表示,比如:人的體重(單位:公斤)、商品價格、圓周率等等。
因為精度的不同又分為3種(float,double,long double):
注:**C語言中不存在字符串變量,字符串只能存在字符數組中,**這個后面會講。
格式化輸出語句
格式化輸出語句,也可以說是占位輸出,是將各種類型的數據按照格式化后的類型及指定的位置從計算機上顯示。
其格式為:printf("輸出格式符",輸出項);
當輸出語句中包含普通字符時,可以采用一下格式:
printf("普通字符輸出格式符", 輸出項); 復制代碼
注意:格式符的個數要與變量、常量或者表達式的個數一一對應
不可改變的常量
在程序執行過程中,值不發生改變的量稱為常量。
mtianyan: C語言的常量可以分為直接常量和符號常量。
- 直接常量也稱為字面量,是可以直接拿來使用,無需說明的量,比如:
- 整型常量:13、0、-13;
- 實型常量:13.33、-24.4;
- 字符常量:‘a’、‘M’
- 字符串常量:”I love imooc!
在C語言中,可以用一個標識符來表示一個常量,稱之為符號常量。符號常量在使用之前必須先定義,其一般形式為:
#define 標識符 常量值 復制代碼
#include <stdio.h> #define POCKETMONEY 10 //定義常量及常量值 int main() { // POCKETMONEY = 12; //小明私自增加零花錢對嗎? printf("小明今天又得到%d元零花錢\n", POCKETMONEY); return 0; } 復制代碼
符號常量不可以被改變。
自動類型轉換
數據類型存在自動轉換的情況. 自動轉換發生在不同數據類型運算時,在編譯的時候自動完成。
char類型數據轉換為int類型數據遵循ASCII碼中的對應值.
注:
字節小的可以向字節大的自動轉換,但字節大的不能向字節小的自動轉換
char可以轉換為int,int可以轉換為double,char可以轉換為double。但是不可以反向。
強制類型轉換
強制類型轉換是通過定義類型轉換運算來實現的。其一般形式為:
(數據類型) (表達式) 復制代碼
其作用是把表達式的運算結果強制轉換成類型說明符所表示的類型
在使用強制轉換時應注意以下問題:
運算符號
C語言中運算符:
※ 算術運算符 ※ 賦值運算符 ※ 關系運算符 ※ 邏輯運算符 ※ 三目運算符 復制代碼
算術運算符
c語言基本運算符:
除法運算中注意:
如果相除的兩個數都是整數的話,則結果也為整數,小數部分省略,如8/3 = 2;
而兩數中有一個為小數,結果則為小數,如:9.0/2 = 4.500000。
mtianyan:?取余運算中注意:
該運算只適合用兩個整數進行取余運算,如:10%3 = 1;
mtianyan: notes: 而10.0%3則是錯誤的;運算后的符號取決于被模數的符號,如(-10)%3 = -1;而10%(-3) = 1;
mtianyan:?%%表示這里就是一個%符.
注:C語言中沒有乘方這個運算符,也不能用×, ÷等算術符號。
自增與自減運算符
- 自增運算符為++,其功能是使變量的值自增1
- 自減運算符為--,其功能是使變量值自減1。
它們經常使用在循環中。自增自減運算符有以下幾種形式:
如果大家對C/C++感興趣的話,本小編這里準備了一大堆的學習資料可以免費分享給有需要的朋友們,學習群:前面八七三,中間五二一,后面八零三。連起來就可進群然后免費領取一份學習資料哦!!!!
賦值運算符
C語言中賦值運算符分為簡單賦值運算符和復合賦值運算符
簡單賦值運算符=號了,下面講一下復合賦值運算符:
復合賦值運算符就是在簡單賦值符=之前加上其它運算符構成.
例如+=、-=、*=、/=、%=
分析:定義整型變量a并賦值為3,a += 5;這個算式就等價于a = a+5;?將變量a和5相加之后再賦值給a
注意:復合運算符中運算符和等號之間是不存在空格的。
關系運算符
C語言中的關系運算符:
關系表達式的值是真和假,在C程序用整數1和0表示。
注意:>=, <=, ==, !=這種符號之間不能存在空格。
邏輯運算符
C語言中的邏輯運算符:
?
邏輯運算的值也是有兩種分別為真和假,C語言中用整型的1和0來表示。其求值規則如下:
- 與運算?&&
參與運算的兩個變量都為真時,結果才為真,否則為假。例如:5>=5 && 7>5 ,運算結果為真;
?
- 或運算?||
參與運算的兩個變量只要有一個為真,結果就為真。 兩個量都為假時,結果為假。例如:5>=5||5>8,運算結果為真;
?
- 非運算!
參與運算的變量為真時,結果為假;參與運算量為假時,結果為真。例如:!(5>8),運算結果為真。
三目運算符
C語言中的三目運算符:?:,其格式為:
表達式1 ? 表達式2 : 表達式3; 復制代碼
執行過程是:
先判斷表達式1的值是否為真,如果是真的話執行表達式2;如果是假的話執行表達式3。
#include <stdio.h> int main() { //定義小編兜里的錢 double money =12.0 ; //定義打車回家的費用 double cost =11.5 ; printf("小編能不能打車回家呢:"); //輸出y小編就打車回家了,輸出n小編就不能打車回家 printf("%c\n",money>=cost?'y':'n' ); return 0; } 復制代碼
運算符大比拼之優先級比較
各種運算符號的順序:
?
優先級別為1的優先級最高,優先級別為10的優先級別最低。
分支結構之簡單if語句
C語言中的分支結構語句中的if條件語句。
簡單if語句的基本結構如下:
if(表達式) { 執行代碼塊; } 復制代碼
其語義是:如果表達式的值為真,則執行其后的語句,否則不執行該語句。
注意:if()后面沒有分號,直接寫{}
分支結構之簡單if-else語句
簡單的if-else語句的基本結構:
?
語義是: 如果表達式的值為真,則執行代碼塊1,否則執行代碼塊2。
注意:
if()后面沒有分號,直接寫{},else后面也沒有分號,直接寫{}
分支結構之多重if-else語句
C語言中多重if-else語句,其結構如下:
?
語義是:依次判斷表達式的值,當出現某個值為真時,則執行對應代碼塊,否則執行代碼塊n。
注意:當某一條件為真的時候,則不會向下執行該分支結構的其他語句。
分支結構之嵌套if-else語句
C語言中嵌套if-else語句。嵌套if-else語句的意思,就是在if-else語句中,再寫if-else語句。其一般形式為:
?
?
?
?
?
總結
以上是生活随笔為你收集整理的C语言入门——内功心法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第一次使用Sourcetree成功上传g
- 下一篇: 常量指针与指针常量勘误