C语言学习笔记-6.数组
一、一维数组的定义和使用
1.C语言中,数组元素的下标是从0开始
2.定义数组时,需要设定它的长度,该长度必须是一个整型常量
注:常量采用宏定义优势:用简短标识符代替长数据 有利于程序修改和升级 用易于理解的标识符代替不好记的数据
格式:#define PI 3.14 (没有分号)
3.如果对全部的数组元素赋予初值,则可以不指定数组的长度
在初始化时,如果初值的个数少于元素个数,则剩余的自动补0
二、字符数组与字符串
1.字符串通常都保存在字符数组中,每个元素存放一个字符,以'\0'结尾
2.字符串初始化:char Str[] = "Hello";
错误初始化:char Str[20];
Str = "Hello"; //字符串常量是只读的
3.<string.h>中的函数:
(1)puts函数:将一个字符串输出
(2)gets函数:输入一个字符串,并保存在一个字符数组中
与scanf区别:scanf输入直到碰上空白字符为止 gets输入直到碰上换行符为止
注意:在两次输入之间应加入清空缓冲区语句:fflush(stdin);
(3)strcat函数:字符串连接 原型:strcat(Dest, Src);
(4)strcpy函数:字符串复制 原型:strcpy(Dest, Src);
(5)strcmp函数:字符串比较 str1 <str2 返回负整数
str1 == str2 返回0 比较方式:从左至右依次比较ASCII
str1 > str2 返回正整数
(6)strlen函数:计算一个字符串的长度(不包括'\0')
4.scanf输入字符串时应注意不写&
scanf("%s", str); //字符数组名本身已是地址
5.scanf补充说明:
(1)%[^...] 表示读取至遇到特定内容终止
(2)%[...] 表示只读取特定内容
例:scanf("%[^\n]", str); 输入Hello World!回车 str:Hello World!
scanf("%s", str); 输入Hello World!回车 str:Hello
scanf("%[12345678]", str) 输入1234Hello5678回车 str:1234
(3)控制字符"%-4d"表示输出采用左对齐方式