截至2023年10月20日学习的所有知识

给hdf主函数main  两个库函数printf 和scanf   以及这两个主函数的许多细节 比如输出printf有%5.2s   ,%5.4f ,% -5d ,%+5d, %*.*d ,5 ,6 

输入scanf 中%c处理输入量时会识别空格并且识别一个空格(自己验证了 )而其他占位符不会识别空格 会过滤空格直到处理了符合该类型的值然后到空格再结束  而对于(%d %d%d)中的空格会自动过滤掉 不影响 而如果里面有了特殊符号+?/那就要在输入的值里面也输入这些值跟它碰掉才能得到想要的  还有如果我们输入的东西里有特殊符号 则我们还可以加入一个%*c(*在这当赋值忽略符)让这个符号弄到这个占位符里 然后这个占位符在最终编译后会被丢掉从而就删去了这个符号 就不会影响我们的值进入到变量里

  同时scanf还可以限制输入的数的个数 如%5s 就只能识别出五个字符 并且这五个字符后面还会自动加个\0去变成字符串 (这由于scanf会一股气把输入的全部输进到字符串里导致不安全才会有以下限制)并且如果一个数组只能存20个字符 那你最大限制19 因为有自动加\0的缘故 (较为特殊 因为最后字符串的数会加上\0这个字符) 此外如%5d意义是最多识别出五个整形。 所以scanf可以通过在占位符上输入整数去限制输入的个数数量(任何占位符都有效果,%c除外因为它只能识别一个)

对于读取的话 它具体原理是第一个识别遇到不符合的类型 或者遇到空格  然后终止第二个开始识别同理 一直延续到最后一个 

其中scanf()的返回值 也就是整个函数的值 如 int sum=scanf()sum等于scanf()的返回值 (识别出来的变量的次数)因为目前知识储备很少 所以根据while(scanf()!=EOF)验证得知scanf()识别不出来时识别个数为0时返回值为EOF(-1)其中这识别不出来时返回值为EOF只是个人理解 (不知道返回值为0和返回值为EOF的区别 所以就认为识别不出来时返回值为EOF而不为0  ,当然自己也用刚才那个函数进行验证了的确验证出返回值为-1(EOF)我知识太少了只能这么认为)

学了四个控制语句(总共有九个) 两个分支语句  if ,switch语句  两个循环语句  while ,for语句   以及七种操作符 {算术操作符双目操作符)赋值操作符  单目操作符   强制类型转换操作符 (单目操作符)  关系操作符   条件操作符   逻辑操作符   sizeof操作符(单目操作符)}    其中四个控制语句 五种操作符就不具体阐述  (记得很清)      

以及知道了最基本的知识:数据类型  用来创建变量     目前初步学数据类型分为四种

而且还得知数据有三大类(就我而言 现在只是太少了 只能这么理解 之后知识多了会更新) 字符串  整形  (包或整数和字符  。 字符在内存中存储是以ASCLL码形式存储 ,也就是整数的形式存储所以是整形) 浮点数    所以也能解释signed 和unsigned只能用在整型数据类型和字符数据类型上  因为整形数据类型存放整数  字符数据类型可以存储字符 而字符和整数合在一起为整形 (个人这么理解因为知道的少)

对于bool (_Bool)这个数据类型来说,赋的值中:0为假  其他整数都为真  且true 也可为真 false为假  

其中具体讲下sizeof操作符   其他操作符记得都很清楚 sizeof操作符记得不是很清 浅说一下sizeof()里面操作数可以是类型可以是变量可以是表达式 其中表达式在里面并不会执行表达式 使其中变量发生改变,( 因为sizeof执行的是其中的数据所占空间大小计算,并不是对其具体值计算,而且在编译时就已经得到了返回值,表达式已经没了,所以在执行期间就执行不了表达式   如2+8=10放进去执行的是4 ,2+8的数据空间整个是8,而10数据空间是4,要将8塞进4里塞不进去而将6塞进8显示出依然是显示出8,所以如果是表达式的话则看等号左边的数据空间大小就行了 返回值就是它的大小)sizeof操作符返回值是一个无规则整数 所以不确定具体什么类型整数 对它的占位符也就不确定 此时就专门为sizeof的返回值创造一个类型size_t用来统一表示返回值类型 占位符用%zd表示  其中下面是各个数据类型申请的空间大小

signed和unsigned    signed表示有符号可以把正负号写上去 unsigned表示只能放正数和0

  其中存放到数据是转换到二进制存进去  一比特存放一个0或1 而单位 存放如下

 所以signed允许输入的范围永远比unsigned小  (从这可知)

此外还学了转义字符 如下

 其中\f,\v用不到 其他都用得到 由于\ddd \xdd表示字符  其中ddd 和dd分别为八进制和十六进制  可以直接用其表示字符   并且只要满足\和\x就行 后面几位数没规定   

语句分为五种语句   控制语句有九个 分为三种

 

复合语句就是大括号里的代码 ,其构成一个复合语句

接下来是变量 

创建变量的同时给他一个值叫初始化  而后的让它等于一个值都叫赋值  一般创建变量时都要初始化这样比较严谨 当然不初始化,后面赋值也行,只不过其中间隔不能太长 否则不会执行。

这次做的总结有点长 因为这次总结总共总结了三个课程的知识点(有些知识点太基础就没说 如四个控制语句 ) 然后从这次博客之后 每学一节课都会写一次博客做总结 (这次之所以是三节是因为之前没那个想法 现在才想写的 所以把前面三节知识点总结给补上了)所以加油加油努力努力你一定能行!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值