IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言程序设计(运算符与表达式) -> 正文阅读

[C++知识库]C语言程序设计(运算符与表达式)

运算符与表达式

运算符:就是参与运算的符号,与运算符一起运算的变量,常量称之为操作数

表达式:是变量或者直接量与运算符组成的式子,表达式会有一个计算的结果,称之为表达式的值

运算符与表达式的概念

在应用程序中,经常会对数据进行运算,所以勒C语言提供了多种类型的运算符,即专门用于告诉程序执行特定运算或逻辑操作的符号
有下面常见的七大类:

运算符类型作用
算数运算符用于处理四则运算
关系运算符用于表达式的比较,并返回一个真值或假值
逻辑运算符用于根据表达式的值返回真值或假值
赋值运算符用于将表达式的值赋值给变量
条件运算符用于处理条件判断
位运算符用于处理数据的位运算
sizeof运算符用于求字节长度

算术运算符与算术表达式

C语言中的算数运算符就是用来处理四则运算的符号
我们直接上图🚗🚓🚕🛺🚙🛻

运算符名称实列运算结果
+正号+33
-负号a=4;-a;-4
+加号1+12
-减号2-11
*9*981
/6/32
%求余数6%51
++自增(前)a=2;b=++a;b=3;a=3;
++自减(前)a=2;b=- -a;b=1;a=1;
自增(后)a=2;b=a++;b=2;a=3;
自减(后)a=2;b=a- -b=2;a=1;

关于自增,自减我们一定要注意:
(+号在前)++a 表示a自增后在参与其他运算
(-号在前) - -a 表示a自减后在参与其他运算
(+号在后)a++ 表示参与运算后a的值在自增1
(-号在后)- - ab 表示参与运算后a的值在自减1

算数表达式
使用算数运算符连接起来的表达式称为算数表达式。
上代码:
请添加图片描述

#include<stdio.h> 
int main()
{
	int a,b,c,x,y,z;
	a=1;
	b=2;
	c=3;
	printf("%d\n",a+b);
	printf("自增(前):%d\n" ,++a);  //a自增 ,1+1=2,存储于a中,此时a中的值已经变为2(已经不再是1),在运算中输出得结果为2 。 
	 printf("自增(后):%d\n",a++);   //a先运算, 因为a中存储的值为2,所以a=2,此时运算赋值给a=2.运算中输出的结果为2.然后在自增,得a=3 。后面自增得到结果,存储于a中,但并没有用到
	 printf("此时a的值:%d\n",a); //这一步用到了,等于3,所以运算输出a=3 
	printf("自减(后):%d\n",b--);//先b运算,上面赋给a的值为2,所以b=2,输出的值为2,然后自减,2-1=1.此时存储于b中的值为1. 
	printf("自减(前):%d\n",--b);//先自减,因为上一步存储于b中的值为1,b=1.所以1-1=0.然后在进行运算,输出b的值为1.
	printf("自减(前):%d\n",--c);
	printf("求余的值为:%d\n",7%5);
}
//运行结果为:
3
自增(前):2
自增(后):2
此时a的值:3
自减(后):2
自减(前):0
自减(前):2
求余的值为:2

关系运算符与关系表达式

判断两个数据关系的运算符就叫做关系运算符,也称为比较运算符

运算符运算列子结果
==相等于1==20(假)
!=不等于1!=21(真)
<小于1<21(真)
>大于1>20(假)
<=小于等于1<=21(真)
>=大于等于1>=20(假)

关系运算符属于双目运算符,他们在运算时需要两个变量,如a>b
关系表达式
由关系运算符连接起来的表达式称为关系表达式

#include<stdio.h> 
main()
{
	int x,y,z;
	//变量说明(声明)
    //函数内的变量声明务必要放到函数主体的最顶部
 
	int max(int a,int b);
	//函数声明(说明)
 
	printf("输入两个整数,判断大小:");
	//输出 字符串
 
	scanf("%d\n %d",&x,&y);
	//输入 x和y的值,
	//scanf()为内置的输入函数
 
	z=max(x,y);
	//先调用max()函数,
	//再将max()函数返回的值赋给z
 
	printf("最大数是: %d \n",z);
	//输出 字符串
	//printf()为内置的输出函数
}
//主函数(main)
 
int max(int a,int b)
{
	if (a>b) return a;else return b;
}
//自定义max函数

逻辑运算符与逻辑表达式

逻辑运算符用于判断复合条件的真假,其结果仍(真)或(假)

运算符名称列子结果
&&a&&b如果a和b都为真,其结果为真,否则为假
!a如果a为假,!a为真,否则为假
IIaIIb如果a和b有一个或者一个以上为真,则为真,否则为假

逻辑表达式
由逻辑运算符连接起来的表达式称为逻辑表达式
代码是在博主新垣结衣的老婆看到的
请添加图片描述

#include<stdio.h> 
int main()
{
int age=0; // 年龄18-30
int height=0; // 身高165-175单位:厘米cm
int sc=0; // 身材,1-火辣;2-普通;3-飞机场。
int yz=0; // 颜值,1-漂亮;2-一般;3-歪瓜裂枣(翠花)。
printf("请输入年龄、身高、身材(1-火辣;2-普通;3-飞机场)(用空格隔开):");
scanf("%d %d %d",&age,&height,&sc);
printf("请输入颜值(1-漂亮;2-一般;3-歪瓜裂枣(翠花)):");
scanf("%d",&yz);
if ( ( (age >= 18) && (age <= 30) ) && // 年龄在25-30之间
( (height >= 165) && (height <= 175) ) && // 身高在165-175之间
两个都必须为真
( (sc == 1) ) && // 身材,1-火辣
( (yz == 1) || (yz == 2) ) ) // 颜值,1-漂亮或者2-一般
//两个有一个为真就行
{
printf("超女选秀合格,送往后宫。\n");
}
else
{
printf("超女选秀不合格,发放五两银子后送回家。\n");
}
}

赋值运算符与赋值表达式

赋值运算符的作用是将常量,变量或表达式的值赋给某一个变量

运算符名称列子结果
=赋值a=3;b=2;a=3;b=2;
+=加等于a=3;b=2;a+=b;a=5;b=2
-=减等于a=3;b=2;a-=ba=1;b=2
*=乘等于a=3;b=2;a*=b;a=6;b=2
/=除等于a=3;b=2;a/=ba=1;b=2
%=模等于(求余)a=3;b=2;a%=b;a=1;b=2

a+=b ----------- a=a+b
a-=b ------------a=a-b

#include<stdio.h>
int main()
{
	int a=5;
	int b=(a=5);
	printf("%d\n",b);
	int x,y,z;
	x=y=z=6;
	printf("老铁:%d%d%d\n",x,y,z);
	int d=1;
	d+=1313;//d=d+1313
	printf("%d",d);
 } 
//运行结果:
5
老铁:666
1314

条件运算符与条件表达式

当编写程序时,往往会遇到条件判断
例如:判断a>b,当a>b成立时执行某一个操作,当a>b不成立时执行另外一个操作

表达式1? 表达式2 : 表达式3

#include<stdio.h>
int main()
{
    int a = 10;
    int b = 20;
    int max = 0;
    max = (a > b ? a : b);//与下面的语句效果意义
    /*if (a > b)
       max = a;
    else
       max = b;*/
    return 0;
}
/*条件操作符
exp1?exp2:exp3
如果exp1为真则返回exp2,为假返回exp3*/

位运算符

位运算符位( bit ) 是计算机中表示信息的最小单位,一般用 0和 1表示。位运算符是对其操作数按其二进制形式逐位进行运算。

sizeof运算符

C语言中提供了sizeof运算符,获取某一数据或者数据类型在内存中所占的字节数

格式

sizeof(类型说明符)
sizeof 表达式
#include<stdio.h>
typedef struct Worke
{
char name[10];
int age;
long ID;
float height;
double weight;
}worker_t;
int main()
{
printf("char    :%lu\n", sizeof( char));
printf("int     :%lu\n", sizeof(int));
printf("long    :%lu\n", sizeof(long));
printf("float   :%lu\n", sizeof(float));
printf("double  :%lu\n", sizeof(double));
printf("worker_t:%lu\n", sizeof(worker_t));
printf("1+2     :%lu\n", sizeof(1+ 2));
printf("1+2.5   :%lu\n", sizeof(1+2.5));
printf("\n");
return 0;
}



char    :1
int     :4
long    :4
float   :4
double  :8
worker_t:32
1+2     :4
1+2.5   :8

运算优先级

C语言的运算符包括单目运算符、双目运算符、三目运算符,优先级如下:

  1. 第1优先级:各种括括号,如()、[]等、成员运算符 . ;
  2. 第2优先级:所有单目运算符,如++、–、!、~等;
  3. 第3优先级(算数运算符):乘法运算符*、除法运算符/、求余运算符%
  4. 第4优先级(算数运算符):加法运算符+、减法运算符-;
  5. 第5优先级(移位运算符):移位运算符<<、>>;
  6. 第6优先级(条件运算符):大于运算符>、大于等于运算符>=、小于运算符<、小于等于运算符<=;
  7. 第7优先级(条件运算符):等于运算符==、不等于运算符!=;
  8. 第8优先级(按位运算符):按位与运算符&;
  9. 第9优先级(按位运算符):按位异或运算符^;
  10. 第10优先级(按位运算符):按位或运算符|;
  11. 第11优先级(逻辑与运算符):逻辑与运算符&&;
  12. 第12优先级逻辑与运算符:逻辑或运算符||;
  13. 第13优先级:三目条件运算符 ?: ;
  14. 第14优先级:各种赋值运算符,如=、+=、-=、*=、/= 等;
  15. 第15优先级:逗号运算, 。

算数运算符>移位运算符>条件运算符>按位运算符>逻辑运算符>赋值

//代码在博客凡仕咖啡看到的
//运算符优先级(没有涉及到复杂的)示例:
#include <stdio.h>
main() {
int a = 20;
int b = 10;
int c = 15;
int d = 5;
int e;
e = (a + b) * c / d; // ( 30 * 15 ) / 5
printf("Value of (a + b) * c / d is : %d\n", e );
e = ((a + b) * c) / d; // (30 * 15 ) / 5
printf("Value of ((a + b) * c) / d is : %d\n" , e );
e = (a + b) * (c / d); // (30) * (15/5)
printf("Value of (a + b) * (c / d) is : %d\n", e );
e = a + (b * c) / d; // 20 + (150/5)
printf("Value of a + (b * c) / d is : %d\n" , e );
return 0;}
//运行结果:
Value of (a + b) * c / d is : 90
Value of ((a + b) * c) / d is : 90
Value of (a + b) * (c / d) is : 90
Value of a + (b * c) / d is : 50


从现在做起,坚持下去,一天进步一小点,不久的将来,你会感谢曾经努力的你!

如果又出错的,请各位友友指正。

请添加图片描述

新人报到,各位友友们,给我个三联(点赞,关注,收藏)

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-24 14:45:41  更:2021-10-24 14:47:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:48:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码