资源预览内容
第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
第9页 / 共29页
第10页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Version 3.0C 语言中的输入和输出语言中的输入和输出第四章第四章回顾回顾赋值运算符赋值运算符算术算运符算术算运符比较运算符比较运算符逻辑运算符逻辑运算符位运算符位运算符转换转换运算符的优先级运算符的优先级2 2目标目标理解带格式的输入理解带格式的输入/ /输出函数输出函数 - - scanf() 和和 printf()使用字符输入使用字符输入/ /输出函数输出函数 - - getchar() 和和 putchar()3 3标准输入标准输入/ /输出输出C 语言中语言中的标准库提供了输入和输出的标准库提供了输入和输出函数函数 标准库标准库提供:提供: 输入输入/输出函数来处理输入、输出、字符输出函数来处理输入、输出、字符 和字符串操作和字符串操作 标准输入通常是指键盘标准输入通常是指键盘 标准输出通常是指显示器(也称控制台)标准输出通常是指显示器(也称控制台) 可以用文件代替标准可以用文件代替标准输入和输出输入和输出设备设备4 4头文件头文件 #include 这是一个预处理命令这是一个预处理命令 stdio.h 是一个文件,称为头文件是一个文件,称为头文件 包括对应于包括对应于 C 语言程序中使用的输入语言程序中使用的输入/ /输出函数的宏输出函数的宏 所设计的所设计的 printf()、scanf()、putchar()、getchar() 等函数需要使用头文件中等函数需要使用头文件中的这些宏才能正确执行的这些宏才能正确执行5 5带格式的输入带格式的输入/ /输出输出 printf() 用于带格式的输出用于带格式的输出 scanf() 用于带格式的输入用于带格式的输入能以用户控制下的各种预指定能以用户控制下的各种预指定格式读入和输出数据格式读入和输出数据格式说明符格式说明符指定了变量值输入指定了变量值输入和输出的格式和输出的格式6 6printf ()-1用于在标准输出设备控制台上显示数据用于在标准输出设备控制台上显示数据语法格式:语法格式: printf (control string , argument list);控制字符串控制字符串参数列表参数列表 都需要一个格式命都需要一个格式命令令- -与参数列表需要与参数列表需要在数量、类型和顺序在数量、类型和顺序上匹配上匹配 需要由需要由“ ”括起括起来。由文本字符和空来。由文本字符和空格、格式命令和非打格、格式命令和非打印字符组成印字符组成7 7printf ()-2控制字符串由三类项目中的一项或多项组成:控制字符串由三类项目中的一项或多项组成:文本字符:由可打印字符组成文本字符:由可打印字符组成格式命令:格式命令: 以以 % 符号开始,随后紧跟与符号开始,随后紧跟与数据项相应的格式代码数据项相应的格式代码非打印字符:包括制表符、空格和新行非打印字符:包括制表符、空格和新行8 8格式代码格式代码-1-1格式格式printf() scanf() 单字符单字符%c %c 字符串字符串%s %s 带符号的十进制整数带符号的十进制整数%d %d 浮点数浮点数 (十进制记数法)(十进制记数法)%f %f 或或 %e 浮点数浮点数 (十进制记数法)(十进制记数法)%lf %lf 浮点数(指数计数法)浮点数(指数计数法)%e %f 或或 %e 浮点数(浮点数( % %f f 或或 % %e e 中较短的一个)中较短的一个)%g 不带符号的十进制整数不带符号的十进制整数%u %u 不带符号的十六进制整数(使用不带符号的十六进制整数(使用“ABCDEF”)%x %x 不带符号的八进制整数不带符号的八进制整数%o %o 上表中,上表中,c、d、f、lf、e、g、u、s、o 和和 x 都是类型说明符都是类型说明符9 9格式代码格式代码-2-2格式代码格式代码输出约定输出约定%d 整数的数字位数整数的数字位数%f 数字的整数部分如实输出。小数部分数字的整数部分如实输出。小数部分保留保留 6 6 位。如果小数部分不是位。如果小数部分不是 6 6 位,位,末尾填零;否则,四舍五入取到末尾填零;否则,四舍五入取到 6 6 位位%e 小数点左小数点左侧侧保留一位数字,右侧保留保留一位数字,右侧保留 6 6 位数字(与上面的位数字(与上面的 % %f f 相同)相同)上表总结了各种代码的输出约定上表总结了各种代码的输出约定1010控制字符串特殊字符控制字符串特殊字符格式代码格式代码输出约定输出约定 输出输出 字符字符 输出输出 字符字符% % 输出输出 % % 字符字符由于由于%和和“在控制字符中有特殊用途在控制字符中有特殊用途, ,因此如果因此如果需要输出这些字符需要输出这些字符, ,按照上表的方式使用按照上表的方式使用1111控制字符串与格式代码控制字符串与格式代码编编号号语句语句控制控制字符字符串串控制字符串控制字符串包括的内容包括的内容参数参数列表列表参数列表参数列表的说明的说明屏幕屏幕显示显示1. 1. printf(%d,300); %d 仅由格式命仅由格式命令组成令组成300 常量常量300 2. 2. printf(%d,10+5); %d 仅由格式命仅由格式命令组成令组成10 + 5 表达式表达式15 3. 3. printf(Good Morning Mr. Lee. ); 早上早上好好 李李先生先生. .仅由文本字仅由文本字符组成符组成无无无无Good Morning Mr. Lee.4. 4. int count = 100; printf(%d,count); %d 仅由格式命仅由格式命令组成令组成count 变量变量100 1212printf() 示例示例显示整数、浮点数和字符串的程序显示整数、浮点数和字符串的程序#include void main() int a = 10; float b = 24.67892345; char ch = A; printf(Integer data = %dn, a);printf(Float Data = %fn,b);printf(Character = %cn,ch);printf(This prints the stringn);printf(%s,This also prints a stringn); 1313printf() 中的修饰符中的修饰符-1-1 “-” 修饰符修饰符 数据项在范围内向左对齐,从范围最左侧的位数据项在范围内向左对齐,从范围最左侧的位置开始输出数据项置开始输出数据项字符宽度修饰符字符宽度修饰符 可以用于浮点型、双精度型和字符数组型(字可以用于浮点型、双精度型和字符数组型(字符串)。符串)。 范围宽度修饰符是一个整数,定义了数据项的范围宽度修饰符是一个整数,定义了数据项的 最大范围宽度。最大范围宽度。1414printf() 中的修饰符中的修饰符-2-2 精度修饰符精度修饰符 可以用在浮点型、双精度型或字符数组型(字符可以用在浮点型、双精度型或字符数组型(字符串)中。如果用在浮点型或双精度型数据中,数串)中。如果用在浮点型或双精度型数据中,数字字符串表示小数右侧最多可输出的数字位数字字符串表示小数右侧最多可输出的数字位数 “0” 修饰符修饰符 字段的默认填充符是空格。如果用户希望用零作字段的默认填充符是空格。如果用户希望用零作为填充符,需要使用此修饰符为填充符,需要使用此修饰符 “l” 修饰符修饰符 可以借助于此修饰符将整数显示为长整型或双精可以借助于此修饰符将整数显示为长整型或双精度型参数。相应的格式代码为度型参数。相应的格式代码为 %ld1515printf() 中的修饰符中的修饰符-3-3 “h” 修饰符修饰符 此修饰符用于显示短整数。此修饰符用于显示短整数。 相应的格式代码为相应的格式代码为 %hd “*” 修饰符修饰符 如果用户不希望预先指定字段宽度,如果用户不希望预先指定字段宽度, 而希望程序来指定,则需要用到此修饰符而希望程序来指定,则需要用到此修饰符1616修饰符示例修饰符示例#include void main()printf(The number 555 in various forms:n);printf(Without any modifier: n);printf(%dn,555);printf(With modifier :n);printf(%-dn”,555);printf(With digit string 10 as modifier :n);printf(%10dn”,555);printf(With 0 as modifier : n);printf(%0dn”,555);printf(With 0 and digit string 10 as modifiers :n);printf(%010dn”,555);printf(With -, 0 and digit string 10 as modifiers: n);printf(%-010dn,555);printf()中的修饰符的使用的示例中的修饰符的使用的示例1717scanf()用于接受数据用于接受数据的通用格式的通用格式scanf(control string , argument list);控制字符串控制字符串参数列表参数列表printf()语句中的使用的格式极其语法同语句中的使用的格式极其语法同样适用与样适用与scanf()语句语句1818printf() 和和 scanf() 参数列表之参数列表之间的区别间的区别 printf() 使用变量名、常量、符号常量使用变量名、常量、符号常量和表达式和表达式 scanf()使用变量指针使用变量指针使用使用 scanf()时,对于参数列表应遵循时,对于参数列表应遵循以下规则:以下规则: 如果希望读取基本数据类型变量的值,如果希望读取基本数据类型变量的值,应在变量名的前面加上符号应在变量名的前面加上符号& & 当读取指针变量指向的值时,在变量名当读取指针变量指向的值时,在变量名前不能使用前不能使用 & & 1919printf() 和和 scanf() 格式命令之格式命令之间的区别间的区别没有没有 %g 选项选项 格式代码格式代码 %f 和和 %e 在在效果上是一样的效果上是一样的2020scanf() 示例示例#include void main() int a; float d; char ch, name40; printf(Please enter the datan ); scanf(%d %f %c %s, &a, &d, &ch, name); printf(nThe values accepted are : %d, %f, %c, %s, a, d, ch, name); scanf()使用非打印字符来判断输入数据使用非打印字符来判断输入数据是什么时候开始和结束的是什么时候开始和结束的可以忽略空白区域和行边界来获取数据可以忽略空白区域和行边界来获取数据2121缓冲输入缓冲输入/ /输出输出用于读取和写入用于读取和写入 ASCII 字符字符是一块临时的存储区域,或在内存中,或在是一块临时的存储区域,或在内存中,或在设备的控制卡上设备的控制卡上缓冲输入缓冲输入/ /输出输出控制台输入控制台输入/ /输出输出缓冲文件输入缓冲文件输入/ /输出输出2222控制台输入控制台输入/ /输出输出控制台输入控制台输入/ /输出函数将其操作指向系统的输出函数将其操作指向系统的标准输入和输出标准输入和输出 C 中最简单的控制台输入中最简单的控制台输入/ /输出是:输出是: getchar() 从键盘读取一个(且仅一个)字符从键盘读取一个(且仅一个)字符 putchar() 在屏幕上输出一个字符在屏幕上输出一个字符 2323getchar()用于从键盘读取输入数据,方式为一次用于从键盘读取输入数据,方式为一次读一个字符读一个字符缓冲字符,直到用户按回车键缓冲字符,直到用户按回车键 getchar() 函数没有参数,但仍然必须函数没有参数,但仍然必须使用括号使用括号 2424getchar() 示例示例#include void main() char letter; printf(nPlease enter any character: ); letter = getchar(); printf(nThe character entered by you is %c, letter); getchar()的使用示例的使用示例2525putchar() C 中的字符输出函数中的字符输出函数 需要参数需要参数单字符常量单字符常量转义序列转义序列字符变量字符变量putchar() 函数的参数函数的参数2626putchar() 的选项和效果的选项和效果参数参数函数函数效果效果字符变量字符变量putchar(c) 显示字符变量显示字符变量 c 的内容的内容字符常量字符常量putchar(A) 显示字母显示字母 A A数值常量数值常量putchar(5) 显示数字显示数字 5 5转义序列转义序列putchar(t) 在光标位置插入制表符在光标位置插入制表符转义序列转义序列putchar(n) 在光标位置插入回车在光标位置插入回车2727#include void main() putchar(H); putchar(n); putchar(t); putchar(E); putchar(n); putchar(t); putchar(t); putchar(L); putchar(n); putchar(t); putchar(t); putchar(t); putchar(L); putchar(n); putchar(t); putchar(t); putchar(t); putchar(t); putchar(O); putchar()2828总结总结本课主要讲解了以下内容:本课主要讲解了以下内容:带格式的输入、输出函数带格式的输入、输出函数scanf()函数函数printf()函数函数字符的输入和输出字符的输入和输出getchar()函数函数putchar()函数函数2929
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号