C语言程序的基本结构及上机步骤
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
scanf (“%d,%d”,&a,&b);/*输入变量a和b的值*/
例1.8
c=max ( a,b);
/*调用max函数,将得到的值赋给c*/
printf (“max=%d”,c); /*输出c的值*/
}
int max (int x, int y ) /*定义max函数,函数值为整型,x,y为形式参数*/
3. 一个C程序总是从main函数开始执行的, 而不论main函数在整个程序中的位置如何。
4. C程序书写格式自由,一行内可以写多个 语句,一个语句也可以分写在多行上。
5. 每个语句和数据定义的最后必须有一个分 号。分号是C语句的必要组成部分。例如: c=a+b ; 非常重要的一点是什么是一个语句
本章难点再分析 算法设计举例
• 问题:开发一个程序求全班学生某门课程的平均 成绩。要求程序每次运行时班级人数可为任意。
• 设计方法
–用结构化程序设计方法(“自顶向下、逐步求精”的 方法)来解决这个问题并用伪代码来表示求精过程中 得到的算法。
–首先,顶层描述程序的整个功能,然后将其分解为一 系列较小的任务,并按照执行顺序列出这些任务。每 一步的求精都是一个完整的算法说明,只是每层的细 节在变化。重复上述求精过程直到表示每一任务的伪 代码能够转化为程序设计语言(如C)指令或程序段 为止。
1.4 C语言程序的基本结构
例1.7
#include <stdio.h>
void main ( )
/*求两数之和*/
ห้องสมุดไป่ตู้
{ int a,b,sum; /*这是定义变量*/
a=123; b=456;
sum=a+b;
printf (“sum is %d\n”, sum);
}
• 函数是C程序的基本单 位。一个C源程序至少 包含一个函数(main 函数)。
{ int z;
/*max函数中用到的变量z ,也要加以定义*/
if ( x > y ) z=x;
else z=y;
return ( z );
/*将z返回,通过max带回调用处*/
}
• C程序中必须有一个而且只能有一个main()函数,不论main()函数处于程 序中的什么位置,C程序执行时总是从main()函数开始。C程序的执行与 函数位置无关。
• 为增加程序的可读性, 源程序中应当加上必要 的注释。C程序中可用 /* …… */对程序的 任何部分作注释。注释 对程序的执行没有任何 影响。
第1页/共21页
C语言程序的基本结构
#include <stdio.h>
void main ( )
/*主函数*/
{ int a,b,c;
/*定义变量*/
第7页/共21页
算法设计举例
• 问题描述
求未知人数班级的平均成绩
• 数据设计(数据及其存储)
–总成绩(记为total) –成绩个数计数器(记为counter) –每次输入的成绩(记为score) –全班平均成绩(记为average)
第8页/共21页
算法设计举例—逐步求精
初始化总成绩total为0; 初始化计数器counter为0;
任务分解
读入第设一个计成步绩放骤到score中;
初始化变量;
当score不等于标记值时,重复以下工作:
{1、初始化阶段(对程
将sc序ore加变到量tota初l中;始化);
计数器值counter加1;
读2、入下处一个理数阶据放段到(sco输re中入; 数
输入、求和及对输入 的成绩计数;
} 据值并对程序中的变 如果{ co量unte作r≠相0,应那么调执行整以)下工;作:
printf(“输入下一个成绩,-1表示输入结 束”); /*屏幕提示*/ scanf(“%d”,&score); }
/*终止阶段*/ if(counter != 0) {average=total/counter; printf(“ 全 班 平 均 成 绩 为 %.2f\n” , average); } else printf(“没有输入成绩\n”);
}
第10页/共21页
1.5 C程序的上机步骤
第11页/共21页
在纸上写好一个程序后,要经过以下几个步骤:上机输入 与编辑源程序对源程序进行编译与库函数连接运行目标 程序这样几个步骤。
第5页/共21页
6. C语言本身没有输入输出语句。输入和 输出操作都是由库函数scanf和printf等函数 来完成的。C对输入输出实行“函数化”。
7.可以用/* …… */对C程序中的任何 部分作注释。一个好的,有使用价值的源 程序都应当加上必要的注释,以增加程序 的可读性。
第6页/共21页
int counter,score; /*初始化*/ total=0.0; counter=0; /*处理阶段*/ printf(“ 输 入 成 绩 , -1 表 示 输 入 结 束”); /*屏幕提示*/ scanf(“%d”,&score); while (score!=-1)
{ total=total+score; counter++;
否则}3将打执、印t打o行taa终vl印 除era止以g最ec; 阶ou终n段 te结r的(结果计果)放算到。和average中;计成绩算;并 打 印 班 级 平 均
打印信息“没有输入成绩”
第9页/共21页
算法设计举例—C程序
/*用标记值控制循环求全班平均成绩*/ #include <stdio.h> main() { float average,total;
int
max ( int
x,
int y )
函数类型 函数名 参数类型 参数名
函数名后面必须跟一对圆括号,但括号中的函数参 数可以没有,如main( )。
(2) 函数体。即函数说明部分下面的花括弧{…… } 内 的内容。如果一个函数内有多个花括弧,则最外层 的一对{ }为函数体的范围。
第4页/共21页
• 被调用的函数可以由系统提供(库函数),也可以根据需要自己编制。
第2页/共21页
通过以上几个例子,我们对C程序的组成和 形式有一个初步的了解:
1.C程序是由函数构成的。 main函数 printf 和scanf 库函数
第3页/共21页
2.一个函数由函数的首部和函数体两个部分组成:
(1) 函数的首部包括函数名、函数类型、函数属性、函 数参数(形参)名、形式参数类型,例如例1.8中的 max 函数的说明部分为: