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:计算某一类型的值,所占内存的长度,单位为字节
全部评论

相关推荐

10-30 20:36
已编辑
字节跳动_llm开发(实习员工)
bg:双非本 985硕士 五段实习(四段大厂,都是后端) + 开源经历(300+star)+ 大模型经验 + 懂前端(前端转的后端),主要考虑杭州的base。不是标题党哈,本人是真有点劝退后端了。究其原因就是后端这边实在是太卷了,从我自己亲身体会可以看出来。1、暑期:本人投递暑期前已有三段实习(其中2段大厂实习)。其中字节和腾讯明确要求我3月份就要到岗(有截图作证),而且字节2月份的时候就打电话给我约面了,最终我字节也是于3月中旬入职暑期(字节base南京,能边上课边实习)。因为我本身还有课在身上,在腾讯面试的时候说了只能五月份到岗,明确感受到面试官对我的热情降下来了,后续泡了1-2周也挂了。暑期暑期,变成了不在暑期的实习,暑期实习总结可以看之前的帖子。2、秋招:本人秋招虽然投递稍微晚一点,基本上是7月底开始大范围投递,这时候提前批基本都在尾声了(提前批没有任何约面),9月份的时候基本上手里就没啥面试了(说好的金9银10呢)。然后在这个时候我是5段实习(四段大厂实习),以为秋招能乱杀,时至今日,也就3个意向在手(BAT一个没有)。挂:① 字节:tt直播二面挂 抖音电商hr面挂 开发者服务二面挂(通过,但后续不推进)。字节我是从基本上8月份开始面试一直面到上周,都挂了,可能运气也差点。抖音电商尤其是面试的时候问了一些例如洗牌算法、尾递归等我不太了解,可能是导致横向被挂的主要原因。字节说白了每一轮都在横向,运气也很重要。抖音电商尤其如此,泡了一个月很是难绷(当初说两天出结果嘻嘻)。② 百度、滴滴、pdd等:笔试挂百度提前批我当时不知道在哪投递,发现原来填了内推码就是提前批,没填就是普通批。普通批有笔试,提前批没笔试,但是我记得三道题我做了1.5还是1.8将近两道题,一直没约面,到目前还在共享中。滴滴笔试没太认真做,因为我投的很早但是一直泡着,后续发笔试的时候手里也有其他意向了,遂放弃。pdd感觉我那次比较难,而且pdd那个我用java过不了,但是用c++同样的思路能过。。③ 腾讯:七次一面挂腾讯由于暑期实习生太多,感觉人均一段腾讯实习一样,听说后续都坐不下了,搬到会议室当工位了(本人同学)。秋招也没啥正经后端部门约我,都是一些机器人部门、ieg游戏后端、wxg搜广推之类的。反正答对了也挂,答不对就更不用说了。问的问题也千奇白怪,有喜欢问思维题的例如倒水问题,有喜欢出一些奇怪的coding题的单例高性能配置刷新、hash算法等等。如果大家想去腾讯,感觉还是转正比较好,秋招机会太少(但是转正率也不高嘻嘻)。意向:① 快手:快手电商杭州转正,早早转正,组里也保温,目前top1。当然强度很大,懂得抖动。② 美团(9月初oc):早早1-2周内速通,也有人过来保温,c端业务感觉很香,目前没开奖。③ 京东(大概9月底-10月初阶段oc):oc了京东一个不知名的部门,一开始是京东零售一面问了一些点没答上来,然后泡两周挂了。重新一个部门1-2周速通,线下去的南京hr面,hr面的时候基于前人的经验表示自己投递比较晚,手里没有其他offer,遂oc(京东hr面的时候得表达自己对京东的忠心)。hr面:④ xhs:8.29投递,10.14 才四面完,目前没泡出来,商业技术。xhs流程是真的慢,感觉自己要泡死了。总结:我大约在9月份的时候手里就没啥面试了,所以后续也投递了一些例如b站、蚂蚁啥的,反正都没有啥约面的。基本只要有hr约我,我都会去面,手里也就oc了这3个意向,陆陆续续忙碌几个月,最终大概率还是去快手转正了。字节又重新开始一面了(难绷)。基于我个人的BG,我觉得首先学历越来越成为后端的一项门槛(重要考虑因素),我双非本985硕尚且如此,更何况很多双非本的同学呢。说起来,最近我有个学妹前端实习转正失败,后突然保研上岸一所211,我给她的建议是你到时候毕业不要做前端了,我说现在已经很卷了,2年后、3年后我不敢想是什么场景。身边985本硕的同学秋招也很失败,没有想象中那么好拿,暑期和秋招区别也确实很大,运气也是很重要的一环。然后也是建议后来人秋招早做准备(投递早很重要),自己卷那么多实习其实也是因为本科学历不好,想开大包,现在看来也不用这么卷,实习段数不重要,大概1-2段即可,投递的早机会大一点。然后最好是暑期转正就去自己想去的部门,这样秋招不至于太焦虑。然后现在没有oc的也没关系,很多人早早投递拿了意向所以暂时hc不多,待开奖后释放,还是有不少机会的,肯定是能上岸的,就是周期会长一点。跟🐖佬、timeErrors、壹宇各位大佬都经常聊天感觉大家都是很好的人,也感谢有这么一个牛客的平台供大家交流(薅了2000牛币),所有的私信我都会回。秋招也就告一段落,愿大家都上岸自己想去的公司,共勉。最后附上我的哈吉米~最近躺平,瓦(找妈妈游戏)也打到神话了,这下是真大结局了
后端转测开第一人:建议后端人均10段大厂实习+92
我的求职进度条
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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