一.是什么? 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.写一个整数乘法计算器,在控制台上输入任意两个整数会计算得出二者 的乘积. - #include <stdio.h>
- int main()
- {
- int a,b;
- printf("请输入两个整数,用逗号分隔");
- scanf("%d,%d",&a,&b);
- printf("这两个整数的乘积是:a%d*b%d=%d\n",a,b,a*b);
- return 0;
- }
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值看看是否成功和输出用户键入的数值.
- #include<stdio.h>
- int main()
- {
- int a=1
- printf("请输入....\n");
- int isOK=scanf("%d",&a);
- printf("是否赋值成功了=%d\n",isOk);
- printf("控制台输出的数据是:%d\n",a);
- return 0;
- }
错误写法:.有一个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
批量赋值有区别:scanf("%d--%d",&d,&a);
这个返回值是批量赋值成功的数量,如果两个都成功了,则是2.如果都不成功,则是0; file:///var/folders/f6/22br_b6x6t90wkzv5gkqssmr0000gn/T/WizNote/d56697f4-2566-4c37-9dce-ced39a7dfa88/index_files/7848869.png
|