版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.4C语言程序的基本结构
#include<stdio.h>voidmain()/*求两数之和*/{inta,b,sum;/*这是定义变量*/a=123;b=456;sum=a+b;printf(“sumis%d\n”,sum);}函数是C程序的基本单位。一个C源程序至少包含一个函数(main函数)。为增加程序的可读性,源程序中应当加上必要的注释。C程序中可用/*……*/对程序的任何部分作注释。注释对程序的执行没有任何影响。例1.7第1页/共21页C语言程序的基本结构#include<stdio.h>voidmain()/*主函数*/{inta,b,c;
/*定义变量*/scanf(“%d,%d”,&a,&b);/*输入变量a和b的值*/c=max(a,b);
/*调用max函数,将得到的值赋给c*/printf(“max=%d”,c);
/*输出c的值*/}intmax(intx,inty)/*定义max函数,函数值为整型,x,y为形式参数*/{intz;
/*max函数中用到的变量z,也要加以定义*/if(x>y)z=x;
elsez=y;
return(z);
/*将z返回,通过max带回调用处*/}C程序中必须有一个而且只能有一个main()函数,不论main()函数处于程序中的什么位置,C程序执行时总是从main()函数开始。C程序的执行与函数位置无关。
被调用的函数可以由系统提供(库函数),也可以根据需要自己编制。
例1.8第2页/共21页通过以上几个例子,我们对C程序的组成和形式有一个初步的了解:1.C程序是由函数构成的。
main函数
printf和scanf
库函数第3页/共21页2.一个函数由函数的首部和函数体两个部分组成:(1)函数的首部包括函数名、函数类型、函数属性、函数参数(形参)名、形式参数类型,例如例1.8中的max函数的说明部分为:
intmax(intx,inty)
函数类型函数名参数类型参数名函数名后面必须跟一对圆括号,但括号中的函数参数可以没有,如main()。
(2)函数体。即函数说明部分下面的花括弧{……
}内的内容。如果一个函数内有多个花括弧,则最外层的一对{}为函数体的范围。第4页/共21页3.
一个C程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何。4.C程序书写格式自由,一行内可以写多个语句,一个语句也可以分写在多行上。5.
每个语句和数据定义的最后必须有一个分号。分号是C语句的必要组成部分。例如:
c=a+b;
非常重要的一点是什么是一个语句
第5页/共21页6.
C语言本身没有输入输出语句。输入和输出操作都是由库函数scanf和printf等函数来完成的。C对输入输出实行“函数化”。7.可以用/*……
*/对C程序中的任何部分作注释。一个好的,有使用价值的源程序都应当加上必要的注释,以增加程序的可读性。第6页/共21页本章难点再分析
算法设计举例问题:开发一个程序求全班学生某门课程的平均成绩。要求程序每次运行时班级人数可为任意。设计方法用结构化程序设计方法(“自顶向下、逐步求精”的方法)来解决这个问题并用伪代码来表示求精过程中得到的算法。首先,顶层描述程序的整个功能,然后将其分解为一系列较小的任务,并按照执行顺序列出这些任务。每一步的求精都是一个完整的算法说明,只是每层的细节在变化。重复上述求精过程直到表示每一任务的伪代码能够转化为程序设计语言(如C)指令或程序段为止。第7页/共21页算法设计举例问题描述求未知人数班级的平均成绩数据设计(数据及其存储)总成绩(记为total)成绩个数计数器(记为counter)每次输入的成绩(记为score)全班平均成绩(记为average)
第8页/共21页算法设计举例—逐步求精设计步骤1、初始化阶段(对程序变量初始化);2、处理阶段(输入数据值并对程序中的变量作相应调整);3、终止阶段(计算和打印最终结果)。
任务分解初始化变量;输入、求和及对输入的成绩计数;计算并打印班级平均成绩;
初始化总成绩total为0;初始化计数器counter为0;
读入第一个成绩放到score中;当score不等于标记值时,重复以下工作:
{
将score加到total中;计数器值counter加1;读入下一个数据放到score中;
}
如果counter≠0,那么执行以下工作:
{
将total除以counter的结果放到average中;打印average;}
否则执行打印信息“没有输入成绩”
第9页/共21页算法设计举例—C程序printf(“输入下一个成绩,-1表示输入结束”);/*屏幕提示*/scanf(“%d”,&score);}/*终止阶段*/if(counter!=0){average=total/counter;printf(“全班平均成绩为%.2f\n”,average);}elseprintf(“没有输入成绩\n”);}/*用标记值控制循环求全班平均成绩*/#include<stdio.h>main(){floataverage,total;intcounter,score;/*初始化*/total=0.0;counter=0;/*处理阶段*/printf(“输入成绩,-1表示输入结束”);/*屏幕提示*/scanf(“%d”,&score);while(score!=-1){total=total+score;counter++;
第10页/共21页1.5C程序的上机步骤第11页/共21页在纸上写好一个程序后,要经过以下几个步骤:上机输入与编辑源程序对源程序进行编译与库函数连接运行目标程序这样几个步骤。以上过程如图1.1所示。其中实线表示操作流程,虚线表示文件的输入输出。例如,编辑后得到一个源程序文件f.c,然后在进行编译时再将源程序文件f.c输入,经过编译得到目标程序文件f.obj,再将目标程序文件f.obj输入内存,与系统提供的库函数等连接,得到可执行的目标程序文件f.exe,最后把f.exe调入内存并使之运行。在了解了C语言的初步知识后,读者最好上机运行一个C程序,以建立对C程序的初步认识。第12页/共21页1.用TurboC运行C程序的步骤TurboC是在微机上广泛使用的编译程序。它具有方便、直观、易用的界面和丰富的库函数。它向用户提供一个集成环境,把程序的编辑、编译、连接和运行等操作全部集中在一个界面上进行,使用十分方便。为了能使用TurboC,必须先将TurboC编译程序装入磁盘的某一目录下,例如放在C盘根目录下一级TC子目录下。第13页/共21页图1.2(1)调用TurboC程序。如果用户的当前目录是TurboC编译程序所在的子目录(例如TC子目录),只需从键盘键入“tc”命令即可:第14页/共21页8个菜单项:FileEditRunCompileProjectOptionDebugbreak/watch用户可以通过以上菜单项来选择使用TurboC集成环境所提供的TurboC的各项主要功能。以上8个菜单项分别代表:文件操作、编辑、运行、编译、项目文件、选项、调试、中断/观察等功能。用键盘上的“←”和“→”键可以选择菜单条中所需要的菜单项,被选中的项以“反相”图1.3形式显示第15页/共21页
(例如主菜单中的各项原来以白底黑字显示,被选中时改为以黑底白字显示)。此时若按回车键,就会出现一个下拉菜单。例如在选中“File”菜单并按回车键后,屏幕上“File”下面出现下拉菜单,见图1.3所示。它是一个子菜单,提供多项选择。可以用“↓”键选择所需要的项。例如选择“New”处,并按回车键,表示要建立一个新的C源程序。
图1.3第16页/共21页如果选择“Load”,并按回车键,表示要调入一个已有的源文件,此时屏幕上出现一个对话框(见图1.4)。要求你输入该文件的名字。用户可输入该文件名,例如:tc1.c,如果已存在此文件,则系统会将此文件调入内存并显示在屏幕上。此时自动转为编辑(Edit)状态。如果原来不存在此文件名,则系统会建立一个以指定的名字命名的新文件。图1.4第17页/共21页(2)编辑源文件。在编辑(Edit)状态下可以根据需要输入或修改源程序。(3)编译源程序。选择“Compile”菜单并在其下拉菜单中选择“CompiletoOBJ”,则进行编译,得到一个后缀为.obj的目标程序(为方便起见,在一般书刊中,以上菜单的选择以“Compile/CompiletoOBJ”表示)。然后再选菜单“Compile/LinkEXEfile”,进行连接操作,可得到一个后缀为.exe的可执行文件。也可以将编译和连接合为一个步骤进行。选菜单“Compile/MakeEXEfile”或按“F9”键,即可一次完成编译和连接。在屏幕上会显示编译或连接时有无错误和有几个错误,见图1.5所示。此时按任何一个键,图1.5所显示的“编译信息框”会第18页/共21页图1.5
消失,屏幕上会恢复显示源程序,光标停留在出错之处。在屏幕的下半部分显示出有错误的行和错误的原因。根据此信息修改源程序。修改完毕认为无错后,再按“F9”,再次进行编译和连接,如此反复进行到不显示出错为止。第19页/共21页(4)执行程序。按“F10”键,在窗口上部的主菜单中某一项处出现“反相”显示(黑色亮块)。FileEditRunCompileProjectOptionDebugBreak/watch用“→”键将亮块移到“Run”,按回车键,在其下拉菜单中选择“Run”项,或直接按Ctrl+F9键,系统就会执行已编译好的目标文件。此时,TC集成环境窗口消失,屏幕上显示出程序运行时输出的结果。如果程序需要输入数据(如例1.3),则应在此时,从键盘输入所需数据,然后程序会接着执行,输出结果。如果发现运行结果不对,要重新修改源程序,可以再按“F10”键,并用“←”使亮块移到“Edit”处,第20页/共2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年欧式酒店餐车项目投资价值分析报告
- 2024至2030年中国自行车接头数据监测研究报告
- 2024至2030年型钢梁项目投资价值分析报告
- 2024至2030年两人排椅项目投资价值分析报告
- 2024年汽车GPS定位导航系统项目可行性研究报告
- 2024年多功能榨水车项目可行性研究报告
- 2024年印染行业用水设备项目可行性研究报告
- 2024至2030年中国内外锯齿垫圈行业投资前景及策略咨询研究报告
- 2024年度财务报告保密协议
- 2024年度股权激励合同违约金及赔偿标准
- 湖北省武汉市汉阳区2024-2025学年九年级上学期期中语文卷
- 中华人民共和国能源法
- 2024-2030年中国冷库及冷风机行业竞争趋势及未来发展策略分析报告
- 华为近三年财务分析报告范文
- 《义务教育数学课程标准(2022年版)》初中内容解读
- 2024浙江省执业药师继续教育答案-中医虚症辨证用药
- 2024年第九届学宪法、讲宪法题库(含答案)
- 2024年广东省公务员录用考试《行测》试题及答案解析
- 浙江省杭州市2025届高三上学期一模英语试题 含答案
- 2025届高三化学一轮复习 原电池 化学电源(第一课时)课件
- 2024-2030年全球学前教育行业经营规模研究与投资模式分析研究报告
评论
0/150
提交评论