教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

第04章 基本输入、输出和顺序程序设计

来源:网络收集 时间:2024-05-19
导读: c语言课件适合初学者 第4章 基本输入、输出和 顺序程序设计王占全 c语言课件适合初学者 C语 言 程 序 设 计 教 程 第 二 版 第4章:基本输入输出和顺序程序设计 学习的意义程序对数据的处理流程: 程序的主要功能就是对数据的处理,其整个流程主要包 括数据

c语言课件适合初学者

第4章 基本输入、输出和 顺序程序设计王占全

c语言课件适合初学者

C语 言 程 序 设 计 教 程 第 二 版

第4章:基本输入输出和顺序程序设计 学习的意义程序对数据的处理流程: 程序的主要功能就是对数据的处理,其整个流程主要包 括数据的输入、数据的处理、数据的输出。 数 据 输 出

第 四 章基 本 输 入 输 出 和 顺 序 程 序 设 计

数 据 输 入

数 据 处 理

C程序中如何实 现数据输入?

C程序中如何实 现数据输出?2

c语言课件适合初学者

C语 言 程 序 设 计 教 程 第 二 版

学习的意义程序的结构: 写文章有文章的结构 建房子有房子的结构 制造机械产品由机械产品的结构 ……… 那么编写程序是否有程序的结构呢? YES!顺序结构 程序结构 选择结构 循环结构本章讨论第5章讨论 第6章讨论3

第 四 章基 本 输 入 输 出 和 顺 序 程 序 设 计

c语言课件适合初学者

C语 言 程 序 设 计 教 程 第 二 版

学习目标 掌握各种类型数据的格式化输入输出方法; 掌握字符数据的非格式化输入输出方法; 理解三种程序控制结构的流程图; 学会简单顺序程序的设计; 养成良好的程序设计习惯;

第 四 章基 本 输 入 输 出 和 顺 序 程 序 设 计

学习内容 格式化输出printf 格式化输入scanf 字符数据的非格式化输入、输出 程序的控制结构 顺序程序设计举例 本章小结

c语言课件适合初学者

C语 言 程 序 设 计 教 程 第 二 版

4.1 格式化输出printf 一般格式printf ("格式控制字符串",表达式1,表达式2,…,表达式n);

第 四 章基 本 输 入 输 出 和 顺 序 程 序 设 计

功能

按照 格式控制字符串 的要求,将表达式1, 表达式2,…,表达式n的值显示在计算机屏幕上。

c语言课件适合初学者

C语 言 程 序 设 计 教 程 第 二 版

printf使用时的注意事项(1) 格式控制字符串可以不包含任何格式控制符。 printf (“how are you?\n”); //只有一个字符串参数, (2) 当格式控制字符串中既含有常规字符,又包 输出为:how are you? 含有格式控制符时,则表达式的个数应与格 式控制符的个数一致。 已 知: int a = 2; (3) 如果格式控制字符串中格式控制符的个数多 于表达式的个数,则余下的格式控制符的值 函数调用: printf("a * a = %d, a + 5 = %d\n", a * a, a + 5); printf ("5 + 3 = %d, 5 - 3 = %d, 5 * 3 = %d", 5 + 3, 5 - 3); 将是不确定的。 输出结果将是:5 + 4, = + 5 = 7– 3 = 2,5 * 3 = -28710 实际输出: a * a = 3 a 8,5 (4) 不同类型的表达式要使用不同的格式转换符, 同一表达式如果按照不同的格式转换符来输 输出随机 char ch = 'A'; 出,其结果可能是不一样的。 printf ("ch = %c", ch); //输出结果:ch = A(以字符形式输出)

第 四 章基 本 输 入 输 出 和 顺 序

程 序 设 计

printf ("ch = %d", ch);

//输出结果:ch = 65 (以'A'字符的ASCII码形式输出)

c语言课件适合初学者

C语 言 程 序 设 计 教 程 第 二 版

printf函数中的格式转换字符及其含义对应的表 达式数据 类型 有符号整 型

格式转 换符 %d 或 %i

以十进制形式输出一个整型数据。例如: int a = 20; printf ("%d", a); //输出20以十进制形式输出一个无符号整型数据。例如: int a = -1; printf ("%u", a); //BC下输出65535,VC下 4294967295 以十进制小数形式输出一个浮点型数据。例如: float f = -12.3; printf ("%f", f); //输出-12.300000

第 四 章基 本 输 入 输 出 和 顺 序 程 序 设 计

%u

无符号整 型

%f

浮点型

c语言课件适合初学者

C语 言 程 序 设 计 教 程 第 二 版

printf函数中的格式转换字符及其含 义格式 转换 符 %e, %E 含 义 对应的表 达式数据 类型 浮点型 以指数形式输出一个浮点型数据。例如: float f = 1234.8998; printf ("%e", f); //输出1.234900e+003 printf ("%E", f); //输出1.234900E+003 输出一个字符串。例如: printf ("my name is %s", "wangjinghua"); //输出my name is wangjinghua 输出一个字符型数据。例如: char ch = 'A'; printf ("%c", ch); //输出A

第 四 章基 本 输 入 输 出 和 顺 序 程 序 设 计

%s

字符串

%c

字符型8

c语言课件适合初学者

C语 言 程 序 设 计 教 程 第 二 版

1. 整数的输出 有符号整数的输出 一般形式:

a=213;

Printf(“%-+10.5hd”,a);

+00213□□□□

%[-] [+] [0] [width] [.precision] [l] [h] d

说明:

辅助格式控制字符(修饰符)

第 四 章基 本 输 入 输 出 和 顺 序 程 序 设 计

[ ]:表示可选项,可缺省。 -:表示输出的数据左对齐,缺省时是右对齐。 +:输出正数时,在数的前面加上+号。 数字0:右对齐时,如果实际宽度小于width,则在左边的空位补0。 width:无符号整数,表示输出整数的最小域宽(即占屏幕的多少 格)。若实际宽度超过了width,则按照实际宽度输出。 .precision:无符号整数,表示至少要输出precision位。若整数的 位数大于precision,则按照实际位数输出,否则在左边的空位上补0。 字母l:如果在d的前面有字母l(long),表示要输出长整型数据。 字母h:如果在d的前面有字母h(short),表示要输出短整型数据。9

c语言课件适合初学者

C语 言 程 序 设 计 教 程 第 二 版

1. 整数的输出 无符号整数的输出 一般形式: %[-] [#] [0] [width] [.precision] [l] [h] u | o | x | X辅助格式控制字符(修饰符)

说明:

第 四 章基 本 输 入 输 出 和 顺 序 程 序 设 计

| :表示互斥关系。 # :表示当以八进制形式输出数据(%o) 时,在数字前输出0;当以十六进制形式输 出数据(%x或%X)时,在数字前输出0x或 0X。 其它字

段的含义与前面介绍的相同。10

c语言课件适合初学者

C语 言 程 序 设 计 教 程 第 二 版

2. 实数的输出 一般形式: %[-] [+] [#] [0] [width] [.precision] [l | L] f | e | E | g | G 说明: 辅助格式控制字符(修饰符)

第 四 章基 本 输 入 输 出 和 顺 序 程 序 设 计

#:必须输出小数点。 .precision:规定输出实数时,小数部分的位数。 l:输出double型数据(缺省时也是输出double型数据)。 L:输出long double型数据。 其它字段的含义与前面介绍的相同。

c语言课件适合初学者

C语 言 程 序 设 计 教 程 第 二 版

3. 字符和字符串的输出 一般形式: 输出字符: %[-] [0] [width] c辅助格式控制字符(修饰符)

输出字符串:

%[-] [0] [width] [.precision] s辅助格式控制字符(修饰符)

第 四 章基 本 输 入 输 出 和 顺 序 程 序 设 计

说明: [ ]:表示可选项,可缺省。 .precision:表示只输出字符串的前precision个字符。 其它字段的含义与前面介绍的相同。

c语言课件适合初学者

C语 言 程 序 设 计 教 程 第 二 版

【例】字符及字符串的格式化输出#include <stdio.h> void main ( ) { char ch = 'A'; printf (" 12345678901234567890\n"); printf ("ch=%c-----------(ch=%%c)\n", ch); printf ("ch=%4c--------(ch=%%4c)\n", ch); printf ("ch=%-4c--------(ch=%%-4c)\n", ch); printf ("ch=%04c--------(ch=%%04c)\n", ch); printf ("st=%s--------(st=%%s)\n", "CCNU"); printf ("st=%6s------(st=%%6s)\n", "CCNU"); 运行结果: printf ("st=%06.3s------(st=%%06.3s)\n", 12345678901234567890 "CCNU"); ch=A-----------(ch=%c) } ch= A--------(ch=%4c) ch=A --------(ch=%-4c) ch=000A--------(ch=%04c) st=CCNU--------(st=%s) st= CCNU------(st=%6s) 13 st=000CCN------(st=%06.3s)

第 四 章基 本 输 入 输 出 和 顺 序 程 序 设 计

c语言课件适合初学者

C语 言 程 序 设 计 教 程 第 二 版

4. 辅助格式控制符(修饰符)注意此外,在使用printf函数时还要注意以下几点: 格式控制字符串后面表达式的个数一般要与格 式控制字符串中的格式控制符的个数相等。 格式转换符中,除了X、E、G以外,其它均为小 写。 表达式的实际数据类型要与格式转换符所表示 的类型相符,printf函数不会进行不同数据类型之 间的自动转换。象整型数据不可能自动转换成浮点 型数据,浮点型数据也不可能自动转换成型数数据

第 四 章基 本 输 入 输 出 和 顺 序 程 序 设 计

很容易出错!14

c语言课件适合初学者

C语 言 程 序 设 计 教 程 第 二 版

【例】错误的格式化输出 #include <stdio.h> void main ( ) { int a = 10, b float f = 2;输出int型数据120,却使用了%ld。 期望的运行结果: 在BC3.1下,因为整型和长整型所占内存 单元的大小不同(整型占2字节,长整型占4 输出float型数据f,却使用了 = 2.000000, b = 100 a 字节),整型不会自动转换成长整型,所以 %d

, a的不正常输出会影响到, a 输出int型数据a,却使用了%f = 10.000000, b = 100 不会正常输出120,同时也会影响到下一个表 下一个表达式的正常输出 a = 120, b = 100 a的不正常输出会影响到下一个 达式的输出。 = 表达式的正常输出 100; 但在VC6.0下,因为整型和长整型所占内 存单元的大小相同(均占4字节),且都是整 型数据,数据类型基本是相同的,所以输出 的结果正确

如何修改?

第 四 章基 本 输 入 输 出 和 顺 序 程 序 设 计

printf ("a = %d, b = %d\n", f, b); printf ("a = %f, b = %d\n", a, b); printf ("a = %ld, b = %d\n", 120, b);}

Why?

printf ("a = %f, b = %d\n", f, b); printf ("a = %f, b = %d\n", (float)a, b); 实际的运行结果(BC3.1下): 实际的运行结果(VC6.0下): printf ("a = %ld, b = %d\n", 120L, b); a = 0, b = 0 a = 0, b = 1073741824 或 a = 0.000000, b = -192 a printf ("a = %d, = = %d\n", 120, b); b 0.000000, b = 2012780960 15a = 6553720, b = -28770

a = 120, b = 100

c语言课件适合初学者

C语 言 程 序 设 计 教 程 第 二 版

4.2

格式化输入scanfscanf (“格式控制字符串 ,变量1的地址,变量2的地址, …,变量n的地址);

一般格式

第 四 章基 本 输 入 输 出 和 顺 序 程 序 设 计

功能 第一个参数格式控制字符串的控制下,接受用户的键盘 输入,并将输入的数据依此存放在变量1、变量2、……、变 量n中 。 int a; 格式控制符与后续参数中的变量地址的对应关系 scanf ("%d", &a);已 知: int a , b;

取地址运算符(与按 函数调用: scanf ("%d%d", &a , &b); 位 与 同符号),只 能作用于变量! 假设输入: 10□20↙ 变量的值: a的值是10,b的值是2016

第04章 基本输入、输出和顺序程序设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1085087.html(转载请注明文章来源)
Copyright © 2020-2021 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)