一、数据类型转换
自动类型转换
数据类型存在自动转换的情况.
自动转换发生在不同数据类型运算时,在编译的时候自动完成。
char
类型数据转换为int
类型数据遵循ASCII
码中的对应值.
注:
字节小的可以向字节大的自动转换,但字节大的不能向字节小的自动转换
char可以转换为int,int可以转换为double,char可以转换为double。但是不可以反向。
强制类型转换
强制类型转换是通过定义类型转换运算来实现的。其一般形式为:
(数据类型) (表达式)
其作用是把表达式的运算结果强制转换成类型说明符所表示的类型
在使用强制转换时应注意以下问题:
1.数据类型和表达式都必须加括号, 如把(int)(x/2+y)写成(int)x/2+y则成了把x转换成int型之后再除2再与y相加了。
2.转换后不会改变原数据的类型及变量值,只在本次运算中临时性转换。
强制转换后的运算结果不遵循四舍五入原则。
二、标识符
C语言规定标识符可以字母(A—Z),数字(0—9)以及下划线_组成的字符串,并且首个字符必须是字母或下划线。使用标识符时还应注意以下几点:
1、字符个数一般不要超过8位,因为有些C版本中规定只有前八位有效,这样会把前八位相同的字符默认为相同标识符。
2、标识符严格区分大小写。
3、标识符最好使用有意义的英文单词,这样能够见名知意。但是不要使用中文。
4、标识符不能使用C语言中的关键字。
四、运算符
语言中运算符:
※ 算术运算符
※ 赋值运算符
※ 关系运算符
※ 逻辑运算符
※ 三目运算符
算术运算符
c语言基本运算符:
基本运算符实例
#include <stdio.h>
int main()
{
int i=1,j=1;
printf("%d\n",2+10);
printf("%d\n",12-5);
printf("%d\n",6*9);
printf("%d\n",7/3);
printf("%f\n",7.0/3);
printf("%d\n",66%5);
printf("%d\n",i++);
printf("%d\n",j--);
return 0;
}
#include <stdio.h>
int main()
{
int i=1,j=1;
printf("%d\n",++i);
printf("%d\n",--j);
return 0;
}
除法运算中注意:
如果相除的两个数都是整数的话,则结果也为整数,小数部分省略,如
8/3 = 2
;
而两数中有一个为小数,结果则为小数,如:9.0/2 = 4.500000
。
取余运算中注意:
该运算只适合用两个整数进行取余运算,如:
10%3 = 1
;
而10.0%3则是错误的;
运算后的符号取决于被模数的符号,如(-10)%3 = -1;
而10%(-3) = 1;
注:C语言中没有乘方这个运算符,也不能用×, ÷
等算术符号。
自增与自减运算符
- 自增运算符为
++
,其功能是使变量的值自增1 - 自减运算符为
--
,其功能是使变量值自减1。
它们经常使用在循环中。自增自减运算符有以下几种形式:
赋值运算符
C语言中赋值运算符分为简单赋值运算符和复合赋值运算符
简单赋值运算符=
号了,下面讲一下复合赋值运算符:
复合赋值运算符就是在简单赋值符=
之前加上其它运算符构成.
例如
+=、-=、*=、/=、%=
分析:定义整型变量a并赋值为3,a += 5;
这个算式就等价于a = a+5;
将变量a和5相加之后再赋值给a
注意:复合运算符中运算符和等号之间是不存在空格的。