一维数组
==
定义数组的格式为: 类型说明符 数组名[常量表达式];
其中,类型说明符是定义数组的中各元素的数据类型,数组名指的是数组的名字,常量表达式是说明数组的长度,指数组的个数
/*const int a = 10;*/
//数组的定义,数字代表长度
/*int _arr[10];*//* = {1,2,3,4,5,6,7,8,9,10};*/
//printf("%d",sizeof(_arr)/sizeof(int));//这样可以打印数组的长度
/*printf("%x", &_arr);
printf("%d",&a);*/
//**初始化赋值操作**array[0]=1;这样可以给数组中的元素赋值
/*_arr[0] = 200;*/
/*for (int i = 0; i < 10; i++)
{
_arr[i] = i;
printf("%d",i);
}*/
1值得注意的是数组的下标是总0开始的,a[0]表示的是第一位元素,
2,定义是不能超过数组的长度。
3.数组的应用,冒泡排序法
define 与const之间的区别`
两者的相同点都是给常量赋值,在程序中常量不能被改变
1.两者的位置是不同的,define是放在头文件那,coust是放在函数里面的。
2define定义的常量在内存中是没有地址的,属于纯粹的替换,
const 在函数里面有定义,还有赋值操作,所以在内存中是有地址的。
冒泡排序法
#include<stdio.h>
void main(){
int a[5] = { 5, 3, 7, 9, 5 };
for (int i = 0; i < 5; i++){
for (int j = 1; j < 5; j++){
if (a[j] <a[ j - 1]){
a[j] = a[j] + a[j - 1];
a[j - 1] = a[j] - a[j - 1];
a[j] = a[j] - a[j - 1];
}
}
}for (int j = 0; j < 5; j++){
printf("%d", a[j]);
}getchar();
}
注意:上次也写过冒泡排序法,但是这次跟上次的不同,又遇到了新的问题,冒泡排序的将数组中的数据重新排序下,需要我们用循环在重新打印出来,不能偷懒直接打印。这说明js中与c语言还是有很大的区别。
查找数字判断是不是在里面
#include<stdio.h>
void main(){
//用函数实现输入五个数,再输入一个数,看是不是里面的数,如果是返回一,不是返回零;
printf("请依次输入五个数");
int a[5];
int x,i;
for (i = 0; i < 5; i++){
scanf_s("%d", &x);
getchar();
a[i] = x;
}
printf("请输入你查找的数");
scanf_s("%d", &x);
printf("%d", get(x, a));
getchar();
}
int get(int x, int a[]){
for (int j = 0; j < 5; j++){
if (x == a[j]){
return 1;
}
}
return 0;
}