一、常量与变量
1、常量
在程序运行过程中,其值不能被改变的量称为常量。
//比如:
int a=1024;
char b='q';
double c=3.1415926;
常量类型 | 含义 |
---|---|
整型常量 | 比如1024,-45,678,0这些都是整型常量 |
实型常量 | 包括十进制小数,比如3.1515926,1.56,0.0等;还有指数形式,比如1.024e5(表示1.024×10³)等 |
字符常量 | 包括普通字符,比如‘#’,’%’,‘a’,‘1’等单个字符;还有转义字符,比如’\n’,’\t’ |
字符串常量 | 多个字符组成的常量比如’hello world’ |
符号常量 | 用#define指令,指定用一个符号代表一个常量(通常用大写字母代表常量) |
补充:转义字符
我们平时最经常使用的转移字符是\n和\t。\n为换行符,也就是将当前位置移到下一行开头的位置。\t为水平制表符,也就是将当前位置移到下一个tab位置。
2、变量
变量代表一个有名字的、具有特定属性的一个存储单元。它用来存放数据,也就是存放变量的值。在程序运行期间,变量的值是可以改变的。
#include<stdio.h>
int main()
{
//比如定义一个整型数字
int a;
//这个a的值就是一个变量,先定义a在内存中开了一个空间,在使用时在进行赋值
scanf("%d",&a);
}
3、标识符
在计算机高级语言中,用来对变量、符号常量名、函数、数组、类型等命名的有效字符序列统称为标识符(identifier)。C语言规定标识符只能由字母、数字和下划线3种字符组成,且第1个自负必须为字母或下划线。
二、C语言中的数据类型
1、整型
数据类型 | 取值范围 |
---|---|
int | -2147483648 ~ 2147483647,即-231 ~(231-1) |
unsigned int(无符号基本整型) | 0~ 2147483647,即0~(231-1) |
short(短整型) | -32768 ~ 32767,即-215~ (215-1) |
unsigned short(无符号短整型) | 0 ~ 32767,即0~ (215-1) |
long(长整型) | -2147483648 ~ 2417483647,即-231~(2 31-1) |
unsigned long(无符号长整型) | 0 ~ 4294967295,即0~(2 32-1) |
long long(双长整型) | -9223372036854775808 ~ 9223372036854775987,即-263~(263-1) |
unsigned long long(无符号双长整型) | 0 ~ 9223372036854775987,即0~(263-1) |
2、浮点型
数据类型 | 取值范围 |
---|---|
float | 0以及1.2×10-38~3.4× 10-38 |
double | 0以及2.3×10-308~1.7×10-308 |
3、字符型
char 表示字符型取值范围按照ASCII码。ASCII码表
三、赋值语句
1、赋值运算符
赋值符号=就是赋值运算符,它的作用是将一个数据赋值给一个变量。
int a;//定义一个整型的变量a
a=5;//将a赋值为5,此时a的值为5
2、复合的赋值运算符
在赋值运算符=之前加上其他运算符,可以构成复合的运算符。
a+=3 //等价于a=a+3
a-=3 //等价于a=a-3
a*=3 //等价于a=a*3
//还有很多这样的例子就不一一列举了
3、赋值表达式
由赋值运算符将一个变量和一个表达式连接起来的式子称为“赋值表达式”。
它的一般形式为:变量 赋值运算符 表达式
a=b=c=d=e=10; //此时abcde都被赋值为10
a=5+(c=15) //表达式的值为20,c先被赋值为15,再加5赋值给啊
4、赋值过程中的类型转换
① 如果赋值运算符两侧的类型一致,则直接进行赋值
int a;
a=123;//定义的a为整型,赋值的元素为123也为整型,直接赋值
② 将浮点型赋值给整型:去掉小数点后面的数字。如3.14变为3
③ 将整型赋值给浮点型:加上小数点并添0.如3变成3.0
④ 将double赋值给float,只取6~7为有效数字。将float赋值给double,数值不变,有效位扩展到15位。
⑤ 将字符型复制个整型时,将字符的ASCII码赋值给整型。
四、数据的输入输出
1.print函数的一般格式
printf(格式控制,输出列表)
printf函数中用到的格式字符
格式字符 | 说明 |
---|---|
d,i | 带符号的十进制整数 |
o | 八进制无符号形式输出整数 |
x,X | 以十六进制无符号形式输出整数 |
u | 以无符号十进制形式输出整数 |
c | 以字符形式输出,只输出一个字符 |
s | 输出字符串 |
f | 输出小数(单精度) |
lf | 输出小数(双精度) |
2、scanf函数的一般格式
scanf(格式控制,地址列表)
scanf函数中用到的格式字符
格式字符 | 说明 |
---|---|
d,i | 输入带符号的十进制整数 |
o | 输入八进制无符号形式整数 |
x,X | 以十六进制无符号形式输入整数 |
u | 以无符号十进制形式输入整数 |
c | 以字符形式输入,只输入一个字符 |
s | 字符串输入 |
f | 输入小数(单精度) |
lf | 输入小数(双精度) |
五、运算符和表达式
1、算数运算符
运算符 | 含义 | 举例 | 结果 |
---|---|---|---|
+ | 正号运算符(单目运算符) | +a | a的值 |
- | 负号运算符(单目运算符) | -a | a的算数负值 |
* | 乘法运算符 | a * b | a和b的乘积 |
/ | 除法运算符 | a / b | a除以b的商 |
% | 求余运算符 | a % b | a除以b的余数 |
+ | 加法运算符 | a + b | a和b的和 |
- | 减法运算符 | a - b | a和b的差 |
2、自增、自减运算符
作用是使变量的值加1或减1,例如:
++i,–i(在使用i之前,先使i的值加(减)1)
i++,i–(在使用i之后,使i的值加(减)1)
3、逻辑运算符
有3种逻辑运算符:与(&&)、或(||)、非(!)。
与(&&):a&&b,a和b同时为真,则为真。
或(||):a||b,a和b有一个为真,则为真。
非(!):如果a为真,则!a为假。如果a为假,则!a为真。
4、关系运算符
运算符 | 含义 |
---|---|
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
== | 等于 |
!= | 不等于 |
5、三目运算符
max = (a > b) ?a : b;
if(a>b)
max=a;
else
max=b;
六、if语句
if语句的一般形式
if(表达式) 语句1
else 语句2
根据if语句的一般形式,if语句可以写成不同的形式,最常用的有以下3种形式:
(1) if
if(表达式) 语句1 //没有else
(2) if - else
if(表达式)
语句1
else
语句2
(3) if - else if - else
if(表达式1) 语句1
else if(表达式2) 语句2
else if(表达式3) 语句3
...
else if(表达式n) 语句n
else 语句n+1