编辑C语言基本语法
This commit is contained in:
parent
bf8565d462
commit
892ff29cd9
@ -1,4 +1,4 @@
|
||||
0.1、序言
|
||||
0.1 序言
|
||||
===
|
||||
|
||||
# 概述
|
||||
|
@ -0,0 +1,149 @@
|
||||
2.1 C基础语法
|
||||
===
|
||||
# 2.1.1 关键字
|
||||
|
||||
以下单词或字符在C语言中有特殊含义,称作关键字:
|
||||
|
||||
* include
|
||||
* define
|
||||
* ifdef
|
||||
* ifndef
|
||||
* endif
|
||||
* extern
|
||||
* typedef
|
||||
* static
|
||||
* const
|
||||
* struct
|
||||
* union
|
||||
* void
|
||||
* signed
|
||||
* unsigned
|
||||
* char
|
||||
* short
|
||||
* int
|
||||
* long
|
||||
* float
|
||||
* double
|
||||
* if
|
||||
* else
|
||||
* for
|
||||
* do
|
||||
* while
|
||||
* break
|
||||
* continue
|
||||
* goto
|
||||
|
||||
以上关键字的作用将在后续章节讲解。
|
||||
|
||||
# 2.1.2 特殊符号
|
||||
|
||||
C语言中常会用到以下符号:
|
||||
|
||||
* 赋值运算:=、+=、-=、*=、/=、%=、&=、|=
|
||||
* 算数运算:+、-、*、/、%、++、--
|
||||
* 比较运算符:==、>=、<=、!=、>、<
|
||||
* 逻辑运算:&&、||、!
|
||||
* 位运算:&、|、~、^、>>、<<
|
||||
* 指针运算:*、&
|
||||
* 其他:;、#、{、}、[、]、0x、0b、//、/\*、\*/
|
||||
|
||||
以上符号中的运算符将在学习数据类型之后进行说明。
|
||||
|
||||
# 2.1.3 字面常量
|
||||
|
||||
常量可以理解为固定不变的量,是与变量相对的概念。常量一经申明变不允许再发生改变。以下均是常量:
|
||||
|
||||
* 16、0xFA90、0b1010
|
||||
* 25.1
|
||||
* "Have Fun!"、'x'、"15996699996"、"2\*3.1415926535898\*r"
|
||||
|
||||
常量的不变性是指如下赋值语句都是错误的:
|
||||
|
||||
* "var"="Have Fun!"
|
||||
* "var"=1024
|
||||
* 16=0x16
|
||||
|
||||
而下列写法是可以编译通过的:
|
||||
|
||||
* "var"=="Have Fun!"
|
||||
* "var"!=1024
|
||||
* 16<0x16
|
||||
|
||||
因为以上并非赋值语句,而是比较语句。通过英文双引号表达的是字符串变量,他们可以是一串字符。使用英文单引号表达的是字符常量,他只可以包含一个字符。而类似于16、25.1这种的是数字量。数字量分为整数和浮点数,他们有多种方式去表达方式。
|
||||
|
||||
# 2.1.4 整数的表达方式
|
||||
|
||||
除了常用的十进制方式以外,在C语言甚至其他语言中,还经常用到二进制和十六进制数。
|
||||
|
||||
* 0b 开头的表达二进制数,仅使用0、1表达
|
||||
* 0x 开头的表达十六进制数,除0~9外,使用A~F来表达10~15
|
||||
|
||||
二进制、十进制、十六进制间通过 8421BCD 码进行转换。
|
||||
|
||||
* 二进制:0b 1010
|
||||
* 十进制:1\*2^3+0\*2^2+1\*2^1+0\*2^0
|
||||
* 也就是:1\*8+0\*4+1\*2+0\*1
|
||||
|
||||
且每 4 位二进制数可表示一位十六进制数:
|
||||
|
||||
* 二进制:0b 1010 0101
|
||||
* 十六进制:0xA5
|
||||
|
||||
# 2.1.5 变量
|
||||
|
||||
在C语言中,可以使用字符来表示数字量或字符串等。就好像数学里用x表示一些数那样。这样的量,可以被反复修改,被称作变量。变量只可以使用英文字符或下划线“_”开头,可包含0~9的数字,不可包含其他字符。以下是一些变量:
|
||||
|
||||
* int aint
|
||||
* unsigned long _along
|
||||
* double flt0, flt1, flt2
|
||||
* void* pointer
|
||||
|
||||
变量需要被定义才能够使用,在定义变量的时候,在变量前面的用于描述变量的C关键字表示了变量的类型和作用范围。
|
||||
例如 static 表示变量是静态的,而 short 表示了有符号的32位整数。
|
||||
所谓有符号、无符号,即变量所表示的数是否包含负数。
|
||||
|
||||
* unsigned char: 0~255
|
||||
* signed char:-128~127
|
||||
* char = signed char
|
||||
|
||||
char是8位数,可表示2^8=256个数,无符号的char从0开始,取256个整数,最大是255。当表示有符号数时,则用128个数表示-1~-128,另一半表示0~128。
|
||||
其他类型的位数为:
|
||||
|
||||
* short 16位
|
||||
* int 32位
|
||||
* long 与总线位宽有关,不低于32位
|
||||
* long long 64位
|
||||
* float 32位浮点数,非常不精确
|
||||
* double 64位浮点数,精确
|
||||
|
||||
另一种变量是如下定义的:
|
||||
|
||||
int* pointer;
|
||||
|
||||
这种变量被称作指针,或指针变量。
|
||||
之前我们说变量的值可以被反复修改,也就是可以这样做:
|
||||
|
||||
int aint;
|
||||
|
||||
aint = -56;
|
||||
aint += 3;
|
||||
aint ++
|
||||
|
||||
这种做法叫做变量赋值。有时候我们需要在定义变量的时候就为变量赋值,可以这样做:
|
||||
|
||||
double aflt = 3.14;
|
||||
|
||||
变量的第一次赋值被称作初始化。注意,如果一个变量没有经过初始化就被使用了,那是很危险的,尤其是没有初始化的指针变量。
|
||||
|
||||
# 2.1.6 符号常量
|
||||
|
||||
# 2.1.7 运算符
|
||||
|
||||
# 2.1.8 宏
|
||||
|
||||
# 2.1.9 指针
|
||||
|
||||
指针变量的长度与总线位宽有关,如32位机则指针变量长度为4,64位机为8。
|
||||
|
||||
# 2.1.10 语句
|
||||
# 2.1.11 头文件
|
Loading…
x
Reference in New Issue
Block a user