C语言初步及其语法

📅 2026/8/3 2:00:19 👁️ 阅读次数 📝 编程学习
C语言初步及其语法

穷且不坠青云之志,今天看到的这句话让我感触良多,果然最难不过坚持。

接下来就会涉及到语句以及一些基本函数的问题

1.强制类型转化,在对应变量以及数据之间使用()来添加自己需要的数据类型,这样做的目的是可以让程序正常运行,和消除报错,但是会导致数据丢失,还是按正确的数据类型比较好

2.printf ,printf() 的作⽤是将参数⽂本输出到屏幕。它名字⾥⾯的f代表format(格式化),表示可以定制输出⽂本的格式,一般而言,在输出的内容中保持一个换行转义字符会比较好

3.占位符,是方便打印数据以及依靠数据类型分辨数据必不可少的一个环节,比较常用的有%d整数,%c char 意为字符串,%f 浮点数,%huunsigned short int 类型,%ld 十进制 long int 类型,%p指针,%s字符串,%zdsize_t类型,其实完全不需要死记硬背,以后打多了自然会记得

4.限定宽度与限定位数,限定宽度在大部分常量中都能生效,书写方法为在占位符的前方填写数字就行了,比如%5d。限定小数位数就只有字符串类型才能使用,用来限制输出的小数位数,书写方法为%.5f

5.输出部分字符串,%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)。连按三次ctrl+z会出现这种情况,但是目前我自己也不理解原理,要是有人能解释一下就好了

剩下的明天再写