11-20

授课内容

数组

  int score[100];

  score[0]=89;

  score[1]=99;

   下标>=0 小于数组的长度-1

   1.定义数组

     类型数组名[长度];

     int score[10]={11,22,33,44,55,66,77,88,44,2};

   2.使用数组

     数组名[下标]

   3,最大值 最小值 平均值 排序

  多维数组

  int score[10][30];

  int score[5][10][30];

   每一维的下标都是从0开始到数组的长度-1

函数

  将程序中的功能模块化处理。

  函数返回值 函数名 (参数列表)

  {

    函数体

  }

  intmax(int a,int b)

  {

   return a>b?a:b;

  }

  ints;

 s=max(3,5);

 stdio.h

 stdlib.h

 string.h

 graphics.h

 ....

  函数库 api

 application interface

 

  用户自定义函数

  系统函数库

   printf

   scanf

   rand

   ......

  //在函数中定义的变量作用范围是函数内部

 当这个函数执行结束,变量消失,在函数内部定义的变量叫局部变量

 在函数外部定义的变量叫全局变量

 

 

指针

  int a;

  a=3;

  int * p;

  p=&a;

  *p=3;

   1,定义指针变量

     类型 * 变量名;

   2,指针指向某个地址

    p=&a;

    //动态从内存中获取空间

    p=malloc(sizeof(int));

    free(p);

   3,指针的操作

  p=&a;

  *p=4;

  printf("%d",*p);

  

   指针指向数组

  int score[10];

  p=&score[0];

  p=score;//数组名代表数组的首地址

 

字符串

  char s;

  s='A';

   s=49;

  char uname[10]={'w','a','n','g','y','i','\0'};

  printf("name=%s",uname);

  

  字符串处理系统提供了一个函数库string.h

  strcat(char a[],char b[]) 字符串连接

  strcmp(char a[],char b[]) 字符串比较

  strcpy 字符串拷贝

  strlen 返回字符串长度

 -----------------------------------

  intstrlen(char s[])

  {

   int count=0;

   int i;

   while(1)

    {

     if(s[i]!='\0')

     {

       count++;

       i++

     }else

     {

       return count;

     }

    }

  }

  

-------------------------------------

作业1:

    使用数组实现10名学生的成绩录入,并输出这10名学生中成绩的

    最高分

    最低分

    平均分

    按照分数从大到小排序

   思考:

    如何实现从小到大排序?

    如果学院有5个班,每个班30人,如何处理?

    求所有成绩中的最高分是哪个班的,第几个学生,如何处理?

作业2:

  使用指针实现作业1

作业3:

  将作业1中的以下功能定义为独立的函数

   1,对一个数组进行数据录入

    void arrayinput(int * array,int count);

   2,对一个数组进行数据输出

    void arrayprint(int * array,int count);

   3,对一个数组实现最大值的获取

    int arrayMax(int * array,int count);

   4,对一个数组实现最小值的获取

     intarrayMin(int * array,int count);

   5,对一个数组进行排序

    void arraySort(int array,int order);//0asc 1desc

作业4 (思考)

  编写一个递归函数,求一个整数的2进制形式

   输入8

   输出 1000

   输入15

   输出 1111  

  void calc(int n);  

  calc(8);

  

作业5:

    编写程序实现一个用户登录的模拟,用户从控制台输入用户名,密码

    1判断输入是否合法

        用户名不超过15字符

        密码必须用数字

    2验证用户名和密码是否正确

      用户名 wangyi 密码123正确

作业6:

  实现字符串处理函数

    字符串长度获取strlen

    字符串连接   strcat

    字符串比较   strcmp

    字符串查询   strfind(char * a,char * b); 返回字符串b在字符串a的位置

                      "hellonihao","nni"  6,如果不存在返回-1

作业7:(思考)

  用户从控制台输入一篇文章,输入完成以后,判读文章中一共有多少个单词?

 char txt[2000];

 

 hello lili,hello hameimei,nice to meet you.

 hello nice to meet you too.


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值