C语言-算数运算符及表达式(贺老师)

C语言中的运算符

在这里插入图片描述

基本的算数运算符和算数表达式

在这里插入图片描述需要注意的是:
一,除法运算
1,两个整数相除的结果为整数,例:5/3=1。
2,向零取整:-5/3=-1(离零近的)
二,横运算(取余运算)
1,%左右两侧均为整形,如7%4=3;

实际应用

1 分离各个位数
设x为一个三位整数,将个,十,百位数分离出来,并分别保存到变量a,b,c中。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int x,a,b,c;
    scanf("%d",&x);//x为三位数
    a = x%10;
    b = (x/10)%10;
    c = x/100;
    printf("整数%d的个十百位分别为%d %d %d\n",x,a,b,c);
    return 0;
}

2,编程序,输入电阻r1 r2,求并联后的阻值R?
分析:计算公式为r=1/(1/r1+1/r2)

int main( )
{
float r1, r2, r;
printf("输入要并联的两个电阻值:");
scanf("%f %f", &r1, &r2);
r = 1/(1/r1 + 1/r2);
printf("并联后的电阻值为:%f\n",r);
return 0;
}

当心除法中的陷阱

提几个问题

5/2 = ?
5/0 = ?
5.0/2和5/2有什么区别?
1/33和13/3有什么区别?

#include <stdio.h>
int main ( )
{
int a=5, b=2;
printf("%d\n",(a/b));
printf("%f\n",(a/b));
return 0;
}

算数运算中数据类型的自动转换在这里插入图片描述

强制数据类型转换

在这里插入图片描述

如果一定有强制类型转换,明确写出来为妙

因为类型转换中可能会丢失数据


int main()
{
    float x,y;
    int i,b;
    x = 3.63;
    i = (int)x;
    b = (int)(x*100)%100;
    y = x*100;//y=(x*100)%100这个式子错误因为%两边应为整形数据
    printf("x=%f,i=%d,b=%d,y=%f",x,i,b,y);

}

数学库函数及其使用

在这里插入图片描述
例:用数学函数解题
写程序求两临边长度分别为3.5和4.72米,两边夹角为37度的三角形的面积
分析:三角形面积公式为s=1/2ab*sinc

#include<stdio.h>
#include<math.h>
int main()
{
	printf("S=%f\n",c.5*4.72*sin(37.0/180*3.1416)/2);
}

自测

例:小慧过生日,小明(小明真忙)要买鲜花送她。每枝红玫瑰5元,满5支送1枝,满20枝送5枝。小明一共有n(n>10)元钱,最多能买到多少?
样例输入:135
样例输出:33
思路:样例中的33枝是怎么来的?5元一支,135元能买27支。他这样买:先买20支,这时赠5支,再买7支,还能再送1支,这样就能达到33支了。
于是,先尽可能享受买20赠5的优惠,再看享受买5赠1的优惠。这是贪心法的思维。
写出下面的代码:

#include <stdio.h>
int main( )
{
    int money, n, z1, z2;
    scanf(135"%d", &money);
    n=money/5;    //实际能买的玫瑰
    z1=n/20*5;    //买够20就能送5支
    z2=(n-(n/20)*20)/5;  //不够买20赠5的,享受买5赠1的
    printf("%d\n", n+z1+z2);
    return 0;
}

本博文为个人学习笔记如果有错误请联系立即更改。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值