目录

  • 1 程序设计概述
    • 1.1 课程简介
    • 1.2 初识C语言
    • 1.3 程序设计简介
    • 1.4 C程序的编程环境
    • 1.5 实验一
  • 2 C语言基础与顺序结构程序设计
    • 2.1 数值型常量与变量
    • 2.2 赋值运算符与变量赋值
    • 2.3 算术运算符和表达式
    • 2.4 基本输入输出
    • 2.5 宏常量与符号常量
    • 2.6 数据类型转换与复合运算符
    • 2.7 数据在计算机内存中的存储
    • 2.8 函数(1)
    • 2.9 实验二
  • 3 选择(分支)结构程序设计
    • 3.1 算法概述
    • 3.2 关系运算与逻辑运算
    • 3.3 单分支结构
    • 3.4 双分支结构
    • 3.5 多分支结构
    • 3.6 变量的作用范围
    • 3.7 实验三
  • 4 循环结构程序设计
    • 4.1 循环控制结构与while
    • 4.2 条件控制型循环与do-while
    • 4.3 计数型(for)循环与循环嵌套
    • 4.4 随机数函数与循环编程实例
    • 4.5 函数(2)
    • 4.6 实验四
  • 5 数组
    • 5.1 数组的定义和初始化
    • 5.2 基于数组的算法编程
    • 5.3 数组作为函数参数的规则
    • 5.4 实验五
  • 6 字符与字符串
    • 6.1 字符型数据及其应用
    • 6.2 字符型数组与字符串
    • 6.3 字符串处理函数
    • 6.4 字符串作为函数参数的规则
    • 6.5 实验六
  • 7 指针
    • 7.1 指针的定义和初始化
    • 7.2 指针作为函数参数的规则
    • 7.3 指向数组的指针应用
    • 7.4 基于指针的字符串处理
    • 7.5 实验七
  • 8 结构体
    • 8.1 结构体声明及变量定义
    • 8.2 结构体应用基础
    • 8.3 结构体指针
    • 8.4 动态数据结构与单向链表
    • 8.5 实验八
  • 9 文件及文件操作
    • 9.1 文件概述
    • 9.2 文件的建立、打开与关闭
    • 9.3 文件的读写操作
    • 9.4 实验九
  • 10 项目设计
    • 10.1 项目1
    • 10.2 项目2
结构体应用基础

教学要点:

结构体类型变量的初始化必须与定义同步进行。

结构体变量成员的引用规则:

            结构体变量名.成员名           // “ . ”成员运算符

typedef 用于为固有数据类型或自定义数据类型定义别名,别名一般是用大写字母。
        若:typedef struct Student      
            {    
                int number;
                char name[20];
                float chinese,english,math;        
            } STU;
        或:struct Student      
            {    
              int number;
              char name[20];
              float chinese,english,math;        
            };

    typedef struct Student STU;
        则:
          STU LM,ML;  与  struct Student LM,ML;  等效。

结构体数组的定义
            例:struct Student      
                    {    
                          int number;
                          char name[20];
                          float chinese;
                          float english;
                          float math;        
                   };
                struct Student stu[30];   //struct 结构体名 数组名列表;
    完成上述定义后,结构体数组变量 stu 具有与“Student”相同的结构;
    同时意味着有 30 个与“Student”结构相同的结构体类型元素(变量序列)存在。 

结构体数组在定义的同时可以初始化。如:

        struct Student stu[30]=
                {
                    {101,"LiMing",67,85,56},
                    {102,"MaLing",34,75,66},
                    {103,"DongQi",73,84,69},
                      ......
                };

结构体数组元素的成员举例:

      stu[1].number、stu[3].name、stu[5].math ...... 

结构体变量作为函数的参数
            若已有定义  typedef struct Student Stu;
                      Stu LM,stu[30];
            用作实参时,可以直接书写结构体变量名,如:
                     output(LM);  
                     input(stu,N); //涉及数组,要提供数组长度值
            用作形参时,要加入结构体类型说明,如:
                     void output(Stu LM)

              void input(Stu stu1[],int length)

                            //涉及数组,数组名后要加[]