版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计 第3讲 程序设计基础,潍坊学院计算机与通信工程学院,第3讲 程序设计基础,本讲主要内容: 一、程序的三种控制结构 二、基本的输入输出函数 三、顺序结构程序设计,学习目的与要求: 了解程序的三种控制结构及其特点,能对任何一种结构绘制 流程图; 掌握基本输出输入函数的基本格式及其主要用法; 能够设计顺序结构程序。 学习重点:printf()和scanf()函数的基本格式及其用法; 三种结构的框图表示。 学习难点:printf()和scanf()函数的基本格式及其用法;,一、程序的三种控制结构,(一)概述,假若某班有n名学生,开设课程有4门,要求解决如下三个问题: 问题1:输入一个学
2、生的4门课的成绩,计算出平均成绩。 问题2:输入一个学生的4门课的成绩,若平均成绩不低于90分,则显示“优等示“优等生”,否则显示“要加油啊!”。 问题3:按照问题2的标准,统计全班的优等生人数。,顺序结构、分支结构、循环结构是C语言程序的三种基本结构。 这三种结构互相结合,可以实现程序的任何逻辑控制。,应用举例,下面给出问题处理的算法描述及对应的流程图。 假设a1、a2、a3、a4为4门课的成绩变量,ave为平均成绩变量。,问题1:输入一个学生的4门课的成绩,计算出平均成绩的 算法描述及流程图表示:,步骤 开始 步骤 输入一个学生4门课的成绩a1、a2、a3、 a4;继续下一步骤; 步骤 计
3、算平均成绩 (a1+a2+a3+a4)/4.0ave; 继续下一步骤; 步骤 输出平均成绩ave;继续下一步骤; 步骤 结束,顺序结构 表示方法,问题2:输入一个学生的4门课的成绩,若平均成绩不低于90分,则显 示“优等示“优等生”,否则显示“要加油啊!”。,步骤 开始 步骤 输入一个学生4门课的成绩a1、a2、 a3、a4;继续下一步骤; 步骤 计算:(a1+a2+a3+a4)/4.0ave; 继续下一步骤; 步骤 若ave90,则执行步骤; 否则执行步骤 步骤 输出“优等生”,转步骤 步骤 输出“要加油啊!”;继续下一步骤; 步骤 结束,算法描述,流 程 图,分支结构 表示方法,问题3:按
4、照问题2的标准,统计 全班的优等生人数。,算法描述,流 程 图,循环 结构,循环结构 表示形式,步骤 开始; 步骤 设置变量count对输入的学生数计 数,count初值为1;设置变量result 对优等生计数,初值为0; 继续下一步骤; 步骤 输入班级学生数n; 步骤 若countn,则执行步骤; 否则转步骤; 步骤 输入一个学生4门课的成绩a1、a2、 a3、a4;继续下一步骤; 步骤 计算:(a1+a2+a3+a4)/4.0ave; 继续下一步骤; 步骤 若ave90,则继续下一步骤; 否则转步骤; 步骤 result+1result;继续下一步骤; 步骤 count+1count;转步
5、骤; 步骤 输出统计结果,结束。,3. 循环结构,1. 顺序结构,2. 分支结构,(二)C语言三大结构,二、基本的输出输入函数,1. 格式化输出函数printf 2. 格式化输入函数scanf 3. 字符输出函数putchar 4. 字符输入函数getchar,C语言系统没有专门的输出、输入语句,数据的输出、输入功能是通过一些基本的输出、输入函数实现的,这些函数由系统预先定义,并放在一个与标准的输入输出有关的文件中,这个文件的名字是“stdio.h”,称为头文件。 C语言的基本输出输入函数有下面四个。使用这些函数时,通常需要在程序的开头用#include stdio.h 打开头文件。,1. 格
6、式化输出函数printf,(1)函数格式,- 0 l m.n,printf(“格式控制字符串”,表达式表);,要输出的一系列表达式,用“,”分隔。,(2)说明,用于说明要输出表达式的形式,包括两部分内容:一部分是以“%”开始的格式控制参数,它规定对应表达式的输出格 式;另一部分是普通字符或转义字符, 对普通字符按原样输出,对转义字符,输出的是其转义后的形式。,(3)格式控制参数,%,d f c s o x u,格式字符,表3-1,%ld,%d,%f,%x,%o,%u,%c,%s,%5d,%-5d,%05d,%10ld,%-15ld,%-10.3f,%6.4f,举例,%8s,表3-1格式化字符串
7、中的格式符号及其功能,- :指定左对齐输出(默认右对齐输出)。 0 :指定空位填0。a=56,%03d。 l :输出长度修正。 m.n:域宽及精度描述符 m:指域宽 n:指精度,用于说明输出的实型数的小数位 数。隐含的精度为6。 域宽小于实际宽度时,按实际宽度输出。 精度说明(小数部分) 小于实际位数,四舍五 入处理。,%,d f,- 0 l m.n,例3-1 printf()函数的格式控制举例程序。,main() char c=A; int a=1234; float f=3.141592653589; double x=0.12345678987654321; printf(a=%dn,a
8、); printf(a=%6dn,a); printf(a=%-6dn,a); printf(a=%-6dqqn,a); printf(a=%06dn,a); printf(a=%2dn,a); printf(f=%fn,f); printf(f=%6.4fn,f); printf(x=%lfn,x); printf(x=%19.17fn,x); printf(c=%cn,c); printf(c=%dn,c); ,Turbo C 2.0运行结果,“格式化字符串”中的控制参数与“表达式表”的表达式按照位置序号一一对应,即第一个控制参数使用第一个表达式,第二个控制参数使用第二个表达式,依此类推。
9、 输出表达式的个数必须与格式化字符串所说明的输出参数个数相同,且顺序要与格式串中要求输出的内容一一对应,否则会产生意想不到的错误。 当存在格式参数但无参数表与其对应时,则会产生随机数。 当不存在格式参数但有参数表时,不会显示参数表内容。,printf函数使用注意事项:,返回,2. 格式化输入函数scanf,(1)函数格式,scanf(“格式化字符串”,变量地址表) ;,(2)说明, “格式化字符串”用于说明输入数据的类型和数据格式,使用的格式控制符与printf()函数相同。 “变量地址表”是接受输入数据的变量的内存地址,它们之间以逗号“,”分隔。当接受数据的变量是简单变量时,变量地址的表示形
10、式如下: 当计算机执行到scanf()语句时,便停下来,等待从键盘输入数据,直到要求的数据得到满足后,才继续执行下面的语句。,(3)注意事项,(1) “格式字符串”中控制参数的个数必须与变量地址的个数一致。 (2) 可以在格式化字符串中的%和格式控制符之间加入一个整数, 表示任何读操作中的最大位数。例3-2 从输入数据流中自动获取数值。 在%与控制符之间插入*号可以实现数据虚读。例3-3 从数据流中有选择地读取数据。 scanf()能够按照格式字串的说明顺序从输入流中取得数据,当输入流中数据类型与格式字符要求不匹配时,自动结束数据的读入过程。例3-4 自动按照数据类型读取数据。,(3)scan
11、f函数注意事项,/* 程序e302.c */ main() int m,n; scanf(%3d%2d, ,例3-2 从输入数据流中自动获取数值。,输入数据流:123456789,程序执行结果:m=123,n=45,/* 程序e303.c */ main() int i; float r; scanf(%3d%*4d%f, ,例3-3 从数据流中有选择地读取数据。,输入数据流: 12345678267.92,程序运行结果如下: i=123,r=8627.919922,/* 程序e304.c */ main() int a; char b; float c; scanf(%d%c%f, ,例3-
12、4 自动按照数据类型读取数据。,执行后输入数据流: 1234K2638.638,输出结果: a=1234,b=K,c=2638.637939,向标准输出设备输出一个字符,3. 字符输出函数putchar,例3-6 putchar()函数应用举例。 main() char c; /* 定义字符变量 */ c=B; /* 给字符变量赋值 */ putchar(c); /* 输出该字符 */ putchar(x42); /* 输出字母B */ putchar(0 x42); /* 直接用ASCII码值输出字母B */ ,(1)函数格式,putchar(ch);其中ch为一个字符变量名或常量。,(2)
13、功能:,例3-7从键盘输入一个字符,然后再显示出来。 #include stdio.h main() char c; c=getchar(); /* 从键盘读入字符*/ putchar(c); /* 显示输入字符 */ ,4. 字符输入函数getchar,从键盘上读入一个字符,(1)函数格式,getchar(),(2)功能:,三、顺序结构程序设计,例3-8 计算任意三角形的面积,例3-9 从键盘输入一个大写英文字母, 要求在屏幕上输出它的小写形式。,#include math. h main() float a,b,c,s,area; scanf(%f,%f,%f, ,例3-8、 计算任意三角形的面积,设三角形边长为a、b、c, 面积area的算法是:,其中,例3-9 从键盘输入一个大写英文字母, 要求在屏幕上输出它的小写形式。,基本算法:,#includestdio.h main() char ch; printf(Input a char: ); ch=getchar(); putchar(ch+32); ,小写字母ASCII码值=大写字母ASCII码值+32,程序执行结果如下: Input a char:T,t,常 用 A S C 码 表,返回,程序设计基础-小结,顺序结构、分支结构、循环结构是C语言程序的三种基本结构。顺序结构的程序,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年重庆文化艺术职业学院单招职业适应性测试题库带答案详解
- 2026年青海省海东地区单招职业适应性测试题库及参考答案详解一套
- 2026年航空电动飞机电池技术创新报告
- (2026年)妇产科围绝经期综合征患者诊断与护理课件
- 高中信息技术教师评价与专业发展研究-数字化教学评价的改革与创新教学研究课题报告
- 福清市江镜华侨招聘社区网格员真题附答案详解
- 2026年预制菜快速复热技术报告
- 2026年新媒体运营雇佣合同模板二篇
- 牡丹江市爱民区招聘社区网格员真题附答案详解
- 2026年烟台科技学院单招综合素质考试题库及完整答案详解1套
- 2026贵州能源集团有限公司第一批综合管理岗招聘41人(公共基础知识)测试题附答案解析
- 《深度学习与神经网络》全套教学课件
- 泥水平衡顶管施工应急预案
- 仓库货物进出管理规范手册
- 空调租赁出售合同范本
- DB43-T 2933-2024 排水降噪沥青路面养护技术规范
- 旭创培训考试题及答案
- 特种设备生产与使用单位质量安全总监及安全员考试题库及答案
- 粮食加工安全培训内容课件
- 国资监管数智化洞察与实践白皮书(发布版)
- 肺康复考试题及答案
评论
0/150
提交评论