day.3数据类型和变量2

小写字母的ASCII码值-32就能得到对应的大写字母的ASCII码值

小写字母的ASCII码值比对应的大写字母的ASCII码值更大的。

9.scanf 和printf
9.1printf
9.1.1打印到屏幕上,f代表format(格式化)可以定制格式打印。无法自主换行,\n换行

printf("     ")

9.1.2占位符%

%d整型占位符  ("there are %d apples",3)

%s字符串占位符 ("%s will come here","Zhang san") 1个占位符,2个参数(前面这句话也是参数)

%c字符型占位符

%f小数型占位符 float

%lf    double

%hd 十进制短整型short int

%ho 八进制short int

%hu  undesigned short int

%x 十六进制

%zd  size_类型

可以有多个占位符

printf()参数与占位符是一一对应关系,如果有n个参数就有n+1个参数

d有符号  u无符号

限制宽度:%5d  最小占五位,不够就用空格占 右对齐  ;%-5d 左对齐·

限定正负:%+d

限定小数点后几位:%.3f

*可以代参数

9.1.3输出部分字符串

%.[m].s      [m]为一个数字,表示要输出的字符串长度

9.2scanf

用于读取用户的键盘输入

新建.c/.cpp文件其实都是拷贝自newc++file.cpp文件

语法和printf相似,也有占位符

后面参数需要的是地址,变量名前加&

scanf处理时会自动略过空白字符,如空格、换行符等。

可以一口气输入,也可以输一个按一下回车

scanf读取模式为,从符合类型的开始读,到发现不符合的时候结束读

.45e12=0.45*10^12

浮点数在内存中有可能无法精确保存

scanf( )内不用\n

9.2.2scanf( )返回值是⼀个整数,表⽰成功读取的变量个数。

如果没有读取任何项,或者匹配失败,则返回 0 。 如果在成功读取任何数据之前,发⽣了读取错误或者遇到读取到⽂件结尾,则返回常量 EOF (-1)。

如果不接入返回值很多编译器会报警告

9.2.3占位符

所有占位符之中,除了 %c (字符)以外,都会⾃动忽略起⾸的空⽩字符。 %c 不忽略空⽩字符,总是返 回当前第⼀个字符,⽆论该字符是否为空格

如果要强制跳过字符前的空⽩字符,可以写成 scanf(" %c", &ch) ,即 %c 前加上⼀个空格,表 ⽰跳过零个或多个空⽩字符。

scanf() 将字符串读⼊字符数组时,不会检测字符串是否超过了数组⻓度。所以,储存字符串时, 很可能会超过数组的边界,导致预想不到的结果。(这也是编译器会报scanf函数有风险的原因)

为了防⽌这种情况,使⽤ %s 占位符时,应该指定 读⼊字符串的最⻓⻓度,即写成 %[m]s ,其中的 [m] 是⼀个整数,表⽰读取字符串的最⼤⻓度,后 ⾯的字符将被丢弃。

9.2.4 赋值忽略符

只要把 * 加在任何占位符的百分号后⾯,该占位符就不会返回值,解析后将被丢弃

创建变量最后要初始化,局部变量不初始化时值是随机的,全局变量不初始化时默认值是0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值