本节继续介绍c语言的基础知识点。

scanf函数:用来接收用户输入的数据。

语法:scanf("格式化控制符",地址列表);

取地址要用到取地址符:&(shift+7)

例如:int num =0; csanf("%d",&num);printf("num = %d \n",num);

注意:格式化控制符前面要求输入什么类型的数据,那么地址列表那里就必须只能放相应类型变量地址。输入值的时候可以指定输入值的分隔符,

也可以 默认用回车。

scanf的特点:

它是一个阻塞式的函数。

例如:printf("请输入吧:\n");

int num  ;

scanf("%d"&num);

printf("呵呵,你输入的是 %d",num);

一次输入多个值:int num ; float num1;(可以输入n次,n=格式化控制符的数量)

scanf("%d %f",&num,&num1);

注意:顺序不能乱;如果不想用空格在一行内输入,自己可以指定其他符号,但是输入的时候必须按照这个符号来,否则会异常(后面的变量接不到值);如果想在scanf中加文字,输入的时候也一定要按照scanf中的格式来输入;用scanf的时候,最好不要先接收一个任意数值类型(整型,实型),在接收一个char类型,如果非要接收char类型的,一定要在scanf的格式化控制符前面加一个空格。如果scanf要接收的是数字,不管你输入多少个空格和回车,都不会停止让你输入;如果scanf要接收的是int类型,你输入一个小数,那么只会截取小数的整数部分。如果接收的是数字,输入的是字符,会停止输入,但不会保存你输入的值。

scanf的运行原理:

scanf用于接收用户的输入,但是用户的输入不是直接给了变量,而是存在了缓冲区。步骤如下:

1、接收输入的时候,会先去缓冲区里面找,看缓冲区中是否合适的值,若有,那么就直接停止输入,然后把这里面的值赋给变量。若没有就一直让你输入,一直到有合适的为止。

         

c语言学习之基础知识点介绍(三):scanf函数的更多相关文章

  1. c语言学习之基础知识点介绍(二):格式化控制符和变量的补充

    上节简单介绍了c语言中的一些基础知识点,本节将对之前介绍的不够详细的知识点进行补充. 格式化控制符的消息介绍: %d的其他控制符: 1.%md:m代表这个整数位占用多少位,m是一个整数.实际数字不足的 ...

  2. oc语言学习之基础知识点介绍(三):类方法、封装以及继承的介绍

    一.类方法的使用 /* 像我们之前学的方法,必须先实例化这个类的对象才能调用这个方法,类方法不用实例化对象,直接调用这个方法. 之前学的方法调用的语法: [对象名 方法名]; //对象方法 类方法: ...

  3. c语言学习之基础知识点介绍(七):循环结构

    本节主要介绍循环结构 一.while循环 /* 语法: while(表达式){ //循环体; } 注意:循环变量.循环条件和循环控制语句三者缺一不可. 例如: */ ; //循环变量 ){ //循环条 ...

  4. oc语言学习之基础知识点介绍(五):OC进阶

    一.点语法介绍 /* 以前封装后,要给属性赋值,必须调用方法 这样做,有两个缺点: 1.代码量多,调用方法要写的东西多. 2.看起来并不像是给属性赋值,也不像取值. 我们用点语法就可以更好的解决! 点 ...

  5. oc语言学习之基础知识点介绍(四):方法的重写、多态以及self、super的介绍

    一.方法重写 /* 重写:当子类继承了父类的方法时,如果觉得父类的方法不适合,那么可以对这个方法进行重新实现,那么这个就重写. 注意:也就是说,一定只能发生在父类和子类关系中. 然后是子类重新实现父类 ...

  6. oc语言学习之基础知识点介绍(二):类和对象的进一步介绍

    一.类.对象在内存中的存储 /* 内存分区: 栈:局部变量 堆:程序员自己写代码申请开辟的 程序员自己维护,编译器现在帮我们自动优化了,它在合适的给我们加上了释放空间的语句,所以我们现在写的对象不会造 ...

  7. c语言学习之基础知识点介绍(十四):指针的进阶

    一.指针的加.减法运算 /* 1.加法运算 1).可以跟整数进行加法运算,得到的还是一个地址 公式: 地址 + 1 = 地址 + 1 * 类型所占的字节数 地址 + n = 地址 + n * 类型所占 ...

  8. c语言学习之基础知识点介绍(十一):字符串的介绍、使用

    本节主要介绍c语言中的字符串的应用. 一:字符串介绍 因为c语言中没有像Java.C#那样的字符串类型,所以无法直接用字符串.需要借助数组来解决这个问题. /* 定义:把多个字符连在一起就叫字符串.但 ...

  9. c语言学习之基础知识点介绍(十):数组

    本节主要介绍数组. 一.数组 /* 数组:一个变量可以存n个变量. 语法:类型 数组名[长度(正整数)]; 例如:int score[5];//定义了一个int类型的数组,长度为5,可以保存5个数据. ...

随机推荐

  1. 洛谷1377 M国王 (SCOI2005互不侵犯King)

    洛谷1377 M国王 (SCOI2005互不侵犯King) 本题地址:http://www.luogu.org/problem/show?pid=1377 题目描述 天天都是n皇后,多么无聊啊.我们来 ...

  2. sqlmap win32下命令集合

    http://testphp.vulnweb.com/artists.php?artist=1    #库 注意:--前面有一个空格 C:\Python27\sqlmap>sqlmap.py - ...

  3. [ZETCODE]wxWidgets教程七:对话框

    本教程原文链接:http://zetcode.com/gui/wxwidgets/dialogs/ 翻译:瓶哥 日期:2013年12月9日星期一 邮箱:414236069@qq.com 主页:http ...

  4. cpp

  5. C#中A a=new B()的意义

    A a=new B()的意义 前提:A是B的父类. A a = new B(); 或 A a; B b=new B(); a=b; 这一句的过程是这样的, 1)创建一个类A的引用a 2)创建一个类B的 ...

  6. 基于OpenCV的人脸识别[iOS开发笔记(2)]

    开始了OpenCV的试水工作了... 1.Get ready 在OpenCV中我们会使用函数cv::CascadeClassifier 来进行人脸检测.但是在使用本函数之前我们需要添加一个XML文件对 ...

  7. PHP技术开发微信公众平台

    这篇文章主要介绍了微信公众平台的两种模式(编辑模式和开发模式)顾名思义编辑模式就是写普通的功能,开发模式具有更多的功能,下面主要是针对开发模式做介绍,需要的朋友可以参考下 下面通过图文并茂的方式介绍微 ...

  8. 【转】Android 快捷方式的创建

    http://blog.csdn.net/lenmoyouzi/article/details/16939977 一.在日常开发中,我们经常会遇到这样的需求就是网桌面添加快捷方式:常见的快捷方式有两种 ...

  9. BA的广度和深度

    http://insights.thoughtworkers.org/ba-capability-and-development-path-in-thoughtworks/ 作者:ThoughtWor ...

  10. 用Gitosis搭建Git服务器(经典资料)

    该文档介绍了用Gitosis自己搭建Git服务器,文章来自于<Git权威指南>一书的第31章,讲述详细易懂易操作,是搭建Git服务器绝好资料! 下载地址:http://download.c ...