穷且不坠青云之志今天看到的这句话让我感触良多果然最难不过坚持。接下来就会涉及到语句以及一些基本函数的问题1.强制类型转化在对应变量以及数据之间使用来添加自己需要的数据类型这样做的目的是可以让程序正常运行和消除报错但是会导致数据丢失还是按正确的数据类型比较好2.printf printf() 的作⽤是将参数⽂本输出到屏幕。它名字⾥⾯的f代表format格式化表示可以定制输出⽂本的格式一般而言在输出的内容中保持一个换行转义字符会比较好3.占位符是方便打印数据以及依靠数据类型分辨数据必不可少的一个环节比较常用的有%d整数%c char 意为字符串%f 浮点数%huunsigned short int 类型%ld 十进制 long int 类型%p指针%s字符串%zdsize_t类型其实完全不需要死记硬背以后打多了自然会记得4.限定宽度与限定位数限定宽度在大部分常量中都能生效书写方法为在占位符的前方填写数字就行了比如%5d。限定小数位数就只有字符串类型才能使用用来限制输出的小数位数书写方法为%.5f5.输出部分字符串%s 占位符⽤来输出字符串默认是全部输出。如果只想输出开头的部分可以⽤%.[m]s指定输出的⻓度其中 [m]代表⼀个数字表示所要输出的长度6.scanf在vs中需要在前面声明#define _CRT_SECURE_NO_WARNINGS 1不然的话会出现不安全报错vs自带scanf_s可解决这个问题但是会失去代码的可移植性并且内里意义与scanf有所不同会报告不安全原因在于scanf函数可以输入超出其开始规定存储字节的内容导致多余内容冲毁周边内存造成程序崩溃但是目前没有遇到这种情况。对于scanf它的占位符与printf基本一致但不同的是它在前面必须标有占位符来表示用户输入的数据类型scanf() 必须提前知道用户输入的数据类型才能处理数据它的其余参数就是存放用户输入的变量格式字符串里面有多少个占位符就有多少个变量scanf() 处理数值占位符时会自动过滤空白字符包括空格、制表符、换行符等。 所以用户输入的数据之间有一个或多个空格不影响 scanf() 解读数据。另外用户使用回车键将输入分成几行也不影响解读。scanf处理输入内容是先将用户输入的内容放入缓存再进行解读其中遇到不符合预先设定的数据类型就会停止要注意输入内容的区别7.scanf的返回内容scanf() 的返回值是⼀个整数表⽰成功读取的变量个数。 如果没有读取任何值或者匹配失败则返回 0 。如果在成功读取任何数据之前发⽣了读取错误或者遇到读取到⽂件结尾则返回常量 EOF (-1)。连按三次ctrlz会出现这种情况但是目前我自己也不理解原理要是有人能解释一下就好了剩下的明天再写