看实践书收获
附加格式说明符出现在%和格式描述符号之间,主要用于指定输出数据的宽度和输出形式
l可加在格式符 d 、前面,用于输出长整数与双精度型数
例scanf_s("%md");指定输出数据的宽度,如果数据的实际宽度大于 m ,则 m 不起作用
例scanf_s("%.nf");对于实数,表示输出 n 位小数
+使输出的数值数据无论正负都带符号输出 -使数据在输出域内按左对齐方式输出
m 用于指定数据的最小输出宽度(也称域宽)。对于实型数据, m 指定的域宽包括整数位、小数点、小数位和符号所占的总位数。如果输出数据的实际位数小于域宽,则不足部分用空格补齐;如果超出域宽,则按实际宽度输出,这时宽度限制将不起作用。
当采用“ n ”形式说明时,如果小数实际位数超出 n 指定的倍数,则截取 n 位小数,并自动对后面的数四舍五入。
当使用“-”修饰时,如果输出数据的实际长度小于指定宽度,则在输出域内按左对齐方式输出数据,不足部分在数据后面补空格。
scanf的函数输入和双引号中的占位符格式高度统一。
vS 2017以后的版本中,数据输人不能用 scanf 函数, scanf _ s 函数在使用时与 scanf 函数格式一样。
switch函数中
如果输入n 的值是1,则流程从 case 1开始执行。输出结果为:
I am case 1.
I am default .
I am case 2.
执行到 case 2语句的 printf 语句后,遇到 break 语句, switch 语句结束。
如果输入 n 的值是2,则流程从 case 2开始执行。
输出结果为“ I am case 2.”。并且后面的 break 语句结束了整个 switch 语句。
如果输入 n 的值是3,输出结果为“ I am case 3."。
如果输入 n 的值是4,输出结果为“ I am case 4."。并且遇到 break 语句结束了 switch (4)语句。
流程跳转到 case 3继续执行。继续输出 I am case 3.
如果输入其他值,则流程从 default 语句开始执行。输出结果为:
I am default .
I am case 2.
做题收获
某数开根号可以在节省循环次数的情况下判断该数是否是素数。
对于求余运算符%,规定两操作数必须为整数或字符型数,运算结果为整数,符号与左操作数相同。例如:
11%5或11%-5,结果为整数1。
-11%5或﹣11%-5,结果为整数﹣1。
2%5,结果为整数2。
8%2,结果为整数0。