27届转码C++Day02

目标大厂,冲就完事儿了
- 实现输入输出的一个小程序:
- 读取输入 scanf("%f", &var); 根据读取的输入(var), 然后对var进行后续的处理
- 同时代码读取规范也同样重要,如果突然在代码中间加了一个数字的话,没有任何说明这样可读性很差。
- 对于一些恒定的变量可以用预处理器提前声明。define SCALAR = 32类似这样
- CPU、内存、外部设备。内存、虚拟内存。程序、进程。进程调用的是内存还是虚拟内存,程序调用的是内存还是虚拟内存?

- 格式化输出:
1. Printf: f -> format(格式化,控制输出的格式)
2. 具体printf从键盘读取到最终打印出来的流程:
[图片1]
3. 格式化输出的语句格式:printf(格式串,表达式1,表达式2,。。。)
 int i = 10;
 float f= 3.14f;
printf("i=%d, f = %f\n", i, f)
4. printf具体的原理是:打印格式串的内容,并用后面的表达式替换格式串中的转换说明
5. 格式串的具体语句:
->对于普通字符,也就是字符串,他直接原样输出
->对于转换说明,他的作用是占位符比如 %d %f等等。他有具体格式: %m.pX %-m.pX
比如%d, %2d, %6d 分别代表的意思是占一位、占二位、占六位。
%.2d, %.4d, %.6d分别代表保留几位小数点。 比如 %10.2d:10代表占10位,2代表保留2位有效数字。
6. %d%f在读取键盘输入的时候代表的是什么意思呢?%d:忽略前置的空白字符(' ',\n,\t,\r,\f),匹配有效的10进制整数;%f忽略前面的空白字符(' ',\n,\t,\r,\f)匹配一个浮点数
7. scanf本质就是一个匹配函数,类似于正则表达式。
8.  gcd -> if b == 0 return a else return gcd(b, a%b)
- 整型:
1. 无符号整数:unsigned short (int), unsigned(int),unsigned long, unsigned  long long
2. 有符号整数:short (int), int, long(int), long long(int)
- 编码(位运算)
1. 无符号整数:类似于正常2进制转化为10进制: 1010_1010(2)的值为=128 + 32 + 8 +2 =170
2. 有符号整数:有符号整数一律采取补码:1010_1010(2) = -128 + 32 + 8 + 2 = -86。
3. 补码的性质:a) 如果一个有符号整数他的二进制表示都是1那么他的10进制表示的值就是-1。
[图片2]
b) 有符号整数 a + (~a) = 1111...(2)  = -1 (10) ps:~a代表按位取反 ---性质1
c) 有符号整数 a + (-a) =100...000000(2) = 0 (10) ps:这里的2进制表示的1会被丢弃所以结果会变成0.
一个问题:有符号整数二进制表示为 11010100(2)他的相反数的二进制表示为?
[图片3]
- 浮点数:float, double, long, double IEEE 754标准
- Char ASCII: 码点0 32 48 65 97 -> 字符‘\o’ 空字符 ; ‘ ’空格; '0';  'A' ; 'a'
1. 控制字符:0-31这个是不可以打印的。
2. 转义字符:
[图片4]
3. 数字转义字符:
[图片5]
4. !!!C语言是把字符当成小的整数来进行处理的 !!!=》整数能支持的操作,字符类型也能支持
5. 字符分类函数:查表 大小写转换函数
[图片6]
6. 如何和用户交互:输入输出
输出:printf  ; putchar(c)
- 类型转换
1. (隐式转换)不同类型进行加法运算的时候最后的类型会根据一个优先级别表进行分配。比如long long + long = long long 而 int + long = long
- 最好尽量避免使用无符号整数,特别是不要把他和有符号整数混合使用:
[图片7]
2. (显式转换)强制转换。int i; float f = 6.17f   i = (int)f
- 计算浮点的小数部分
- 注释作用
- 精确控制转换类型
- 强制类型转换避免溢出
[图片8]
- sizeof:计算某一类型的值,所占内存的长度,单位为字节
全部评论

相关推荐

03-29 17:05
门头沟学院 Java
asdasdasda...:我前段时间找工作焦虑,有几天连续熬夜熬穿了,然后心脏突然不舒服,立马躺床上睡觉了,然后第二天还是不舒服,去看医生说是心率不齐,吓得我后面天天早早睡觉,调养身体,过了好几天才好过来。所以真的,工作这些东西哪有那么重要,最多钱多一点钱少一点,降低物欲。活着才是最重要的,现在想想真的后怕
如何排解工作中的焦虑
点赞 评论 收藏
分享
刚刷到字节跳动官方发的消息,确实被这波阵仗吓了一跳。在大家还在纠结今年行情是不是又“寒冬”的时候,字节直接甩出了史上规模最大的转正实习计划——ByteIntern。咱们直接看几个最硬的数,别被花里胡哨的宣传词绕晕了。首先是“量大”。全球招7000多人是什么概念?这几乎是把很多中型互联网公司的总人数都给招进来了。最关键的是,这次的资源分配非常精准:研发岗给了4800多个Offer,占比直接超过六成。说白了,字节今年还是要死磕技术,尤其是产品和AI领域,这对于咱们写代码的同学来说,绝对是今年最厚的一块肥肉。其次是大家最关心的“转正率”。官方直接白纸黑字写了:整体转正率超过50%。这意味着只要你进去了,不划水、正常干,每两个人里就有一个能直接拿校招Offer。对于2027届(2026年9月到2027年8月毕业)的同学来说,这不仅是实习,这简直就是通往大厂的快捷通道。不过,我也得泼盆冷水。坑位多,不代表门槛低。字节的实习面试出了名的爱考算法和工程实操,尤其是今年重点倾斜AI方向,如果你简历里有和AI相关的项目,优势还是有的。而且,转正率50%也意味着剩下那50%的人是陪跑的,进去之后的考核压力肯定不小。一句话总结: 27届的兄弟们,别犹豫了。今年字节这是铁了心要抢提前批的人才,现在投递就是占坑。与其等到明年秋招去千军万马挤独木桥,不如现在进去先占个工位,把转正名额攥在手里。
喵_coding:别逗了 50%转正率 仔细想想 就是转正与不转正
字节7000实习来了,你...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务