C语言第二课
第二课
一、变量
1.变量定义
1 | int a = 0 |
定义了一个变量,名字是a,类型是int,初始值是0
变量是一个保存数据的地方,当我们需要在程序里保存数据时,就需要一个变量来保存它。用一个变量保存了数据,它才能参加到后面的计算中。
a=0是一个式子,这里的“=”是一个赋值运算符,表示将“=”右边的赋值给左边的变量。
所有的变量必须具有确定的数据类型。数据类型表示在变量中可以存放什么样的数据,变量中只能存放指定类型的数据,程序运行过程中也不能改变变量的类型。
C99可以在程序的任何地方定义变量,只要出现在这个变量第一次出现之前,ANSI C只能在代码开头的地方定义变量
2.变量形式
变量的一般形式:<变量名称><变量名称>
3.变量的名字
①变量需要一个名字,变量的名字是一种“标识符”,意思是它是用来识别这个和那个的不同的名字。
②标识符的原则:标识符只能由字母、数字和下划线组成,数字不可以出现在第一个位置上,C语言的关键字(保留字)不可以用做标识符。
※C语言的关键字(不用记,但要知道):auto,break,case,char,const,continue,default,do,double,else,enum,float,for,goto,if,int,long,register,return,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatlie,while,inline,restrict
4.赋值
在程序设计中,a=b表示要求计算机做一个动作:将b的值赋给a。关系是静态的,而动作是动态的。a=b和b=a的意思完全不同
5.初始化
当赋值发生在定义变量的时候,把变量赋为默认值,就是变量的初始化。。虽然并没有强制要求所有的变量都在定义的地方做初始化,但是所有的变量在第一次被使用(出现在赋值运算符的右边)之前应该被赋值一次
6.初始化形式
①初始化形式:<类型名称><变量名称>=<初始值>;
int a = 1
int b = 1
②组合变量定义的时候,也可以在这个定义中单独给单个变量赋初始值:
int a = 1,b = 1
7.读整数
1 | scanf("%d",&a) |
要求scnaf这个函数读入下一个整数,读到的结果赋值给变量a
※注意&
8.常量
固定不变的数,是常数。直接写在程序里称作直接量
const是一个修饰符,加在int前面,用来给这个变量加上一个const(不变的)的属性。这个const的属性表示这个变量的值一旦初始化,就不能再修改了。
※对常量做修改,把它放在赋值运算符的左边,会报错
9.浮点数
带小数点的数值是浮点数
①当浮点数和整数放到一起运算时,会将整数转换成浮点数,然后进行浮点数的运算
②inch是定义为int类型的变量,把int换成double,就可以改为double类型的浮点数
double表示浮点数类型。float表示单精度浮点数。
输入使用%lf,输出使用%f
10.数据类型
①整数
1 | int |
②带小数的数
1 | double |
二、表达式
1.运算符
运算符是指进行运算的动作
2.算子
算子是指参与运算的值,这个值可能是常数,也可能是变量,还可能是一个方法的返回值
3.复合赋值
①5个算数运算符,“+”,”-“,”*“,”/“,”%“,可以和赋值运算符“=”结合起来,形成复合赋值运算符:”+=“,”-=“,”*=“,”/=“和”%=“
※两个运算符中间不要有空格
a += b+c等同于a = a+(b+c)
a *= b+c等同于a = a*(b+c)
②“++”,“–”是两个很特殊的运算符,它们是单目运算符,这个算子必须是变量。这两个运算符分别叫递增运算符和递减运算符,作用是给这个变量+1或-1
a++等同于a += 1等同于a = a+1
++和–可以放在变量的前面,叫做前缀形式,也可以放在变量的后面,叫做后缀形式
a++/a–的值是a+/-1以前的值,++a/–a的值是+/-1以后的值,无论哪一个,a自己的值都+/-1
1 |
|
运行结果:
a++=1
a=2
++a=2
a=2
表达式 | 运算 | 表达式的值 |
---|---|---|
a++ | 给a加1 | a原来的值 |
++a | 给a加1 | a+1以后的值 |
a– | 给a减1 | a原来的值 |
–a | 给a减1 | a-1以后的值 |
3.交换两个变量
程序表达的是顺序执行的动作,而不是关系
1 | a=b; |
是依次执行的,结果使得a和b都得到b原来的值
1 |
|
4.求平均值
两个整数的平均值
1 |
|
5.赋值运算符
赋值也是运算,也有结果
a=1的结果是a被赋予的值,也就是1
a=b=1等同于a=(b=1) (自右向左)
嵌套式赋值
1 | int a = 1; |
※不利于阅读,容易产生错误(不要这样)