丹尼斯*里奇
C語言的優(yōu)缺點
優(yōu)點:簡單,使用廣泛...
缺點: 不嚴謹...
一:C基本語法
1.C的引入
#include<stdio.h>
int main(int argc,char *argv[])
{
printf("hello,world!\n");
return 0;
}
程序解析:
(1)#:預(yù)處理命令
(2)include:頭文件的包含
(3)<>;把括號里面的內(nèi)容引入到源文件中
(4)stdio.h:頭文件,是計算機自帶的庫,可以直接使用
(5)main:函數(shù)名,main()是主函數(shù),C程序文件有且只能有一個main()即主函數(shù)!!!C程序的入口,即所有的C程序都是從main()開始執(zhí)行!!!
(6)int argc:參數(shù)的個數(shù)
(7)char argv[]:記錄參數(shù)
(8)printf: 是庫函數(shù),包含在<stdio.h>中
(9)return 0:返回或者函數(shù)結(jié)束
注:
此程序基本決定了,C程序的框架
2.C的數(shù)據(jù)類型
基本數(shù)據(jù)類型:
整數(shù)類型:
int:基本整型數(shù)據(jù)
short int:短整型
long int:長整型
unsigned:無符號
signed:有符號
字符型:
char
字符:有‘’引起的單個字母,數(shù)字或其他符號
‘e’ ‘1’ ‘!’ 等都是字符
getchar():獲得單個字符
putchar():輸出單個字符
實型(浮點型):
float:單精度 有效位:7位左右
double:雙精度 有效位:15位左右
numf e/E n
n:一定是整數(shù)!!!
new_numf = numf * 10^n;
例如:
12.2e3=12.2E3<========>12.210^3
枚舉類型:
enum
構(gòu)造數(shù)據(jù)類型:
數(shù)組類型,結(jié)構(gòu)體(struct),聯(lián)合體(union)
指針類型:
空類型:
void
2.變量的定義:
date:數(shù)據(jù)
type:類型
value:值
(1)DataType Name1,Name2,...,Namen;
可以定義多個變量,中間用逗號隔開,結(jié)尾用分號結(jié)束!!!
(2)DateType Name;
DateType Name1;
(3)建議一行定義一個變量并初始化!!!
DateType Name = value;
3.標(biāo)識符:
變量民,函數(shù)名,即其他標(biāo)號等
(1)標(biāo)識符的命名要求
字母(AZ,az),下劃線(_),數(shù)字組成,
且規(guī)定:第一個字符不能為數(shù)字
(2)命名規(guī)則
可讀性要高,作到”見名知意“
駝峰命名法
盡量不要用漢語拼音
4.格式輸入/輸出:printf()/scanf()
(1)printf()
按一定格式輸出:
printf("占位符",參數(shù)列表)
一一對應(yīng)
printf(“打印輸出的內(nèi)容!”);
%m.nf;(右對齊!)
m:總為數(shù)
n:小數(shù)部分保留位數(shù)
%-m.nf:(左對齊!)
(2)scanf()
按一定格式輸出:
scanf("占位符",參數(shù)列表);
一一對應(yīng)
&:取地址符號
占位符 | printf() | scanf() |
---|---|---|
int | %d | %d |
char | %c | %c |
long | %ld | %d |
float | %f | %f |
double | %lf | %f |
字符串
5.常量
數(shù)字常量:123 1 39484 -34
字符常量:'d' '$' '?' '3' 'A'
實行常量: 1.234 3.342432 -3.3434
字符串常量 :由雙引號括起來的字符序列(有一個或多個字符組成的)(用%s結(jié)束)
注意:字符和字符串的區(qū)別
'a':占一個字節(jié)
"a":占兩個字節(jié)
'\0':字符串的結(jié)束標(biāo)志。一般不顯示
6.變量和常量的區(qū)別:
變量:
其值可以更改
先定義,后更改!!!
常量:
其值不可以更改!
隨時可以使用,無需定義或聲明!
變量的初始化:
變量名 = 常數(shù); 注:類型一定要一致!!!
二.
1.sizeof
計算大小,得出對應(yīng)變量或數(shù)據(jù)類型所占內(nèi)存空間的大小
單位:字節(jié)(byte) 1字節(jié)=8位(bit)
2.算術(shù)運算符(七個)
加:+ 減:- 乘:* 除:/
去余:%
a%b----> a對b求余數(shù)
自增:++
++i;先自增,后取值 即:
num = ++i;
num = i + 1
num = i;i (結(jié)果num=i+1)
i++:先取值,后自增 即:
num = i++
num = i;
i = i + 1 (結(jié)果num=i)
3.關(guān)系運算符:
大于:> a>b;
小于:< a<b;
等于等于:== a==b;
大于等于:>= a>=b;
小于等于:<= a<=b;
不等于:!= a!=b;
若成立則為1,即真;不成立則為0,即假.
4.逗號運算符(,)
表達式1,表達式2,表達式3....
其中每個表達式又可以是一個逗號表達式!
一次計算表達式1,表達式2,表達式3的值,整個逗號表達式的值取決于最后一個表達式值。
5.使用scanf()注意事項
(1)一定要嚴格俺按照scanf()中的格式輸入變量的值!!!
(2)使用scanf()時,取參數(shù)列表中參數(shù)的地址,scanf()
是將輸入的值保存到變量對應(yīng)的地址中!
(3)緩存區(qū)問題
scanf()函數(shù)中不能使用換行符:\n
今天的內(nèi)容都還好,也學(xué)會了,老師講的很仔細,明天接著學(xué)習(xí),加油!