目录

  • 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 本章单元测试
  • 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 第一节  为什么需要循环控制
    • 4.2 第一节  while循环
    • 4.3 第二节  do ... while循环
    • 4.4 第三节  for循环
    • 4.5 第四节  多重循环
    • 4.6 第五节  break语句和continue语句
    • 4.7 第六节  循环结构程序设计实例
    • 4.8 本章小结
    • 4.9 书中本章习题答案
  • 5 第五章 数组
    • 5.1 第一节  一维数组的定义和使用
    • 5.2 第二节  二维数组的定义和使用
    • 5.3 第三节  字符数组的定义和使用
    • 5.4 第四节  数组的应用举例
  • 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 第五节  文件应用实例
  • 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  与编译器相关的几个知识点
第九节  顺序结构程序设计
  • 1 文字讲解
  • 2 视频讲解
  • 3 过关测试

2.8  顺序结构程序设计实例

 计算机程序由若干条语句构成。语句主要有赋值语句、表达式语句、输入输出语句、分支选择语句、循环语句、空语句以及函数调用语句等。

 一个结构化程序有3种基本结构,即顺序结构、选择结构、循环结构。顺序结构是一组按书写顺序执行的语句,选择结构能根据运行时的情况(条件)自动选择要执行的语句组,循环结允许多次重复执行一组语句。

本章下面介绍顺序结构程序设计。顺序结构程序中的语句绝大部分由赋值语句、表达式语句,输入输出语句和函数调用语句组成。实际上,输入输出语句是对标准1/O函数的调用语句,赋值语句也属于表达式语句。

在C语言中,一个表达式以分号“;”作为结尾就构成了表达式语句,可以在程序中作为语句单独出现。例如:

         int  i,  j,  k;

         float x, y;

         i=1, j=2, k=3;              //逗号表达式语句

         scanf ("%f%f", &x, &y );

        printf("x = %f; y =%f \n", x, y);      //输入/输出语句

        x=x+4    //赋值语句

 顺序结构程序将按语句的书写顺序执行,因此,顺序结构程序设计是最简单的程序设计, 下面通过几个例子来说明顺序结构程序设计的方法。

例2-19  已知三角形的两边a、b及其夹角a,求第三边c及面积s

 分析:根据三角形公式可知以下关系。

         

          

若a值以角度值输入,则在计算前必须先将其转换成弧度,因为标准函数cos( )和sin( )的参数必须是弧度。另外,因为a不是英文字母,也不是合法的C语言标识符,所以程序中改用alfa代替。

程序如下:

  1. #include   <stdio.h>

  2. #include   <math.h>

  3. #define   PI   3.1415926

  4. main( )

  5. {   

  6.     float a, b, c, s, alfa, af; 

  7.     printf("输入三角形的两边A、B及其夹角α:  \n");

  8.     scanf("%f%f%f", &a, &b, &alfa);

  9.     af = alfa * PI / 180;

  10.     c= sqrt(a *a+b*b-2*a*b* cos(af));

  11.     s=a*b*sin(af)/2;

  12.     printf("\n第三边C=%.1f  \n面积S=%.1f\n", c, s);

  13. }

运行结果如图2-17所示


图2-14  例2-16运行结果

程序中加入了输入提示:

          printf("输入三角形的两边A、B及其夹角α: \n");

这是一种好习惯,当运行某程序时知道该输入什么样的数据。

例2-20   从键盘上输入一个3位数,然后将它反向输出。例如,若输入123,则输出321。

分析:根据题意,将输入的3位数(例如123)送入整型变量a中,只要将a除以10,将余数3输出,将商(整数)再除以10,再将余数2输出,最后将商1输出即可。

重点:(1)x % 10 : 取个位数字  

       (2) x / 10  : 去掉个位数字

 源程序如下:

  1.  #include <stdio.h>

  2.  main( )

  3. {    int a, b, c;

  4.       printf("输入一个3位整数:");    //输入提示

  5.        scanf("%d", &a);           //假设输入123

  6.         b=a%10;       // b=123%10=3,得到个位数3

  7.         printf("%d",b);

  8.         a=a/10;             // a=123/10=12

  9.         b=a%10;          //  b=12%10=2,得到十位数2

  10.         printf("%d", b);

  11.         a=a/10;      //   a=12/10=1,得到百位数1 

  12.        printf("%d\n",a );

  13. }

运行结果如图2-18所示。


图2-18   例2-20运行结果

参考程序1:

  1. #include  <stdio.h>

  2. main( )

  3. {

  4. int  x, a, b, c;

  5. // a存放个位数字    b存放十位数字  c 存百位数字  假设  x=123 

  6. printf("x=");

  7. scanf("%d", &x);

  8. a = x % 10;   // a=3  取个位数字

  9. x = x / 10;   // x=12  去掉个位数字

  10. b = x % 10;   // b = 2   取个位数字

  11. x = x / 10;   // x=1   去掉个位数字

  12. c = x % 10;   // c=1    取个位数字

  13. x = x / 10;   // x=0   去掉个位数字

  14. printf("%d%d%d", a, b, c);

  15. }


参考程序2:

  1. #include  <stdio.h>

  2. main( )

  3. {

  4. int  x, a, b, c;

  5. // a存百位数字  b存放十位数字  c存放个位数字 

  6. printf("x=");

  7. scanf("%d", &x);   // x=123

  8. a = x / 100;          // a =1

  9. b = (x % 100)/10;   //b=2

  10. c = x % 10;    //c=3

  11. printf("%d%d%d", c, b, a);

  12. }