第四章:字符串和格式化输入/输出
1.字符串的简介:
字符串是一个或多个字符的序列.
“zhen de shi ni a!”------双引号不是字符串的一部分。双引号仅告知编译器它括起来的字符串,正如单引号用于标识单个字一样。
使用字符串:
/*使用不同的字符串*/
#include <stdio.h>
#define PRAISE "You can an extraordinary being"
int main()
{
char name[40];
printf("What's your name?");
scanf_s("%s", name);
printf("Hello, %s. %s", name, PRAISE);
return 0;
}
%s联动printf()打印一个字符串。%s出现了两次,因为程序要打印两个字符串:一个储存在name数组中;一个由PRAISE来表示。
字符串和字符的不同:字符串常量“x”和字符常量‘x’不同。区别之一在于‘x是基本类型(char),而“x”是派生类型(char 数组);区别之二“x”实际上由两个字符组成:‘x’和空字符\0
2.strlen()函数:
strlen()函数能给出字符串的字符长度。
★用头文件#include <string.h>,string.h包含多个与字符串相关的函数原型,包含strlen()。
★sizeof()和strlen()不同:(strlen())给出实际的字符长度,而sizeof()全部的长度。
3.const限定符:
C90标准新增const关键字,声明变量,不是常量。若赋了初始值则不能再进行赋值改变。 4.printf()与scanf_s()[VS2022]
printf()函数与scanf_s()函数能让用户可以与程序交流,它们是输入输出函数,称I/O函数。prinf()是输出函数,scanf_s()是输入函数,它们工作原理几乎相同。
(1)printf()函数:用printf()打印数据的指令要与待打印数据类型相匹配。例如,打印整型时用%d,打印字符时使用%c。这些符号称为转换说明,指定了吧数据转换可显示的形式。
printf()返回值:大部分c函数都会有一个返回值,这是计算并返回主调程序的值。它返回打印字符的个数。
(3)使用scanf_s()函数:
它是输入函数。c库中包含多个输入函数(gets()、getchar()、fgets()....)scanf_s()是最通用的一个(确实,其他的用着比较麻烦╭( ̄▽ ̄)╯)
★如果用scanf_s()读取变量类型的值,在变量前加一个&;
★如果用scanf_s()把字符串读入字符数组中,不要使用&。
scanf_s()的返回值:
scanf_s()返回成功读取的项数 ,如果没有读取任何项,需要读取一个数字而用户输入一个非数值的字符串,则scanf_s()返回0.