c语言_lesson_4 数组和指针

一、知识点

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]);
        
    }


2、定义个数组,接收用户输入的8个数字,分别找到其中最大
      的数和最小的数,将其打印出来。
      要求:只遍历一次数组


    /* 练习二 */
    
    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.冒泡排序的掌握


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值