1、数据类型

1、数据类型

顾名思义,格式控制符就是对标识符或表达式的格式进行控制,它决定了标识符或表达式的输出形式(长度、对齐方式、小数位数等),它也是C语言中非常重要的一个概念。本人实际工作中虽然经常用到格式控制符,但用的最多的无非是%d、%c、%s这些,但是在本篇中我将尽可能全面的介绍格式控制符,这其中必然会涉及到好多我没用到的标识符,当然我会尽量在程序中加以验证,同时如有不足之处望不吝赐教,拜谢。
1.格式控制符形式
% [{+,-}] [o] [{m,m.n}] [{l,h}] <格式控制符>
其中,中括号[]里的内容是可选的,<>里的内容是必须的。以下对各个标志的含义简要介绍:
%:表示格式控制的起始符号,必不可少。–格式控制起始位置
+/-:表示对齐标志,+表示右对齐,-表示左对其,缺省情况下为右对齐。–对齐标志
o:表示当实际长度没有格式控制的长度大时,用“o”补全。–补全内容
m/m.n:其中,m表示输出所占位宽,n表示实际取标识符的多少位输出–占位长度
l/h:l对整型指long型,对实型指double型;h用于将整型字符修正为short型
<>:格式控制符

1.1格式控制符
%d:用于输出整型数(整型指本质为整型的数,如int、short、char等)
%c:用于输出一个字符
%s:用于输出一个字符串
%o:以无符号八进制形式输出整数值
%x:以无符号十六进制形式输出整数值
%u:以无符号形式输出十进制数
%f:用来输出浮点数(float),精度为6位小数,第七位四舍五入。
%p:指针的值 地址

1.2占位长度与格式控制符搭配输出
1.2.1 占位长度与%d搭配
%md:m为指定的输出数据的位宽。如果数据的位数小于m,则左端补以空格(因为默认右对齐,所以左补用以占位);如果数据的位数大于m,则以数据的实际位数输出。示例如下:

1.2.2 占位长度与%c搭配
一般无此搭配方式。
1.2.3 占位长度与%s搭配
%ms:m为指定的输出字符串的宽度。如果字符串的位数小于m,则左端补空格;如果字符串的位数大于m,则以实际的字符串长度输出。实例如下:

%m.ns:意为从左向右截取字符串的n位输出到占位m的位置,左补空。设字符串实际长度为len,则具体表现形式如下:

1.若n<len
截取字符串前n个字符,然后做如下判断:
若m<n:则输出n个字符
若m>n:则输出m个字符,左补空

2.若n>len
取字符串的实际(长度len)字符,然后做如下判断:
若m<len:则输出len个字符
若m>len:则输出m个字符,左补空格

1.2.4 占位长度与%f搭配
%m.nf:m为占位宽度,n为小数点右边的位数,浮点数的规则较字符串比起来更为复杂些,你不但要关注浮点数的总占位宽,还要关注小数的占位宽。小数部分的精度为lenDot,下面分整数位数与小数位数简要分析下:
1.2.4.1小数部分:
由于浮点数float的精度为6(即lenDot=6)。算小数部分原则:
(1)首先根据浮点数的实际精度得出近似值,原则为:
若浮点数的实际小数位长大于6,则截取6位,第七位四舍五入;若浮点数的实际小数位数小于6,则后补0。如1.23转换成1.230000;1.23456789转换成1.234568
(2)根据上步中的结果值,从中截取n位长。注意:n一般小于或等于6,因为超过6位的数据不真实。
1.2.4.2整数部分:
整数部分完整输出,唯一要注意的是:
当m>(整数位宽+小数点位宽+n)时,左补空。
1.2.4.3示例如下:

1.2.4.4建议
一般不对浮点数float输出大于6位的小数,因为大于6位后的数据已经在浮点精度之外了,是不正确的数据。
1.3补全内容与占位长度、控制符的搭配输出
当标识符的占位长度大于实际的长度时,在多出的位置处用补全内容填充。补全内容默认为空,可以显式指定补全内容为0。实例如下:

1.4对齐标志
对齐标志有两种:+和-,其中缺省为+。+表示右对齐,-表示左对齐。对齐标志要相对简单、更好理解,所以不细讲,直接举例验证,如下:

左对齐:

右对齐:

2.总结
格式控制符直接影响着程序输出的外观,所以在C语言学习着占据着举足轻重的作用,基本上我们每天的编程都会与它打交道。所以这部分内容值得细细体会、多上机实践。养成善于总结、记笔记的习惯,相信学好它们不在话下。

作者:IT小白wjx
来源:CSDN
原文:https://blog.csdn.net/wenjinxingwen/article/details/52831358

一、编程语言
C、C++、JAVA、python、C#、PHP、JavaScript、objective-c、Go、汇编
二、程序运行
源文件(文本文件)——可执行文件——进程

任务:了解常见的可执行文件格式
.exe .hex .elf .bin

三、第一个C语言程序
1.include
头文件包含
<> 引用标准库的头文件
“” 自定头文件
2.main
主函数,C语言的程序入口(有且只有一个入口函数)
main函数的参数:
int argc:调用程序的时候,给程序传入的参数个数
char const *argv[]:将这些传入的参数以字符串的格式传递给main函数
()括号里面是参数列表
3.int和return
int代表函数返回值类型为整型
return 关键字表示退出当前函数(当return放在main函数里面的时候,表示程序退出)
return后面的值是返回给函数调用者的值
4.{}
里面是函数体
5.printf函数
是一个标准C的函数,将字符串输出给标准输出文件
6.注释
/**/ 按块注释
// 按行注释
7.定义与声明
int a;
int表示变量类型
a表示变量名
;语句结束
定义并初始化
int a = 100;
=表示C语言的赋值语句
100是一个常量
四、关键字
C语言总共有32个关键字
int
double
float
char
long
void
short
sizeof
static
extern
break 跳出循环
continue 跳出本次循环
enum
union
struct
return
if
else
while
switch
case
default
for
unsigned
do
goto 跳转函数
volatile 防止编译器对代码进行优化
auto
const 声明可读变量
register
signed
typedef 给类型取别名
五、标识符
定义变量的时候,给变量起的名字,(非C语言关键字),就是标识符
(函数名、变量名、结构体名、宏名)
要求:
1.数字、字母、下划线组成
2.不能以数字开头
3.不能与C语言关键字一样
(建议不要定义成函数名)
六、常量与变量
整型常量和浮点型常量
整型: 123,0123,0x123ff
浮点型: 3.14,3.14e3,3.14E-2
字符型常量和字符串型常量
字符’a’,’\0’,’\n’,’\027’,’\x1ff’;
字符串”a”,”hello world!”
表示不可见字符有三种方法:
1:使用ASCII码,例如:char beep = 7;
2:使用转义序列,例如:char beep = ‘\a’;
3:使用转义字符,例如:char beep = ‘\007’; //或char beep = ‘\x07’


#define 声明宏常量
const 修饰只读变量
七、ASCII码

八、进制数、位、字节
1BYTE = 8bit
KB MB GB TB …
二进制、八进制、十进制、十六进制
111 07 7 0x7
1000 010 8 0x8
1001 011 9 0x9
10000 020 16 0x10
(1)C语言是没有直接的二进制的表示方式的
(2)二进制转八进制、十六进制、十进制
(3)八进制、十六进制、十进制转二进制
十进制转n进制:数每次除n,把余数拿到,除到商为0的时候结束。将拿到的余数从后往前排列。

写代码实现将一个十进制132转化为二进制,实现显示?


练习:实现n进制转十进制
输入一个数字,并输入一个n(n表示n进制),显示出转换得到的十进制数

九、printf函数
1.至少有一个参数
2.在第一个参数里面的格式控制符的数量和类型和后面参数要保持一致
3.后面的参数,可以是常量、变量、表达式、函数调用
十、数据长度

十一、类型转换
隐式转换:低精度向高精度默认转换
强制类型转换: (类型)表达式

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值