第三章 顺序结构程序设计 计算机科学学院.

Slides:



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

C语言实验 第一课 标题:学号+姓名.
数学建模与MATLAB 第五讲:循环结构(1) 2017/9/12.
第三讲 数据输入与输出 数据输出 数据输入.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
第四章 顺序结构程序设计.
C语言程序设计 第五章 选择结构程序设计.
第三章 C语言基础 学习目标: 熟练掌握:C语言的基本数据类型、运算符及表达式 掌握:常见的输入、输出函数使用方法;
4.3函数 4.3.1函数的概念及定义 1、函数的概念: 可以被其它程序调用具有 特定功能的一段相对独立的 程序(模块),称函数。
第三章 结构化程序设计.
循环结构又称为重复结构:用来处理需要重复处理的问题,它是程序中一种很重要的结构。
第3章 顺序结构程序设计 本章要点: 格式化输出函数──printf() 格式输入函数——scanf() 字符输出函数——putchar()
EBNF 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
第3章 最简单的C程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.3 C语句 3.4 数据的输入输出.
数据类型 第3章 3.1 C数据类型概述 3.2 常量 3.3 变量 3.4 基本输入与输出.
第3章 C语言的基本语句 和程序结构设计.
走进编程 程序的顺序结构(二).
QQ: 李祥 QQ: 欢迎多种方式的学习交流,祝大家学有所成.
C语言程序设计 第四章 顺序程序设计.
C语言是结构化程序设计语言,提供了功能丰富的控制语句,本章开始陆续介绍C语言的控制语句:顺序结构、选择结构和循环结构。本章主要介绍三种结构化设计的基本概念,格式输入输出函数printf()和scanf(),字符输入输出函数putchar()和getchar()等内容,要求重点掌握顺序结构设计的基本思想及程序编写方法,熟练掌握常见输入、输出库函数的调用。
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第四章 C 语言中的输入和输出.
Chap 3 分支结构 3.1 统计输入的一批字符中各类字符的数量 3.2 查询自动售货机中商品的价格 3.3 分支结构程序设计.
第二章 基本数据类型与输入输出.
第三单元 数据的输入、赋值处理与输出 从现在开始,将详细讲述C语言的方方面面。第一章中的所有疑惑,都将一一消灭。
C语言程序设计基础 刘新国.
C程序设计 第三章 简单的c程序——顺序结构
第二章 Java语言基础.
第2章 数据类型、运算符和表达式.
程序设计基础 谭浩强 著 清华大学出版社.
C卓越工程师班 授课老师:龚涛 信息科学与技术学院 2016年9月 教材:《C程序员成长攻略》 网络课程网址:
C语言大学实用教程 第三章 简单的C程序设计 西南财经大学经济信息工程学院 刘家芬
第三章 顺序结构程序设计 主讲教师 贾月乐 电话:
目录 3.1结构化程序设计 3.2传统流程图及N-S结构化流程图 3.3C语句概述 3.4赋值语句 3.5数据输入输出函数调用语句
第4章 顺序程序设计.
第七章 操作符重载 胡昊 南京大学计算机系软件所.
第三章 C程序设计初步 3.1 结构化程序设计思想 3.2 C语句概述 3.3 赋值语句 3.4 文件包含 3.5 流和文件初步
Chap 2 用C语言编写程序 2.1 在屏幕上显示 Hello World! 2.2 求华氏温度 100°F 对应的摄氏温度
第4章 PHP流程控制语句.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
C语言程序设计 主讲教师:陆幼利.
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
C语言概述 第一章.
C语言程序设计.
C程序设计.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
程序设计基础A(C语言) 主讲教师: 许 康 教师主页:
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
第4章 Excel电子表格制作软件 4.4 函数(一).
第九节 赋值运算符和赋值表达式.
第2章 基本数据及其运算 本章学习的目标: 1、掌握基本数据的各种表示,基本数据常数的书写方法;
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
College of Computer Science & Technology
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
第四章 C 语言中的输入和输出.
2.6 字符型数据 一、 字符常量 1、字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。 例如,‘A’、‘1’、‘+’等。
C程序设计 实验二 数据类型、运算符和表达式 第6讲
第3章 最简单的C程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.3 C语句 3.4 数据的输入输出.
第3章 顺序结构程序设计 为了让计算机处理各种数据,首先就应该把源数据输入到计算机中;计算机处理结束后,再将目标数据信息以人能够识别的方式输出。C语言中的输入输出操作,是由C语言编译系统提供的库函数来实现。 3.1 格式化输出——printf()函数 3.2 格式化输入——scanf()函数.
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
程序设计基础A(C语言) 第一章 C语言概述 主讲教师: 许 康
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
顺序结构程序设计 ——关于“字符串”和数值.
编译原理实践 6.程序设计语言PL/0.
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
Presentation transcript:

第三章 顺序结构程序设计 计算机科学学院

本章内容: 3.1 C语句概述 3.2 程序的三种基本结构 3.3 输入与输出语句 3.4 顺序程序设计举例

3.1 C语句概述 C程序对数据的处理是通过“语句”的执行来实现的。 一条语句完成一项操作(或功能)。 一个为实现特定目的的程序应包含若干条语句。

C语言的语句分类: 表达式语句(表达式;) 简单语句 函数调用语句(函数名(参数表); 空语句(;) C语言 数据操作 复合语句({ 一条或多条语句 }) 语句 条件语句(if语句,switch语句) 结构化语句 while语句 循环语句 do_while语句 for语句 流程控制语句 break语句 限定转向语句 continue语句 非结构化语句 return语句 非限定转向语句(goto语句)

3.1.1 简单语句 1.表达式语句 由表达式组成的语句称为表达式语句 分号(;)是语句结束的标志 语句格式: 表达式; 功能: 计算表达式或改变变量的值。 分类: 运算符表达式语句 赋值语句

(1)运算符表达式语句 运算符表达式后跟一个分号组成。 例: i++; 语句的功能是变量i的值增1。 a=3,b=a+2,c=a+1; /*由三个赋值语句组成的逗号表达式语句。*/

(2)赋值语句 赋值表达式后跟一个分号组成。 例: x=y+z; /*计算y+z的和并赋值给变量x。*/ x=2; y=3;

2.函数调用语句 由函数调用表达式后跟一个分号组成。 格式: 函数名 (参数列表); 分类: 标准库函数 用户定义函数 标准库函数调用原则: (1) 要在程序中包含相应的头文件 (2) 调用的一般形式:函数名 (参数列表);

标准函数调用的目的 (1)如数学函数,为了得到函数的返回值。 (2)为了完成某项任务,而不是为了得到返回值。 例: 在表达式中调用函数,实际上是转去执行一段预先设计好的程序,求出结果后返回调用点。 所以函数的值又叫函数的返回值。 这类函数的调用一般出现在表达式中,作为表达式语句的一部分。一般不作为函数调用语句。 (2)为了完成某项任务,而不是为了得到返回值。 调用这类函数时,就直接用函数调用语句。 例: scanf("%f",&x); printf("%f",x);

3.1.2 复合语句 一对大括号{ }包围若干条语句组成。 格式: { [ 数据说明部分;] 执行语句部分; } 注意: (1) 在复合语句中的“数据说明部分”中定义的变量,是局部变量, 仅在复合语句中有效。 (2) 复合语句结束的“ } ”之后,不需要分号。 (3) 复合语句可以出现在任何数据操作语句可以出现的地方。

例3.1: 程序运行结果 a=11 b=21 c=31 a=11 b=22 c=3.300000 a=22 b=21 c=31 #include "stdio.h" void main() { int a=11,b=21,c=31; printf("a=%d\tb=%d\tc=%d\n",a,b,c); { int b=22; float c=3.3; printf("a=%d\tb=%d\tc=%f\n",a,b,c); a=b; }

3.1.3 空语句 空语句就是一个分号。 格式: ; 功能: 执行该语句不做任何操作。

3.2 C语言的三种基本结构 C语言提供三种结构化语句来控制程序的执行流程: 顺序结构: 选择结构: 循环结构: 一种按书写顺序执行的结构。 根据运行时的情况自动选择要执行的语句。 循环结构: 根据情况自动重复执行有关语句。

3.2.1 顺序结构 顺序结构即按照语句书写顺序执行的程序结构。 A B 顺序结构

3.2.2 选择结构 选择结构又称为分支结构,是指有条件地选择要执行的程序段。 选择结构示意图 … k=k2 k≠k1…kk k=kk A1 A2 B Ak 图 3-4 多分支选择结构 真(非0) 假(0) A B 条件 图 3-3 双分支选择结构 选择结构示意图

3.2.3 循环结构 1. 当型循环结构 当条件成立(为“真”或非0)时,反复执行程序段A,否则不执行程序段A。 条件 A 假(0) 真(非0) A

先执行程序段A,再判断条件是否为“真”(非0);若为“真”(非0),再执行A,如此反复,直到条件为“假”(0)为止。 2. 直到型循环结构 先执行程序段A,再判断条件是否为“真”(非0);若为“真”(非0),再执行A,如此反复,直到条件为“假”(0)为止。 真(非0) 假(0) A 条件

3.3 输入输出语句 C语言本身不提供输入/输出语句。 C语言的输入/输出功能由C语言的标准I/O库函数提供。 C语言的输入/输出库函数名不是保留字(或称关键字)。如 putchar,printf,scanf。

3.3.1 字符输入 getchar( ); 一般形式 函数功能 从标准输入设备(一般为键盘)输入一个字符,即计算机获得一个字符,其函数值就是从输入设备得到的字符。

从键盘输入字符, 该字符的ASCII编码值赋给a 例3.2: #include <stdio.h> void main( ) { int a; char b; a=getchar( ); b=getchar( ); printf("a=%c\ta=%d\tb=%c\tb=%d\n",a,a,b,b); } 从键盘输入字符, 该字符的ASCII编码值赋给a

程序运行情况如下: 13↙ a=1 a=49 b=3 b=51

注意: 调用函数getchar时,程序执行被中断,等待用户从键盘输入数据。当用户键入字符并敲回车键以后,程序继续运行。若用户输入字符后未按回车键,则键入的内容一直保留在键盘缓冲区中,只有用户键入回车键后,字符输入函数getchar才进行处理。 函数getchar将回车键作为一个字符读入。如果程序中有两个以上函数getchar时,应该一次性输入所需字符,最后再按回车键,如上例所示。 无论输入的是英文字母或标点符号还是数字,都是作为字符输入 。

3.3.2 字符输出函数 一般形式 putchar(c); 函数功能 向标准输出设备(一般为显示器)以字符形式输出c的值(即一个字符)。 函数的参数 函数返回值类型 函数的名称 函数功能 向标准输出设备(一般为显示器)以字符形式输出c的值(即一个字符)。

例3.3: #include <stdio.h> 包含函数putchar的头文件 void main( ) { int a=65; char b=‘B’; putchar(a); putchar(65+1); putchar(b); putchar(‘B’+1); putchar(‘\n’); } 程序运行结果为: ABBC

3.3.3 格式输出函数 1.printf函数的一般形式: printf(格式控制,输出表列); ◆用双引号括起来的字符串。包括格式声明和普通字符等。 ◆要输出的数据,可以是常量、变量、表达式、函数返回值等,每个输出项之间用逗号(,)分隔。 ◆作用是控制输出项的格式和输出一些提示信息。

3.3.3 格式输出函数 2.函数功能 函数printf按指定格式向标准输出设备输出若干个任意类型的数据。

3.格式控制字符串: (1)组成: 普通字符、转义字符、格式声明。 普通字符: 按原样输出,主要用于输出提示信息。 转义字符: 指明特定的操作。 格式声明: 由“ % ” 和“格式字符”组成,它表示按规定的格式输出数据。

例3-5 程序运行结果为: 1:97 98 2:97,98 3:a,b 4:a=97,b=98 #include "stdio.h" void main() { int a=97,b=98; printf(“1:%d %d\n”,a,b); printf("2:%d,%d\n",a,b); printf("3:%c,%c\n",a,b); printf("4:a=%d,b=%d",a,b); } 程序运行结果为: 1:97 98 2:97,98 3:a,b 4:a=97,b=98

(2)格式说明的形式: 格式字符,用来进行格式转换。 (重点掌握) %[flags][width][.prec][F|N|h|L][type] 输出长度修饰符: F:输出远指针存放的地址。 N:输出近指针存放的地址。 H或h:输出短整型数据的值。 L或l:输出长整型或双精度值。 输出精度指示符。 ◆对整数,表示至少要输出的数字个数,不足补数字0,多出则原样输出。 ◆对实数,表示小数点后至多输出的数字个数,不足补数字0,多出则舍入处理。 ◆对字符串,表示最多输出的字符个数,不足补空格,多出则丢弃。 格式字符,用来进行格式转换。 (重点掌握) 方括号表示该项可有可无 可选的标志字符 ◆-:左对齐输出,缺省为右对齐输出 ◆+:正数输出加号(+),负数输出减号(-) ◆空格:正数输出空格代替加号(+),负数输 出减号(-) 如:%+d,%-d,% d。  十进制整数,指定输出宽度。 ▼指定宽度>实际宽度,补空格。 ▼指定宽度≤实际宽度,按实际输出。 ▼不指定宽度,按实际输出。 如:%+10d

以十六进制无符号形式输出整数(不输出前导符Ox) (3)格式字符(type)一鉴表: 字符 说 明  d(或i) 以带符号的十进制形式输出整数,不输出(+)号 o 以八进制无符号形式输出整数(不输出前导符数字O) x(或X) 以十六进制无符号形式输出整数(不输出前导符Ox) u 以无符号十进制形式输出整数 c 输出一个字符 s 输出字符串 f 以小数形式输出单、双精度数,隐含输出6位小数 e(或E) 以指数形式输出单、双精度数,小数位数为6位 g(或G) 由给定的值和精度自动选用%f或%e或%E格式 % 输出百分号(%)

例如: printf ("%d\n",100); printf("%5d\n",100); printf("%8d\n%8d″,100,100*100); 1 0 1 1 0 1 0 1 0 1

例如: printf ("%o\n",-1); printf (“%x,%X\n”,-1,-1); printf ("%u,%d",-1); 3 7 3 7 f , F 3 7 f , F 4 2 9 6 5 - 1

例如: printf ("%4c,%c\n",'A', 'A'); printf ("%-8s,%8.2s", " Name ", " Name "); A , A , N a m e -

例如: printf ("%f\n%10.3f\n",100.7654321, 100.7654321); printf ("%e\n%10.9e", 100.7654321,100.7654321); 1 . 7 6 5 4 3 2 1 . 7 6 5 4 3 2 e + 第三章 3.3 输入与输出语句

例3.4: #include "stdio.h" void main() { int a=3,b=4; printf("%d\n",(a=b,b,a+3)); /*输出序列是一个逗号表达式*/ printf("%d\n",a=b,b,a+3); /*输出第一个参数变量a的值*/ } 输出结果为: 7 4

3.3.4 格式输入函数 1.scanf函数的一般形式: scanf(格式控制,地址表列); ◆由若干个地址组成的表列。 3.3.4 格式输入函数 1.scanf函数的一般形式: scanf(格式控制,地址表列); ◆由若干个地址组成的表列。 ◆必须用英文的双引号括起来。 ◆变量的地址、字符串的首地址、指针变量等,以逗号(,)间隔。 ◆由普通字符和格式声明组成。

2.格式控制: (1)组成: 普通字符、格式说明。 普通字符: 键盘输入时,要按原样输入,一般起分隔或提示作用。 但分隔或提示作用若由用户输入,就失去了本来的意义,一般采用printf来实现。 格式说明: %[ * ][ width ][ F|N ][ h|l ] type

(2)格式说明的形式: %[ * ][ width ][ F|N ][ h|l ] type 必需的格式字符,表示输入数据转换后的数据类型。 输入赋值抑制字符: 表示该格式说明要求输入数据,但不赋值,即在地址列表中没有对应有地址项。 地址大小修饰符: F:表示地址列表项中对应的地址为远指针; N:表示地址列表项中对应的地址为近指针。 数据输入类型: h:短整型 l:长整型或双精度类型 宽度指示符: 表示该输入项最多可输入的字符个数。 如遇空格或不可转换的字符,读入的字符将减少。

(3)格式字符(type)一鉴表: 字符 说 明 d(D) 用来输入十进制整数 o(O) 用来输入八进制整数 x(X) 说 明  d(D) 用来输入十进制整数 o(O) 用来输入八进制整数 x(X) 用来输入以十六进制整数 i(I) 用来输入十、八(0开头)、十六(0x开头)进制整数 u(U) 用来输入无符号十进制整数 c 用来输入单个字符 s 用来输入字符串,将字符串送到一个字符数组中 f(e) 用来输入实娄,用小数形式或指数形式输入 g(G) 与f作用相同,e、f和g可以互换 n 不输入数据,只将该语句已成功读入的字符数(到%n为止)送到对应的地址中 % 输入百分号(%)

scanf (“i=%d",&i);printf (“i=%d",i); scanf ("%d%d%d", &a,&b,&c); &:取地址运算符。 表示将所输入后的数据放入对应地址的存储单元中。 i = 3 ↙ 输 入 出 1 2 或 , 错 i = 3 ↙ 输 入 出

scanf ("%d,%d,%d", &a,&b,&c); 1 , 2 3 ↙ 错 1 , 2 3 ↙ 错 a = b

例3.5: input a,b: 7⊔8↙ a=7,b=8 #include "stdio.h" void main() { int a,b; printf("input a,b:"); scanf("%d%d",&a,&b); printf("a=%d,b=%d",a,b); }

(4)注意事项: scanf()的格式控制字符串中没有转义字符。如scanf (“%d\n”, &a);是错误的。

3.4 顺序程序设计举例 例3.7:输入一个华氏温度,输出对应的摄氏温度。输出取1位小数。转换公式为 #include "stdio.h" void main() { float c,f; scanf("%f",&f); c=5.0/9*(f-32); printf("%.1f\n",c); } 注意数学表达式到C语言表达式的转换 程序演示

例3.8:输入两个整数a、b,将它们交换,例如a为3,b为5,交换后a为5,b为3。 #include "stdio.h" void main() { int a,b,t; /*t就相当于空杯子*/ scanf("%d,%d",&a,&b); printf("a=%d,b=%d\n",a,b); /*观察原来的值*/ t=a;a=b;b=t; /*观察交换后的值*/ } 用于交换变量a、b的方法通常称为两两交换法。 程序演示

例3.9:从键盘输入圆半径,求圆的面积和周长,结果保留两位小数 。 #include "stdio.h" #include "math.h" void main() { float r,area,peri; scanf("%f",&r); area=3.14*pow(r,2);/*函数pow(x,y)表示xy */ peri=2*3.14*r; printf("area=%.2f,peri=%.2f\n",area,peri); } 程序演示

小 结 1、表达式与语句的区别 2、格式化输入/输出语句的使用 3、简单顺序程序的编写