c primer plus 5 ch4 字符串和格式化输入/输出


ch4 字符串和格式化输入/输出

字符串(character string) 就是一个或多个的字符的序列。
“shring”
双引号不是字串的一部分,他们只是通知编译器其中包含了一个字符串,正如单引号标识这一个字符一样.

既,单引号表示字符;双引号表示字符串。

C没有为字符串定义专门的变量类型,而是把它存储在char数组中,字符串中的字符存放在相邻的存储单元中,
每个字符占用一个单元,而数组有相邻存储单元组成。 

/0 这个是空字符,用来标记字符串结束,空字符不是数字0,他是非打印字符,其asc2值为(等同)0,
C的字符串存储通常以这个控制符结。这就以为着数组的单元数必须至少必要要存储的字符数多1。
例 char death[10]; 而输入内容为death则存储时为death/0 既6个字符。
%s打印字符串,%c打印单个字符。

scanf() 开始读取输入以后
会在遇到的第一个空白字符空格(bank)、制表符(tab)、换行符(newline)停止读取。

C使用其他的读取输入函数,如(get())来处理一般的字符串。

"x"和'x'是不同的,"x"属于派生类别(char数组)而'x'是属于基本类型(char),第一个"x"为两个字符x/0

敲打程序清单4.2,得出,若 char char_a;char_a='abd';printf("%c",char_a);
则显示 char_a 字符串里面的最后一个字符。

strlen()以字符为单位给出字符串的长度
sizeof运算符 以字节为单位给出数据的大小 (通俗既.多了/0)
(例4.3)

#define abc "abcabc"
printf("%d,%d",strlen(abc),sizeof(abc));
6,7

程序必须自己计算出双引号之间的字符数目,双引号为字符串。

OK,搞定stelen() sizeof !!有问题再看P63。


使用strlen函数时必须先加载头文件#include<string.h>

创建符号常量的方法

①#define 预处理器使程序变得更有意义,更易阅读。
比如修改一个 税率 只需要先该这个符号常量的定义就好 就不会牵一发而动全身。

这种定义方式通常称为,明显常量。
格式 #define 常量的符号名(需满足命名规则) 常量的值。
#define PI 3.14159
符号名后面就是定义的内容,下面这个就是粗无的定义。 #define on = 20

*常量符号名最好用大写,这是一个明智的技巧,当程序中间遇到大写的符号名时,
就会明白这是一个常量而非变量,这是一个使程序更易阅读的技巧,应该培养好习惯。

②const修饰符,即可以使用const关键字把一个变量声明转换成常量声明。
例 const int MONTHS = 12; // MONTHS是一个代表12的符号常量。
这样MONTHS就变成只读值,可以显示,用于计算,但不能改变MONTHS的值。

还有第三种方法可以创建符号常量,枚举(ENUM)。


printf()的使用格式
printf(控制字符串,项目1,项目2...);
控制字符串就是双引号内的语句。
应注意别忘记给控制字符串后面的列表中的每个项目都是用一个转换说明。
若要打印%符号,记得输入两个%,否则编译器会以为你丢掉了一个转换说明符号。

printf ("*%2d*/n",PAGES);
输出*931* 因为该整数有3位,所以字段自动扩展适应数字的长度
printf ()标志 0导致产生前导空格填充整个字段,
默认为加号,右对齐,减号左对齐。

x说明符打印16进制数,#标志使用0x输出开始

注意转义说明~~等


printf()的转换说明符,修饰符,标识符,应该记住使用方法,就此打住。

scanf()也没什么好总结的,在实践中摸索吧!

此章个人甚不满意,过于潦草,专业知识不过关吧,过去求快,但是此章我已经龟爬很久了,他日再慢慢摸索。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值