赋值类型转换、标准输入输出以及运算符优先级

本文介绍了编程中良好的变量命名习惯,如单词命名、驼峰命名法,以及类型转换的规则,包括低精度转高精度和高精度转低精度。此外,还详细讲解了C语言中的输入输出函数如printf和scanf,以及占位符和scanf匹配条件的处理。
摘要由CSDN通过智能技术生成

目录

一、变量命名习惯

二、赋值类型转换

三、输入输出


一、变量命名习惯

        简洁明了的变量名不仅能给自己在编程过程中带来方便,而且在别人阅读代码时也能清楚知道变量的大致意思。培养良好的编程习惯是一件非常有意义的事情。接下来介绍几种变量的命名方式和一些常用的规则。读者可以选择合适的一种作为自己的编程风格。

1、尽量使用单词进行命名

2、如果变量名过长则可以使用简写单词,在缩短简写变量的时候可以省去元音字母a、o、u、i等保持原本的发音不受过大影响。

3、驼峰命名法,其命名方式类似于骆驼的驼峰因此得名。下列两种举例反应了驼峰命名法的具体方法。作者习惯于使用大驼峰的方式命名变量。

AppleNum        //大驼峰

appleNum        //小驼峰

apple_num        //内核命名法

二、赋值类型转换

        赋值类型的转换,与之前所遇到的隐式类型转换较为相似。其运算过程中不会出现提醒默认进行转换。还需注意的是赋值类型转换其主要思想在于尽量保持原有的数值不发生改变。接下来主要从两个方面把握赋值类型转换。

低精度—>高精度类型

        该种类型转换一般不涉及数据丢失或者原值发生变化的情况。从高精度转向低精度可参考之前文章中的隐式类型转换,进行默认转换不发生警告和提醒。

        转换的方法:会将低精度或者存储字节低的类型转换wield高类型,在其多出来的前位会进行补0补1,主要思想是符号位扩展要保证原数不变(负数补码)。

下例中的有符号short类型a是一个负数,那么类型转换以后会进行前位补1。

结果分析:其输出结果为0xffff8765。原因在于0x8765在有符号的short类型下已经表现为负数用十进制数表示为-765,在计算机存储为补码,负数补码全取反则,输出结果为0xffff8765.

高精度-->低精度

这种类型转换难免发生精度丢失(浮点)、高位截断(整型)只输出后几位来保证最低的数字被保留,尽可能减小算错的可能性。

三、输入输出

计算机之父编写了#include<stdio.h>该头文件,全称为标准输入输出头文件。

putchar();输入单字符

getchar();输出单字符

printf(“格式化输出”,)scanf是常用的输出格式。可以根据格式化的不同,可变的输出多种数据。

由printf()我们进一步推出占位符的概念。

占位符:顾名思义占位符是用来提前占位,来等待其他输出的,保留其要输出的位置。

占位符可从大类进行把握:整型、浮点型、字符型。

int型的占位符:%d\%o\%x\%X\%u(要一看就知道相关意思)。

这里着重说明%x和%X的区别在于用于输出十六进制的字母大小写区别。

辅助控制符#例如:%#x        //输出带有前缀的十六进制。

%4d输出宽度(空位补空格)默认右对齐,如果需要左对齐则需要加负号-(%-4d)

限制宽度小于实际宽度则输出长的

例如:int a = 12345;

%4d,a则输出12345

%-8.2f,1234.2

如果要在前位补零而不是空格%0d

例如%02d:%02d:%02d 2,58,4

字符串的限制输出 %4s 表示输出字符串的前4位

h        //half(%hd)

hh        //(%hhd)

float型               %f\%g\%e(这里主要说明%g是简洁输出浮点数,不输出后尾多余的0而%f则默认输出8为小数)

char                   %c(ASCII)%s

scanf匹配结束的条件

空白符、宽度、非法字符

问题再现:字符在输入的过程当中几乎键盘上的所有都在输入范围内,这就带来了如何划分两个不同的字符的问题。例如下例的练习。

寻找错误:理解是y输入结束之后c1出入之后单独,但是当输入空格的时候则被默认输入进c1变量了。解决方法是紧挨着输入然后c1和c2之间插入非法字符进行切换。

方法2:%*c:跳过一个字符项,就可以跳过我们输出的空格字符。

3、getchar()读走缓冲区的字符,重新输入。

  • 17
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值