C语言的数组和函数部分的知识,在语法上和Java语法是有所相似的,这里只通过实例总结一些自己感觉需要理解的部分知识。
1.数组
数组中的元素具有相同的数据类型;数组一旦创建,不能被改变;数组中元素在内存中是连续依次存在的;使用时需要随时注意下标越界的问题。
例1:输入数量不确定的[0,9]范围内的整数,统计每个数字出现的次数,输入-1时结束程序。
#include <stdio.h> #include <stdlib.h> int main() { int i; int num[10]={0}; scanf("%d",&i); while(i!=-1){ if(i>=0&&i<=9){ num[i]++; } scanf("%d",&i); } for(i=0;i<10;i++) { printf("%d出现了%d次\n",i,num[i]); } return 0; }
例2:在一组给定的数据中,找出某个数据是否存在。
1 #include <stdio.h> 2 #include <stdlib.h> 3 int search(int key,int a[],int length) 4 { 5 int ret=-1; 6 int i; 7 for(i=0;i<length;i++) 8 { 9 if(a[i]==key) 10 { 11 ret=i; 12 break; 13 } 14 } 15 return ret; 16 } 17 int main() 18 { 19 int a[10]={1,2,3,4,5,6,7,8,9,10}; 20 int x; 21 int loc; 22 printf("请输入一个数字:"); 23 scanf("%d",&x); 24 loc=search(x,a,10); 25 if(loc!=-1) 26 { 27 printf("%d在第%d个位置上。\n",x,loc); 28 }else{ 29 printf("%d不存在!"); 30 } 31 return 0; 32 }
二维数组:int a[i][j];//i行j列的数组
例3:读入一个3*3的矩阵,判断0和1谁获胜。(九宫格游戏)
2.函数
C语言中的函数和Java中的方法是一个道理的,都是一段实现某种功能的代码块,也都要注意返回值、形参实参等。
***注意:若函数有返回值,必须使用带值的return。
C语言在调用函数时,永远只能传值给函数,不能传变量。
C语言不允许函数嵌套定义。
例1:求1-10,20-30,45-60三个区间数字的和。
例2:swap()无法实现交换两个变量的值。
时间: 2024-10-15 02:21:02