目录

  • 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
结构体声明及变量定义

教学要点:

构造数据类型:根据实际需要利用已有的基本数据类型来构造所需的数据类型;按规则将多个基本数据类型有机组合构成的数据类型。
                 数组(系统已定义)。
                 结构体(用户自定义);
                 共用体(用户自定义)。
       抽象数据类型:类、对象、方法(属于面向对象程序设计)

结构体(structure)是C语言提供的由程序员拟定的一种数据类型。把逻辑上相关的变量组合到一起,通过定义结构体类型的变量来存储同一条记录的相关信息。

结构体的声明:
                struct 结构体名
                  {
                         数据类型  成员名(变量名);  //若干个成员列表
                  };
           说明:(1) struct 是定义结构体类型的关键字,不能省略;
                     (2)“结构体名”用户自定义,要遵循标识符命名规范;
                     (3)“成员列表”中,每个成员必须说明类型和成员名;
                     (4)“{ ...... };” 不可缺少。

结构体类型变量的定义:
       方法1、先定义结构体类型,才能定义结构体类型变量
           例:struct Student      
                    {    
                          int number;
                          char name[20];
                          float chinese;
                          float english;
                          float math;        
                    };
                struct Student LM,ML;   // struct  结构体名 变量名列表;

    完成上述定义后,结构体变量LM、ML具有与“Student”相同的结构。

    Student 是对一种结构体类型的声明,不能直接使用。

方法2、定义结构体类型的同时定义结构体类型变量
           例:struct Student      
                    {    
                          int number;
                          char name[20];
                          float chinese;
                          float english;
                          float math;        
                    } LM,ML;         //变量名列表;

    完成上述定义后,结构体变量LM、ML具有与“Student”相同的结构。

方法3、定义结构体类型的同时定义结构体类型变量
           例:struct      
                    {    
                          int number;
                          char name[20];
                          float chinese;
                          float english;
                          float math;        
                    } LiMing,MaLi;       //变量名列表;

    完成上述定义后,仅有结构体变量LM、ML具有相同的结构。

    无法再定义其他与该结构一致的结构体变量。 

结构体嵌套:一个结构体结构内包含另一个结构体作为成员。
         例:
              struct Scroe
                {
                       float chinese;
                       float english;
                       float math;
                };
              struct Student      
                {    
                      int  number;
                      char name[20];
                      struct Scroe chengji;     //chengji 为结构体类型成员
                };
              struct Student LM,ML;   //struct 结构体名 变量名列表;

结构体类型结构、变量的定义说明:

(1)类型结构和变量是不同的概念,不能混淆。

         对于结构体变量可以赋值、存取、运算,而不能对类型进行类似操作;

         程序编译时,只对变量分配空间,而不对类型分配空间。

(2)结构体中的成员,可以单独使用,与普通变量作用相同。

(3)成员名可与程序中其他变量名相同,互不干扰(尽量避免)。

(4)成员也可以是一个结构体变量,构成结构体嵌套。