版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章顺序结构第三节数据输入C语言中常用的数据输入函数为:scanf()scanf()的一般调用形式Scanf(格式控制,输入项表);格式控制串的作用是指定输入时的数据转换格式,由“%”开始,其后是格式描述字符。输入项为合法的地址表达式。如:若i为int型变量,j为float型变量,k为char型变量,可以通过调用scanf()函数完成给以上变量进行输入数据。
scanf(“%d%f%c”,&i,&j,&k);&:求地址运算符号&i:取变量i的地址scanf()格式描述字符说明c:一个字符d:十进制整数f(1f):单(双)精度i:整型,不是八、十六进制e(1e):单(双)精度o:八进制x:十六进制u:无符号十进制整数s:字符串注意:a、long或double必须加l。b、在格式字符前可用一个整数指定输入数据所占宽度,但不可指定小数位数。c、格式说明个数应与输入项个数相同。d、当输入数据少于输入项时,程序等待输入,当输入数据多于输入项时,多余的数据并不消失,而是留作下一个输入操作时的输入数据。e、scanf调用结束后将返回一个值,其值等于输入值的输入项个数。f、格式符之间也可以逗号隔开各输入格式符,但真正输入时必须要用逗号将各输入值隔开。(不用逗号隔开时,输入时值必须用空格或TAB隔开)。从键盘输入数据输入数据时,最后一定要按下回车键,scanf才能接受从键盘输入的数据。注意:在scanf格式控制符中不要用\n,因为\n代表换行,本身scanf就要求以回车结束,再加上\n后,会出现必须输入两次才能结束的情况。a、输入的数据多于scanf要求输入的数据时,多余时作为下一次输入操作的输入数据b、格式控制串中插入其它字符,注意:scanf函数的格式控制字符串是为了输入数据用的,无论其中有什么字符,也不会输出到屏幕上,因此要想在屏幕上输出提示信息,应首先使用printf函数输出。(人性化)以下为示例文件3-4-1.c部分程序inta1,a2,a3;printf("请输入a1、a2和a3的值\n");scanf("%d%d%d",&a1,&a2,&a3);printf("a1=%d,a2=%d,a3=%d\n",a1,a2,a3);c、输入数据的数据用间隔符(空格,制表符)隔开。见示例文件3-4-2.c#include<stdio.h>/*示例文件3-4-2.c*/voidmain(){inti,j;floata,b;charx,y;printf("请输入i,j,a,b,x,y的值\n");scanf("%d%d%f%f%c%c",&i,&j,&a,&b,&x,&y);printf("i=%d,j=%d,a=%f,b=%f,x=%c,y=%c\n",i,j,a,b,x,y);}注意数值数据输入时的间隔,字符数据输入前不能加间隔符。d、指定输入数据所占宽度(通常不指定)。参照示例文件分析,输入12345.678后,变量a,b,c内输入的数据是多少?#include<stdio.h>/*示例文件3-4-3.c*/voidmain(){inta;floatb;doublec;printf("请输入a,b,c的值\n");scanf("%3d%5f%5lf",&a,&b,&c);printf("a=%d,b=%f,c=%lf\n",a,b,c);}e、跳过某个输入数据在%和格式字符之间加入*号,作用是跳过对应输入的数据。参照示例文件3-4-4.c输入12233445#include<stdio.h>voidmain(){inta1,a2,a3;printf("请输入值\n");scanf("%d%*d%d%d",&a1,&a2,&a3);printf("a1=%d,a2=%d,a3=%d\n",a1,a2,a3);}f、在格式控制字符串中插入其他字符注意:在scanf()中格式控制字符不会输出在屏幕上,而是要求输入数据时按照一一对应的位置原样输入这些字符参照示例文件3-4-5.c#include<stdio.h>voidmain(){inta;floatb;scanf("a=%d,b=%f",&a,&b);printf("a=%d,b=%f\n",a,b);}输入:a=20,b=13.345注意:scanf(“%d,%d”,&i,&j);对于上述语句,如果想将13和24输入给i和j,以下三种输入形式是可以的
13,2413,2413,24但如果是13,24这种输入形式则是错误的。字符输入函数:getchar()函数作用是从终端设备接收一个输入字符。一般格式为:getchar()它的值就是程序运行时由使用者从键盘输入的字符,在输入时,空格、回车符都将作为字符读入,而且只有在使用者按下Enter键时,读入才开始执行。#include<stdio.h>/*示例文件3-4-6.c*/voidmain(){charx,y,z;x=getchar();y=getchar();z=getchar();printf("\n");putchar(x);printf("\n");putchar(y);printf("\n");putchar(z);printf("\n");}[例]若变量已正确说明为float类型,要通过以下的输入语句将值10.000000赋给变量a、22.000000赋给变量b、33.000000赋给变量c,以下不正确的输入形式是()scanf(“%f%f%f”,&a,&b,&c);A)102233B)10.0,22.0,33.0C)10.022.033.0D)102233[例]有以下程序#include<stdio.h>voidmain(){chara,b,c,d;c=getchar();d=getchar();scanf(“%c%c”,&a,&b);putchar(a);putchar(b);printf(“%c%c”,c,d);}程序运行后,若从键盘输入(从第1列开始)9876则输出结果为()答案:879设计作业:1、设计程序完成从键盘输入两个整数,交换两个整数并输出到屏幕上。2、设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据安全防护技术保障承诺书6篇范文
- 2026成都市树德实验中学(东区)寒假招聘校聘储备教师的备考题库含答案详解(黄金题型)
- 清基多肽课件知识
- 2026新疆图木舒克市馨润园艺工程有限公司招聘1人备考题库附答案详解(b卷)
- 2026年1月江苏南京市雨花台区所属单位招聘编外教师53人备考题库附答案详解(巩固)
- 2026上半年贵州事业单位联考印江自治县招聘83人备考题库附参考答案详解(夺分金卷)
- 2026天津华北地质勘查局及所属事业单位招聘13人备考题库附答案详解
- 2026中国再保险(集团)股份有限公司博士后科研工作站招聘备考题库含答案详解(基础题)
- 2026新疆、内蒙古风电叶片工厂(央企)招聘备考题库带答案详解(培优b卷)
- 2026年河南省事业单位公开招聘联考备考题库附答案详解(a卷)
- 反诈宣传讲座课件
- GB/T 6003.2-2024试验筛技术要求和检验第2部分:金属穿孔板试验筛
- DB32T 4398-2022《建筑物掏土纠偏技术标准》
- (精确版)消防工程施工进度表
- DD 2014-14 机载成像高光谱遥感数据获取技术规程
- 保险公司资产负债表、利润表、现金流量表和所有者权益变动表格式
- 电磁流量说明书
- XX少儿棋院加盟协议
- 五年级数学应用题专题训练50题
- 2021年四川省资阳市中考数学试卷
- 高处作业安全培训课件
评论
0/150
提交评论