中药材网站开发,住房城乡建设部网站诚信,河南企起网站建设,网站推广 营销目录
前言
一#xff1a;转义字符
1.转义字符顾名思义就是转换原来意思的字符
2.常见的转义字符
1.特殊\b
2. 特殊\ddd和\xdd 3.转义字符常错点----计算字符串长度
注意 #xff1a;
如果出现\890,\921这些的不是属于\ddd类型的#xff0c;#xff0c;不是一个字符…目录
前言
一转义字符
1.转义字符顾名思义就是转换原来意思的字符
2.常见的转义字符
1.特殊\b
2. 特殊\ddd和\xdd 3.转义字符常错点----计算字符串长度
注意
如果出现\890,\921这些的不是属于\ddd类型的不是一个字符ddd表示1~3个八进制数字
二sizeof操作符
1.含义
2.使用时注意的几点
三printf函数
1.注意点
2.常见占位符
3.限定宽度输出部分字符串函数返回值
1.限定宽度
2.输出部分字符串
3.printf函数的返回值
四scanf函数
1.注意
2.scanf函数返回值
应用
五小tips 接下来的日子会顺顺利利万事胜意生活明朗-----------林辞忧
前言
C语言的一些常见的知识容易混淆不知道具体使用细节导致做题被坑接下来我们就将介绍这些容易出错的知识
一转义字符
1.转义字符顾名思义就是转换原来意思的字符
2.常见的转义字符 1.特殊\b
对于退格键\b需要注意的是如果\b之后还有字符的话 \b之后的第一个字符会覆盖\b处前一个字符如 2. 特殊\ddd和\xdd
\ddd 如\130表示把130这个八进制数字转换为10进制后的值88作为ASCII码值的字符转换过来的十进制ASCII码值范围在0~127以内 \xdd 如\x30表示把30这个十六进制数字转换为10进制后的值48作为ASCII码值的字符转换过来的十进制ASCII码值范围在0~127以内 3.转义字符常错点----计算字符串长度 对于这种题就得熟知常见的转义字符。结果为 注意
如果出现\890,\921这些的不是属于\ddd类型的不是一个字符ddd表示1~3个八进制数字
二sizeof操作符
1.含义 1.sizeof 是⼀个关键字也是操作符 专⻔是⽤来计算sizeof的操作符数的类型⻓度的 单位是字 节。 2.使用时注意的几点 1.sizeof 的操作数如果不是类型是表达式的时候可以省略掉后边的括号的。 2.sizeof 后边的表达式是不真实参与运算的根据表达式的类型来得出⼤⼩。 3.sizeof 的计算结果是 size_t 类型的。 sizeof(long)sizeof(int) 可以看出sizeof内部的运算是不进行的 只关注数据类型 4。 sizeof 运算符的返回值C 语⾔只规定是⽆符号整数并没有规定具体的类型⽽是留给 系统⾃⼰去决定 sizeof 到底返回什么类型。不同的系统中返回值的类型有可能是 unsigned int 也有可能是 unsigned long 甚⾄是 unsigned long long 对应的 printf() 占位符分别是 %u 、 %lu 和 %llu 。这样不利于程序的可移植性。 C 语⾔提供了⼀个解决⽅法创造了⼀个类型别名 size_t ⽤来统⼀表⽰ sizeof 的返 回值类型。对应当前系统的 sizeof 的返回值类型可能是 unsigned int 也可能是 unsigned long long 。 5.当sizeof操作符的返回值与int类型的值比较是会发生类型转换int转换为unsigned int,如果转换前int 定义变量的值负数就会转换为非常大的正数 三printf函数 1.注意点 1.printf()函数运行结束后不会在末尾添加换行在原来位置继续打印数据如需换行需手动添加换行符 2.常见占位符 3.限定宽度输出部分字符串函数返回值
1.限定宽度 从这个例子看出 %5d 表⽰这个占位符的宽度⾄少为5位。如果不满5位对应的值的前⾯会添加空格。大于等于5位的话正常输出 输出的值默认是右对⻬即输出内容前⾯会有空格如果希望改成左对⻬在输出内容后⾯添加空 格可以在占位符的 % 的后⾯插⼊⼀个 - 号即%-5d。 对于浮点数的限定宽度 对于浮点数默认小数点后打印六位宽度为9的话1.200000总共是8位小数点也算一位再前补一空格如限定位数的话也依然遵循此规则
2.输出部分字符串 占位符 %.5s 表⽰只输出字符串“hello world”的前5个字符即“hello”。
3.printf函数的返回值 从官方文档查询可知printf函数的返回值是正确读取字符的个数读取出现错误的话将调ferror函数 我们对这个程序进行分析得 四scanf函数
1.注意 scanf() 处理数值占位符时会⾃动过滤空⽩字符包括空格、制表符、换⾏符等。 scanf() 处理⽤⼾输⼊的原理是⽤⼾的输⼊先放⼊缓存等到按下回⻋键后按照占位符对缓存 进⾏解读。 scanf函数不能处理在输入字符串中有空格的有空格的应该用gets函数来读取 scanf() 读取⽤⼾输⼊时 %d 占位符会忽略起⾸的空格 %c 不忽略空⽩字符总是返 回当前第⼀个字符⽆论该字符是否为空格 如果要强制跳过字符前的空⽩字符可以写成 scanf( %c, ch) 即 %c 前加上⼀个空格表 ⽰跳过零个或多个空⽩字符 占位符 %s 它其实不能简单地等同于字符串。它的规则是从当前第⼀个⾮空⽩ 字符开始读起直到遇到空⽩字符即空格、换⾏符、制表符等为⽌。 2.scanf函数返回值 scanf() 的返回值是⼀个整数表⽰成功读取的变量个数。 如果没有读取任何项或者匹配失败则返回 0 。如果在成功读取任何数据之前发⽣了读取错误或 者遇到读取到⽂件结尾则返回常量 EOF。 应用
用于在OJ中连续输入数据完成多组输入如 可以用上面两种中的随便一种
如要停止继续输入可以输三次ctrlz使读取到文件末尾
五小tips
我们经常会遇到这样的问题在输入测试用例的时候需要123这样输入而有时就会1 2 3这样输入导致错误这里提供一个小技巧可以忽略数据间的规定字符----赋值忽略符 只要把 * 加在任何占位符的百分号后⾯该占位符就不会返回值解析后将被丢弃。 如int a0,b0,c0; scanf(“%d%*c%d%*c%d”,a,b,c)