C语言学习(一)基本数据类型和表达式
一、数据类型
C语言的数据类型总的来说可以按如下来分类:
数据类型分为基本数据类型和复合数据类型。基本数据类型又分为空类型(void)、字符型(char)和数值型(numeric),复合数据类型又分为数组、结构、联合、枚举和指针。基本数据类型中数值型又可以分为实型和整型,实型分为单精度(float)和双精度(double),整型分为短整型(short)、整型(int)、长整型(long),无符号只需在前面加上unsighed即可。
二、常量和变量
1.常量:常量是指在程序运行中不能被改变的量。
1)常量分为直接常量和符号常量,直接常量分为整型、实型、字符型和字符串。
2)字符型常量常用单引号‘’括起来,通常是一个字母或者转义字符,例如‘a’,‘\n’。字符串常量常用双引号括起来,例如“How are you”。
3)符号常量是用标识符来表示一个数据,在程序中不能给他赋值。通常的格式为#define 标识符 常量数据,例如#define PI 3.14,表示的是定义了PI 的数值为3.14。
2.变量
1)变量以字母或下划线开头,由数字、字母和下划线组成,如int a,但不能采用系统关键字,如printf,int等。
2)每个变量都需要初始化,给变量赋初值的过程成为初始化
3)变量分为整型、实型和字符型变量。需要注意的是单精度(float)只提供7位有效数字,如float 123456.789,只能显示前7位,最后俩位小数不起作用。双精度提供15-16位有效数字。
三、运算符与表达式
基本运算符和表达式分为6种:算数运算符和表达式、赋值运算符和表达式、关系运算符和表达式、逻辑运算符和表达式、条件 运算符和表达式、逗号运算符和表达式。
1)算数运算符和表达式
①算数运算符有+、-、*、/、%(取余),优先级为先乘除后加减,%和乘除优先级相同。
②算数表达式由算术运算符和操作数组成,遵循从左到右的运算法则,在参与运算的过程中如果数据类型不一致需要先转成相同类型的数据类型然后再进行计算。在数据转换时有一个隐性规则char,short→int→float→double,但并不是说一定要转成double型,而是根据算式中最高级来决定的。
2)赋值运算符和表达式
①赋值运算符有 += , -= , *= , /= , %= , <<=(左移) , >>=(右移) , &= , ^= , |=和=。
②赋值表达式为赋值运算符将一个变量和一个表达式连起来的句子,运算时结合率遵循自右往左。
3)关系运算符和表达式
①关系运算符用于两个数值之间的比较运算。C语言提供6种关系运算符:<、<=、>、>=、 优先级相同高。 ==、!= 优先级相同低。
②关系表达式是由运算符和操作数组成的表达式,他表达的是一个逻辑的值,只有俩个值,即0和1,非0即为真,0才为假。
4)逻辑运算符和表达式
①逻辑运算符包含3种,分别为&&(与)、||(或)、!(非),优先级!>&&>||.
②逻辑表达式为关系表达式或逻辑量连接起来的式子,在运行时遵循非0即为真,0才为假。
5)条件运算符和表达式
①条件运算符为?:。
②条件表达式一般格式为:表达式1 ? 表达式2 : 表达式3 。例如a>b?a:b ,表达的意思为若a>b则输出a,否则输出b。
6)逗号运算符和表达式
逗号运算符一般格式为:: 表达式1, 表达式2, 表达式3, LL, 表达式n。但是只输出最后一个值,即表达式n的值。