1.变量:
程序在运行过程中值可以发生改变的量
1.变量名的要求:
1.不能与C语言关键字重名
2.最好不要与系统的库函数重名(如printf,重名可能会导致对应库函数无法使用)
3.变量名可以以字母、数字、下划线组成,但是不能以数字开头
4.变量名不允许重名
5.变量名最好做到见名知意(如TmpVal)
6.变量必须先定义再使用
2.变量的定义:
数据类型 变量名;
short d;
long e;
int a;
char f;
float b;
double c;
3.变量的初始化:
变量定义时未经初始化值为随机值
初始化:变量定义时为变量赋初值
如 int a = 0;就是将a初始化
不要使用未经初始化的变量
int a = -3, b = -4, c = -5;
unsigned int a = 10;
float f = 3.14;
double d = 5.12;
4.变量的打印:
short
int
long
以上使用 %d 打印
float
double
以上使用 %f 打印
char
以上使用 %c 打印
2.表达式:
由常量和变量所组成的式子
1.表达式一定有值
2.表达式一定有类型
int a = 100;
int b = 20;
1 + 2
a + 5
a / b
(1 > 2) + 3
5.0 / 2.0
'a' + 3
'B' + 32
5.0 / 2 处理时2会变成2.0
1.混合类型运算时表达式的类型
类型转换:
1.显示类型转换(强制类型转换)
(int)变量名
(double)变量名
2.隐式类型转换
主要出现在混合类型计算时
低精度转换成高精度
1.同种类型所占空间越大精度范围越高
long > int > short > char
2.整数类型中无符号类型精度大于有符号类型精度
unsigned > signed
3.浮点数类型精度高于整数类型精度
double > float > 整数类型
注意:
1.short char int进行数据运算和数据处理时会默认转换为long类型
2.float double进行数据运算和数据处理时会默认转换为double类型
float f1 = 3.0;
float f2 = 5.0;
f1 + f2;
double f = 5 / 2;
printf("f = %f\n", f);
3.运算符
1.算术运算符:
+
-
*
/
% 唯一不能对浮点数操作的算数运算符
++ 自增运算符
-- 自减运算符
i++ 后置++ 先用再+
++i 前置++ 先+再用
2.赋值运算符:
=
+= a += x == a = a+x
-=
*=
/=
%=
左值:能够放在等号左边的值,可以是变量,不能是常量或表达式
右值:能够放在等号右边的值,可以为常量、变量、表达式
char ch = 0;
int num = 1568;
ch = num;
printf("%d\n", ch);
1.整形赋值给浮点数类型扩展精度
2.浮点数类型赋值给整形舍弃精度
3.左右两边空间大小一致直接完成内存数据拷贝
4.小数据放入大空间时需要补位,有符号数补符号位,无符号数补0
5.大数据放入小空间时需要截断,截取数据低位
char ch = 480;
printf("ch = %d\n", ch);
3.逗号运算符:
val = (a, b, a+b, b+c, a+3, b-3)
从左到右依次运行,最后一个逗号表达式的结果为整体表达式的结果
C语言中常用的输入输出函数:
1.putchar getchar (单个字符)
2.printf scanf(字符串)
3.puts gets
1.putchar:
1.功能:给定一个数字,并将其对应的ASCII码显示在屏幕上
2.使用形式:
putchar('a');
2.getchar:
1.功能:从键盘读取一个字符,并将其对应的ASCII码返回
2.使用形式:
char ch = 0;
ch = getchar();
3.printf
格式化输出函数,将双引号中的内容以字符串形式显示在终端
1.printf打印非输出控制符
printf("hello world");
\n 换行符
\t 制表符
\b 退格符
\v 纵向制表符
\r 回车符
\\ \字符
\" "字符
2.printf打印输出控制符
int Num = 100;
printf("Num = %d\n", Num1);
%d 按照有符号十进制打印
%o 按照无符号八进制打印
%x 按照无符号十六进制打印
%X 按照十六进制打印
%# 打印八进制前的0和十六进制前的0x
%s 按照字符串打印
%p 按照指针打印
%% 打印%字符
%u 按照无符号十进制打印
%e 按照浮点数类型打印
%f 按照浮点数类型打印
%c 按照字符(ASCII码表)打印
3.printf打印多个输出控制符
int Num1 = 100;
int Num2 = 200;
char ch = 'a';
printf("Num1 = %d, Num2 = %d\n", Num1, Num2);
printf("ch = %c, ch = %d\n", ch, ch);