- 1
- 0
- 约2.72千字
- 约 2页
- 2023-02-22 发布于安徽
- 举报
数组:是若干个相同类型的变量的集合,可以通过数组名和下标对数组中的元素进行拜望。
引用数组:#includestdio.h
引用数组:
#includestdio.h
void main()
{
int a[3],sum=0,i;
for(i=0;i3;i++)
{printf(“Please input the a*:\n”);
scanf(“%d”,a[i]);
sum+=a[i];}
printf(“The average grade is:%d\n”,sum/3);
}
void main()
{
int a1,a2,a3;
int sum=0;
printf(“Please input the a*:\n”);
scanf(“%d”,a1);
scanf(“%d”,a2);
scanf(“%d”,a3);
sum= a1+ a2+ a3;
printf(“The average grade is:%d\n”,sum/3);
}
一维数组:只有一个下标的数组。需先定义后使用,情势为:类型标识符 数组名[数组大小【常量表达式】];所有的一维数组都是把0作为其第一个元素的下标。一个一维数组多占用的总字节数=sizeof(元素类型)*数组长度,其初始化可以 = 1 \* GB3 ①在定义数组时给全部的元素赋值 = 2 \* GB3 ②给一部分元素赋值 = 3 \* GB3 ③可以不指定长度。
for(i=0;i4;i++) //外循环控制比较的趟数
for(j=0;j4-i;j++) //内循环控制比较的次数
if(grade[j] grade[j+1]) //比较相邻两个数
{
K= grade[j];
grade[j]= grade[j+1];
grade[j+1]=k;
}
字符串与字符数组
字符串或串是由零个或多个字符组成的有限序列。c
字符数组是用来处理字符的数组,它的每一个元素都是单个字符。str[20]; eg:scanf(“%s”, str);[首地址]
注:字符串的特性就是’\0’作为标识符号,字符串读取函数会自动在串尾加’\0’。字符数组的时候用scanf()和printf()输入/输出字符数组的时候:用%c作为格式控制符,逐个元素的输入或输出【字符数组末尾不自动添加’\0’】;%s作为控制格式时,整体一次输入或输出字符串【字符串数组末尾会添加’\0’】。
char 数组名[常量表达式] a[0]=’C’ 或者 char 数组名[常量表达式] [常量表达式]
字符数组的初始化只能在定义时同时初始化,不能之后赋值;eg:[毛病]char str1[10]; str1=“abcd“;同时不可使用算数运算,eg:[毛病]:str2= str4+ str3;
引申:字符串处理函数
函数名
参数说明
函数功能
strcat
字符数组1,字符数组2
将字符数组2连接到字符数组1后,返回数组1的首地址,第一个’\0’覆盖
strcpy
字符数组1,字符数组2
复制字符数组2到字符数组1后,返回数组1的首地址
strcmp
字符串1,字符串2
字符串1=字符串2,返回0;大于返回正数;小于返回负数
strlen
字符串
返回字符串长度,不包括终止字符’\0’
gets
字符数组
输入一串字符到数组,返回数组首地址 eg:gets(str)
puts
字符串
将字符串输出到终端 eg:puts(str)\ puts(strlwr (str))
strlwr
字符串
将字符串的大写字母转换成小写字母,返回串首地址eg: strlwr (str)
strupr
字符串
将字符串的小写字母转换成大写字母,返回串首地址
二维数组:室友两个下标【1行2列】的数组,特别的一维数组。
二维数组的定义:类型标识符 数组名[常量表达式1,即行标识] [常量表达式2,即列标识]
二维数组占用内存空间的大小:占用字节数=第一维大小*第二位大小*sizeof(元素类型);2*4*3=24
二维数组初始化4种方法: = 1 \* GB3 ①花括号内一起赋值 = 2 \* GB3 ②分行赋值 = 3 \* GB3 ③一维下标可省略 = 4 \* GB3 ④对部分元素赋初值。
行列式与矩阵的转换核心算法:b[i][j]=a[j][i];
数组与指针:用指针拜望数组更加方便。常见有3种方法:
下标法,利用下标的方法来拜望,如a[1]
指针法,用指针变量来指向所找的数组元素。例如int a[5],*p;p=a;(等价于p=a[0])
P+1就是指的是a[1]的地址,P+i就是指的是a[i]的地址,*(p+i)就是指针p+i所指的对象a[i]的内容。
数组名:数组名+偏移量
p=a:a是数组的
原创力文档

文档评论(0)