嵌入式学习笔记总结Day4

        今天是学习嵌入式的第四天,今天主要补充学习了赋值运算的一些知识,另外主要学习了c语言中的语句以及输入和输出。

一、赋值运算的注意点

        首先是不同精度数据间的混合赋值,低精度数据赋值给高精度数据没有影响,但高精度数据给低精度数据赋值会导致精度丢失。

        当不同长度间的数据混合赋值时,长类型的赋值给段类型会导致高位截断,当短类型赋值给长类型时要分两种情况,一是短类型时有符号型,这时其赋值给长类型时就会导致高位符号位扩展,而无符号的段类型赋值给长类型,高位会自动补0。


二、语句


        语句的具体内容如下:

三、输入与输出

        注意,c语言并不提供输入输出功能,因为从输入与输出的概念来说,输入与输出都是以计算机主机为主题而言的,从计算机向外部输出设备(显示器,打印机等)输出数据叫做输出,从输入设备(鼠标键盘等),向计算机输入数据叫做输入。所以输入与输出的过程都涉及到了硬件设备,而硬件设备是各种各样无法统一的,这就造成了如果c语言有自己的输入输出功能,就会变得很复杂。

        因此,c语言的输入输出主要由标准输入输出函数库来完成的,其主要包含三组函数:一是单个字符的输入输出,getchar,putchar;二是格式化输入输出:scanf与printf,三是字符串的输入与输出(暂时不做了解):gets与puts 

1.getchar与putchar

        getchar 的功能是获取一个字符,其参数是空,返回值是int型,

        putchar的功能是数出一个字符,其参数为int型,即为要输出字符的ascii码,返回值也是int型,返回成功就会返回要输出字符的ascii码。

2.printf与scanf

2.1printf

        printf是格式化输出函数,其使用时的基本格式是:printf(“格式化控制字符串”,输出列表),在格式化控制字符串中如果是普通字符,则原样输出,如果是占位符,将输出列表中对应的参数,以占位符指定的格式输出;常见的占位符如下:

//整型 
  %d  以 有符号 十进制 格式 输出 
  %u  以 无符号 十进制 格式 输出
  %x  以 十六进制 格式 输出
  %X  以 十六进制 格式 输出 ,但是对应的a b c d e f 都是大写
  %o  以 八进制 格式 输出
  //浮点数 
  %f  以小数的形式输出,默认保留6位小数
  %g  以 更简洁 的方式输出 ,同时不会输出多余的0 
  %e  以 科学计数法形式 输出
  %E  输出结果中 e 大写 
  //字符    
  %c  以 字符的 格式 输出 //将对应的ASCII码值的 字符形式输出 
  %s  以 字符串 格式 输出 

注意:如果占位符大于输出列表的参数,则从左到右多的就会随机输出一个数。

另外还有辅助控制符:如%【辅助控制符】d

主要是#,如%#x,表示输出十六进制的前缀

                        %#0,表示输出八进制的前缀

另外就是在%后跟m.n,其中m可以设置输出的宽度,n一般控制浮点数的小数位数。

2.2scanf

        scanf表示格式控制输入,其一般使用的格式为:scanf(“格式控制输入字符串”,地址列表)

同样的与printf相似,格式控制输入字符串也有普通字符,但有普通字符时,输入的时候就也要输入该字符,另外就是占位符,其作用是占了一个位置,将输入的数据,转换位占位符指定的格式,放到地址列表对应的一块内存空间上。 常见占位符如上。

注意:1.地址列表一定要记得&符号。2.当有多个数据输入时,以空白符(空格,Tab,回车)为分割,3.另外要注意输入数据类型的匹配:如%d对应int型,%lf对应double型,%ld对应long型,%lld对应long long型。4.也可以加上辅助控制符如%md来限制 输入的宽度,达到宽度则输入匹配结束。5.输入匹配结束的条件:空白符,限制的宽度,还有非法字符(输入非要求输入的数据类型)6.要尤其注意输入占位符为%c时我们要注意键盘上几乎所有的键都能被%c识别,这个时候我们为了输入方便可以加入%*c来跳过一个数据匹配项,亦或是在输入间隔中加入getchar来吸收一个字符。

最后要注意的是从键盘输入数据然后再到程序这个过程:就比如当一个scanf输入多个数据时,首先键盘输入的数据会进入一个输入缓冲区,然后输入结束后输入的这些数据才会从左到右对scanf中的格式输入控制字符串进行挨个匹配。

  • 37
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值