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

字符串就是一个或多个字符的序列。双引号不是字符串的一部分,它们只是通知编译器其中包含了一个字符串。

C没有为字符串定义专门的变量类型,而是把它存储在char数组中。

字符串中的字符存放在相邻的存储单元中,每个字符占用一个单元;而数组由相邻存储单元组成,所以把字符串存储到数组中是很自然的。


C用空字符\0来标记字符串的结束,空字符不是数字0;它是非打印字符,其ASCII码的值为(或者等同于)0。C的字符串存储时通常以这个空字符结束。该字符的存在意味着数组的单元数必须至少比要存储的字符数多1。


字符数组由内存中相邻的字节组成。字符串,无论是表达成一个字符常量还是存储在一个字符数组中,都要以一个被称为空字符的隐藏字符来结束。


数组就是同一类型的数据元素的有序序列。


scanf()开始读取输入以后,会在遇到的第一个空白字符空格制表符或者换行符处停止读取。一般情况下,使用%s的scanf()只会把一个单词而不是把整个语句作为字符串读入。C使用其他读取输入函数(例如gets())来处理一般的字符串。


sizeof运算符以字节为单位给出数据的大小,strlen()函数以字符为单位给出字符串的长度


创建符号常量的三种方法:

1.使用预处理器#define定义常量;

2.使用const关键字把一个变量声明转换成常量声明;

3.枚举。


printf()和scanf()函数使您能够与程序通信。它们被称为输入/输出函数,或者被简称为I/O函数


C函数一般都有一个返回值。这就是由函数计算并返回给调用程序的值。

printf()返回一个int值,表示被打印的字符数。printf()的返回值是其打印输出用途的附带功能,通常很少被用到。

scanf()函数返回成功读入的项目的个数。


跟printf()一样,scanf()使用控制字符串参数列表。控制字符串指出输入将被转换成的格式。主要的区别是在参数列表中,printf()函数使用变量名、常量和表达式,而scanf()函数使用指向变量的指针。

●如果使用scanf()来读取某种基本变量类型的值,请在变量名之前加上一个&。

●如果使用scanf()把一个字符串读进一个字符数组中,请不要使用&。


printf()和scanf()都可以使用*修饰符来修饰说明符的意义,但它们的方式不同。

printf()中,如果转换说明符是%*d,那么参数列表中应该包括一个*的值和一个d的值。该技术也可以和浮点值一起使

用来指定精度和字段宽度。

在scanf()中,*提供截然不同的服务。当把它放在%和说明符字母时,它使函数跳过相应的输入项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值