一.是什么?
C语言下的scanf()函数是样式化输入函数,由C语言自带的库提供,
二.有什么用?
可以按用户指定的格式从键盘上把数据输入到指定的变量之中.
三.怎么用?
1.#include<stdio.h> 引入头文件,表示在这个文件里要用到里面的scanf()函数.
2.scanf("格式化字符串,变量地址);如:int a;int b; sanf("%d,%d",&a,&b);
3.格式化规定字符,以[%]开始,后跟一个或几个规定字符
常用:%d 整数 %f 浮点数 %c 单个字符 %s字符串 %p 指针的值
[双精度浮点类型double字符是%lf]
四.什么时候用?
当你想通过外部输入数据赋值到程序变量的时候.
五.有什么特点?
1.可以单个或批量输入,但两个%%之间的分割内容必须按原样输入.
2.格式化字符处啊不能\n做换行,直接回车就可以表示结束并自动换行.
file:///var/folders/f6/22br_b6x6t90wkzv5gkqssmr0000gn/T/WizNote/d56697f4-2566-4c37-9dce-ced39a7dfa88/index_files/3747961.png
file:///var/folders/f6/22br_b6x6t90wkzv5gkqssmr0000gn/T/WizNote/d56697f4-2566-4c37-9dce-ced39a7dfa88/index_files/10840515.png
[scanf()函数一般用于跟用户进行交互,让用户把数据输入到程序中去,实现特定功能
file:///var/folders/f6/22br_b6x6t90wkzv5gkqssmr0000gn/T/WizNote/d56697f4-2566-4c37-9dce-ced39a7dfa88/index_files/6554730.png
1.
scanf函数和printf函数的区别
1.scanf函数用来输入,printf函数是用来输出.
2.scanf函数不能用\n换行符换行
3.scanf函数后面定的是变量的地址值,printf函数后面定的变量名.
共同点
都需要引入#include<stdio.h>头文件,都是C语言给我们提供的定义好的函数
4.用的类型占用都是一样的.
2.
变量在内存中占用的空间大小要看变量类型和编译环境,所以占用空间不一样大.
3.
一样大,占用内存空间大小只跟变量类型和编译环境有关,和赋值多少无关,两个
都是int型所以一样大.
4.
得看什么编译环境.
5.
打印的a的值是0[因为printf()函数作用域内是int a=0;[就近原则,一级作用域] 而没有定义变量类
型的a=3就近原则向上寻找变量引用是int a=2的作用域,改变的是int a=2
2.写一个整数乘法计算器,在控制台上输入任意两个整数会计算得出二者
的乘积.
file:///var/folders/f6/22br_b6x6t90wkzv5gkqssmr0000gn/T/WizNote/d56697f4-2566-4c37-9dce-ced39a7dfa88/index_files/5075714.png
file:///var/folders/f6/22br_b6x6t90wkzv5gkqssmr0000gn/T/WizNote/d56697f4-2566-4c37-9dce-ced39a7dfa88/index_files/15344791.png
file:///var/folders/tj/3nhzf8fj3pg3g0tn9n2d758h0000gn/T/cn.wiz.wiznoteformac/WizNote/7815255.png
1.能,先定义一个接受数据的变量,同时确定这个变量的类型.
2用scanf函数,确定控制台要输出的数据类型[%d整数 %f浮点数 %c字符 %s 字符串0
3.在scanf函数第二个部分放上这个变量的地址.(使用取址符加变量名[&变量名])
4.如何判断一个数据输入时是否赋值成功?
file:///var/folders/tj/3nhzf8fj3pg3g0tn9n2d758h0000gn/T/cn.wiz.wiznoteformac/WizNote/6319432.png
scanf执行完后会返回一个int整数,且只有两个值,0或1.
容易犯的错误
1.sanf函数使用时,没有导入#include<stdio.h>
2.有一个scanf函数就会有一次阻断
例如:
1:正确写法,可以同时输出scanf返回的int值看看是否成功和输出用户键入的数值.
错误写法:.有一个scanf函数就会有一次阻断
file:///var/folders/tj/3nhzf8fj3pg3g0tn9n2d758h0000gn/T/cn.wiz.wiznoteformac/WizNote/13126267.png
3.小数可以赋值给整数,这个会产生精度丢失,但是可以实现.
4.确定一个数据是否赋值成功必须看返回结果,是否是1.
5.在scanf函数里用\n,这是错误的.
6.一次性给多个变量赋值时,要注意格式正确!
file:///var/folders/tj/3nhzf8fj3pg3g0tn9n2d758h0000gn/T/cn.wiz.wiznoteformac/WizNote/15260756.png
这个返回值是批量赋值成功的数量,如果两个都成功了,则是2.如果都不成功,则是0;
file:///var/folders/f6/22br_b6x6t90wkzv5gkqssmr0000gn/T/WizNote/d56697f4-2566-4c37-9dce-ced39a7dfa88/index_files/7848869.png| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |