【C语言基础】:八进制数和十六进制数、ASCII编码与运算符_ascll字符 乘号除号

码表

参考:https://zh.cppreference.com/w/c/language/ascii

注意:

我们不需要记住所有的ASCII码表中的数字,使用时查看就可以,不过我们最好能掌握几组特殊的数据:

  • 字符AZ的ASCII码值从6590
  • 字符az的ASCII码值从97122
  • 对应的大小写字符(a和A)的ASCII码值的差值是32
  • 数字字符09的ASCII码值从4857
  • 换行 \n 的ASCII值是:10
  • 在这些字符中ASCII码值从0~31这32个字符是不可打印字符,无法打印在屏幕上观察

运算符

分类

运算符是构建表达的基本工具,C语言拥有异常丰富的运算符。

  • 算术运算符
  • 赋值运算符
  • 自增自减运算符

本次只对算术运算符进行基本介绍,其余介绍请待下篇。

算术运算符

这类运算符可以执行加法、减法、乘法和除法。

加减运算符( + 和 - )

加法类运算符和乘法类运算符都属于二元运算符,因为他们需要两个操作数。一元运算符只需要一个操作数:

a = +1;  // + 是一元运算符号
b = -1;  // - 是一元运算符号

一元运算符主要用于强调某数值常量的正负。

#include <stdio.h>

int main()
{
    int x = 44 + 22;
    int y = 66 - 34;
    printf("%d\n",x); //打印出66
    printf("%d\n",y); //打印出32
    return 0;
}

上图为二元运算符( + 和 - )的应用。

乘法运算符(*)

运算符 * 用来完成乘法。

#include <stdio.h>

int main()
{
    int num = 5;
    printf("%d\n",num*num); // 输出25
    return 0;
}

除法运算符( / )

运算 / 用来完成除法

除号的两端如果是整数,执行的是整数除法,得到的结果也是整数。

#include <stdio.h>

int main()
{
    float x = 6 / 4;
    int y = 6 / 4;
    printf("%f\n",x);  //输出1.000000
    printf("%d\n",y);  //输出1
    return 0;
}

上面示例中,尽管变量 x 的类型是 float ,但是 6 / 4 得到的结果是 1.000000 (默认保留六位小数),而不是 1.5 。原因就在于C语言里面的整数除法是整除,只会返回整数部分,丢弃小数部分。

如果希望得到浮点数结果,两个运算数就必须至少有一个浮点数,这时C语言就会进行浮点数除法。

#include <stdio.h>

int main()
{
    float x = 6.0 / 4;  //或者写成 6 / 4.0
    printf("%f\n",x);   //输出 1.500000
    return 0;
}

上面示例中, 6.0 / 4 表示进行浮点数除法,得到的结果就是 1.5

再看一个例子:

#include <stdio.h>

int main()
{
    int score = 5;
    score = (score / 20) * 100;  //输出0
    return 0;
}

上面的代码,你可能会觉得经过运算,score 会等于 25 ,但实际上 score = 0。这是因为

score / 20 是整除,会得到一个整数值 0 ,所以乘以 100 后得到的也是 0

为了得到预想的结果,可以将除数 20 改为 20.0,让整数除法变成浮点数除法。

#include <stdio.h>

int main()
{
    int score = 5;
    score = (score / 20.0) * 100;  //输出25
    return 0;
}
求余(模)运算符( % )

运算符 % 表示求余运算,即返回两个整数相除的余值。这个运算符只能用于整除,不能用于浮点数

#include <stdio.h>

int main()
{
    int x = 6 % 4;
    printf("%d\n",x);  //输出2
    return 0;
}

负数求余的规则是,结果的正负号由第一个运算数正负号决定。

#include <stdio.h>



### 性能优化

1.webpack打包文件体积过大?(最终打包为一个js文件)  

2.如何优化webpack构建的性能  

3.移动端的性能优化  

4.Vue的SPA 如何优化加载速度  

5.移动端300ms延迟  

6.页面的重构

**所有的知识点都有详细的解答,我整理成了280页PDF《前端校招面试真题精编解析》。**

**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**

![](https://img-blog.csdnimg.cn/20210323221732119.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1Z28yMzM=,size_16,color_FFFFFF,t_70)

![](https://img-blog.csdnimg.cn/20210323221747467.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1Z28yMzM=,size_16,color_FFFFFF,t_70)
  • 22
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值