408考研 混合运算-scanf读取标准输入原理总结
作者:互联网
【注】:C语言注重计算机原理解析,多写程序
目的:字符串常量的混合运算与scanf熟练使用
一、环境使用
1、vs中每个项目编译后都是一个exe可执行程序(Windows程序),每次只能启动一个,要设置为启动项目(粗体)
2、在源文件处新建代码
3、单步调试
快捷键F11,可以逐步运行,也可以在断点调试下接单步。
F10是逐过程调试,不进入函数模块
调试的意义在于检查每一步是否按照预期来进行运行
二、大小写转换
三、字符串常量
C语言通过字符数组来存储字符串,没有String类型
用“ ”引起来,‘’是字符型常量
“CHINA"在内存中的存储占据的是6个内存单元,最后一个字符为’\0‘,只是在输出时不显示。
将它赋值给字符数组时要注意是6个内存单元
四、混合运算
4.1 类型强制转换
4.1.1 未进行强制类型
在C语言中,除号“/”的数据类型是由除数和被除数决定的。
4.1.2 进行强制类型转换
要想转换为对应类型就需要运用强制类型转换符:(类型)。把这个表达式的类型转换,不是把字符转换。
五、常用的数据输入/输出函数
C语言通过函数库读取标准输入(scanf),操作系统提供;
printf输出到控制台(标准输出)。
5.1 scanf函数
int scanf (count char *format,....);
format 是一个字符,“...."是可变参数;
%d 一个十进制数
%f 一个浮点型
%c 一个单一字符(在读取这三个类型时会忽略回车,空格)
①format的类型一定要与后面的数据类型互相对应:“%d%d%d”,&a,&b,&c;
②用scanf之前需要加一个宏 #define _CRT_SECURE_NO_WARNINGS(Windows系统)
③scanf是行缓冲,在缓冲区都是一个一个的字符,输入“\n"之后就会触发I/O操作。
注:缓冲区为空时将会阻塞
标准输入缓冲区在scanf匹配时只把相应类型匹配,而回车存在在缓冲区,所以接着读取时将不会阻塞,接着运行。
5.1 缓冲区证明
5.2 scanf输入两个整数
在scanf中输入一定要一一对应,除非在(整形,浮点型,字符型)这三种类型时,空格可有也可以没有,这正是缓冲区理论。
标签:字符,scanf,C语言,类型,缓冲区,408,输入,考研 来源: https://blog.csdn.net/sc0228/article/details/122766053