零基础学C语言 笔记二 scanf
2015-08-21 21:54
387 查看
今天,我们接着来写写C语言的表达式,首先我们看看scanf函数的使用:
那么何为占位符呢?占位符的意思就是打印到这个地方的时候,不要原样输出,而是要让变量的值填充过去。这个在我们的printf中也是一样的,上一篇博客已经介绍了printf的使用,稍后我们继续来用printf与scanf做比较。
我们先来看一个代码,进而分析scanf函数的应用:
我们看一下输出的结果:
那么我们就如此的简单的使用scanf来接受了用户的输入并且进行了运算。但是里面还有很多我们需要注意的内容:
1、scanf函数是一个阻塞式的函数,当CPU运行到scanf函数的时候。就会停下来,接受用户的输入,回车表示用户输入完毕。
2、输入两个值的时候,中间用空格、回车、tab键隔开
3、两个占位符之间不要隔开
4、多个占位符中间,用的什么符号,那么输入值的时候,多个值中间就应该用什么符号隔开
5、scanf函数输入多个字符的时候,不会忽略空格 回车 tab
6、scanf取值原理:用户从控制台输入的数据会先放在缓冲区当中,变量的取值是从缓冲区中取的数据
7、scanf函数 给变量赋值,不是直接交给变量,而是先去看看缓冲区中有没有数据,如果有数据,就直接拿缓冲区中的数据,如果缓冲区中没有数据 那么才会让用户输入数据,用户输入的所有数据都会放到缓冲区中,包括回车、 空格、tab
8、在用scanf函数接收字符赋值的时候,之前,如果把缓冲区里面的数据都清空掉,那么就会让用户输入了
不然就有可能赋 缓冲区 当中的 已经存在的值 回车 空格 tab
我们接下来看一下printf与scanf的区别:
1、写法一样,意义不同。
printf占位符:把这个变量以当前这个格式类型输出。printf函数输出的时候,我们喜欢加\n换行。
scanf占位符,接受一个这个类型的值,交给我们的变量。不能加\n。
2、
printf函数,输出的是变量的值,直接用变量名称就OK
scanf函数,实际上是给内存中的那一块空间赋值,所以要用&找到这个变量所在的那一块空间
scanf函数的使用:
语法:scanf(”格式字符串”,变量的地址)。那么格式字符串包含占位符。那么何为占位符呢?占位符的意思就是打印到这个地方的时候,不要原样输出,而是要让变量的值填充过去。这个在我们的printf中也是一样的,上一篇博客已经介绍了printf的使用,稍后我们继续来用printf与scanf做比较。
我们先来看一个代码,进而分析scanf函数的应用:
//scanf 函数的使用及注意点 #include <stdio.h> int main(int argc, const char * argv[]) { printf("请输入两个数字:\n"); int num1,num2,result; scanf("%d%d",&num1,&num2); result=num1+num2; printf("这两个数的和是:%d\n",result); return 0; }
我们看一下输出的结果:
那么我们就如此的简单的使用scanf来接受了用户的输入并且进行了运算。但是里面还有很多我们需要注意的内容:
1、scanf函数是一个阻塞式的函数,当CPU运行到scanf函数的时候。就会停下来,接受用户的输入,回车表示用户输入完毕。
2、输入两个值的时候,中间用空格、回车、tab键隔开
3、两个占位符之间不要隔开
4、多个占位符中间,用的什么符号,那么输入值的时候,多个值中间就应该用什么符号隔开
5、scanf函数输入多个字符的时候,不会忽略空格 回车 tab
6、scanf取值原理:用户从控制台输入的数据会先放在缓冲区当中,变量的取值是从缓冲区中取的数据
7、scanf函数 给变量赋值,不是直接交给变量,而是先去看看缓冲区中有没有数据,如果有数据,就直接拿缓冲区中的数据,如果缓冲区中没有数据 那么才会让用户输入数据,用户输入的所有数据都会放到缓冲区中,包括回车、 空格、tab
8、在用scanf函数接收字符赋值的时候,之前,如果把缓冲区里面的数据都清空掉,那么就会让用户输入了
不然就有可能赋 缓冲区 当中的 已经存在的值 回车 空格 tab
我们接下来看一下printf与scanf的区别:
1、写法一样,意义不同。
printf占位符:把这个变量以当前这个格式类型输出。printf函数输出的时候,我们喜欢加\n换行。
scanf占位符,接受一个这个类型的值,交给我们的变量。不能加\n。
2、
printf函数,输出的是变量的值,直接用变量名称就OK
scanf函数,实际上是给内存中的那一块空间赋值,所以要用&找到这个变量所在的那一块空间
相关文章推荐
- C++ 中左值与右值区别
- C/C++浮点数在内存中的存储方式
- c语言之进制转换(栈实现)
- [C++11 并发编程] 08 - Mutex std::unique_lock
- 一个C++的平衡二叉树例子
- C语言快慢指针
- C语言快慢指针
- 一起talk C栗子吧(第三十八回:C语言实例--你了解scanf吗)
- C语言字符串总结
- 【面试】C\C++程序基础1
- 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete
- zzdd自留地
- C语言之 进制转换(循环)
- [C语言]指针深入理解
- [C语言]指针初识
- 黑马程序员-c语言链表-学生管理系统(Q)
- c/c++常见关键字
- C语言产生随机字符串
- C语言指针5分钟教程
- Compare Version Numbers