首页 > 其他分享 >学习笔记——C语言基本概念&运算符——(2)

学习笔记——C语言基本概念&运算符——(2)

时间:2024-03-18 19:31:30浏览次数:24  
标签:运算 int C语言 运算符 num 基本概念 表达式 赋值

目录

一、运算符

1.1 赋值运算符

1.2 算数运算符 

1.3 关系运算符

1.5 位运算符

1.6 自增自减运算符

1.7  复合运算符

1.8 逗号运算符

1.9 三目运算符

1.10 sizeof 运算符

附录:运算符优先性表


一、运算符

1>.按照操作数目分类: 单目运算符, 双目运算符, 三目运算符。
2>.按照功能分类: 赋值运算符, 算数运算符, 关系运算符, 逻辑运算符, 位运算符(针对二进制数值), 自增自减运算符, 复合运算符, 逗号运算符, 问号运算符(三目运算符)。

1.1 赋值运算符

赋值运算符为:=

在c语言中,一个 “=” 是赋值运算符,两个“==”才是等于号的意思。

功能: 将等号右侧的内容赋值给等号左侧。

注意:使用赋值运算符时等号左边不能是常量。实例如图:1-1使用常量赋值。

图1-1使用常量赋值

自动类型转换:赋值运算符如果左右两侧类型不一致, 默认往等号左侧转; (小数转整数, 舍弃小数后面的内容)。

如图1-2 自动类型转换。

虽然不报错也不警告, 但是还是希望两边类型一致:
强制类型转换:格式: (数据类型)变量名
float b = 99.99;
a = (int)b; //a = 99 取整数部分;实例:如图1-3 强制转换。

1.2 算数运算符 

算数运算符:+   -    *     /    %(取余)

/  --> 除              结果是商
% --> 取余         结果是余数 (注意: 左右两侧都得是整数)

简单举个例子就是:

int num =10/3; //num = 3;

int a =10%3;      // a = 1

类型转换:自动类型转换:
+  -  *  /  左右两侧类型不一致, 默认往高精度转:
char ->int -> float ->double

1.3 关系运算符

关系运算符:>   >=   <   <=   ==   !=

运算结果: 只有 0(不成立) 和 1( 成立)
1.4 逻辑运算符 

逻辑运算符:&&  ||   &   | !

&& :逻辑与运算符

|| : 逻辑或运算符

& : 按位与运算符

| : 按位或运算符

!:逻辑非运算符


运算结果:只有0和1 (注:非0即真,也就是只要不是0的数都是真不局限于只能是1)

&&: 左右两侧都为真, 结果是 1, 否则是 0
||: 左右两侧任意一侧为真, 结果是 1, 否则是 0
表达式 1 && 表达式 2         结果
真                 真                 1
真                 假                 0
假                 真                 0
假                 假                 0

如果:&& :前面为假, 后面就不再运算;(注:计算机为了节省内存当出现假设的情况,后面内容不论真假均不计算)

表达式 1  ||  表达式 2           结果
真                 真                 1
真                 假                 1
假                 真                 1
假                 假                 0

如果:|| :前面为真, 后面就不再运算

!逻辑取反:
!0 = 1         !假 = 1
!1 = 0         !真 = 0

1.5 位运算符

位运算符:   &   |   ^   <<   >>   ~

&: 全 1 为 1, 否则为 0
数值 1   &     数值 2         结果
1                      1                 1
1                      0                 0
0                      1                 0
0                      0                 0


|: 见 1 为 1, 全 0 为 0
数值 1   |   数值 2         结果
1                 1                 1
1                 0                 1
0                 1                 1
0                 0                 0


^ : 相同为 0, 不同为 1
数值 1  ^  数值 2         结果
1                 1                 0
1                 0                 1
0                 1                 1
0                 0                 0

<< : 所有的位统统向左移动, 低位补 0
>> : 所有的位统统向右移动, 高位补 0

~: 按位取反: 0 变 1, 1 变 0

1.6 自增自减运算符

自增自减运算符:1.++ 自身 +1 2.--自身减一

实例说明:

int num = 100;
num++; num = num+1; //num=101
int num = 100;
++num; num = num+1; //num=101

注意:当前的式子中有其他运算
++在前, 先自身加 1, 再参与其他运算
++在后, 先参与其他运算, 再自身加 1

实例说明:

int a = 100;
int b = ++a;         // a = 101,b = 101;
int a = 100;
int b = a++;         // b = 100,a = 101

1.7  复合运算符

复合运算符 :+=;-=; *=; /=; %=; >>=; <<=; &=; ^=; |=

实例说明:

int num = 100;
num += 99;         //num = num + 99; num = 199
int num = 10;
num %= 3;         //num = num%3; num=1
int num = 10;
num *= 2 + 3;         //num = num * 5=50

(其他运算符同理即可)

1.8 逗号运算符

方式 1: 分隔作用
int a=0,b=0,c=0; // a:int b:int c:int
方式 2:
int a = -100;
int num =(0, 1, 2, a=3, 0, 66, 99);
num = 99; //依次赋值

如图 1-4 依次赋值。

1.9 三目运算符

格式:结果=(表达式 1)? (表达式 2): (表达式 3);
解释:

        先运算表达式 1, 表达式 1 为真, 就运行表达式 2, 整个三目运算符的结果就是表达式 2 的结果, 表达式 3 不再运算;
        先运算表达式 1, 表达式 1 为假, 就运行表达式 3, 整个三目运算符的结果就是表达式 3 的结果, 表达式 2 不再运算;

图1-5 三目运算符的使用

1.10 sizeof 运算符


功能: 专门用来求数据类型大小
格式 1: sizeof(数据类型);
long num = sizeof(int); //num = 4
格式 2: sizeof(变量名)
float a = 3.1415;
long num = sizeof(a); // num = 4

附录:运算符优先性表

链接: 运算符优先级表

提取码: ygwf

今天的c语言基础学习分享就到此为止了,有任何问题和发现博文出现的问题,欢迎来评论区指出。


 



 

标签:运算,int,C语言,运算符,num,基本概念,表达式,赋值
From: https://blog.csdn.net/jcf5832/article/details/136811316

相关文章

  • C语言随记————简单算法
    1.问题:如何在C语言中实现一个简单的线性查找算法? 答案:线性查找算法可以通过遍历数组的每个元素,逐一比较来查找目标值。以下是一个简单的实现示例:intlinearSearch(intarr[],intn,intx){for(inti=0;i<n;i++){if(arr[i]==x)re......
  • Go02-运算符+流程控制
    Go02-运算符+流程控制1.运算符基本介绍Go中的运算符分为:算术运算符、赋值运算符、比较运算符/关系运算符、逻辑运算符、位运算符和其他运算符。Go中没有三元运算符?。2.算术运算符//1算术运算符。//+正号;-负号;//+加;-减;*乘;/除;%取余;//++自增;--自减。//+......
  • C语言动态链表练习(简单易懂)
    学习目标:初步认识动态链表,并会最基础的应用。题目内容:写个程序,输入a,b,c如果a>b,a=a➖b    b>c,b=b➖c    c>a,c=c➖a要求:开始时输入k➕1行数,第一行为k,代表数的组数,下面每一行为一个组,每组四个数,前三个为a,b,c,最后一个为这组数进行上述计算的次数题目特点分析:开始......
  • Java 中的方法引用运算符 ::
    Java中的方法引用运算符::方法引用运算符::在Java中,::是方法引用运算符,用于引用方法。它可以让你在代码中直接引用现有方法或构造函数,而不需要显式地编写Lambda表达式。方法引用有几种形式:静态方法引用:ClassName::staticMethodName实例方法引用:instance::instanceMet......
  • 使用vscode编辑c语言
    在VisualStudioCode(VSCode)中配置C语言环境步骤指南:一,前期准备(安装扩展,软件包)安装C/C++扩展打开VSCode。点击左侧边栏的扩展按钮(或使用快捷键Ctrl+Shift+X)。在搜索框中输入C/C++。从结果中找到Microsoft的C/C++扩展并点击“安装”。安装MinGW或......
  • c# 除法运算 ;/运算符;%运算符
    1.c#除法运算,且保留小数(13*1.0f)/6结果2.16666666666666652.C#保留小数位数的方法 转自:https://www.cnblogs.com/abeam/p/8406054.html前言本文主要介绍C#中实现小数位数的保留,完成对小数位数四舍五入的几种方法。1.使用Math.Round()方法说明:1) 其实......
  • C语言指针完整总结!!!
    1.指针介绍1.简介:C语⾔中给地址起了新的名字叫:指针。一个内存单元是一字节内存单元的编号==地址==指针在x86的环境中,一共有32根地址总线,即32个比特位。一个字节有八个比特位,而⼀个比特位可以存储⼀个2进制的位1或者0,因此32根地址线,就能表示2^32种含义,每⼀种含义都......
  • #c语言程序设计————实验报告
    实验项目名称:实验一熟悉C语言运行环境实验项目类型:验证性实验日期:2023年3月14日一、实验目的下载安装Devc6.0程序。了解在该系统上如何进行编辑、编译、连接和运行一个C程序。通过运行简单的C程序了解C程序的特点。二、实验硬、软件环境Windows计算机、Devc6.0三、......
  • C语言自定义类型:枚举(C语言进阶)
    目录前言1、枚举类型定义2、枚举的优点3、枚举的使用结语前言    本篇文章讲解C语言自定义类型:枚举类型。    枚举顾名思义就是一一列举,把可能的值一一列举。像一周的周一到周日可以枚举;每年12个月,可以枚举。1、枚举类型定义enumDay//星期{ Mo......
  • C语言最重要的知识点(6)
    第六章指针变量的本质是用来放地址,而一般的变量是放数值的。1、int *p中  *p和p的差别:简单说*p是数值,p是地址!*p可以当做变量来用;*的作用是取后面地址p里面的数值 p是当作地址来使用。可以用在scanf函数中:scanf(“%d”,p);2、*p++和(*p)++的之间的差别:改错题目中很重要......