关键字
1.C语言预先规定的,具有特定意义的字母组合(32个)。
2.保留给语言本身使用,也称为保留字。
标识符
定义:为程序的构成成分命名。
变量
变量是程序执行期间其值可以改变的量,必须先定义后使用。
变量定义本格式
类型说明符 变量名1 变量名2...
如 int a,b,c;
float x;
功能:指定变量的名字和数据类型,一次可以定义一个或多个相同类型的变量。
变量定义的位置
变量必须在第一条可执行语句前定义(C99取消了这一规定)。
变量的初始化
1.变量可以在定义时对其赋值,称为初始化。
2.变量没有赋值,其单元内容不可以使用,是内存中的随机数。变量在程序中可以被多次赋值。
=赋值号 表示将右边的表达式内容赋值给左边的变量
.变量必须先定义,先赋值,后使用。
正确理解变量的概念
-变量名:代表内存中的储存单位;变量通过变量名标识,变量名和内存中的存储单位相对应,通过变量来存、取存单位的内容。
-变量的地址:系统分配给变量的存储单位的起始地址。
-变量的类型:定义时指定,决定存储单位的起始地址。
-变量的值:对应变量名存储单位放的具体数值。
-变量名命名可采用标识符命名法
sizeof运算符
功能:获取变量和数据类型所占内存大小(字节数)
格式:sizeof 表达式 sizeof (数据类型名或表达式)
例如sizeof(int) sizeof(a)
整型数据的存储方法
以短整型存储长度2个字节16位为例
有符号整数(0代表正、1代表负)最大数=2^15-1
无符号整数(全部位数用来存放数值)最大数==2^16-1
浮点数——科学计数法
计算机中采用以2为底的科学计数法记数法储存:N=数符xR^ExM
(其中:数符0为正,1为负,M为尾数,E为阶码,R为基数。小数点不占位置,采用隐含方法表示,尾数中的1不存储,只存储小数部分。)
尾数的位数决定数的精度,阶码的位数决定数的范围
小结
整数采用有符号和无符号方式指定位进行存储;
浮点数可以扩大实数的表示范围,表示既有整数部分、又有小数部分的实数;采用尾数和阶码方式存储;
浮点数表示的数仅是数值的近似值,并非真正有有的时候;
采用取值范围更大的类型有助于防止数值溢出;
了解处理文体的规模,选取恰当的数据类型。
常量
常量的分类
-数值常量
-符号常量
-字符常量
-字符串常量
整型常量
十进制数:0~9
八进制数:0~7,以0开头
十六进制数:0~9,A~F/a~f,以0x或0X开头
整数后加L(小写l)表示长整型 123L
实数常量(实型常数不区分单精度和双精度)
两种表示形式
十进制数形式:有数字、小数点及正负号组成(必须有小数点)
指数形式:有数、小数点、字母e或E及正负号组成。
(e或E之前必须有数字,且后指数必须为整数)
-实数常量后加f或F表示按单精度存储和运算
符号常量(宏常量)
符号常量:用一个符号代表一共常量,必须在函数开始用宏定义声明后使用。
符号常量定义#define 宏名 字符串
功能:在程序编译时,首先使用符号串替换程序中的所有宏名,在进行编译。符号串可以是常量、表达式、格式串等。
const常量-定义格式:如const doublle pi=3.1415;
字符常量
字符型数据用来表示一个字符值。在计算机内部存储字符的ASCII
字符常量:用单引号括起来的一个字符 如:’z'、‘A'、'1'
char c='Y'
字符串常量:如:“abc"、"a"、"\n"
转义字符
算术运算符
分类:
算术、关系、逻辑、位运、赋值
整除问题
“/"是除法运算符,当两个整数相除时结果取整(整除)。
若有一个负数,采取向零取整;
注意在表达式中的使用。
如:9/2=4
-9/2=4
1/2=0
1.0/2=0.5
"%"取余运算符;
该运算符只作用两个整数的运算,运算结果为两个整数的余数,结果为正数;
运算结果符号与被除数的符号一致;
如果被除数小于除数,结果即为被除数。
如:9%2=1; -9%2=-1; 9%-2=1; 2%9=2
常用数学库函数
平方根函数:sqrt(x),计算x^1/2的值
绝对值函数:fabs(x),求x的绝对值
幂函数:pow(x.n),计算x^n
指数函数:exp(x),计算e^x
以e为底的对数函数log(x),计算lnx
三角函数:sin(x),计算sin(x)的值
表达式书写规则
使用合法的C语言运算符;
表达式必须书写在一行;
使用圆括号改变表达式的运算顺序。
赋值运算符:变量名=常量或表达式 结合性:从右向左
复合赋值运算符
特点:简化程序书写。
结合性从右至左。
注意两个运算符中间不要有空格。
符号 | 复合赋值运算说明 | 等价于 | 结合性 |
---|---|---|---|
+= | a+=b | a=a+b | 从右到左 |
-= | a-=b | a=a-b | 从右到左 |
*= | a*=b | a=a*b | 从右到左 |
/= | a/=b | a=a/b | 从右到左 |
%= | a%=b | a=a%b | 从右到左 |
复合赋值运算练习
例:a=12 a+=a-=aa; 结果:a=-2264,等价于a=a+(a=a-(aa))
自增自减运算符
++a完成a=a+1,表达式的值为a+1后的值;
a++完成a=a+1,表达式的值为a原来的值;
作为前缀运算符:
k=++i; i=i+1;k=i;
当i=2时,执行完成该语句,i和k的值都是3.
作为后缀运算符:
k=i++; k=i;i=i+1;
当i=2时,执行完成该语句,k的值是2,i的值是3。
与其他运算组合使用:
k=-a++; k=-(a++);
当a=1时,执行完该语句,k的值是-1,a的值为2。
逗号运算符:
优先级:所有运算符中级别最低的运算符。
逗号表达式:
形式:表达式1,表达式2,...,表达式n.
求解过程:顺次求解表达式1,2...最后求解表达式n
表达式值:逗号表达式的值为表达式n的值,类型为表达式n得类型。
结合性:从左向右。
最终表达式n的值做为所求值。
数据类型转换
自动类型转换
强制类型转换:
将表达式的值转换为指定类型。
形式:(类型名)表达式
例如:(double)(a+b) 将a+b的值转换为double型。
说明:
(1)表达式应用括号括起
例如:(int)(x+y);将x+y的值转换为整型
(int)x+y;将x的值转换为整型
(2)在强制类型转换时,得到一个所需类型的中间值变量,原来变量类型未发生变化。
标签:存储,变量,笔记,C语言,运算符,赋值,表达式,常量 From: https://www.cnblogs.com/LCGJ/p/17808504.html