类型、运算符与表达式

主要知识点概述

  • 常量与变量:常量和符号常量、变量等
  • 整型数据:整型常量、整型变量等
  • 浮点型数据:浮点型常量、浮点型变量等
  • 字符型数据:字符常量、字符变量、字符串常量等
  • 变量赋初值:变量初始、函数的首部、函数体等
  • 各类数值型数据间的混合运算
  • 算术运算符和算术表达式:基本的算术运算符、运算符的优先级与结合性、
  • 强制类型转换运算符等
  • 赋值运算符合赋值表达式:赋值运算符、类型转换、赋值表达式等
  • 逗号运算符和逗号表达式

 

基础知识

1. 变量:装数据的容器,数据变,容器不变

变量在使用前要先定义,基本格式:变量类型 变量名1,变量名2,……;

Ex:int a,b,c;int a=0,b,c=0;//初始化

2. 变量名:由字母(‘_’被看作字母)和数字组成的序列,但第一个字符必须是字母;大小写字母是有区别的;关键字不能作为变量名

3. 四种基本类型

char 字符型,占用一个字符长度,存放一个字符

int 整型,通常占4个字节

float 单精度浮点型

double 双精度浮点型

数据类型框架图:

4. 施加在基本类型上的限定符

short int a;//int可省略不写

long int a;

short 限定符尽可能的使int变短,long尽可能的使int变长

signed与unsigned可用来限定char型和所有整型

signed 整型等价于整型

unsigned 整型使得原有整型长度不变,符号位变成了数据位,仅能表示0和正数

signed char 强制char可以存储有符号整数

unsigned char 强制char可以存储无符号整数

5. 整数常量进制表示

0 表示八进制

0X 表示十六进制

6.字符常量

使用单引号将字符括起来,参与运算时对应的是ASCII码值

7. 转义字符(一般不可显示的,带有功能性的字符)

\a 响铃符

\n 换行符

\0 字符串结束的标识

8. 字符串常量

用双引号包裹起来的≥0的字符组成的序列为字符串常量

9. 算数运算符:+、-、/、*、%、++自增、--自减

%取余:x%y结果是x除以y的余数部分;x和y必须是整型操作数;在有负操作数的情况下,取模运算结果的符号取决于具体机器的实现

/除法:整数除法会截断结果中的小数部分

++自增:y=++x表示先自加后赋值;y=x++表示先赋值后自加

10. 关系运算符:<、>、<=、>=、==等于、!=不等于

x>y x大于y返回真,否则返回假

x>=y x不小于y返回真,否则返回假

x==y x等于y返回真,否则返回假

关系表达式的值是一个逻辑值,即“真”或“假”,“真”的表达式的值为1,“假”的表达式的值为0

11. 逻辑运算符:&&且,||或,!非

逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算术运算符

12. 赋值运算符:=、+=、-=、/=、%=

a%=10;等价于a=a%10;

13. 位运算符:&、|、<<左移一位、>>、^

<<左移一位:包含处理函数#include<bitset>

Ex:

#include<iostream>
#include<bitset>
using namespace std;

int main(){
	short int x=-178;
	short int y=x<<1;
	cout<<bitset<sizeof(x)*8>(x)<<endl;
	cout<<bitset<sizeof(y)*8>(y)<<endl;
	cout<<y<<endl;
	return 0;
} 


结果:
1111111101001110
1111111010011100
-356

14. 类型转换(只体现在结果上不改变被转换变量的类型)

(1)自动转换

a. 赋值语句中的自动转换:float a=100;int b=a;

Ex:

#include<iostream>
using namespace std;

int main(){
	unsigned int a=1;
	int b=-2;
	long c=-2;
	cout<<a+b<<endl;
	cout<<a+c<<endl;
	return 0;
}


结果:
4294967295
-1

b. 混合运算中的自动转换,短的类型向长的类型转换:1+1.1

(2)强制转换

(类型名)表达式

Ex:(float)a;//将变量a转换为float类型

(int)(b+c);//把表达式a+b的结果转换成int型

(float)5;//将数值5(默认为int类型)转换为float型

15.整型类型的有关数据

类型类型说明符长度数的范围
基本型int2字节-32768~32767
短整型short2字节-215~215-1
长整型long4字节-231~231-1
无符号整型unsigned 2字节0~65535
无符号长整型unsigned short2字节0~65535
无符号短整型unsigned long4字节0~(232-1)

16.浮点型常量指数表示方法的注意点:字母e(或E)之前必须有数字,且e后面 的指数必须是整数

17.浮点型变量的有关数据

类型位数数的范围有效数字
float32-3.4*10-38~3.4*10387位
double64-1.7*10-308~1.7*1030816~17位
long double128-1.2*10-4932~1.2*10493218位

18.逗号运算符和逗号表达式
(1)逗号运算符:将两个表达式连接起来,又称为“顺序求值运算符”
        如:3+5,6+8
       一般形式:表达式1,表达式2
      求解过程:先求表达式1,再求表达式2,整个逗号表达式的值是表达式2的值,逗号表达式的值为14
(2)一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式
       如:(a=3*5,a*4),a+5
       先计算出a的值等于15,再进行a*4的运算等于60(但a的值未变,扔为15),再进行a+5得到20,即整个表达式的值为20
(3)逗号表达式的一般形式扩展:
       表达式1,表达式2,表达式3,……,表达式n
       它的值为表达式n的值

19.条件运算符:表达式1?表达式2:表达式3

(1)执行顺序:先求解表达式1,若为非0(真),则求解表达式2,此时表达式2的值就作为整个条件表达式的值;若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。

(2)条件运算符优先级高于赋值运算符,低于关系运算符和算术运算符。条件运算符的结合方向为“自右至左”。

例:

#include<stdio.h>
int main(){
	char ch;
	scanf("%c",&ch);
	ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
	printf("%c\n",ch);
	return 0;
}


运行结果:
D
d

20.符号常量:它的值在其作用内不能改变,也不能被赋值,一般使用大写字母表示符号常量

  使用符号常量的好处:含义清楚;能做到一改全改

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值