1: C语言的数据类型
(1):基本类型[整形int/long int/shot int、浮点型(单精度float/双精度double)、字符型char、枚举型]
(2):构造类型[数组、结构体、公用体]
(3):指针类型
(4):空类型
2:变量与常量:在程序执行过程中,其值不发生变化的是常量,其值发生变化的是变量。
·和其他高级语言一样,在C语言中用来对变量、符号常量、函数、数组、类型等数据对象命名的有效字符序列统称为标识符(identifier),C语言中规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。
(1):常量
常量分为整型常量(如12、0、-3)、实型常量(如4.6、-1.23)、字符常量('a'、'b'),符号常量[标识符也可以代表一个常量],如:
# define PRICE 30
# include <stdio.h>
int main (void)
{
int num , total;
num = 10;
total = num * PRICE;
printf("total = %d/n",total);
return 0;
}
·程序中用#define命令行定义PRICE代表常量30,符号常量的好处是含义清楚、一改全改。
(2):变量
·变量的本质是内存中一段存储空间,程序终止后所占的空间被释放。变量必须先定义后使用。
①数据类型 变量名=要赋的值;
int i=3;
②数据类型 变量名;
变量名=要赋的值;
int i;
i=3;
⑶:整型常量:
①十进制常数
没有前缀,其数码为0~9;
②八进制常数
必须以0为前缀,其数码为0~7;
③十六进制常数
前缀是0X或者0x,其数码取值为0~9,A~F或者a~f。
⑷:整型变量
数据在内存中是以二进制形式存放的。如果定义了一个整型变量i:
int i; /* 定义为整型变量 */
i = 10; /* 给i 赋以整数10 */
十进制10的二进制形式为1010.
整型变量的分类:int、short int、long int
int取值范围-32768~32768
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
# include <stdio.h>
int main (void)
{
int i = 40;
printf("i = %d/n",i);//十进制输出
printf("i = %o/n",i);//八进制输出
printf("i = %X/n",i);//十六进制输出
return 0;
}
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
⑸:浮点型常量
①十进制小数形式,由数字和小数点组成:0.123、123.、123.0、0.0
②指数形式:123e3、123.3453e0
E或者e之前必须有数字,且后面的指数必须为整数。
⑹:浮点型变量
单精度(float):4个字节,32位,有效数字6-7
双精度(double):8个字节,64位,有效数字15-16
长双精度( long double):16个字节,128位,有效数字18-19
# include <stdio.h>
int main (void)
{
float a,b;
a = 123456.789e5;
b = a + 20;
printf("%f/n",b);
return 0;
}
⑺:字符常量
'a'、'D'、'?'、'$'都是合法的
在C语言中,字符常量有以下特点:
1) 字符常量只能用单引号括起来,不能用双引号或其它括号。
2) 字符常量只能是单个字符,不能是字符串。
3) 字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与数值运算。如'5'和5 是不同的。'5'是字符常量,不能参与运算。
转义字符常量
常用的转义字符及其含义
转义字符 | 转义字符的意义 | ASCII代码 |
/n | 回车换行 | 10 |
/t | 横向跳到下一制表位置 | 9 |
/b | 退格 | 8 |
/r | 回车 | 13 |
/f | 走纸换页 | 12 |
// | 反斜线符"/" | 92 |
/' | 单引号符 | 39 |
/” | 双引号符 | 34 |
/a | 鸣铃 | 7 |
/ddd | 1~3位八进制数所代表的字符 | |
/xhh | 1~2位十六进制数所代表的字符 |
# include <stdio.h>
int main (void)
{
int a,b,c;
a = 5;
b = 6;
c = 7;
printf(" ab c/tde/rf/n");
printf("hijk/tL/bM/n");
return 0;
}
输出结果是
f ab c de
hijk M
⑻:字符变量
字符重复赋值,但不能重复定义
char c1 = 'A';
char c1 = 'B';
以上两个出现在一起时会错误
char c1,c2;
c1='a';
c2='b';
┄┄┄┄┄┄┄┄┄┄
# include <stdio.h>
int main (void)
{
char c1,c2;
c1 = 97;
c2 = 98;
printf("%c %c/n",c1,c2);
printf("%d %d/n",c1,c2);
return 0;
}
┄┄┄┄┄┄┄┄┄┄
输出结果是
a b
97 98
┄┄┄┄┄┄┄┄┄┄
/*大小写字母的转换*/
# include <stdio.h>
int main (void)
{
char c1,c2;
c1 = 'a' - 32;
c2 = 'b' - 32;
printf("%c %c/n",c1,c2);
return 0;
}
┄┄┄┄┄┄┄┄┄┄
输出结果是
A B
⑼:字符串常量
"Hollo world","a","%adsdfwe"
'AB'是错误的
char ch = "AB" 是错误的,字符串不能赋给单个字符。
"a"的含义是'a''/0' ,与'a'是不同的。
3:ASCII
American Standard Code for Information Interchange,美国信息交换标准代码