C卓越工程师班 授课老师:龚涛 信息科学与技术学院 2016年9月 教材:《C程序员成长攻略》 网络课程网址: http://www.ytxxchina.com/taogong
第2章 实践:从点滴积累 输入输出的艺术 掌握三种控制结构语句 培养程序员的耐心和细心—分析和调试程序 指针学习 东华大学信息科学与技术学院 第2章 实践:从点滴积累 输入输出的艺术 掌握三种控制结构语句 培养程序员的耐心和细心—分析和调试程序 指针学习 东华大学信息科学与技术学院 龚涛
第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.1 printf()和scanf()函数的格式符及附加格式说明符-printf() 第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.1 printf()和scanf()函数的格式符及附加格式说明符-printf() 格式符 说明 %c 输出一个字符 %d 输出一个有符号十进制整数 %e(或%E) 输出一个以规范化指数形式表示的浮点数(实数部分只显示6位有效数字,包括一位整数和5位小数;指数部分连符号一起共3位) %f(或%F) 输出一个浮点数,默认格式下将显示6位小数(对于float类型,有效数字只有前7位;对于double类型,有效数字只有前16位) %g(或%G) 输出一个浮点数(最多只显示前六位有效数字) %i %o 输出一个八进制无符号整数(必须为正或0) %p 输出一个指针(也就是一个地址,形如0FD6,该输出值须为指针或地址值) %x(或%X) 输出一个十六进制无符号整数(必须为正或0) %s 输出一个字符串 %u 输出一个无符号十进制整数 东华大学信息科学与技术学院 龚涛
第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.1 printf()和scanf()函数的格式符及附加格式说明符-printf() 第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.1 printf()和scanf()函数的格式符及附加格式说明符-printf() 附加格式说明符 说明 空格 输出值为正时在输出结果前加一空格;为负时加一负号 - 使输出结果左对齐 + 使输出结果带上符号(正号或者负号) # 如果格式符为c、d、s、u,则对输出结果无影响; 如果格式符为g,则只当输出结果有小数时才显示小数点; 如果格式符为o,则将在输出结果前加上前缀0; 如果格式符为x,则将在输出结果前加上0x h 结果将按短整型量输出 l 结果将按长整型量输出 东华大学信息科学与技术学院 龚涛
第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.1 printf()和scanf()函数的格式符及附加格式说明符-scanf() 第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.1 printf()和scanf()函数的格式符及附加格式说明符-scanf() 格式符 说明 %c 输入一个字符 %d 输入一个有符号十进制整数 %e(或%E) 输入一个实数,可以小数或指数形式进行输入 %f(或%F) 同上 %g(或%G) %i %o 输入一个八进制无符号整数(必须为正或0) %p 输入一个指针(也就是一个地址,形如0FD6) %x(或%X) 输入一个十六进制无符号整数(必须为正或0) %s 输入一个字符串 %u 输入一个无符号十进制整数 %[] 在输入时扫描字符集合 东华大学信息科学与技术学院 龚涛
第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.1 printf()和scanf()函数的格式符及附加格式说明符-scanf() 第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.1 printf()和scanf()函数的格式符及附加格式说明符-scanf() 附加格式字符 说明 * 表示此次输入将不赋给相应变量 h 用以输入短整型数据 l 用以输入长整型数据和双精度浮点数 m 指定输入数据所占的宽度,m只能为正整数 东华大学信息科学与技术学院 龚涛
第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.2 printf()和scanf()函数的使用技巧---转义字符篇 转义字符 说明 第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.2 printf()和scanf()函数的使用技巧---转义字符篇 转义字符 说明 \b 退格符(将光标当前位置左移一位,也就是一列,不能直接显示,属于控制字符) \f 退格符(将光标移至下一页开头,属于控制字符) \n 换行符(将光标移至下一行开头,属于控制字符) \r 回车符(将光标移至本行开头,属于控制字符) \t 水平制表符(使光标跳至下一个Tab位置,属于控制字符) \\ 代表反斜杠字符\ \’ 代表单引号’ \” 代表双引号” \ddd 反斜杠后跟一个3位的八进制数,代表此八进制数对应的ASCII字符 \xhh 反斜杠后跟字母x,再跟一个两位的十六进制数,代表此十六进制数对应的ASCII字符 东华大学信息科学与技术学院 龚涛
第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.2 printf()和scanf()函数的使用技巧---scanf()函数处理空格 第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.2 printf()和scanf()函数的使用技巧---scanf()函数处理空格 没有%c格式控制字符:作为一次数据输入的结束符 用“%c”格式输入字符:作为有效字符输入 东华大学信息科学与技术学院 龚涛
第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.2 scanf()函数的使用技巧---多维浮点数组的输入赋值 第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.2 scanf()函数的使用技巧---多维浮点数组的输入赋值 TC并不能准确地判断程序中是否需要做浮点转换 解决办法:让TC编译器知道本程序需要做浮点数的输入转换,也就是在进行二维浮点数组的输入赋值之前,先提供一个线索给TC编译器。 东华大学信息科学与技术学院 龚涛
第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.3 输出的控制艺术---格式控制 针对整数类型和字符类型数据的附加格式说明符 第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.3 输出的控制艺术---格式控制 针对整数类型和字符类型数据的附加格式说明符 %m:m表示输出的数据将占用的宽度 针对浮点数据类型的附加格式说明符 %m.n: m表示输出的数据将占用的宽度,n表示将输出的小数位数 东华大学信息科学与技术学院 龚涛
第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.3 输出的控制艺术---用输出函数创造简单的程序界面效果 实现等待用户按键效果 第2章 实践:从点滴积累 2.1 输入输出的艺术 2.1.3 输出的控制艺术---用输出函数创造简单的程序界面效果 实现等待用户按键效果 输出菜单 图形动画:例如扑克牌 东华大学信息科学与技术学院 龚涛
第2章 实践:从点滴积累 2.2 指针 2.1.1 指针的实质 指针实际上是一个特殊的变量,它所存储的是一个内存地址值,而不是具体的数据。简单点说,指针存储的是一个指定数据在内存中存放的地址。 12 东华大学信息科学与技术学院 龚涛 12
答疑联系信息 手机:18201798064 QQ:5763698 E-mail:taogong@dhu.edu.cn 办公室地址:2号学院楼518 上机机房:7号机房 课程网址 http://www.ytxxchina.com/taogong/teaching.jsp 东华大学信息科学与技术学院 龚涛