目录

  • 1 第一章  C语言概述
    • 1.1 第一节  C语言的产生和发展
    • 1.2 第二节  C语言的特点
    • 1.3 第三节  两个简单的C程序
    • 1.4 第四节  C程序的上机步骤
    • 1.5 第五节  Dev-C++介绍
    • 1.6 第六节  VC2010学习版介绍
    • 1.7 第七节  宏定义和文件包含
    • 1.8 第八节 上机实验报告
    • 1.9 本章小结
    • 1.10 本章单元测试
    • 1.11 附录 第一章常见英语及语句
  • 2 第二章  基本数据类型与简单程序设计
    • 2.1 第一节  C语言的基本数据类型
    • 2.2 第二节  常量
    • 2.3 第三节  变量
    • 2.4 第四节  赋值语句
    • 2.5 第五节  数据输出
    • 2.6 第六节 数据输入
    • 2.7 第七节  运算符
    • 2.8 第八节  常用的数学函数
    • 2.9 第九节  顺序结构程序设计
    • 2.10 本章小结
    • 2.11 本章单元测试
  • 3 第三章  分支结构程序设计
    • 3.1 第一节  关系表达式和逻辑表达式
    • 3.2 第二节  if单分支语句
    • 3.3 第四节  if双分支语句
    • 3.4 第五节  if多分支语句
    • 3.5 第六节  case多分支语句
    • 3.6 第七节  分支结构程序设计实例
    • 3.7 本章小结
    • 3.8 本章单元测试
    • 3.9 书中本章习题答案
  • 4 第四章  循环结构程序设计
    • 4.1 第一节  While循环
    • 4.2 第二节  do ... while循环
    • 4.3 第三节  for循环
    • 4.4 第四节  多重循环
    • 4.5 第五节  break语句和continue语句
    • 4.6 第六节  循环结构程序设计实例
    • 4.7 本章小结
    • 4.8 书中本章习题答案
  • 5 第五章 数组
    • 5.1 第一节  一维数组的定义和使用
    • 5.2 第二节  二维数组的定义和使用
    • 5.3 第三节  字符数组的定义和使用
    • 5.4 第四节  数组的应用举例
    • 5.5 本章小节
    • 5.6 书中本章习题
  • 6 第六章  函数
    • 6.1 第一节  函数的定义
    • 6.2 第二节  函数的调用
    • 6.3 第三节 数组作为函数参数
    • 6.4 第四节  变量的作用域
    • 6.5 第五节 变量的存储类别
    • 6.6 第六节 函数应用实例
  • 7 第七章 结构体和共用体
    • 7.1 第一节  概述
    • 7.2 第二节  定义结构体变量的方法
    • 7.3 第三节 结构体变量的引用
    • 7.4 第四节 结构体数组
    • 7.5 第五节 共用体
    • 7.6 第六节  结构体和共用体应用实例
  • 8 第八章 指针
    • 8.1 第一节  指针的概念
    • 8.2 第二节  指向简单变量的指针
    • 8.3 第三节 指向数组的指针变量
    • 8.4 第四节  指向字符串的指针变量
    • 8.5 第五节 指针作为函数参数
    • 8.6 第六节  指向结构体的指针变量
    • 8.7 第七节 指针应用实例
  • 9 第九章  文件
    • 9.1 第一节  文件概述
    • 9.2 第二节  文件的打开和关闭
    • 9.3 第三节 文件的读/写函数
    • 9.4 第四节  文件定位函数
    • 9.5 第五节  文件应用实例
    • 9.6 本章小节
    • 9.7 本章习题
  • 10 附录
    • 10.1 附录A  基本字符ASCII码表(0~127)
    • 10.2 附录B  运算符优先级表
    • 10.3 附录C 常用C库函数表
    • 10.4 附录D  编译常见错误提示
    • 10.5 附录E  常见C语言英语单词
    • 10.6 附录F  如何从十进制转换为二进制
    • 10.7 附录G  如何把二进制数转化为十进制数
    • 10.8 附录H  什么是编译器
    • 10.9 附录I  与编译器相关的几个知识点
  • 11 数组
    • 11.1 一维数组
    • 11.2 二维数组
    • 11.3 字符数组
    • 11.4 常见问题集锦
    • 11.5 配套课件
    • 11.6 配套实训
  • 12 第一章 C语言程序设计基础
    • 12.1 程序设计语言的发展及其特点
      • 12.1.1 为什么要学习C语言
      • 12.1.2 什么是程序设计语言
      • 12.1.3 程序设计语言发展的三个阶段
    • 12.2 C语言的发展及其特点和应用
      • 12.2.1 C语言的发展史
      • 12.2.2 C语言的特点
      • 12.2.3 C语言的应用以及其他语言的关系
    • 12.3 C语言程序的基本结构
      • 12.3.1 最简单的C语言程序
      • 12.3.2 计算输入的两个整数的和
      • 12.3.3 练习:计算输入的两个整数的和
    • 12.4 编制C语言程序的基本步骤
      • 12.4.1 编写C程序的步骤
      • 12.4.2 VC6.0集成开发环境介绍
      • 12.4.3 建立工程操作演示
      • 12.4.4 练习:我们编的第一个程序
      • 12.4.5 程序调试
    • 12.5 习题
  • 13 基本数据类型、运算符与表达式
    • 13.1 预备知识
      • 13.1.1 计算机系统组成
      • 13.1.2 计算机中数的表示及进制转换
    • 13.2 C语言的数据类型
    • 13.3 常量、变量和标识符
      • 13.3.1 标识符
      • 13.3.2 常量
      • 13.3.3 变量
    • 13.4 简单数据类型与表示范围
      • 13.4.1 整型数据
      • 13.4.2 整数在内存中的表示
      • 13.4.3 整型变量
      • 13.4.4 整数常量的分类
      • 13.4.5 实型数据
      • 13.4.6 字符型数据和字符串常量
      • 13.4.7 简单数据类型的表示范围
      • 13.4.8 简单的数据输出
    • 13.5 运算符与表达式
      • 13.5.1 赋值运算符、赋值表达式
      • 13.5.2 强制类型转换符
      • 13.5.3 算术运算符、算术表达式
      • 13.5.4 自增自减运算符、符号运算符
      • 13.5.5 算术运算符中数据类型转换规则
      • 13.5.6 位运算符、位运算表达式
      • 13.5.7 逗号运算符、逗号表达式
      • 13.5.8 其他运算符:sizeof运算符
      • 13.5.9 关系运算符与表达式
      • 13.5.10 逻辑运算符与表达式
      • 13.5.11 条件运算符与表达式
    • 13.6 运算符的优先级和结合性
  • 14 基本输入输出和顺序程序设计
    • 14.1 程序的控制结构
    • 14.2 格式化输出printf
    • 14.3 格式化输入scanf
    • 14.4 字符数据的非格式化输入输出
    • 14.5 顺序程序设计举例
  • 15 选择结构程序设计
    • 15.1 C程序中语句的分类
    • 15.2 关系运算符、逻辑运算符、条件运算符
      • 15.2.1 关系运算符和关系表达式
      • 15.2.2 逻辑运算符和逻辑表达式
      • 15.2.3 条件运算符和条件表达式
    • 15.3 选择结构的程序设计
      • 15.3.1 if语句
      • 15.3.2 switch语句
    • 15.4 选择结构程序设计举例
      • 15.4.1 例1 计算员工当月薪水
      • 15.4.2 例2 判定闰年
      • 15.4.3 例3  简单表达式计算
  • 16 循环结构程序设计
    • 16.1 循环结构的程序设计
      • 16.1.1 while语句
      • 16.1.2 do-while语句
      • 16.1.3 for语句
      • 16.1.4 循环嵌套
      • 16.1.5 break与continue语句
      • 16.1.6 exit()函数
    • 16.2 循环结构类型的选择及转换
    • 16.3 循环结构程序设计举例
  • 17 数组
    • 17.1 一维数组
      • 17.1.1 一维数组的定义
      • 17.1.2 一维数组的引用
      • 17.1.3 一维数组的赋值
      • 17.1.4 应用实例1:字符统计
      • 17.1.5 应用实例2:冒泡排序
      • 17.1.6 应用实例3:选择排序
      • 17.1.7 应用实例4:斐波那契数列
    • 17.2 二维数组及多维数组
      • 17.2.1 二维数组的定义、引用和赋值
      • 17.2.2 二维数组的应用举例
    • 17.3 字符串与数组
      • 17.3.1 字符串的本质
      • 17.3.2 字符及字符串操作的常用函数
      • 17.3.3 字符串的应用举例
      • 17.3.4 字符串数组
      • 17.3.5 字符串数组的应用举例
    • 17.4 数组综合应用举例
  • 18 函数
    • 18.1 函数的概述
    • 18.2 函数的定义和调用
    • 18.3 函数参数的传递方式
    • 18.4 变量的作用域和生存期
    • 18.5 变量的存储类型
    • 18.6 函数的嵌套与递归调用
    • 18.7 函数的作用域
    • 18.8 函数的封装
    • 18.9 函数应用综合举例
    • 18.10 本章习题
  • 19 指针
    • 19.1 指针与指针变量的概念
    • 19.2 指针变量的定义和引用
    • 19.3 指针和地址运算
    • 19.4 指针与数组
      • 19.4.1 数组的指针和指向数组的指针变量
      • 19.4.2 指向多维数组的指针——数组指针
      • 19.4.3 元素为指针的数组——指针数组
    • 19.5 指针与字符串
    • 19.6 指针与动态内存分配
    • 19.7 多级指针
    • 19.8 指针作为函数参数
    • 19.9 指针作为函数的返回值——指针函数
    • 19.10 本章习题
  • 20 VC6  Debug
    • 20.1 VC6  Debug
本章习题
  • 1 文字讲解
  • 2 视频讲解

一、选择题

1.  C语言中,文件由               组成。

    A. 字符(字节)序列    B. 数据块   C. 数据行   D. 记录

2.  C语言中的文件类型只有                                

     A. 索引文件和文本文件两种    B. ASC文件和二进制文件两种

     C. 文本文件一种                     D. 二进制文件一种

3. C语言中文件的存取方式是                                

     A. 只能随机存取         B.  只能顺序存取

    C. 可以顺序存取,也可随机存取    D. 只能从文件开头进行存取

4.  fges( str, n, ftp ) 函数从文件中读入一个字符串。以下叙述中正确的是       

     A. 字符串读入后不会自动加入"\0"    

    B. fp 是 file 类型的指针

    C. fgets函数将从文件中最多读入 n-1 个字符

    D. fgets函数将从文件中最多读入n个字符

5. 已知函数 fread( ) 的调用形式为“fread( buffer, size, count, fp)”,其中buffer代表的是                                    。

A. 存入读入数据项的存储区

B. 一个指向所读文件的文件指针

C. 存放读入数据的地址或指向此地址的指针

D. 一个整型变量,代表要读入的数据项总数

二、程序填空题

1.  下面的程序是由终端输入字符,存放到文件中,用“#”结束输入。

  1. #include   <stdio.h>

  2. main( )

  3. {

  4.      FILE   fp;

  5.      char  ch,filename[10];

  6.       printf("\n 输入文件名:");

  7.       scanf("%s", filename );

  8.       if( fp = fopen( filename, "w" ))==NULL )

  9.       {   printf("cannot open file \n");

  10.             exit(0);

  11.       }

  12.       printf("\n 输入字符序列直到 '#' 为止.");

  13.      while(              != '#' )

  14.            fputc(                         );

  15.     fclose( fp )

  16. }

2.  下面的程序是用变量 num 统计文件中字符的个数。

  1. #include <stdio.h>

  2. main(  )

  3. {

  4.     FILE  *fp;

  5.     long num = 0;

  6.     char ch;

  7.     fp=fopen("file.dat'',                 );

  8.     while(                                     )

  9.    {   ch =                                ;

  10.          num++;

  11.    }

  12.                                      ;

  13. }

3、下面的程序是将文本文件fin.dat复制到文件fout.d加t中,

  1. #include   <stdio.h>

  2. void   fcopy(                      )

  3. {    char  k;

  4.      while (                    )

  5.     {   k=fgetc(              );

  6.                                               ;

  7.     }

  8. }

  9. main(  )

  10. {

  11.     FILE   *fout, *fin;

  12.     fin = fopen("fin.dat","r");

  13.     fout =                                                ;

  14.     fcopy( fout, fin );

  15.      fclose( fout );

  16.     fclose( fin );

  17. }


4. 下面的程序是从一个二透制文件中读入结构体数据,并把结构体数据显示在终瑶屏幕上

  1. #include  <stdio.h

  2. struct   rec

  3. {    char cc ;

  4.      int ii;

  5.     float ff;

  6. };

  7. void recout(                          )

  8. {  struct   rec   r;

  9.    while(                                )

  10.    {   fread( &r,              ,1,               );

  11.        printf("%c,%d,%f\n",                      );

  12.     }

  13. }

  14. main(  )

  15. {

  16.       FILE   *f;

  17.      f=fopen("fn1.dat","rb");

  18.      reout( f );

  19.      fclose( f );

  20. }

5.  下面的程序是把从终端读入的10个整数以二进制的方式写到一个名为bi.dat的新文件中。

  1. #include   <stdio.h>

  2. FILE   *fp;

  3. main(  )

  4. {

  5.      int   i, j;

  6.      if ((fp=fopen(                            ,"wb"))=NULL)  

  7.          exit( 0 ) ;

  8.     for( i = 0; i <10 ; i++)

  9.    {

  10.          scanf("%d", &j );

  11.          fwrite(&j, sizeof(int ), 1,                               );

  12.     }

  13.     fclose(fp):

  14. }

三、编程题

1、编写一个函数fun(  ),其功能是将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为。在复制的过程中,把复制的内容输出到终端屏幕。

2、编写一个函数fun( ),其功能是:将自然数 1 ∽ 10 以及它们的平方根写到名为 myfile1.txt 的文本文件中,然后再顺序读出显示在屏幕上。

3、编写一个函数 fun( ),其功能是建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码,班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为 myflie2.dat 的一进制文件中。