数组
定义数组
语法格式如下:
type arrayName[length];
在上面的语法格式中,length用于指定数组的长度。如果定义的数组是全局数组(不在函数或方法中定义的数组
),那么该length不允许是变量,只能是整数值或常量;如果定义的数组是局部数组(在函数或方法中定义的数组),
那么该length既可是变量,也可是整数值或常量。
由于数组中所有的数组元素都是连续存储的,因此,当程序访问数组元素时具有非常好的性能:数组变量本身保
寸了第一个数组元素的首地址:
元素的地址 = 首地址 + 数组变量所占的内存大小 * 索引
数组的显示初始化
语法格式如下:
type arrayName[length] = {ele1, ele2 ,ele3 , ..., eleN};
说明:
1.指定数组元素时,既可为所有的数组元素同时指定初始值,也可只为前几个数组元素指定初始值。
2.如果初始化时为所有的数组元素都指定了初始值,则可以省略定义数组时指定的长度,系统会自动推断。
输出字符串和字符串函数
ANSI C提供了如下常用的标准函数来处理C字符串
int isalnum(int ch):判断ch是否为字母或数字,如果ch是字母或数字,则返回1,否则返回0。
int isalpha(int ch):判断ch是否为字母,如果ch为字母,则返回1,否则返回0。
int iscntrl(int ch):判断ch是否为控制字符(其ASCII码在0~0x1F之间),如果是,返回1,否则返回0。
int isdigit(int ch):判断ch是否为控制数字(0~9),如果是,返回1,否则返回0。
int isgraph(int ch):判断ch是否为可打印字符(其ASCII码在0x21~0x7E之间),如果是,则返回1,否则返回0。
int islower(int ch):判断ch是否为小写字母(a~z),如果是,则返回1,否则返回0。
int isprint(int ch):判断ch是否为可打印字符,包括空格(其ASCII码在0x20~0x7E之间),如果是,则返回1,否则返回0。
int ispunct(int ch):判断ch是否为标点字符,如果是,则返回1,否则返回0。
int isspace(int ch):判断ch是否为空白字符(包括空格、Tab键、换行符),如果是,则返回1,否则返回0。
int isupper(int ch):判断ch是否为大小字母(A~Z),如果是,则返回1,否则返回0。
int isxdigit(int ch):判断ch是否为十六进制字符(0~9或a~f或A~F),如果是,则返回1,否则返回0。
char * strcat(char * str1 ,char * str2):把str2添加到str1后面,返回追加后的字符。
注:保存str1字符串的底层数组必须还要有足够的剩余空间来容纳复制的字符。
char * strchr(char * str ,int ch):返回从ch第一次出现位置到str结束的子字符串。
int strcmp(char * str1 , char * str2):比较两个字符串的大小,如果str1>str2,则返回正数;如果
str1 == str2,则返回0;如果str1<str2,则返回负数。
char * strcpy(char * str1 ,char * str2,[int n]):将str2字符串的前n个字符复制到str1后面。如
果没有指定参数n,则会将str2的全部字符复制到str1后面。
注:保存str1字符串的底层必须足够大。
unsigned int strlen(char * str):返回str字符串中字符的个数(不包括结束标志)。
char * strstr(char * str1 ,char * str2):返回从str2出现位置到str1结束的子字符串。
int tolower(int ch):返回ch字母对应的小写字母。
int toupper(int ch):返回ch字母对应的大写字母。
网友评论