一、知识点
1、数组注意事项
1)数组是连续的一段数据结构,所以我们使用时,只要知道数组的第一个就可以遍历整个数组(默认是函数名)
2)数组使用之前必须初始化(分配一定内存),如果没有分配内存就去使用,会挂掉(违法访问c++中的内存)
3)定义数组大小默认
char szChar[MAX_PATH] // MAX_PATH = 260
4)C/C++中没有数组界限判断,在编写代码时,要注意不要越界
5)数组的操作推荐使用指针操作
2、指针注意事项
1)值为NULL的指针称为空指针,这意味着,指针并不指向任何地址;
在头文件 stdio.h 中,NULL 定义为常量。
2)使用指针变量时一定要给其赋初值
二、课间练习
1、用户输入5个数字将其放入一个数组中,然后将其中的奇数剔除将剩余的内容放到一个新的数组中,并逗号分隔打印
出来。
/* 练习一 ,姚明 */
const int SIZE = 5;
int num[SIZE] = {0};
int numNew[SIZE] = {0};
for (int i = 0; i < 5; i++)
scanf("%d", &num[i]);
int index=1;
for (int s = 0; s < 5; s++) {
if (0 !=num[s]%2) {
index++;
numNew[index] = num[s];
}
printf("%d,", numNew[s]);
}
的数和最小的数,将其打印出来。
要求:只遍历一次数组
/* 练习二 */
const int SIZE = 8;
int num[SIZE] = {0};
for (int i = 0; i < SIZE; i++)
scanf("%d",&num[i]);
int max = 0;
int min = 0;
max=num[0];
min=num[0];
for (int s = 1; s < SIZE; s++ ) {
if (num[s] > max) {
max = num[s];
}else if(num[s] < min){
min = num[s];
}
}
printf("最大的数为 = %d\n,最小的数为 = %d\n", max, min);
三、课后作业
1.使用指针交换两个变量的值
2.在只有两个整形变量的情况下交换它们的值
3.用户输入两个数来表示一个区间,通过指针操作,输出两数之间的所有偶数
4.现有两个字符数组,通过指针将其合并到一个新的数组中并打印结果
char c1[5]={'h','e','l','l','o'};
char c2[6]={' ','w','o','r','l','d'};
5.通过指针实现冒泡排序
6.接受用户输入的两个数组的值(5位),将两个数组中的值依次相加保存到第三个数组中。
7.有一个排序好的数组,用户输入任意数字,在数
组中查找是否有该数字,有则将其从数组中删除
并打印结果。无则将其添加到合适的位置,并打
印结果。
8.冒泡排序的掌握