第五课:数据类型转换、标识符、运算符(2019.9.28)

一、数据类型转换

自动类型转换
数据类型存在自动转换的情况.
自动转换发生在不同数据类型运算时,在编译的时候自动完成

数据自动转换.jpg

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语言基本运算符:

基本运算符.jpg

基本运算符实例

#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。

它们经常使用在循环中。自增自减运算符有以下几种形式:


自加自减运算符.jpg

赋值运算符

C语言中赋值运算符分为简单赋值运算符复合赋值运算符

简单赋值运算符=号了,下面讲一下复合赋值运算符:

复合赋值运算符就是在简单赋值符=之前加上其它运算符构成.

例如+=、-=、*=、/=、%=

分析:定义整型变量a并赋值为3,a += 5;这个算式就等价于a = a+5; 将变量a和5相加之后再赋值给a

注意:复合运算符中运算符和等号之间是不存在空格的。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容