c语言 字符串 格式化,C语言字符串和格式化

C语言字符串的定义

字符串是一个或多个字符的序列。

"rumenz.com"

双引号不是字符串的一部分, 双引号仅告知编译器它括起来的是字符串,正如单引号用户标识单个字符。

C语言字符串和字符的关系

C语言没有专门的字符串类型。字符串被储存在字符数组中。字符数组末尾是\0 ,这是空字符串,C语言用来标识字符串结束。

C语言中字符串一定以空字符结束(\0)

一个10个长度单位的字符数组,只能存储9个字符,最后一位存放\0,表示字符串的结束。

字符串长度,sizeof不计算\0 【C99 , C11添加了sizeof运算符】

sizeof运算符的括号可有可无。类型需要添加括号sizeof(char)。常量可以不用加sizeof 123。

C语言定义常量的2种方式使用 #define预处理器

使用const关键字 (C90添加)

C语言格式化输出类型

%a  浮点数、十六进制数字和p-记数法(c99

%A  浮点数、十六进制数字和p-记法(c99)

%c  一个字符(char)

%C  一个ISO宽字符

%d  有符号十进制整数(int)(%ld、%Ld:长整型数据(long),%hd:输出短整形。)

%e  浮点数、e-记数法

%E  浮点数、E-记数法

%f  单精度浮点数(默认float)、十进制记数法(%.nf  这里n表示精确到小数位后n位.十进制计数)

%g  根据数值不同自动选择%f或%e.

%G  根据数值不同自动选择%f或%e.

%i  有符号十进制数(与%d相同)

%o  无符号八进制整数

%p  指针

%s  对应字符串char*(%s = %hs = %hS 输出 窄字符)

%S  对应宽字符串WCAHR*(%ws = %S 输出宽字符串)

%u  无符号十进制整数(unsigned int)

%x  使用十六进制数字0xf的无符号十六进制整数

%X  使用十六进制数字0xf的无符号十六进制整数

%%  打印一个百分号

%I64d 用于INT64 或者 long long

%I64u 用于UINT64 或者 unsigned long long

%I64x 用于64位16进制数据

C语言%0m.nd / .n小数部分发生截取

#include 

int main(void){

printf("%x %X %#x\n", 31, 31, 31);

printf("**%d**% d**% d**\n", 42, 42, -42);

printf("**%5d**%5.3d**%05d**%05.3d**\n", 6, 6, 6, 6);

return 0;

}

158ac4141ff7a4ec97f9cecdfb190ae2.png

C语言printf scanf打印,输入float,double的区别printf输出float和double都可以用%f,double还可以用%lf。

scanf输入float用%f,double输入用%lf,不能混用。

printf中使用的%f,%e,%E,%g,%G格式,在scanf中统一成float

short int的大小是2字节

数字0~32767代表本身,而数字32767~65535则表示负数。其中65535表示-1,65534表示-2,以此类推。

printf的返回值表示打印了多少个字符。

C语言scanf

scanf使用空白符(换行,制表,空格)把输入分割成多个字段。

scanf会忽略空白符,当遇到空白符是会停止。当使用 %c除外

scanf()检测到文件末尾时会返回EOF(-1)

C语言scanf("%c",&ch)和scanf(" %c",&ch)的区别

scanf("%c",&ch)从输入的第1个字符开始读取

scanf(" %c",&ch)从第1个非空白字符开始读取

scanf成功读取一个值时会返回1,读取失败会返回0,读到文件文件末尾时,返回EOF(-1)

C语言跳过一个非空白字符或者数字

while(scanf("%d",&num)==1)

;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值