C语言讲义终极勘误版
C语言讲义
I.基本数据类型
整 型
类型说明符存储范围所占字节(B)int-231 ~ 231-14short (int)-215 ~ 215-12signed (int)-215 ~ 215-12unsigned (int)0 ~ 216-12long (long int)-231 ~ 231-14注:
1. 215 = 32768,231 = 2147483648;
2. signed,unsigned,long及short皆为所谓的“修饰符”,前两者加在int前面,分别表示int变量可存有符号或无符号的整数;long对int进行加长(在VC++编译器中无法体现出来);short对int进行缩短;在定义由这些修饰符修饰的整型变量时,int可以省略;
3. int为integer(n.整数)的缩写;
4.对于江苏二级而言,int类型占用2B空间。
浮点型
类型说明符存储范围所占字节(B)float3.4E-38 ~ 3.4E+384double1.7E-308 ~ 1.7E+3088注:
1. 重点掌握一个事实:double(所谓的“双精度类型”)比float(所谓的“单精度类型”)可存储的范围广;
2. float与double也可以被前述的修饰符修饰;
3. 3.4E-38是指3.4*10-38。E可以替换为e。需要注意的是,在这种表示法中,被乘数一定要写明,即便其是1;10的指数必须为整型数,指数的符号放在指数与E之间,当指数为正时,+可不写。
字符型
类型说明符存储范围所占字节(B)char0 ~ 28-11注:
这里所谓的存储范围,是指字符对应ASCII码的范围。请熟记一些较为重要的字符的ASCII码值,如’a’为97,’A’为65,’\0’为0,’0’为48,等等。C-Free 5中提供了ASCII码表,可不时查阅;
2. char为character(n.字符)的缩写;
3. 2^8=256。
C语言包含四类数据类型:基本数据类型、构造数据类型、指针类型和空类型。目前为止,请熟练掌握基本数据类型,而后三者,将会在后面的课程中被讲述。
II.变量与常量
1. 概念
变量(variable)与常量(constant)皆为存储数据的容器,其中,存储在前者中的数据可变,存储在后者中的数据不可变。
2. 定义与赋值
不同类型的数据,要被相应的类型的变量存储。C语言中的变量必须要先定义,后使用。
(1)变量的定义与赋值
方法一(亦称初始化):
type name = value;
方法二:
type name;
name = value;
比如我们希望定义一个整型变量myInteger,使其值为4,则可以写作:
int myInteger = 4;
或
int myInteger;
myInteger = 4;
(2)常量的定义
语法:
#define name value
注:
上述的学名为“宏定义”,具体原理将在后面的课程中讲述。
注:
变量的名字仅可以由字母、数字与下划线构成,此外,名字不可以取为关键字(诸如int,return,if等等),且打头字符不能为数字。
建议:将变量名定义为简单易懂的英文是一个好习惯,有助于阅读和理解自己所写的程序;应当杜绝类似a,b,c之类的变量名。
3. 与字符相关的细节
(1)字符的赋值
表示一个字符时,需要在字符两侧加上单引号。欲将字符’A’赋给名为myCharacter的变量,需写作:myCharacter = ’A’;
(2)转义字符
用’A’来举例,它的十进制ASCII码值为65,八进制为101,十六进制为41,那么便有:’A’等价于’\101’等价于’\x41’。’\101’与’\x41’称为’A’的转义字符。
有一些字符还有它们独特的转义字符,如换行符为’\n’等等。下表摘自百度百科,请务必记住加粗部分的内容。
转义字符意义ASCII码值(十进制)\a响铃(BEL)007\b退格(BS) ,将当前位置移到前一列008\f换页(FF),将当前位置移到下页开头012\n换行(LF) ,将当前位置移到下一行开头010\r回车(CR) ,将当前位置移到本行开头013\t水平制表(HT) (跳到下一个TAB位置)009\v垂直制表(VT)011\\代表一个反斜线字符'\'092\'代表一个单引号(撇号)字符039\"代表一个双引号字符034\0空字符(NULL)000\ddd1到3位八进制数所代表的任意字符三位八进制\xhh1到2位十六进制所代表的任意字符二位十六