首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载 | ||
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试 MPA考试 | 中科院 |
||
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT 新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语 |
||
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证 华为认证 | Java认证 |
||
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格 报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师 人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平 驾驶员 | 网络编辑 |
||
卫生资格 | 执业医师 | 执业药师 | 执业护士 | ||
会计从业资格考试(会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师 注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师 |
||
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师 质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师 设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师 城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师 |
||
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏 |
(三)、标准输入输出语句
Turbo C 2.0标准库提供了两个控制台格式化输入、输出函数scanf();和printf();这两个函数可以在标准输入输出设备上以各种不同的格式读写数据。scanf() 函数用来从标准输入设备(键盘)上读数据,printf()函数用来向标准输出设备(屏幕)写数据。下面详细介绍这两个函数的用法。
1.标准输入语句
scanf()函数是格式化输入函数, 它从标准输入设备(键盘) 读取输入的信息。其调用格式为:
scanf(<格式化字符串>, <地址表>);
格式化字符串包括以下三类不同的字符;
(1).空白字符:空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符。
(2).非空白字符:一个非空白字符会使scanf()函数在读入时剔除掉与这个非空白字符相同的字符。
(3).格式化说明符:以%开始,后跟一个或几个规定字符,用来确定输出内容格式。
Turbo C 2.0提供的输入格式化规定符如下:
地址表是需要读入的所有变量的地址,而不是变量本身,取地址符为'&'。各个变量的地址之间同,分开。
例如:
scanf(%d,%d,&i,&j);
上例中的scanf()函数先读一个整型数,然后把接着输入的逗号剔除掉,最后读入另一个整型数。如果,这一特定字符没有找到,scanf()函数就终止。若参数之间的分隔符为空格,则参数之间必须输入一个或多个空格。
说明:
(a).对于各个变量,类型说明符是什么,输入格式化说明符就应该用对应的类型。否则会出现程序错误或输入数据和理想的不一样。
(b).对于字符串数组或字符串指针变量,由于数组名和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上&操作符。
char *p,str[20];
scanf(%s, p);
scanf(%s, str);
具体字符串,指针的知识以后再介绍。
©.可以在格式化字符串中的%各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。
如上例中若规定只能输入10字符给字符串指针p,则第一条scanf()函数语句变为:
scanf(%10s, p);
程序运行时一旦输入字符个数大于10, p就不再继续读入。
实际使用scanf()函数时存在一个问题, 下面举例进行说明:
当使用多个scanf()函数连续给多个字符变量输入时, 例如:
char c1, c2;
scanf(%c, &c1);
scanf(%c, &c2);
运行该程序,输入一个字符A后回车(要完成输入必须回车),在执行scanf(%c,&c1)时,给变量c1赋值A,但回车符仍然留在缓冲区内,执行输入语句scanf(%c,&c2)时,变量c2输出的是一空行,如果输入AB后回车,那么实际存入变量里的结果为c1为A,c2为B。
要解决以上问题, 可以在输入函数前加入清除函数fflush();(这个函数的使用方法将在本节最后讲述)。
(d).当在格式说明符之间加入'*'时,表示跳过输入,例如:
scanf(%3*d,&a);
当输入12345的时候,前面三个字符跳过去不考虑,最终变量a的值为45。
相关推荐:计算机等级考试二级C语言教程汇总北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |