2.4 数据的输入(教案)-《C语言程序设计》同步教学(电子工业出版社)

2024-07-10
| 5页
| 89人阅读
| 64人下载
普通

内容正文:

教案用纸 第 3 周 总第 5 次 学时:2 教学班级: 课程:C语言程序设计 授课教师: 课题: 第2章 程序中的数据 2.4 数据的输入/输出 教学方法:讲授、启发 教具:常规教具 教学目标:学生掌握输入与输出函数的使用 教学重点:格式化输入输出函数的使用 教学难点:格式化输入输出函数的格式和使用说明 主要教学内容: 第2章 程序中的数据 2.4 数据的输入/输出 2.4.1 格式化输出函数printf 2.4.2 格式化输入函数scanf 2.4.3 字符数据的输入与输出 课后回顾: 教案用纸 四个一: 提问:使用表达式如何表示如下语句:将大写字母转换成与其对应的小写字母。 导入:我们编写C程序的目的是察看程序的运行结果,有的时候我们也需要输入数据,那么如何输入和输出呢?我们这节课来学习。 正文: 2.4 数据的输入/输出 C语言不提供输入输出语句,其数据的输入和输出是通过函数来实现的,这使得C语言的编译系统简单,可移植性好。 在使用函数库时,要用到预编译命令#include将有关的“头文件”包含到用户源文件中。例如: #include “stdio.h” /* 标准输入、输出头文件包含命令 */ 2.4.1 格式化输出函数printf printf是C语言最常用的函数,其功能为向系统指定的输出设备输出若干个任意类型的数据。printf后面的f是指“format”,表示格式的意思。 1.printf的函数调用形式 printf是系统标准库函数,其调用一般形式为: ( printf( "格式控制字符串" , 输出列表 ); ) printf括号内有两项,前一项是输出数据的格式(即要输出什么类型的数据),后一项是输出数据名称(即要输出哪个变量)。 printf中的输出列表是和前面的格式控制字符串按顺序一一对应的。列表中可以是常量、变量、表达式、数组和函数调用,其值应和格式说明相对应。 格式字符串内部有两个信息。 (1)格式说明。它的作用是将要输出的数据转化为指定的格式输出。通常默认形式是“%”加上一个字符,如%d表示十进制整数格式控制符,%f表示小数格式控制符等。 (2)普通字符。除了格式说明符外,所有字符均按原样输出。例如: int x=3; printf(“x=%d”,x); 输出结果为:x=3 其中“x=”为普通字符,原样输出,%d表示十进制整数格式控制符,后面的x为要输出的变量名,所以在%d的位置替换为变量x的值3。 2.printf的格式说明 如果要输出复杂的格式,可以设置格式控制符,就可以按用户的格式要求来输出相关数据。一般是“%”加上若干个英文字母,用以说明数据输出的类型、长度、位数等。格式控制符的一般形式为: ( 标 志 输 出 最 小 宽 度 . 精度长度类型 ) 其中有方括号[ ]的项为可选项。各项的意义如下。 (1)标志:可以是-、+、0。因为printf的默认格式是右对齐,左边输出空格。如果想按左对齐方式输出,则标志写“-”。如果想让空白位输出0,则标志写“0”。如果想让正数前面输出“+”号,则标志写“+”。 (2)输出最小宽度:十进制整数。表示按此数值作为数据宽度输出。例如: printf(“%+5d”,21); /*输出结果为□□+21,其中5为输出宽度,□为空格*/ printf(“%-5d”,21); /*输出结果为21□□□,其中5为输出宽度,□为空格*/ printf(“%05d”,21); /*输出结果为00021,5为输出宽度,前面的0为表示占位用数字0*/ (3)精度:精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。如果输出的是字符串,则表示输出字符的个数。例如: printf(“%7.2f”,123.456789); /*输出结果为□123.46,其中7为输出总宽度,2为小数点后位数*/ printf(“%7.5s”,”BoyAndGirl1”); /*输出结果为□□BoyAn,其中7为输出总宽度,5为输出字符个数,□为空格*/ (4)长度:可以是h、l。h表示是按短整型输出,l表示按长整型输出。例如: long x=356; printf(“%5ld”,x); /*输出结果为□□356,其中5为输出宽度,长整型需要加l*/ (5)类型:是格式说明符中必须有的项。它表示输出列表里要输出的数据类型。常用的数据类型格式控制符如表2-7所示(所有格式字符必须小写)。 表2-7 printf函数的常用类型控制字符表 格式字符 意义 d 按十进制形式输出带符号的整数(正数前无+号) o 按八进制形式无符号输出(无前导o) x 按十六进制形式无符号输出(无前导ox) u 按十进制无符号形式输出 c 按字符形式输出一个字符 f 按十进制形式输出单、双精度浮点数(默认6位小数) e 按指数形式输出单、双精度浮点数 s 输出以\o结尾的字符串 3.printf的输出列表 printf函数中的“输出列表”部分由表达式组成,这些表达式应与“格式控制字符串”中的格式说明符的类型一一对应,若“输出列表”中有多个表达式,则每个表达式之间应由逗号隔开,各输出项可以是任意合法的表达式(包括常量、变量和函数调用)。因此printf函数也具有计算的功能。 2.4.2 格式化输入函数scanf scanf函数的功能是从键盘上将数据按用户指定的格式输入给指定的变量。 1.scanf的函数调用形式 scanf函数是系统标准库函数,其调用一般形式为: ( scanf( "格式控制字符串" , 地址列表 ); ) 其中格式控制字符串的定义与使用方法与printf相同,但不能显示非格式字符。地址列表是要赋值的各变量地址。地址是由地址运算符“&”后跟变量名组成。如&a表示变量a的地址。若在地址列表中只写了变量名,忘记了加地址运算符,则输入的数据不能正确地存入到变量中。 2.scanf的格式说明 如果要输入不同类型的数据,可以设置格式控制符,C语言允许按用户的格式要求来输入相关数据。一般是“%”加上若干个英文字母,用以说明数据输入的类型、长度、位数等。格式控制符的一般形式为: ( % 宽 度 长 度 类 型 ) 其中有方括号[ ]的项为可选项,各项的意义如下。 (1)[*]:表示输入的数值不赋给相应的变量,即跳过该数据不读。例如: scanf("%d%*d%d",&a,&b); 当输入为:1 2 3时,将1赋给a,2被跳过,3赋给b。 (2)[宽度]:十进制整数,表示输入数据的最大宽度。例如: scanf("%5d",&a); 输入: 12345678↙ 只把12345赋给变量a,其余部分被截去。 (3)[长度]:长度格式符为l和h,l表示输入长整型数据(如%ld)和双精度浮点数(如%lf),h表示输入短整型数据。 (4)类型:是格式说明符中必须有的项。它表示地址列表里要输入的数据类型。 3.scanf的地址列表 在C语言中,使用了地址这个概念,这是与其他语言不同的。应该把变量的值和变量的地址这两个不同的概念区别开来,变量的地址是C编译系统分配的,用户不必关心具体的地址是多少。 例如: int a=567; 则a为变量名,567是变量的值,&a表示变量a的地址。但在赋值号左边是变量名,不能写地址。而scanf函数在本质上也是给变量赋值,但要求写变量的地址,如&a。这两者在形式上是不同的。&是一个取地址运算符,&a是一个表达式,其功能是求变量的地址。 4.使用scanf函数注意事项 (1)在用scanf函数输入数据时,不能规定精度。 (2)scanf中要求给出变量地址,若给出变量名则会出错。 (3)在输入多个数值数据时,若格式控制串中没有非格式字符做输入数据之间的间隔,则可用空格、Tab或回车。C编译在碰到空格、Tab、回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。 (4)在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符(字符类型的空格也为有效字符常量)均为有效字符。 (5)如果格式控制串中有非格式字符,则输入时也要输入该非格式字符。例如: scanf("%d,%d,%d",&a,&b,&c); 其中用非格式符“,”做间隔符,故输入时应为: 5,6,7↙ (6)注意用scanf函数(使用“%s”格式)读入字符串时,如果输入的字符串有空格或Tab键时,只将空格之前的所有字符读入,之后的字符串并不读入,所以用这种格式不能读入带空格的字符串。如果想读入带空格的字符串可使用gets函数(在第4章的字符数组有讲解)。 2.4.3 字符数据的输入与输出 字符数据可以通过字符输入函数getchar和字符输出函数putchar来实现输入输出。在使用这两个函数时,在程序头部应加头文件: #include <stdio.h> 1.字符输入函数getchar 字符输入函数getchar的功能是从标准设备(键盘)上读入一个字符,其调用一般形式为: ( getchar () ; ) 调用函数时,当程序执行到getchar函数调用语句时,将等待输入,只有当用户输入字符,并按回车键后,才接收输入的第1个字符,并在屏幕上回显该字符,同时送到内存的缓冲区,准备赋给指定的变量,并且对空格符、制表符(Tab键)和回车换行符(Enter键)都当做有效字符读入。getch()函数是立即接收用户来自键盘上的输入,不把字符回显到屏幕上。例如: char c; c=getchar(); 其中c是字符型或整型变量。 2.字符输出函数putchar 字符输出函数putchar的功能是向标准设备(显示器)上输出一个字符,其调用一般形式为: ( putchar(ch) ; ) 参数ch可以是字符常量、字符变量或整型表达式,其功能等价于: printf("%c",ch); putchar函数也可以输出一些特殊字符(控制字符),例如语句: putchar(' '); 作用是输出一个“回车换行”字符。 putchar()函数的参数也可以是一个函数。例如语句: putchar(getchar());, 就是用getchar()从键盘中读入一个字符,然后直接使用该字符作为putchar()函数的参数,输出到屏幕上。 小结: 本讲主要介绍了格式化输入、输出函数,字符输入、输出函数。一个完整的C程序应该可以实现数据的输入和输出。注意各个函数的书写格式和其中参数的含义。 备 注 难点:注意格式控制字符串的使用。 难点:printf()函数中格式字符串的使用。 注意:getchar()函数在接收字符时只能接收一个。 注意:putchar()函数在输出字符时只能每次输出一个。 学科网(北京)股份有限公司 $$

资源预览图

2.4  数据的输入(教案)-《C语言程序设计》同步教学(电子工业出版社)
1
2.4  数据的输入(教案)-《C语言程序设计》同步教学(电子工业出版社)
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。