C语言之数组和函数
数组
一维数组
定义:类型符 数组名 [常量表达式] int a[]={1,2,3,4,5,};

1 #include<stdio.h> 2 #define NUM 6 3 void main() 4 { 5 int a[NUM]; 6 printf("输入NUM个整数:\n"); 7 for(int i=0;i<NUM;i++) 8 { 9 scanf("%d",&a[i]); 10 } 11 12 13 for(i=1;i<NUM;i++) 14 { 15 for(int j=0;j<NUM-i;j++) 16 { 17 if(a[j]<a[j+1]) 18 { 19 int t=a[j]; 20 a[j]=a[j+1]; 21 a[j+1]=t; 22 } 23 } 24 } 25 for(i=0;i<NUM;i++) 26 { 27 printf("%d ",a[i]); 28 } 29 printf("\n"); 30 }
二维数组
定义:类型说明符 数组名 [常量表达式] [常量表达式] int a[3][4]={{1},{4,2}};
字符数组
char c[]=”china”;
输出 Puts(字符数组) 输入 Gets(字符数组)
连接 stract(字符数组1, 字符数组2)
复制 strcpy(字符数组1, 字符串2) strnpy(字符数组1, 字符串2,n)
比较 strcmp(字符串1, 字符串2)
测长 strlen(字符数组)
函数
函数:定义、声明、调用(在以下的实例中均有体现)
函数递归
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少桃子。

1 #include <stdio.h> 2 Int tao(int n) 3 { 4 Int c; 5 If(n==1) C=1; 6 Else c=(tao(n-1)+1)*2; 7 Return(c); 8 } 9 Void main() 10 { 11 Int z; 12 Z=tao(10); 13 Printf(“%d\n”,z); 14 }
数组做参数
选择法对数组中10个数由小到大排序

1 #include <stdio.h> 2 void sort(int b[],int n) 3 { 4 int i,j,k,t; 5 for(i=0;i<n-1;i++) 6 { 7 k=i; 8 for(j=i+1;j<n;j++) 9 { 10 if(b[i]<b[k]) 11 k=j; 12 t=b[k];b[k]=b[i];b[i]=t; 13 } 14 } 15 } 16 int main () 17 { 18 int a[10],I; 19 for(i=0;i<10;i++) 20 scanf(“%d”,&a[i]); 21 sort(a,10); 22 for(i=0;i<10;i++) 23 printf(“%d”,a[i]); 24 printf(“\n”); 25 }
其它
自动变量(auto) 寄存器变量(register)
静态局部变量(static)
内部函数 static类型名 函数名(形参表) static int fun (int a,int b)
外部函数 extern int fun (int a,int b)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)