前言:
本文是自学C语言过程中自行总结的学习代码,逐步精讲说明,适合零基础编程学习、基础巩固回忆,不适合高手学习,发这个的目的也是为了交流学习C语言的心得,都说C语言是所有语言的基础语言,一通百通,相信前面无数大佬已经证明的话题,C语言是所有编程语言的基石。编程的学习也不会吝啬自己熬夜总结的知识点,希望能帮到正在阅读的你。
目录
前言:
1.一维数组定义:
1.1基础代码案例:
2.详细代码讲解案例:
2.1详细代码案例+说明
2.2典型案例冒泡排序详细代码+讲解
2.3典型应用代码讲解—递归:
2.4典型应用代码+详细解释:
3.注意事项:
1.一维数组定义:
在C语言中使用数组必须先进行定义。
一维数组的定义方式为:类型说明符 数组名 [常量表达式]。
其中,类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。
方括号中的常量表达式表示数据元素的个数,也称为数组的长度。
1.1基础代码案例:
int a[10];
float b[10], c[20];
char ch[20];
2.详细代码讲解案例:
#include
#include
//定义整型一位数组,数组元素的下标从0开始
//1.数组全部初始化(全局初始化)
int main(){
int a[10]= {1,2,3,4,5,6,7,8,9,10};
int i;
for(i=0;i<10;i++){
printf("%d n",a[i]);
}
}//请多多指正,谢谢!
#include#include //定义整型一位数组,数组元素的下标从0开始 //1.数组全部初始化(全局初始化) int main(){ int a[10]= {1,2,3,4,5,6,7,8,9,10}; int i; for(i=0;i<10;i++){ printf("%d n",a[i]); } }//请多多指正,谢谢!
2.1详细代码案例+说明
#include
#include
int main()
{
//例二:易错方法:运用逆序输出(不可取):
//例二正确解决方法:数组的翻转可以通过元素的交换实现
//1和6换,2和5换,3和4换,
//1 2 3 4 5 6
//6 5 4 3 2 1
//a[0]和a[n-1]换 a
int a[6] = {5,7,9,10,3,1};
int i;//排序趟数
int j;//比较相邻两个数的值大小
int tmp;//定义一个交换变量用于临时交换
int n = sizeof(a)/sizeof(int);
for(i=0;ia[j+1]){
tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
}
//输出结果
for(i=0;i
2.2典型案例冒泡排序详细代码+讲解
#include
void main()
{
int n[10] = { 25,35,68,79,21,13,98,7,16,62 };//定义一个大小为10的数组
int i, j,k,temp;
for (i = 1; i <= 9; i++)//外层循环是比较的轮数,数组内有10个数,那么就应该比较10-1=9轮
{
for (j = 0; j <= 9 - i; j++)//内层循环比较的是当前一轮的比较次数,例如:第一轮比较9-1=8次,第二轮比较9-2=7次
{
if (n[j] > n[j + 1])//相邻两个数如果逆序,则交换位置
{
temp = n[j];
n[j] = n[j + 1];
n[j + 1] = temp;
}
}
printf("第%d趟排序完成后的数据排序:n",i);
for (k = 0;k < 10; k++)
printf("%-4d", n[i]);
printf("n");
}
printf("排序过后的数顺序:n");
for (i = 0; i < 10; i++)
printf("%-4d", n[i]);
printf("n");
}
//请多多指正
2.3典型应用代码讲解—递归:
#include
#include
#include
void PrintN(int N)
{
if (N)
{
PrintN(N-1);
printf("%dn",N);
}
return;
}
void main()
{
int N;
clock_t start,finish;
double duration;
printf("please input N:n");
scanf("%d",&N);
start = clock();
PrintN(N);
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
printf("%f secondsn",duration );
return;
}
//请多多指正
2.4典型应用代码+详细解释:
#include
#include
int main()
{
int a[10] = {1,2,3,4,5,6,7,8,9,10};
int i=0;
int tmp;
int j = sizeof(a)/sizeof(int)-1;
while (i
如果您在阅读后,喜欢作者的文章,请评论留言,将继续更新。
精细化的编程开发学伴。
3.注意事项:
对于数组类型说明应注意以下几点:
- 数组的类型实际上是指数组元素的取值类型。
- 对于同一个数组,其所有元素的数据类型都是相同的。
- 数组名的书写规则应符合标识符的书写规定。
- 数组名不能与其它变量名相同。
C语言学习从数组开始渐渐深入变难,好的程序员=天赋+刻苦练习
少一些豪情万丈的追求,多一些脚踏实地的坚持。
2.2典型案例冒泡排序详细代码+讲解
#include
void main()
{
int n[10] = { 25,35,68,79,21,13,98,7,16,62 };//定义一个大小为10的数组
int i, j,k,temp;
for (i = 1; i <= 9; i++)//外层循环是比较的轮数,数组内有10个数,那么就应该比较10-1=9轮
{
for (j = 0; j <= 9 - i; j++)//内层循环比较的是当前一轮的比较次数,例如:第一轮比较9-1=8次,第二轮比较9-2=7次
{
if (n[j] > n[j + 1])//相邻两个数如果逆序,则交换位置
{
temp = n[j];
n[j] = n[j + 1];
n[j + 1] = temp;
}
}
printf("第%d趟排序完成后的数据排序:n",i);
for (k = 0;k < 10; k++)
printf("%-4d", n[i]);
printf("n");
}
printf("排序过后的数顺序:n");
for (i = 0; i < 10; i++)
printf("%-4d", n[i]);
printf("n");
}
//请多多指正
2.3典型应用代码讲解—递归:
#include
#include
#include
void PrintN(int N)
{
if (N)
{
PrintN(N-1);
printf("%dn",N);
}
return;
}
void main()
{
int N;
clock_t start,finish;
double duration;
printf("please input N:n");
scanf("%d",&N);
start = clock();
PrintN(N);
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
printf("%f secondsn",duration );
return;
}
//请多多指正
2.4典型应用代码+详细解释:
#include
#include
int main()
{
int a[10] = {1,2,3,4,5,6,7,8,9,10};
int i=0;
int tmp;
int j = sizeof(a)/sizeof(int)-1;
while (i
如果您在阅读后,喜欢作者的文章,请评论留言,将继续更新。
精细化的编程开发学伴。
3.注意事项:
对于数组类型说明应注意以下几点:
- 数组的类型实际上是指数组元素的取值类型。
- 对于同一个数组,其所有元素的数据类型都是相同的。
- 数组名的书写规则应符合标识符的书写规定。
- 数组名不能与其它变量名相同。
C语言学习从数组开始渐渐深入变难,好的程序员=天赋+刻苦练习
少一些豪情万丈的追求,多一些脚踏实地的坚持。
#include#include #include void PrintN(int N) { if (N) { PrintN(N-1); printf("%dn",N); } return; } void main() { int N; clock_t start,finish; double duration; printf("please input N:n"); scanf("%d",&N); start = clock(); PrintN(N); finish = clock(); duration = (double)(finish - start) / CLOCKS_PER_SEC; printf("%f secondsn",duration ); return; } //请多多指正
2.4典型应用代码+详细解释:
#include
#include
int main()
{
int a[10] = {1,2,3,4,5,6,7,8,9,10};
int i=0;
int tmp;
int j = sizeof(a)/sizeof(int)-1;
while (i
如果您在阅读后,喜欢作者的文章,请评论留言,将继续更新。
精细化的编程开发学伴。
3.注意事项:
对于数组类型说明应注意以下几点:
- 数组的类型实际上是指数组元素的取值类型。
- 对于同一个数组,其所有元素的数据类型都是相同的。
- 数组名的书写规则应符合标识符的书写规定。
- 数组名不能与其它变量名相同。
C语言学习从数组开始渐渐深入变难,好的程序员=天赋+刻苦练习
少一些豪情万丈的追求,多一些脚踏实地的坚持。
如果您在阅读后,喜欢作者的文章,请评论留言,将继续更新。
精细化的编程开发学伴。
3.注意事项:
对于数组类型说明应注意以下几点:
- 数组的类型实际上是指数组元素的取值类型。
- 对于同一个数组,其所有元素的数据类型都是相同的。
- 数组名的书写规则应符合标识符的书写规定。
- 数组名不能与其它变量名相同。
C语言学习从数组开始渐渐深入变难,好的程序员=天赋+刻苦练习
少一些豪情万丈的追求,多一些脚踏实地的坚持。



