【C 语言的学习】第三回合:数据类们的PK
第三回合:数据类们的PK
在C语言中数据类型仅分为四大类型:基本数据类型、构造数据类型、指针类型、空类型。其他的类型都是从这4大类型组合派生出来的。
(1) 基本数据类型:其不可以再分为别的类型了。呵呵,也就是说最小的基本的类。
(2) 构造数据类型:程序员根据自己的需求,用已知的基本类型来构造新的类。如数组、结构体、共用体等。
(3) 指针类型:就是指针吧,指针是一种特殊的且又重要的数据类
(4) 空类型:在调用函数值时,通常应向调用者返回一个函数值。
A: 基本类型
(1) 整型(int、 short、 long、 unsigned、unsinged short、 unsigned long)
(2) 实型(float、double、 longdouble)
(3) 字符型(字符、字符串)
B: 构造类型
(1) 数组
(2) 结构体
(3) 共用体
C: 常量
(1) 整型常量(即整数):
有十进制整数、八进制整数、十六进制整数
(2) 实型常量(即实数):
格式有两种:
(a) 一般形式:有数字、小数点和可能的正负符号组成:0.373、3.134、- 78.32等
(b) 指数形式:
a E n(a为十进制数,n为十进制整数)其值为 a*10n。
有尾数部分、字母e或E(加阶码标志)和指数(阶码)部分组成:1.75E+1、-3.14e-3等
PS: 必须要有小数点!;
(3) 字符常量:
字符常量由单引号括起来的字符:’V’、’A’、’a’、’+’、’-’、’12’等
C语言中的字符常量占1个字节,在存储单元中存放的不是字符本身,而是对应的ASCII码(ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符),即用整数表示。
因此:
x= ‘a’+ 6; 等价于x=97+ 6;
y=‘b’+ ‘c’;等价于 y= 98+ 99;
PS:
1) 字母的大小写是不同的字符常量
2) 字符常量只能用单引号括起来,不能用双引号或其它括号。
3) 字符常量只能是单个字符,不能是字符串。
4) 字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与数值运算。如'5'和5是不同的。'5'是字符常量,不能参与运算。
(4):字符常量
所谓的字符常量是用一对引号括起来的零个或多个字符的序列。
如:“hello, world!”、 “”(里面没有什么)、” ”(一个空格) 、 “\n”
PS:
(a):字符常量存储时,在字符串末尾会加上一个字符串结束符’\0’,因此,n个字符的字符常量,在存储是要占n+1个字符的空间。
(b):字符串常量和字符常量是不同的量。它们之间主要有以下区别:
1) 字符常量由单引号括起来,字符串常量由双引号括起来。
2) 字符常量只能是单个字符,字符串常量则可以含一个或多个字符。
3) 可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。在C语言中没有相应的字符串变量。这是与BASIC 语言不同的。但是可以用一个字符数组来存放一个字符串常量。在数组一章内予以介绍。
4) 字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符"\0" (ASCII码为0)。这是字符串结束的标志。
(5):符号常量:
常量也可以用标识符来命名,代替常量的标识符被称为符号常量。
例如:
#define 符号常量常量
#define PI 3.1415926
PS:
(a) 习惯上用大写字母来代替符号常量
(b) #define不要以分号结束,它不是语句,而是一条预处理命令
(c) 使用符号常量的好处:书写简单、易于读懂、便于维护代码
C: 转义字符
常用的转义字符及其含义
转义字符
转义字符的意义
ASCII代码
\n
回车换行
10
\t
横向跳到下一制表位置
9
\b
退格
8
\r
回车
13
\f
走纸换页
12
\\
反斜线符"\"
92
\'
单引号符
39
\”
双引号符
34
\a
鸣铃
7
\ddd
1~3位八进制数所代表的字符
\xhh
1~2位十六进制数所代表的字符
D: 变量
一:变量:是在程序中可以改变其值并且是用标识符命名的量,在内存中占据一定的存储单元。
(1) 用于暂时存储数据的载体
(2) 变量使用前必须说明,可以在函数前说明,也可以在函数的参数处说明,还可以在复合语句中说明。
二:变量的类型
(1) 整型变量,由关键字int说明
如:int a, b; //说明了2个整型变量a, b
当然也可以在int前加signed(有符号),unsigned(无符号),long(长)来修饰int。
(2) 实型(浮点型)变量
两类:
(a) 单精度,用float来说明
如:float j, k; //j,k为单精度变量
(b) 双精度,用double来说明
如:double l, m; // l,m为双精度的变量
(3) 字符型变量
又关键字char来说明
如:char a; //a为字符变量
三:变量的赋值
(a) 直接赋值,即在说明变量时就赋值
如:
int number1=123;
float number2= 123.3;
char c= ‘A’
(b) 间接赋值
int number;
number = 123;
char c;
c= ‘A’;
(复习做的笔记,还在整理中。。。。)