C语言—整除问题、求余、赋值、逻辑运算符易错点

article/2025/8/18 23:00:47

前言

🐨这一篇主要是讲那些老师可能不会讲,但是很多初学者都容易踩坑的地方
🤔 根据自己踩过的的坑整理了一下🤧

文章目录

  • 前言
    • 一、整除问题
      • 1️⃣第一种情况:整数相除,抹去小数位
      • 2️⃣第二种情况:被除数<除数,结果为0
      • 3️⃣第三种情况:分子分母有一个为浮点数,结果即为浮点数
    • 二、求余运算
    • 三、赋值运算
      • 1️⃣复合赋值运算:
      • 2️⃣复合赋值运算练习:
    • 四、逻辑运算符的优先级和结合性
  • 最后



想要bug少,细节注意不能少~👈(゚ヮ゚👈)

一、整除问题

1️⃣第一种情况:整数相除,抹去小数位

 示例: 9/2=4  -9/2=-4
#include <stdio.h>int main()
{float a;a=9/2;printf("%f",a);
}

在这里插入图片描述

#include <stdio.h>int main()
{float a;a=-9/2;printf("%f",a);
}

在这里插入图片描述
分析:上面两个例子可看出在a已经为浮点数float的情况下,a=9/2;a=-9/2;等号后面的两个整数在运算完成后是按照int型来计算的,计算完成后的结过直接把小数位抹去,然后才赋值给a,转化为float类型

2️⃣第二种情况:被除数<除数,结果为0

   示例:1/2=0
#include <stdio.h>int main()
{float a;a=1/2;printf("%f",a);
}

在这里插入图片描述

3️⃣第三种情况:分子分母有一个为浮点数,结果即为浮点数

注意像示例2这种,分子或者分母有多个数的,只要有一个为浮点数即可

示例1:1.0/2=0.5 1/2.0=0.5

示例2:a,b,c为int型 a=(2.0*b) /c

如何避免整数相除损失精度:👈(゚ヮ゚👈)
1.直接将整数保留一位小数(使得分子或是分母为浮点数即可)

  • 示例1
#include <stdio.h>int main()
{float a;a=1.0/2;printf("%f",a);
}

在这里插入图片描述

#include <stdio.h>int main()
{float a;a=1/2.0;printf("%f",a);
}

在这里插入图片描述

  • 示例2
#include <stdio.h>int main()
{float a;int b,c;scanf("%d%d",&b,&c);a=2.0*b/c;printf("%f",a);
}

在这里插入图片描述

2.直接将分子或分母 强制转换为 浮点数类型

强制转换:(要转换的类型)(要转换的数) ——>如:(int)a 或(float)(a*b) 要转换的数只有一个的时候,第二个括号可以省略

示例:int a,b,c; a=(float)(2b)/c 或 a=2b/(float)c

#include <stdio.h>int main()
{float a;int b,c;scanf("%d%d",&b,&c);a=(float)(2*b)/c;printf("%f",a);
}

在这里插入图片描述


二、求余运算

1.该运算只能作用于两个整数的运算,运算结果是两个整数的余数,结果为整数。
2.运算结果的符号与被除数的符号一致
5%2=1 -5%2=-1 5%-2=1
3.如果 被除数 小于 除数 ,结果为被除数
2%9=2


三、赋值运算

结合性:从右向左

赋值运算中的自动类型转换:
1.赋值后,左边的值被右边表达式的值替换
2.如果左右两边类型不一致,以左边变量的类型为准,将表达式值的类型转换为左边变量的类型

1️⃣复合赋值运算:

  • 结合性:从右向左
  • 注意:两个运算符中间不要有空格

第一列是复合赋值运算符,第二列分别等于其对应的第三列

+=a+=ba=a+b
-=a-=ba=a-b
*=a*=ba=a*b
%=a%=ba=a%b

2️⃣复合赋值运算练习:

例题:设有如下变量定义,计算表达式y+=i-=j*=++x的值

 int  i=3,j=5;float x=2.5,y=5.0;

计算步骤:

  • 计算++x
    y+=i-=j*=++x

    ++x等价于x=x+1
    x=3.5

  • 计算j*=++x
    y+=i-=j*=++x

    经过第一步计算变为:
    y+=i-=j*=x 此时x=3.5
    j=j*x
    等号右边j * 3.5=17.5 赋值给左边后:j=17
    (从右向左计算,因为j为int类型,所以小数部分就被抹去了)

  • 计算i-=j*=++x

    经过上一步计算变为:
    y+=i-=j
    i=i-j 此时j=17
    i=-14

  • 计算y+=i-=j*=++x
    y+=i-=j*=++x
    经过上一步计算变为:
    y+=i 此时i=-14
    y=y+i
    y=-9.0
    y是double型的,结果由-9变为-9.0


四、逻辑运算符的优先级和结合性

  • 优先级:
    !大于&&大于||

  • 结合性:
    逻辑非,右结合
    逻辑与、逻辑或,左结合

运算符的优先级:
!、++、- -、sizeof>算术运算符>关系运算符>&&、||>赋值运算符

问题:如何表达1<x<10?
1<x<10 ❌
x>1&&x<1 ✅


最后

(〒▽〒)由于本人能力有限以及是个小迷糊,如有错误或是不妥的地方,麻烦各位及时指出,以免我误导他人,多谢🥳

🕊️ 原 创 不 易 , 希 望 各 位 大 佬 支 持 一 下 \textcolor{orange}{原创不易,希望各位大佬支持一下}

👍 点 赞 , 你 的 认 可 是 我 创 作 的 动 力 ! \textcolor{green}{点赞,你的认可是我创作的动力!}

⭐️ 收 藏 , 你 的 青 睐 是 我 努 力 的 方 向 ! \textcolor{green}{收藏,你的青睐是我努力的方向!}

✏️ 评 论 , 你 的 意 见 是 我 进 步 的 财 富 ! \textcolor{green}{评论,你的意见是我进步的财富!}


http://chatgpt.dhexx.cn/article/2od7FPbs.shtml

相关文章

东南大学本 硕 博论文中期答辩 毕业答辩ppt模板2021版

东南大学本硕博开题、中期、毕业论文答辩ppt模板 ppt模板样式如下&#xff1a; 如果对您有用 &#xff0c;欢迎点赞&#xff0c;关注和收藏&#xff0c;谢谢各位路官。 下载地址 https://download.csdn.net/download/Vertira/19026191

计算机硕士系统毕业论文答辩ppt,计算机硕士论文答辩ppt

为毕业生写计算机硕士论文答辩ppt提供计算机硕士论文答辩ppt范文参考,涵盖硕士、大学本科毕业论文范文和职称论文范文,包括论文选题、开题报告、文献综述、任务书、参考文献等,是优秀免费计算机硕士论文答辩ppt网站。 费孝通的博士论文答辩“花天酒地” 费孝通的博士论文答辩…

毕业生必看:硕士答辩注意事项!

通过本次硕士答辩感触最深的就是能从中学习到很多东西&#xff0c;而最主要的就是专家在审查论文的时候会有哪些点&#xff1f;在提问的过程中会提到什么问题&#xff1f;还有就是各位师弟师妹们在陈述自己论文的时候要结合自己PPT重点的引导专家看论文等等&#xff0c;具体本次…

热搜!硕士答辩看到一篇非常惊喜的论文,网友直呼:求导师分享全文

点击上方“视学算法”&#xff0c;选择加"星标"或“置顶” 重磅干货&#xff0c;第一时间送达 本文整理自微博、中国青年报&#xff08;ID&#xff1a;zqbcyol &#xff09;、澎湃新闻、中国知网 近日&#xff0c;#硕士答辩看到一篇非常惊喜的论文#词条登上微博热搜&…

Git远程仓库—Github

一、创建远程仓库 以下操作为演示在Github网站上创建远程仓库 1.登陆注册Github2.创建仓库入口 3.编辑仓库信息 4.仓库创建完成 5.查看仓库地址 远程仓库地址 https://github.com/qruihua/info.git 二、配置SSH 选择SSH操作 如果某台电脑需要与Github上的仓库交互&#xff0c…

Git远程仓库与分支管理

文章目录 Git远程仓库什么是远程仓库什么是GitHub环境搭建添加远程库从远程库克隆 Git分支管理创建与合并分支解决冲突分支管理策略Bug分支Feature分支多人协作Rebase Git远程仓库 什么是远程仓库 远程仓库就是 在公网服务器上的仓库。 Git离线提交的原理就是&#xff1a;修改…

【Linux】使用git 连接到远程gitee仓库

一.创建gitee仓库 登陆到自己的gitee&#xff0c;点击新建仓库 输入仓库名称&#xff0c;注意gitee初次创建仓库时只能设置成私有的 创建后的页面是这样的&#xff0c;复制HTTPS 二.git三板斧 1.安装git 打开xshell&#xff0c;输入命令&#xff1a; yum install git 可以输入…

Git本地远程仓库的搭建(局域网内的提交和推送)

需要和同事一起开发一个Unity项目&#xff0c;所以要用到git&#xff0c;这东西以前都是公司的主程搭建好的&#xff0c;现在需要自己弄&#xff0c;虽然很简单的东西&#xff0c;但是也搞了好久。 之前就搭建过一次局域网git&#xff0c;当时就花了2天时间&#xff0c;现在要…

git远程仓库使用流程

git远程仓库使用流程 远程仓库使用流程远程仓库介绍远程仓库使用流程如何将本地文件夹关联远程仓库 多人开发配置流程远程仓库SSH配置远程仓库使用流程总结git分支使用流程分支介绍1.2-分支使用流程 远程仓库使用流程 Git命名作用详细描述git clone克隆远程仓库代码把服务器的…

Git远程仓库配置SSH(以github为例)

1. 设置本地git账户邮箱和用户名 输入命令git config --global user.name "Git账号"以及git config --global user.email "Git邮箱"。 输入命令git config --global --list&#xff0c;查看配置是否正确。 2. 生成新的SSH密钥 输入命令ssh-keygen -t…

Git远程仓库基本配置

当我们在本地创建了Git仓库&#xff0c;我们如何和github仓库远程同步呢&#xff1f; 1、首先需要在github中创建一个仓库 1.1、填写仓库信息 2、完成创建后就可以将本地的git仓库和github上的仓库关联了 #注意&#xff1a;这里的地址要改成自己的地址 $ git remote add ori…

Git_GitHub_远程仓库

https://www.yiibai.com/git 一、在GitHub上创建一个远程仓库 二、两种方式上传项目到 GitHub Github支持两种同步方式“https”和“ssh”。如果使用https很简单基本不需要配置就可以使用&#xff0c;但是每次提交代码和下载代码时都需要输入用户名和密码。如果使用ssh方式就…

5.git远程仓库的创建(http,ssh)

线上仓库的操作学习以Github为例。 一、线上仓库创建 进入github官网&#xff0c;选择创建远程仓库 圈出的部分为必填项&#xff0c;其余根据实际需要选择性补充&#xff1a; 点击create repository,确定创建 &#xff0c;此时项目就已经创建好了 注意&#xff1a;仓库名要求…

Git远程仓库与本地仓库同步

1.在右上角个人头像那里找到设置&#xff0c;然后点击SSH and GPG keys 然后点击New SSH key 在配置SSH信息的时候&#xff0c;在这里把你安装git的时候的SSH公钥复制过来。&#xff08;如果安装的时候没有选择其他路径&#xff0c;则会默认放置在C盘用户里面的一个.ssh文件里…

GIt远程仓库pull拉取代码

GIt远程仓库pull拉取代码 git教程可以参考之前的这篇文章使用git命令对gitee存放项目到仓库、切换分支以及合并分支教程 这篇文章主要说一下远程连接拉去并提交代码 如果你使用git clone <项目地址>拉取代码后更改无法提交的问题&#xff0c;可以使用以下解决方案 本地…

Git远程仓库使用

说明&#xff1a;使用Git&#xff0c;可以实现版本控制和协作开发。需要协作开发&#xff0c;当然需要建立一个Git代码托管的平台。目前可以使用GitHub、码云、GitLab等&#xff0c;码云相当于国内的GitHub&#xff0c;在国内访问速度高于GitHub&#xff1b;而GitLab是搭建私服…

Git远程仓库使用方法

目录 介绍 详细教程 1、创建远程仓库 2、在本地初始化仓库 3、关联远程仓库 4、提交代码 5、拉取到本地仓库 6、提交到Git仓库 5、将本地代码推送到远程仓库 介绍 远程仓库在协同开发中起着关键的作用&#xff0c;它提供了一个中央存储库&#xff0c;使多个开发者能够…

Git如何搭建远程仓库

文章目录 关于远程仓库版本(代码)托管服务平台 开始搭建1. 初始化本地git仓库2.gitee 创建远程仓库3.本地仓库关联远程仓库4.推送本地仓库分支至远程仓库5.在远程仓库合并分支5.1远程直接合并5.2解决合并冲突5.2.1 拉取到本地合并5.2.2 本地解决合并冲突 6.拉取&#xff08;下载…

从GIt远程仓库pull拉取代码

1.在本地新建一文件夹用来存放项目代码 2.进入该文件&#xff0c;右键选择 git bush here&#xff0c;打开命令窗后&#xff0c;输入初始化命令&#xff1a;git init 3.命令行&#xff1a;git remote add origin 后面是项目所在远程仓库地址&#xff08;不是远程分支名称&am…

git远程仓库的创建(养成好的习惯,小马教你提交代码到远程仓库中)

前沿&#xff1a; 在我的文章初步认识git中已经大概讲述了什么是git&#xff0c;没看过的可以在看一下呀&#xff08;&#x1f440;&#x1f440;&#xff09;http://t.csdn.cn/nujcR&#xff0c;在这里我们实现的了本地仓库的创建&#xff0c;但是好像还是不知道远程仓库是什么…