第三章 C程序设计初步 3.1 结构化程序设计思想 3.2 C语句概述 3.3 赋值语句 3.4 文件包含 3.5 流和文件初步

Slides:



Advertisements
Similar presentations
课前回顾 数据类型 基本类型 构造类型 指针类型 空类型 常量与变量 常量及常量的类型 变量 标识符及有关规定 变量声明格式 赋值运算符.
Advertisements

Tool Command Language --11级ACM班 金天行.
C语言实验 第一课 标题:学号+姓名.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
在PHP和MYSQL中实现完美的中文显示
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
C#程序设计基础 $5 流程控制.
循环结构又称为重复结构:用来处理需要重复处理的问题,它是程序中一种很重要的结构。
第3章 顺序结构程序设计 本章要点: 格式化输出函数──printf() 格式输入函数——scanf() 字符输出函数——putchar()
EBNF 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
第3章 最简单的C程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.3 C语句 3.4 数据的输入输出.
C程序设计.
C语言高级编程(第四部分) 字符串 北京大学 信息科学技术学院.
第3章 C语言的基本语句 和程序结构设计.
走进编程 程序的顺序结构(二).
QQ: 李祥 QQ: 欢迎多种方式的学习交流,祝大家学有所成.
C语言程序设计 第四章 顺序程序设计.
C语言是结构化程序设计语言,提供了功能丰富的控制语句,本章开始陆续介绍C语言的控制语句:顺序结构、选择结构和循环结构。本章主要介绍三种结构化设计的基本概念,格式输入输出函数printf()和scanf(),字符输入输出函数putchar()和getchar()等内容,要求重点掌握顺序结构设计的基本思想及程序编写方法,熟练掌握常见输入、输出库函数的调用。
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第四章 C 语言中的输入和输出.
Chap 3 分支结构 3.1 统计输入的一批字符中各类字符的数量 3.2 查询自动售货机中商品的价格 3.3 分支结构程序设计.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
C程序设计 第三章 简单的c程序——顺序结构
第二章 Java语言基础.
程序设计基础 谭浩强 著 清华大学出版社.
C语言大学实用教程 第三章 简单的C程序设计 西南财经大学经济信息工程学院 刘家芬
第三章 顺序结构程序设计 主讲教师 贾月乐 电话:
第3章 顺序结构程序设计 为了让计算机处理各种数据,首先就应该把源数据输入到计算机中;计算机处理结束后,再将目标数据信息以人能够识别的方式输出。C语言中的输入输出操作,是由C语言编译系统提供的库函数来实现。 3.1 格式化输出——printf()函数 3.2 格式化输入——scanf()函数.
目录 3.1结构化程序设计 3.2传统流程图及N-S结构化流程图 3.3C语句概述 3.4赋值语句 3.5数据输入输出函数调用语句
第4章 顺序程序设计.
第七章 操作符重载 胡昊 南京大学计算机系软件所.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
第一章 函数与极限.
第三章 顺序结构程序设计 计算机科学学院.
第4章 PHP流程控制语句.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
C语言程序设计 主讲教师:陆幼利.
第二章 基本数据类型及运算 C数据类型概述 基本数据类型 运算符和表达式 混合运算与类型转换 数据的输入输出 顺序程序设计举例.
C语言概述 第一章.
第1讲 C语言基础 要求: (1) C程序的组成 (2) C语言的标识符是如何定义的。 (3) C语言有哪些基本数据类型?各种基本数
C语言程序设计.
第3章 變數、算術運算、 數學函數及輸入輸出.
C程序设计.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
C语言程序设计 教案 崔武子制作
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
輸出與輸入(I/O).
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
第九节 赋值运算符和赋值表达式.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
第三章 基本的輸出與輸入函數 (Basic Output & Input Function)
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
第四章 C 语言中的输入和输出.
第4章 顺序结构程序设计 为了让计算机处理各种数据,首先就应该把源数据输入到计算机中;计算机处理结束后,再将目标数据信息以人能够识别的方式输出。C语言中的输入输出操作,是由C语言编译系统提供的库函数来实现。 4.1 格式化输出——printf()函数 4.2 格式化输入——scanf()函数.
C程序设计 实验二 数据类型、运算符和表达式 第6讲
第3章 最简单的C程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.3 C语句 3.4 数据的输入输出.
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第四章 分支结构的C程序设计 4.1 if语句 4.2 switch语句 4.3 程序举例.
第二节 C语言的特点.
程序设计基础A(C语言) 第一章 C语言概述 主讲教师: 许 康
C/C++基礎程式設計班 字元與字串 講師:林業峻 CSIE, NTU 3/14, 2015.
复习 标签(label)、文本框(text)控件 按钮:点击事件
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
第二章 数据类型、运算符和表达式 §2.1 数据与数据类型 §2.2 常量、变量和标准函数 §2.3 基本运算符及其表达式 目 录 上一章
顺序结构程序设计 ——关于“字符串”和数值.
Presentation transcript:

第三章 C程序设计初步 3.1 结构化程序设计思想 3.2 C语句概述 3.3 赋值语句 3.4 文件包含 3.5 流和文件初步 3.1 结构化程序设计思想 3.2 C语句概述 3.3 赋值语句 3.4 文件包含 3.5 流和文件初步 3.6 数据输出 3.7 数据输入 3.8 程序举例

3.1 结构化程序设计思想 3.1.1 程序的质量标准 一个好的程序在满足运行结果正确的基本条件之后,首先要有良好的结构,使程序清晰易懂。在此前提之下,才考虑使其运行速度尽可能的快, 运行时所占内存应尽量压缩至合理的范围。也就是说,现在的程序质量标准易读性好是第一位的,其次才是效率。因为从根本上说,只有程序具有了良好的结构,才易于设计和维护,减少软件成本,从整体来说才是真正提高了效率。

3.1.2 结构化程序设计方法 (1) 一个大的程序开发应当采取“自顶向下, 逐步细化, 模块化”的方法。  (2) 任何程序均由具有良好特性的三种基本模块(顺序, 分支,循环)“堆积”搭成,即由基本小单元顺序组成一个大结构,从而避免了使用goto语句的缺点。

3.1.3 结构化程序的标准 (1) 程序符合“清晰第一,效率第二”的质量标准。  (2) 具有良好的特性。 ① 只有一个入口。  ② 只有一个出口(有些分支结构很容易写成多个出口)。 ③ 无死语句(永远执行不到的语句). ④ 没有死循环(永远执行不完的无终止的循环)。

3.1.4 三种基本模块 1. 顺序结构 图 3.1 顺序结构

2. 分支结构 图 3.2 分支结构

3. 循环结构 图 3.3 当型循环结构

图 3.4 直到型循环结构

3.2 C 语 句 概 述 C语言是函数式语言,每一个函数是由数据说明部分和执行语句部分组成。C语言中的所有语句均是执行语句,没有非执行语句。根据C语言的句法, 语句可分为单个语句,复合语句和空语句。根据结构化程序设计的三个模块大致可分为: 用于顺序结构中的表达式语句、赋值语句、函数调用语句等; 用于分支结构中的if语句、switch语句、转移语句、标号语句等;用于循环结构中的while语句、for语句、do-while语句。 另外在后两种结构中还可出现break语句、continue语句、复合语句和空语句等作为其中的一部分。

(1) 逻辑上每个语句最后都必须有一个分号(;), 一个语句可分写成几行, 几个语句也可合写成一行(但不提倡, 因其不利于单步调试)。  (2) 空语句直接由分号(;)组成,常用于控制语句中必须出现语句之处,它不做任何操作,只在逻辑上起到有一个语句的作用。  (3) 复合语句由花括号{ }括起的若干个语句, 语法上可以看成是一个语句。复合语句中最后一个语句的分号不能省略。 如下面是一个复合语句:  {z=x+y;  y=x/z;  x=z-y; }

(4) 表达式语句是在各种表达式后加一个分号(;)形成一个语句。如赋值语句由赋值表达式加一个分号构成:  x=x+y; 再如表达式x++后加一个分号构成表达式语句:  x++;  表达式和表达式语句的区别是表达式后无分号, 可以出现在其它语句中允许出现表达式的地方;而表达式语句后有分号, 自己独立成一个语句,不能再出现在其它语句的表达式中。 如:  if((a=b)<0) min=a;

(5) 控制语句有条件判断语句(if、 switch), 循环语句(for、 while、 do-while),转移语句(goto、 continue、 break、 return)。

3.3 赋值语句 赋值语句是由赋值表达式加上一个分号构成。 如x=a+b;。 C语言的赋值语句具有其它高级语言中赋值语句的一切特点和功能,也有C语言自己的特色:  (1) C语言中赋值号“=”作为赋值运算符。  (2) 其它高级语言没有赋值表达式这个概念。作为赋值表达式可以出现在其它表达式能出现的地方,也可出现在其它表达式之中。 例如: if((x=a+b)! =0) t=10;

3.4 文件包含 一个C程序由若干个源文件组成,而一个源文件还可将另一个源文件的全部内容包含进来,即将另外的文件包含到本文件之中,二者合为一个大些的文件。这个包含进来的文件只是一个文件名,在编译时先进行展开,这个文件名我们用预编译命令“#include”来指定,其一般形式为:  #include <文件名> 或 #include ″文件名″

3.5 流和文件初步 C语言的输入和输出由库函数来完成。在C语言中没有用于完成I/O操作的关键字,而是采用I/O操作函数。因此数据的输入输出要调用输入输出库函数。 在ANSI C标准中定义了一组完整的I/O操作函数。这些函数调用时所需的一些预定义类型和常数都在头部文件stdio.h和conio.h中。因此调用输入输出函数时,在程序前面应加上 #include <stdio.h> 和(或) #include <conio.h> 如没有该命令指定, 可能造成错误。

C语言I/O系统为C语言编程者提供了一个统一的接口, 与具体的被访问设备无关。也就是说,在编程者和被使用设备之间提供了一层抽象的东西,这个抽象的东西就叫做“流”。 具体的实际设备叫做“文件”。  所有的流具有相同的行为,相当于一个缓冲区,流可分为文字流和二进制流。  一个文字流是一行行的字符,换行符表示这一行的结束。 文字流中某些字符的变换由环境工具的需要来决定。例如一个换行符可以变换为回车换行两个字符。因此所读写的字符与外部设备中的数据没有一一对应的关系。

3.6 数据输出 … 3.6.1 putchar函数(字符输出函数)  函数调用形式:  char ch;   3.6 数据输出 3.6.1 putchar函数(字符输出函数)  函数调用形式:  char ch;   putchar (ch);  …

例 3.1 字符数据的输出。  #include <stdio.h> main( ) { char a, b; a=′b′; b=′o′;  putchar(a); putchar(b);  putchar(′y′); putchar(′\n′); } 经编译后运行, 在屏幕上显示:  boy

3.6.2 printf函数(格式输出函数) 函数的调用形式:  printf(″控制字符串″, 参量表); 例如:  printf(″The output x=%d\n″, x);  若x=10, 则输出为“The output x=10”。

表 3.1 printf()的格式说明

例 3.2 不同类型数据的输出。 程序:

3.6.3 puts函数(字符串输出函数) 函数的原型是:  char *puts(char *s) 函数的调用形式是: 

… 3.7 数据输入 3.7.1 getche函数与getchar( )和getch( ) getche函数的调用形式:  3.7 数据输入 3.7.1 getche函数与getchar( )和getch( ) getche函数的调用形式:  char# ch;   ch=getche( );  getche( )用于等待从键盘上键入一个字符, 返回它的值并在屏幕上自动回显该字符。使用该函数必须在程序的头部使用文件包含命令:  #include <conio.h> …

例 3.3 单个字符的输入和输出。 #include <conio.h> #include <stdio.h> main( ) { char ch;  ch=getche( );  putchar(ch); putchar(′\n′); } 经编译后运行, 输入a, 最后在屏幕上显示: aa

例 3.4 多个字符的输入和输出。 #include <stdio.h> #include <conio.h> 例 3.4 多个字符的输入和输出。 #include <stdio.h> #include <conio.h> main( ) { char# a, b, c;  a=getch( ); b=getch( ); c=getch( );  putchar(a); putchar(b); putchar(c);  putchar(′\n′);  getch( );  }

3.7.2 scanf函数(格式输入函数) scanf函数的调用形式:  scanf(″控制字符串″,参量表);  如scanf(″a, b=%d, %d″, &a, &b); 即要在键盘上输入a, b=12, -34 此时12送给变量a,-34送给变量b,而控制字符串中a, b=和两个%d之间的逗号必须原封不动照样输入。

scanf函数括号中的控制字符串包含三类不同的字符内容: (1) 格式说明。 (2) 空白字符。 (3) 非空白字符。

表 3.2 scanf()的格式说明

3.7.3 gets函数(字符串输入函数) 函数的原型是:  char *gets(char *s) gets( )函数用来从键盘读入一串字符, 并把它们送到gets函数中的字符数组成字符型指针所指定地址的存贮单元中。 在输入字符串后,必须用回车作为输入结束,该回车符并不属于这串字符,由一个“空操作字符(′\0′)”在串的最后来代替它。此时空格不能结束字符串的输入。gets函数返回一个指针。

#include <stdio.h> 例 3.5 字符串的输入和输出。  程序:  #include <stdio.h> main( ) { char str[80];  gets(str);  puts(str);  } 运算结果:  ABC DEF ABC DEF

3.8 程序举例 例 3.6 输入一个小写字母, 按大写输出。  程序一:  #include <stdio.h> 3.8 程序举例 例 3.6 输入一个小写字母, 按大写输出。  程序一:  #include <stdio.h> #include <conio.h> main()  { char ch;  ch=getche( );  putchar(ch-32);  } 运行:  aA

#include <stdio.h> 程序二:  #include <stdio.h> #include <conio.h> main( ) { char ch;  ch=getch( );  putchar(ch-32);  } 运行:  A

#include <stdio.h> 程序三:  #include <stdio.h> main( ) { char ch;  ch=getchar( );  putchar(ch-32);  } 运行:  abcdefgA

例 3.7 输入三角形的三条边长,求三角形的面积。我们假设输入的三边能构成三角形。  分析: 三角形面积的计算公式如下: s=(a+b+c)/2

程序:  #include <math.h> main( ) { float a, b, c, s, area;  scanf(″%f, %f, %f″, &a, &b, &c);  s=0.5*(a+b+c);  area=sqrt(s*(s-a)*(s-b)*(s-c));  printf(″a=%.2f, b=%.2f, c=%.2f\n″, a, b, c);  printf(″area=%.2f\n″, area);  } 运行:  3, 4, 6 a=3.00, b=4.00, c=6.00 area=5.33