第04章 基本输入、输出和顺序程序设计
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf ("input the 【例】数据的格式化输入 student's Scores(chinese, math, english): ");
input the student's Birthday(yyyy-mm-dd):1987-9-8↙ Birthday(yyyy-mm-dd):1987input the student's Sex(M/F) "); Sex(M/F): printf ("input the student's NO::M↙ input the student's english):90,80,90↙ scanf ("%8ld", &no); Scores(chinese, math, english):90,80,90↙ printf ("input the student's Birthday(yyyy-mm-dd): "); Birthday(yyyy-mmscanf ("%4d %2d("%4d输出结果 :-%2d-%2d", &year, &month, &day); fflush (stdin); //清除键盘缓冲区 //清除键盘缓冲区 ===NO=======birthday==sex==chinese==math==english==total==average printf 1987-0920040101("input the student's Sex(M/F): "); 1987-09-08 M 90.0 80.0 90.0 260.0 86.7 scanf ("%c", &sex);
【例】利用getchar输入字符 利用getchar getchar输入字符 #include <stdio.h> #include <conio.h> void main ( ) { char ch1, ch2; int a;
ch1 = getchar ( ); ch2 = getchar ( ); scanf ("%d", &a); printf ("ch1 = %c, ch2 = %c\n", ch1, ch2); %c\ printf ("a = %d\n", a); %d\ }
第4章 基本输入、输出和 基本输入、 顺序程序设计
学习的意义
程序的主要功能就是对数据的处理,其整个流程主要包 程序的主要功能就是对数据的处理, 括数据的输入、数据的处理、数据的输出。 括数据的输入、数据的处理、数据的输出。 数 据 输 入 数 据 处 理 数 据 输 出
C程序中如何实 现数据输入? 现数据输入?
生日(年、月、日) unsigned char sex; //性别 //性别 假设输入 : float chinese, math, english; //语文、数学、英语成绩 //语文 数学、 语文、 input the student's NO:20040101↙ float total, average; NO:20040101↙ //总分、平均分 //总分 总分、
函数调用: scanf ("%d%d", &a , &b); ("% &b); 函数调用: 取地址运算符(与按 取地址运算符 与按 同符号), 位“与”同符号 ,10, 的值是20 假设输入: 10□20↙ 变量的值: 的值是10 假设输入: 10□20↙ 变量的值: a的值是只,b的值是20 能作用于变量! 能作用于变量!
scanf ("%f,%f,%f", &chinese, &math, &english); 输入一学生的学号( 位数字)、生日( //计算总分 性别( )、生日 )、性别 输入一学生的学号(8位数字)、生日(年-月-日)、性别(M:男, total = chinese + math + english; //计算总分 F:女)及三门功课(语文、数学、英语)的成绩,现要求计算该学生的 及三门功课(语文、数学、英语)的成绩, average = total / 3; //计算平均分 //计算平均分 总分和平均分,并将该学生的全部信息输出(包括总分、平均分)。 总分和平均分,并将该学生的全部信息输出(包括总分、平均分)。 printf ("\n===NO=======birthday==sex==chinese==math== ("\ english==total==average\ #include <stdio.h> english==total==average\n"); printf ("%08ld %4d-%02d-%02d %c %-5.1f %-5.1f %4d-%02d%%void main ( ) %-5.1f %-5.1f %-5.1f\n", no, year, month, day, sex, %%-5.1f\ { unsigned long no; chinese, math, english, total, average); //学号 //学号 } year, month, day; //生日(年、月、日) unsigned int //生日( 生日
学习内容
格式化输出printf 格式化输出printf 格式化输入scanf 格式化输入scanf 字符数据的非格式化输入、输出 字符数据的非格式化输入、 程序的控制结构 顺序程序设计举例 本章小结
4.1 格式化输出printf 格式化输出printf
一般格式
printf ("格式控制字符串",表达式1,表达式2,…,表达式n); ("格式控制字符串 表达式1 表达式2 格式控制字符串" 表达式n);
无符号整型
以八进制形式输出一个无符号整型数据。例如: 以八进制形式输出一个无符号整型数据。例如: %o ( 字 int a = 164; 母o ) printf ("%o", a); //输出244 //输出 输出244 %u 以十进制形式输出一个无符号整型数据。例如: 以十进制形式输出一个无符号整型数据。例如: int a = -1; printf ("%u", a); //BC下输出65535,VC下 //BC下输出 下输出65535,VC下 4294967295 输出一个字符型数据。例如: 输出一个字符型数据。例如: char ch = 'A'; printf ("%c", ch); //输出A //输出 输出A
无符号整型
无符号整型
%c
字符型
printf函数中的格式转换字符及其含义 printf函数中的格式转换字符及其含义
格式转 换符 %s 含 义 对应的表达 式数据类型 字符串
输出一个字符串。例如: 输出一个字符串。例如: printf ("my name is %s", "wangjinghua"); //输出my name is wangjinghua //输出 输出my 以十进制小数形式输出一个浮点型数据。例如: 以十进制小数形式输出一个浮点型数据。例如: float f = -12.3; printf ("%f", f); //输出-12.300000 //输出 输出以指数形式输出一个浮点型数据。例如: 以指数形式输出一个浮点型数据。例如: float f = 1234.8998; printf ("%e", f); //输出1.234900e+003 //输出 输出1.234900e+003 printf ("%E", f); //输出1.234900E+003 //输出 输出1.234900E+003 按照%f或%e中输出宽度比较短的一种格式输出 按照%f或%e中输出宽度比较短的一种格式输出。 中输出宽度比较短的一种格式输出。 以主机的格式显示指针,即变量的地址。例如: 以主机的格式显示指针,即变量的地址。例如: int a = 2; printf (“%p”, &a); //BC下输出FFD8, //BC下输出 下输出FFD8, VC下 0012FF7C VC下
%f
浮点型
%e, %e, %E %g, %g, %G
浮点型
浮点型
%p
指针类型
4.2 格式化输入scanf 格式化输入scanf
一般格式
scanf (“格式控制字符串 scanf (“格式控制字符串”,变量1的地址,变量2的地址, 格式控制字符串” 变量1的地址,变量2的地址, …,变量n的地址); 变量n的地址);
功能 按照“格式控制字符串”的要求, 表达式1 按照“格式控制字符串”的要求,将表达式1,表达式 2,…,表达式n的值显示在计算机屏幕上。 表达式n的值显示在计算机屏幕上。 说明 格式控制字符串用于指定输出格式。它包含两类字符: 格式控制字符串用于指定输出格式。它包含两类字符: 格式控制符 常规字符:包括可显示字符和用转义字符表示的字符。 常规字符:包括可显示字符和用转义字符表示的字符。 格式转换符) (格式转换符 格式控制符: 开头的一个或多个字符, ) 格式控制符:以%开头的一个或多个字符,以说明输出数 格式控制符 据的类型、形式、长度、小数位数等。其格式为: 据的类型、形式、长度、小数位数等。其格式为: 常规字符
掌握各种类型数据的格式化输入输出方法; 掌握各种类型数据的格式化输入输出方法; 掌握字符数据的非格式化输入输出方法; 掌握字符数据的非格式化输入输出方法; 理解三种程序控制结构的流程图; 理解三种程序控制结构的流程图; 学会简单顺序程序的设计; 学会简单顺序程序的设计; 养成良好的程序设计习惯; 养成良好的程序设计习惯;
常规字符 (修饰符) 修饰符) %[修饰符 修饰符] %[修饰符]格式转换字符 (转义符) 转义符)
ห้องสมุดไป่ตู้
例:
long int x = 0x8AB6; printf (“The Value of x is %ld\n”, x); (“The %ld\
printf函数中的格式转换字符及其含义 printf函数中的格式转换字符及其含义
格式转 换符 %d 或 %i %x, %x, %X 含 义 对应的表达 式数据类型 有符号整型
以十进制形式输出一个整型数据。例如: 以十进制形式输出一个整型数据。例如: int a = 20; printf ("%d", a); //输出20 //输出 输出20 以十六进制形式输出一个无符号整型数据。例如: 以十六进制形式输出一个无符号整型数据。例如: int a = 164; printf ("%x", a); //输出a4 //输出 输出a4 printf ("%X", a); //输出A4 //输出 输出A4
//应包含的.h文件为stdio.h //应包含的 文件为 应包含的.h文件为stdio.h
• 功能:从键盘读一字符 功能: • 返值:正常,返回读取字符的ASCII码值;出错, 返值:正常,返回读取字符的ASCII码值 出错, 码值; 返回EOF( 1)。 EOF(返回EOF(-1)。 • 说明:以回车符为输入结束条件;输入多个字符 说明:以回车符为输入结束条件; 返回第一个字符的值;输入字符回显 字符回显。 时,返回第一个字符的值;输入字符回显。
4.3 字符数据的非格式化输入、输出 字符数据的非格式化输入、
1. 字符数据的非格式化输入 与输入字符数据有关的常用库函数主要有: 与输入字符数据有关的常用库函数主要有: getchar、getc、getche、getch等 getchar、getc、getche、getch等。 getchar int getchar ( void );
功能 第一个参数格式控制字符串的控制下, 第一个参数格式控制字符串的控制下,接受用户的键盘 输入,并将输入的数据依此存放在变量 变量1 变量2 ……、 输入,并将输入的数据依此存放在变量1、变量2、……、变 量n中 。 格式控制符与后续参数中的变量地址的对应关系
已
int a; 知: int("%d", &a); scanf a , b;
C程序中如何实 现数据输出? 现数据输出?
程序的结构: 程序的结构: 写文章有文章的结构 建房子有房子的结构 制造机械产品由机械产品的结构 ……… 那么编写程序是否有程序的结构呢? 那么编写程序是否有程序的结构呢?
YES!
顺序结构 程序结构 选择结构 循环结构
本章讨论 第5章讨论 第6章讨论
学习目标