iOS,Android,Java培训,期待与您的交流
(2) 定义函数的目的:将一个常用的功能封装起来,方便以后调用
(3) 定义函数的格式:
(2) 定义数组的格式:元素类型 数组名 [元素个数]; 比如int ages[5];
(3) 简单初始化:int ages[5] = {19, 19, 20, 21, 25}; 元素有顺序之分,每个元素都有一个唯一的下标(索引),从0开始。数组元素的访问:a[i]
(4) 二维数组是一个特殊的一维数组:它的元素是一维数组。例如int a[2][3]一维数组a[0]和一维数组a[1]组成,这两个一维数组都包含了3个int类型的元素
(2) 字符串在内存中的存储时,在最后一个字符后面有一个结束符'\0'。所以"123"是由’1’、’2’、’3’、’\0’组成,"a"是由'a','\0'组成,而'a'就是一个单独'a'
(3) 字符串可以存放在数组中,但如果是一个一个字符存放在数组,要在最后放入一个结束符'\0',否则该数组不能作为字符串使用,仅仅是字符数组
1 函数
(1) 任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”。(2) 定义函数的目的:将一个常用的功能封装起来,方便以后调用
(3) 定义函数的格式:
返回值类型 函数名(形式参数列表)
{
函数体
}
比如下面计算两个整数之和的函数。函数也可以不需要返回值,如果不需要返回值,函数体内则不需要return语句,函数的返回值类型为void
int sum(int a,int b)
{
return a + b;
}
(4) 函数注意项:不能嵌套定义函数;循环调用,自己调用自己;不能重复定义、可以重复声明
2 数组
(1) 数组就是用来存储一组数据的,并且只能存放一种类型的数据,比如int类型的数组、float类型的数组。里面存放的数据称为“元素”(2) 定义数组的格式:元素类型 数组名 [元素个数]; 比如int ages[5];
(3) 简单初始化:int ages[5] = {19, 19, 20, 21, 25}; 元素有顺序之分,每个元素都有一个唯一的下标(索引),从0开始。数组元素的访问:a[i]
(4) 二维数组是一个特殊的一维数组:它的元素是一维数组。例如int a[2][3]一维数组a[0]和一维数组a[1]组成,这两个一维数组都包含了3个int类型的元素
// 使用注意
int main(){
// 都是正确写法
//int ages[5] = {10 , 11, 12, 67, 56};
//int ages[5] = {10, 11};
//int ages[5] = {[3] = 10, [4] = 11};
//int ages[] = {10, 11, 14};
// 错误写法,必须初始化
// int ages[];
// 错误写法
/* 只能在定义数组的同时进行初始化
int ages[5];
ages = {10, 11, 12, 14};
*/
// 正确写法
// int ages['A'-50] = {10, 11, 12, 14, 16};
//int size = sizeof(ages);
//printf("%d\n", size);
// 正确写法
/*
int count = 5;
int ages[count];
ages[0] = 10;
ages[1] = 11;
ages[2] = 18;
*/
// 错误写法
// 如果想再定义数组的同时进行初始化,数组元素个数必须是常量,或者不写
//int count = 5;
//int ages[count] = {10, 11, 12};
//二维数组
/*
int ages2[3][5]= {
{10, 11, 90, 89, 70},
{10, 11, 90, 89, 70},
{10, 11, 90, 89, 70}
};
int wuzi[6][6] = {
{}
};
*/
return 0;
}
3 字符串
(1) 字符串就是用双引号包起来的一个或者多个字符,比如"a","asd"。要注意的是,"a"是字符串,'a'是字符(2) 字符串在内存中的存储时,在最后一个字符后面有一个结束符'\0'。所以"123"是由’1’、’2’、’3’、’\0’组成,"a"是由'a','\0'组成,而'a'就是一个单独'a'
(3) 字符串可以存放在数组中,但如果是一个一个字符存放在数组,要在最后放入一个结束符'\0',否则该数组不能作为字符串使用,仅仅是字符数组
// 使用注意
int main(){
// \0的ASCII码值是0
// 都是字符串
char name[8] = "it";//实际数组保存的是'i','t','\0'
char name2[8] = {'i', 't', '\0'};
char name3[8] = {'i', 't', 0};
char name4[8] = {'i', 't'};
// 不算是一个字符串(只能说是一个字符数组)
char name5[] = {'i', 't'};
/*
\0的作用
1.字符串结束的标记
2.printf("%s", name);
会从name这个地址开始输出字符,直到遇到\0为止
*/
/*
char name[] = "itc\0ast";
char name2[] = {'o', 'k'};
printf("%s\n", name);//打印itc
//没有显示的结束符'\0',所以打印出的字符串不确定
printf("%s\n", name2);
*/
return 0;
}
iOS,Android,Java培训,期待与您的交流