C语言是结构化程序设计语言,提供了功能丰富的控制语句,本章开始陆续介绍C语言的控制语句:顺序结构、选择结构和循环结构。本章主要介绍三种结构化设计的基本概念,格式输入输出函数printf()和scanf(),字符输入输出函数putchar()和getchar()等内容,要求重点掌握顺序结构设计的基本思想及程序编写方法,熟练掌握常见输入、输出库函数的调用。

Slides:



Advertisements
Similar presentations
第6章 基本的程序语句 6.1 基本数据类型及取值范围 6.2 标识符、变量和常量 6.3 基本运算符、表达式及运算的优先级
Advertisements

课前回顾 数据类型 基本类型 构造类型 指针类型 空类型 常量与变量 常量及常量的类型 变量 标识符及有关规定 变量声明格式 赋值运算符.
C语言实验 第一课 标题:学号+姓名.
数学建模与MATLAB 第五讲:循环结构(1) 2017/9/12.
第三讲 数据输入与输出 数据输出 数据输入.
第四章 顺序结构程序设计.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
第三章 C语言基础 学习目标: 熟练掌握:C语言的基本数据类型、运算符及表达式 掌握:常见的输入、输出函数使用方法;
第三章 结构化程序设计.
C#程序设计基础 $5 流程控制.
第3章 顺序结构程序设计 本章要点: 格式化输出函数──printf() 格式输入函数——scanf() 字符输出函数——putchar()
EBNF 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
第4章 选择结构程序设计 4.1 选择结构和条件判断 4.2 用if语句实现选择结构 4.3关系运算符和关系表达式
第3章 最简单的C程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.3 C语句 3.4 数据的输入输出.
C程序设计.
数据类型 第3章 3.1 C数据类型概述 3.2 常量 3.3 变量 3.4 基本输入与输出.
第3章 C语言的基本语句 和程序结构设计.
走进编程 程序的顺序结构(二).
QQ: 李祥 QQ: 欢迎多种方式的学习交流,祝大家学有所成.
C语言程序设计 第四章 顺序程序设计.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第四章 C 语言中的输入和输出.
第二章 基本数据类型与输入输出.
第三单元 数据的输入、赋值处理与输出 从现在开始,将详细讲述C语言的方方面面。第一章中的所有疑惑,都将一一消灭。
C语言程序设计基础 刘新国.
C程序设计 第三章 简单的c程序——顺序结构
第二章 Java语言基础.
第2章 数据类型、运算符和表达式.
程序设计基础 谭浩强 著 清华大学出版社.
C卓越工程师班 授课老师:龚涛 信息科学与技术学院 2016年9月 教材:《C程序员成长攻略》 网络课程网址:
C语言大学实用教程 第三章 简单的C程序设计 西南财经大学经济信息工程学院 刘家芬
第三章 顺序结构程序设计 主讲教师 贾月乐 电话:
第3章 顺序结构程序设计 为了让计算机处理各种数据,首先就应该把源数据输入到计算机中;计算机处理结束后,再将目标数据信息以人能够识别的方式输出。C语言中的输入输出操作,是由C语言编译系统提供的库函数来实现。 3.1 格式化输出——printf()函数 3.2 格式化输入——scanf()函数.
目录 3.1结构化程序设计 3.2传统流程图及N-S结构化流程图 3.3C语句概述 3.4赋值语句 3.5数据输入输出函数调用语句
3 数据类型、运算符 和表达式.
第4章 顺序程序设计.
第三章 C程序设计初步 3.1 结构化程序设计思想 3.2 C语句概述 3.3 赋值语句 3.4 文件包含 3.5 流和文件初步
第三章 顺序结构程序设计 计算机科学学院.
第4章 PHP流程控制语句.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
C语言概述 第一章.
第1讲 C语言基础 要求: (1) C程序的组成 (2) C语言的标识符是如何定义的。 (3) C语言有哪些基本数据类型?各种基本数
C语言程序设计.
第3章 變數、算術運算、 數學函數及輸入輸出.
C程序设计.
C语言程序设计 教案 崔武子制作
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
第4章 Excel电子表格制作软件 4.4 函数(一).
C语言程序设计 李祥 QQ:
第九节 赋值运算符和赋值表达式.
第2章 基本数据及其运算 本章学习的目标: 1、掌握基本数据的各种表示,基本数据常数的书写方法;
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
第四章 C 语言中的输入和输出.
2.6 字符型数据 一、 字符常量 1、字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。 例如,‘A’、‘1’、‘+’等。
第4章 顺序结构程序设计 为了让计算机处理各种数据,首先就应该把源数据输入到计算机中;计算机处理结束后,再将目标数据信息以人能够识别的方式输出。C语言中的输入输出操作,是由C语言编译系统提供的库函数来实现。 4.1 格式化输出——printf()函数 4.2 格式化输入——scanf()函数.
第二章 Java基本语法 讲师:复凡.
C程序设计 实验二 数据类型、运算符和表达式 第6讲
第3章 最简单的C程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.3 C语句 3.4 数据的输入输出.
第3章 顺序结构程序设计 为了让计算机处理各种数据,首先就应该把源数据输入到计算机中;计算机处理结束后,再将目标数据信息以人能够识别的方式输出。C语言中的输入输出操作,是由C语言编译系统提供的库函数来实现。 3.1 格式化输出——printf()函数 3.2 格式化输入——scanf()函数.
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
程序设计基础A(C语言) 第一章 C语言概述 主讲教师: 许 康
Chap 6 数据类型和表达式 6.1 数据的存储和基本数据类型 6.2 常量和变量 6.3 数据的输入和输出 6.4 类型转换
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
数据表示 第 2 讲.
第二章 数据类型、运算符和表达式 §2.1 数据与数据类型 §2.2 常量、变量和标准函数 §2.3 基本运算符及其表达式 目 录 上一章
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
Presentation transcript:

C语言是结构化程序设计语言,提供了功能丰富的控制语句,本章开始陆续介绍C语言的控制语句:顺序结构、选择结构和循环结构。本章主要介绍三种结构化设计的基本概念,格式输入输出函数printf()和scanf(),字符输入输出函数putchar()和getchar()等内容,要求重点掌握顺序结构设计的基本思想及程序编写方法,熟练掌握常见输入、输出库函数的调用。

3.1 C语句概述 3.2 程序的三种基本结构 3.3 赋值语句 3.4 格式输入与输出 3.5 字符数据的输入输出函数 3.6 顺序结构程序设计举例

3.1 C语句概述 C语言的语句分为如下五大类: (1)表达式语句: 表达式后面加一个分号就构成了一个表达式语句。 例如: sum=a+b; /*赋值语句*/ i++; /*自加运算表达式语句*/ x=1,y=2; /*逗号表达式语句*/ (2)函数调用语句: 函数调用语句由一个函数加一个分号构成。 printf(“This is a C statement.”);

3.1 C语句概述 (3)复合语句: 用花括号{ }将多个语句组合在一起称为复合语句,又称为语句块(block)。 例如: { int x,y; z=x+y; printf(“d%”,z); } (4)空语句: 只有一个分号(;)的语句称为空语句。 在程序中空语句经常被用作循环体,比如常见的用于延时的一种循环语句。 例如: for(i=0;i<=1000;i++) ;

3.1 C语句概述 (5)控制语句 控制程序执行顺序,实现基本结构的语句,有下面九种: ① if-else语句 (条件语句) ② switch语句 (多分支选择语句) ③ for语句 (循环语句) ④ while语句 (循环语句) ⑤ do-while语句 (循环语句) ⑥ continue语句 (结束本次循环语句) ⑦ break语句 (终止执行循环语句或switch语句) ⑧ goto语句 (转向语句) ⑨ return语句 (函数返回值语句)

3.2 程序的三种基本结构 A B C语言是结构化程序设计语言,结构化程序设计的结构主要有:顺序结构、选择结构和循环结构三种。 3.2 程序的三种基本结构 C语言是结构化程序设计语言,结构化程序设计的结构主要有:顺序结构、选择结构和循环结构三种。 1. 顺序结构 顺序结构是最基本、最简单的程序结构,它由若干语句块从上到下依次排列次序顺序执行。 顺序结构如图3.1所示,先执行A块,再执行B块,两者是从上到下的顺序执行关系。 A B

3.2 程序的三种基本结构 2. 选择结构 选择结构就是根据给定条件从两条或多条可能的分支中选择一个分支执行。如图3.2,图3.3,图3.4所示 需要注意的是:不管是几条分支,在程序的一次执行过程中,只有一条分支被选 中执行。

3.2 程序的三种基本结构 3. 循环结构 循环结构是由循环控制条件来控制循环体是否执行。 这种结构也有两种形式: 3.2 程序的三种基本结构 3. 循环结构 循环结构是由循环控制条件来控制循环体是否执行。 这种结构也有两种形式: “当型循环”和“直到型循环” 假 (1)当型循环结构 如图3.5所示,当条件P成立时,反复执行A操作,直到条件P不再成立时才跳出循环。 真

3.2 程序的三种基本结构 3. 循环结构 (2)直到型循环结构 3.2 程序的三种基本结构 3. 循环结构 (2)直到型循环结构 如图3.6所示,先执行A操作,再判断条件P是否成立,若P成立,则再执行A操作,如此反复,直到条件P不成立时跳出循环。 假 真

3.3 赋值语句 赋值语句的组成:在赋值表达式的后面加上一个分号。 基本形式为: 变量 = 表达式 ; 例如: X=8 3.3 赋值语句 赋值语句的组成:在赋值表达式的后面加上一个分号。 基本形式为: 变量 = 表达式 ; 例如: X=8 X=Y/5-3 是表达式。 而 X=8; /*将整数8赋给变量X*/ X=Y/5-3; /*将表达式Y/5-3的值赋给变量X*/ 就是赋值语句。

3.3 赋值语句 注意: (1)C语言中的赋值号“=”是一个运算符,而在其他大多数高级语言中赋值号不是运算符。 3.3 赋值语句 注意: (1)C语言中的赋值号“=”是一个运算符,而在其他大多数高级语言中赋值号不是运算符。 (2)要区别赋值表达式和赋值语句。 例如: if((a=b)>0) t=a; 此处if语句中a=b是赋值表达式而不是赋值语句。

3. 4 格式输入与输出 信息从计算机的外部设备流入计算机称为输入。 信息从计算机主机流向外部设备称为输出。 3. 4 格式输入与输出 信息从计算机的外部设备流入计算机称为输入。 信息从计算机主机流向外部设备称为输出。 C语言中没有输入输出语句,而是由输入输出函来实现的输入/输出的。C标准函数库中包含的常用输入输出函数有: 格式输出函数printf() 格式输入函数scanf() 单个字符输出函数putchar() 单个字符输入函数getchar() 使用标准输入输出库函数时,要用编译命令“#include”将有关头文件“stdio.h”包括到用户的源文件当中。即: #include<stdio.h> 或 #include“stdio.h”

3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 一般格式: printf(格式控制”,输出列表); 3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 一般格式: printf(格式控制”,输出列表); 例如:printf(“a=%d,b=%c\n”,a,b) 功能:向默认输出设备(一般是显示器)输出“输出列表”中各数据项。 1. 格式控制 格式控制也称“控制字符串”,是由双引号括起来指定输出格式的字符串。他由格式说明、控制字符和普通字符三部分组成。

3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (1)格式说明 构成:由“%”字符开始后面跟有各种格式字符。 3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (1)格式说明 构成:由“%”字符开始后面跟有各种格式字符。 作用:以说明输出数据的类型、形式、长度、小数位等格式。 C语言提供的常用printf()函数格式说明:

3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (2)控制字符 3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (2)控制字符 控制字符用于控制设备的动作,如下表中制表符“\t”、换行符“\n”等。 转义字符 表示含义 \n 换行,将当前位置移到下一行开头 \t 横向跳格,横向跳到下一个输出区 \r 回车,将当前位置移到本行开头 \f 走纸换页,将当前位置移到下页开头 \b 退格,将当前位置移到前一列 \v 竖向跳格 例如:printf(“x=%d\n”,x);

3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (3)普通字符 3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (3)普通字符 除格式说明和控制字符之外,其他字符均属普通字符,打印时按原样输出。例如: printf(“x=%d,%c”,12,6*8); 其中“x=”和“,”都是普通字符。 输出结果是:x=12,48

3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 2.输出列表 3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 2.输出列表 输出列表:就是需要输出的各数据项表达式,表达式之间用逗号分隔。 注意: (1)表达式可以由变量构成,也可以由常量构成; (2)表达式之间的逗号不是逗号表达式,而是确定计算顺序的分隔符,自右向左进行的计算。

3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 3.附加说明符 在%与格式字符间插入附加说明符,组成: 3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 3.附加说明符 在%与格式字符间插入附加说明符,组成: “% <附加说明字符><格式符>”输出格式来达到更高输出格式要求。

3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 附加说明符 意 义 l 3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 附加说明符 意 义 l 用于长整型,可以加在格式符d、o、x、u的前面 m(正整数) 数据输出的最小宽度,当数据实际宽度超过m时,则按实际宽度输出,如实际宽度短于m,则输出时前面补0或空格。 .n(正整数) 对实数表示输出n位小数,对字符串,表示从左截取的字符个数 - 输出的字符或数字在域内向左对齐,默认右对齐 + 输出的数字前带有正负号 在数据前多余空格处补0 # 用在格式字符o或x前,输出八进制或十六进制数时带前缀0或0x

3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 【例3.1】输出整型、长整型、无符号整型数据 3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 【例3.1】输出整型、长整型、无符号整型数据 #include “stdio.h” void main() { int y=20; long a=1024; unsigned b=54321; printf(“%d,%ld,%u\n”,y,a,b); printf(“%+8d,%+8ld,%+8u\n”,y,a,b); printf(“%08d,%08ld,%08u\n”,y,a,b); printf(“%-8d,%-8ld,%-8u\n”,y,a,b); printf(“%o,%lo,%o\n”,y,a,b); printf(“%#x,%#lx,%#x\n”,y,a,b); printf(“%8o,%8lo,%8o\n”,y,a,b); printf(“%-8x,%-8lx,%-8x\n”,y,a,b); }

3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 运行结果如下:(ㄩ代表空格) 20,1024,54321 3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 运行结果如下:(ㄩ代表空格) 20,1024,54321 ㄩㄩㄩㄩㄩ+20,ㄩㄩㄩ+1024,ㄩㄩㄩ54321 00000020,00001024,00054321 20ㄩㄩㄩㄩㄩㄩ,1024ㄩㄩㄩㄩ,54321ㄩㄩㄩ 24,2000,152061 0x14,0x400,0xd4321 ㄩㄩㄩㄩㄩㄩ24,ㄩㄩㄩㄩㄩ2000,ㄩㄩ152061 14ㄩㄩㄩㄩㄩㄩ, 400ㄩㄩㄩㄩㄩ, d4321ㄩㄩㄩ

3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 【例3.2】输出字符和字符串 3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 【例3.2】输出字符和字符串 #include “stdio.h” void main() { char ch=’a’; printf(“%c\n”,ch); printf(“%-3c\n”,ch); printf(“%3c\n”,ch); printf(“%s\n”,”programing”); printf(“%15s\n”,”programing”); printf(“%-15s\n”,”programing”); printf(“%10.5s\n”,”programing”); printf(“%-10.5s\n”,”programing”); } 运行结果如下: a aㄩㄩ ㄩㄩa programing ㄩㄩㄩㄩㄩprograming programingㄩㄩㄩㄩㄩ ㄩㄩㄩㄩㄩprogr progrㄩㄩㄩㄩㄩ

3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 【例3.3】输出实型数据 #include “stdio.h” 3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 【例3.3】输出实型数据 #include “stdio.h” void main() { float x,y; double a; x=111111.111;y=123.468; a=333333333.33333; clrscr(); printf(“%f\n”,x); printf(“%f\n”,a); printf(“%10f,%10.2f,%.2f,%-10.2f\n”,x,x,x,x); printf(“%e\n”,x); printf(“%e\n”,a); printf(“%10e,%10.2e,%.2e.%-10.2e\n”,a,a,a,a); printf(“%f,%e,%g”,y,y,y); }

3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 程序运行结果如下: 111111.109375 3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 程序运行结果如下: 111111.109375 333333333.333330 111111.109375, ㄩ111111.11,111111.11,111111.11ㄩ 1.11111e+05 3.33333e+08 3.33333e+08, ㄩㄩㄩ3.3e+08,3.3e+08.3.3e+08ㄩㄩㄩ 123.468002,1.23468e+02,123.468

3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 4. 在使用printf()函数时,还应注意以下问题 3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 4. 在使用printf()函数时,还应注意以下问题 (1)转换说明与输出参数不一致时可能产生错误。 printf()函中格式符串中的数目多于列表参数个数时,则会输出错误数据;如果格式符串中的数目少于列表参数个数,则多出的参数不被输出。 例如: #include “stdio.h” void main() { int i=-6,x=5; float y=123.456; printf(“%d,%d\n”,i); printf(“%-4d,%f”,i,y,x); } 输出结果为: -6,2509 /*多余格式符输出错误数据*/ -6ㄩㄩ,123.456001 /* x未被输出*/

3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (2)“f”格式符一般为7位有效数字,双精度一般为16位。 3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (2)“f”格式符一般为7位有效数字,双精度一般为16位。 例如: ① #include “stdio.h” void main() { float x=111111.111,y=222222.222; printf("%f",x+y); } 输出结果为: 333333.328125 /*前7位是有效数字,后面数字无意义*/

3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (2)“f”格式符一般为7位有效数字,双精度一般为16位。 3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (2)“f”格式符一般为7位有效数字,双精度一般为16位。 ② #include “stdio.h” void main() { double x=111111.11111,y=222222.22222; printf("%lf",x+y); } 输出结果为: 333333.333330 /*可达16位是有效数字,小数点保留6位*/

3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 一般形式: scanf("格式控制",地址列表); 3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 一般形式: scanf("格式控制",地址列表); 功能:从键盘向程序中的变量输入一个或若干个任意类型的数据。 例如: scanf("%d,%d",&a,&b); 1. 格式控制 格式控制与printf基本相同,由格式说明、附加说明字符和普通字符三部分组成。 "% <附加说明字符><格式符>"

3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 格式字符 作 用 %d,%i 输入带符号的十进制整数 %u 3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 格式字符 作 用 %d,%i 输入带符号的十进制整数 %u 输入无符号十进制整数 %x,%X 输入无符号的十六进制整数(不区分大小写) %o 输入无符号形式八进制整数 %f 输入实数,可以用小数形式或指数形式输入 %e,%E %g,%G 与%f作用相同,%e、%f、%g可以互相替换 %c 输入单个字符 %s 输入字符串,将字符串送到一个字符数组中,在输入时以非空字符开始,遇到回车或空格字符结束

3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 格式修饰符 作 用 L或l 3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 格式修饰符 作 用 L或l 用在格式字符d、o、x、u的前,表示输入长整型数据,用在f或e前,表示输入double型数据。 h 用在格式字符d、I、o、x前,表示输入短整型数据 m 指定输入数据所占宽度,不能用来指定实数型数据宽度,应为正整数 * 表示该输入项在读入后不赋值给相应的变量

3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 2. 地址列表 3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 2. 地址列表 地址列表:用逗号分隔的若干接收输入数据的变量地址。各变量地址间用逗号“,”分隔。 变量地址组成:由地址运算符“&”后跟变量名组成。 例如: #include<stdio.h> void main() { int a,b, c; scanf(“%d%d%d”,&a,&b,&c); printf(“a=%d,b=%d,c=%d\n”,a,b,c); } 输入数据的格式表示什么意思?

3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 运行时按以下方式输入a,b,c的值: 3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 运行时按以下方式输入a,b,c的值: 3ㄩ4ㄩ5↙ (输入a,b,c的值,用空格间隔) a=3,b=4,c=5 (输出a,b,c的值)  注:输入数据时,在两个数据之间以一个或多个空格间隔,也可以用Enter键、Tab键分隔,不能用逗号作为两个数据的分隔符。 下面输入均为合法: ①3ㄩ4ㄩ5↙ ②3↙ 4 5↙ ③3(按Tab键)4↙ 5↙ 如下面的输入不合法: 3,4,5↙

3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 3. 使用scanf()函数时应注意的问题 3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 3. 使用scanf()函数时应注意的问题 (1)地址列表中的各个参量都是变量地址,而不是变量名。 例如:设a 、 b 分别为整型变量和浮点型变量,则 scanf(“%d %f”,&a,&b);是合法的。 而 scanf("%d %f",a,b);是非法的。

3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) (2)普通字符在输入数据时,在对应位置上输入相同字符。 例如: 3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) (2)普通字符在输入数据时,在对应位置上输入相同字符。 例如: scanf("%d,%d",&a,&b) 输入时应用如下形式: 3,4↙ 以下输入格式是不对的: 3ㄩ4↙ 3 : 4。 又如:scanf(”%d:%d:%d”,&x,&y,&z); 输入形式应为:12:13:14。

3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) (3)对于实型数据,输入时不能规定其精度。 例如: 3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) (3)对于实型数据,输入时不能规定其精度。 例如: scanf(“%6.3f”,&x); 是不合法的。 (4)在用“%c”格式输入字符时,空格字符和“转义字符”都将作为有效的字符输入。 scanf("%c%c%c",&c1,&c2,&c3); 如果输入: aㄩbㄩc↙ 则字符'a'→c1,字符'ㄩ'→c2,字符'b'→c3。 正确输入方法是: abc↙(中间没有空格) c1、c2、c3的值分别是什么?

3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) (5)在输入数据时,遇到下列情况时,输入数据认为结束: 3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) (5)在输入数据时,遇到下列情况时,输入数据认为结束: 遇空格或按“回车”或“跳格”(Tab)键; 遇宽度结束,如“%3d”,只取3列; 遇非法输入; 例如: scanf("%d%c%f",&a,&b,&c); 若输入 123a456o.26↙ 123→a ,字符a→b,456→c 注:第3个数4560.26错打成456o.26,由于456后面出现了英文字母“o”,就认为此数据结束,则将会把456送给c,后面的数据将不被接受。

3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) (6)当使用多个scanf()函数连续给多个字符变量赋值时,例如: #include<stdio.h> void main() { char c1,c2; scanf(“%c”,&c1); scanf(“%c”,&c2); printf(“c1 is %c,c2 is %c”,c1,c2); }

3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 运行该程序时 如果输入: A↙ 输出结果为: 3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 运行该程序时 如果输入: A↙ 输出结果为: c1 is A,c2 is ↙ (即C2接收了一个回车符↙,而没有被赋值) AB↙ c1 is A,c2 is B。 (7)对于unsigned型变量所需的数据,可以用%u,%d或%o,%x格式输入。

3.5 字符数据的输入输出函数 3.5.1 putchar函数(字符输出函数) 格式:putchar(c); c为字符型或整型常量、变量或表达式。 功能:向终端(显示器)输出一个字符,如果c为整型,则输出ASCII码值等于参数c的字符。 例如: putchar(“a”) /*输出结果为:a*/ putchar(97) /*输出结果为:a*/ 注意:使用本函数是必须要用文件包含命令:#include<stdio.h>

3.5 字符数据的输入输出函数 3.5.1 putchar函数(字符输出函数) 例如: #include<stdio.h> void main() { char x,y,z; x=’B’; y=’Y’; z=’E’; putchar(x);putchar(y);putchar(z); } 运行结果为: BYE

3.5 字符数据的输入输出函数 3.5.1 putchar函数(字符输出函数) 用putchar()函数可以输出也可以输出屏幕控制字符 如果将上面例题的最后一行改为: putchar(x); putchar(‘\n’); putchar(y); putchar(‘\n’); putchar(z); 运行结果为: B Y E

3.5 字符数据的输入输出函数 3.5.1 putchar函数(字符输出函数) 其次putchar()函数还可输出转义字符。 putchar(‘\101’); /*输出结果为字母:a */ putchar(‘\\’’); /*输出结果为单引号:’ */ putchar(‘\\”’) ; /*输出结果为双引号:” */ putchar(‘\255’); /*输出结果为图形符号:!*/

3.5 字符数据的输入输出函数 3.5.2 getchar()函数(字符输入函数) 格式:getchar(); 功能:从键盘(或系统默认的输入设备)输入一个字符。 例如: char x ; x=getchar(); putchar(x); 运行结果: A↙ (通过键盘输入’A’,按回车键) A (输出变量x的值’A’) 注意:(1)getchar()函数没有参数。 (2)该函数只能接收一个字符。 (3)使用函数前需加上文件包含命令:#include<stdio.h>。

3.5 字符数据的输入输出函数 3.5.2 getchar()函数(字符输入函数) 【例3.4】字符输入输出函数的使用 #include<stdio.h> void main() { char c1,c2; char c3=’X’; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); putchar(c3); } 运行时若输入 A↙ 输出结果为: A X

3.6 顺序结构程序设计举例 【例3.5】从键盘输入一个小写字母,输出其对应的大些字母及其相应的ASCII码值。 3.6 顺序结构程序设计举例 【例3.5】从键盘输入一个小写字母,输出其对应的大些字母及其相应的ASCII码值。 分析:从ASCII码表中得知: 小写字母的ASCII码-32=大写字母ASCII码 程序如下: #include<stdio.h> void main() { char ch1,ch2; ch1=getchar(); ch2=ch1-32; printf("\n letter:%c,ASCII=%d",ch1,ch1); printf("\n letter:%c,ASCII=%d",ch2,ch2); }

3.6 顺序结构程序设计举例 【例3.6】输入三角形的三边长,求三角形的面积。 分析:根据数学知识可知求三角形的面积公式为: area= 3.6 顺序结构程序设计举例 【例3.6】输入三角形的三边长,求三角形的面积。 分析:根据数学知识可知求三角形的面积公式为: area= (注: s=(a+b+c)/2) 程序如下: #include<stdio.h> #include<math.h> void main() { float a,b,c,s,area; scanf("%f,%f,%f",&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); /*调用函数库中求平方根函数sqrt()*/ printf(“a=%7.2f\nb=%7.2f\nc=%7.2f\narea=%7.2f\n”, a, b, c, area); }

3.6 顺序结构程序设计举例 【例3.7】求方程的根。a,b,c由键盘输入,设 。 分析:根据数学知识可得一元二次方程的根为: 3.6 顺序结构程序设计举例 【例3.7】求方程的根。a,b,c由键盘输入,设 。 分析:根据数学知识可得一元二次方程的根为: 可以将上面的分式分为两项: 则 x1= p+q, x2= p-q

3.6 顺序结构程序设计举例 程序如下: #include<stdio.h> #include<math.h> 3.6 顺序结构程序设计举例 程序如下: #include<stdio.h> #include<math.h> void main() { float a,b,c,disc,x1,x2,p,q; scanf("a=%f,b=%f,c=%f",&a,&b,&c); disc=b*b-4*a*c; p=-b/(2*a); q=sqrt(disc)/(2*a); x1=p+q,x2=p-q; printf("x1=%5.2f\nx2=%5.2f\n",x1,x2); }