栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C/C++复习】类型、运算符与表达式(一)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C/C++复习】类型、运算符与表达式(一)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


  • 编写:Brisy

一、变量

变量是装数据的容器,数据变,容器不变。变量在使用前要先定义,基本格式为:
变量类型名 变量名1,变量名2 …
也就是下面例子中a、b、c三个变量的定义可写为:

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

#include 
using namespace std;
int main()
{
	int a = 1;
	int b = 1;
	int c;
	cout< 
1.1 变量名 
  • 变量名是由字母('_'被看作字母)和数字组成的序列,但第一个字符必须为字母;
  • 大小写字母是由区别的;
  • 如int等关键字,已被语言本身占有,不能作为变量名;
1.2 变量类型

C语言有且仅有的四种基本类型

  • char 字符型,占用一个字节的长度,可以存放一个字符;
  • int 整型,用来装整数,长度由所在机器而定,通常占4个字节;
  • float 单精度浮点型
  • double 双精度浮点型

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

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

short限定符尽可能的使int变短,long尽可能的使int变长。
short和int类型不小于16位,int型可以是16位和32位,long类型不小于32位,具体由所在机器而定。
signed与unsigned可用来限定char型和所有整型(包括被short或long限定过的整型)。
signed整形使得原有整型长度不变,符号位变成了数据位,仅能表示0和正数。
signed char强制char可以存储由符号整数,unsigned char强制char可以存储无符号整数,char不加任何限定,则是否有符号根据所在机器而定。

  • int 整数默认
  • double 浮点数默认
  • long 加L
  • float 加F
#include 
using namespace std;

int main()
{
	cout< 
  • 0开头代表八进制
  • 0x开头代表十六进制
#include 
using namespace std;

int main()
{
	cout<<31< 
二、字符串常量 

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

#include 
using namespace std;

int main()
{
	cout<<"I am a string"< 
三、运算符 
3.1算数运算符 

+、-、*、/、%
取模运算符(%)
x % y 结果是x除以y的余数部分。
注意:x和y必须是整型操作数。
在有负数操作数的情况下,取模运算结果的符号取决于具体机器的实现。

除法运算符
整数出发会截断结果中的小数部分。

#include 
using namespace std;
int main()
{
	cout<<5/2< 

自增自减运算符

  • 前++/-- 先运算后赋值
  • 后++/-- 先赋值后运算
#include 
using namespace std;
int main()
{
	float x = 1.1;
	float y;
	float a = 1.1;
	float b;
	y = x++;
	cout<< x < 
3.2 关系运算符 

、<、>=、<=、==、!=
x > y x大于y返回真,否则返回假;
x < y x大于y返回假,否则返回真;
x >= y x不小于y返回真,否则返回假;
x <= y x不大于y返回真,否则返回假;
x ==y x等于y返回真,否则返回假;
x != y x不等于y返回真,否则返回假;

#include 
using namespace std;

int main()
{
	int x = 1, y = 2;
	int z = x>y;
	cout<< z <x;
	cout<< z < 
3.3 逻辑运算符 

&&、||、!
&&:有一个假则全部为假
||:有一个为真则全部为真
!:见真则假,见假则真

#include 
using namespace std;

int main()
{
	int x = 1, y = 0;
	int z = x&&y;
	cout<< z < 
3.4 赋值运算符 

=、+=、-=、*=、/=、%=
a %= 10; 等价于 a = a % 10;

3.5 位运算符

&(按位与)、|(按位或)、<<(算数左移)、>>(算数右移)、~(按位取反)、^(按位异或)

<<(算数左移)

#include 
#include 
using namespace std;

int main()
{
	short int x = -178;
	short int y = x<<1;
	cout<< bitset(x) <(y) < 

bitset<转换后的位数>(被转换成2进制的数)

&(按位与)

#include 
#include 
using namespace std;
int main()
{
	short int x = -111;
	short int y = 1234;
	short int z = x&y;
	cout<< bitset(x) <(y) <(z) < 

^(按位异或)

#include 
#include 
using namespace std;
int main()
{
	short int x = -111;
	short int y = 1234;
	short int z = x^y;
	cout<< bitset(x) <(y) <(z) < 

~(按位取反)

#include 
#include 
using namespace std;
int main()
{
	short int x = -111;
	short int y = ~x;
	cout<< bitset(x) <(y) < 
3.6 其他运算符 

sizeof 运算符
用法:sizeof (数据类型、变量或常量)

问号运算符
<表达式1>?<表达式2>:<表达式3>;

#include 
using namespace std;
int main()
{
	int x = 1;
	int y = 2;
	cout<< (x>y ? 'A':'B') <y ? 'A':'B') < 
四、类型转换 

主要运用场景:需要精确浮点数的情况。

4.1 自动转换

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

混合运算中的自动转换:
1 + 1.1

4.2强制转换

(类型名)表达式

(float)a; //将变量a转换为float类型
(int)(c+d); //把表达式 x+y 的结果转换为 int型
(float)5; //将数值 5(默认为int类型)转换为float
注意:类型转换只体现在结果上,并不会改变被转换变量的类型。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/883095.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号