c语言scanf函数的用法数

C语言printf()和scanf()函数?其实就是输入输出
C语言printf()和scanf()函数?其实就是输入输出
传说五千年
在解释这两个函数之前,为了方便大家更容易理解,我们先来讲讲下面的这幅图。这个图中的例子其实很简单,我们就是把题目通过输入设备(例如键盘鼠标)传输到计算机中,然后让计算机进行运算得出结果,再然后把结果通过输出设备(例如显示器)反馈给我们,这是一个简单的人机的交互过程。在C 语言中其实也是一样的。在程序的运行中,我们经常会进行一些输入输出的操作,用来实现交互。为此, C语言便给出了 printf() 函数和 scanf() 函数用来实现输入和输出两个动作。其中,printf()函数用于向控制台输出字符,scanf()函数用于读取用户的输入,下列将分别讲解这两个函数的用法。1、printf()函数在前面的举例中,我们会经常使用 printf() 函数输出数据,也就是类似于上面图中的输出设备,只不过它们的输出的形式不相同。它可以通过【格式控制字符】输出多个任意类型的数据。下面列举了printf()函数中常用的格式控制字符。常用printf()格式字符这个表格中列举了很多格式控制字符,使用这些格式控制符可以让printf()输出指定类型的数据,接下来通过一个具体的案例来演示这些格式控制符的使用,如案例一所示.案例一:1 #include1 void main()2 {3 printf(&%c %c&, 'H', '\n');4 printf(&%s&, &Hello, world!\n&);5 printf(&%d %d %d \n&, 1, 2, 3);6 printf(&%f %f \n&, 2.1, 2.2);7 }运行结果如下图所示:在这个例题中 printf() 函数,通过格式控制字符“%c”、“%s”、“%d”、“%f”,分别输出了字符、字符串、整数、浮点数。2、scanf()函数scanf() 函数负责从控制台上接收用户的输入,你可以理解为它就是一种输入设备,它可以灵活接收各种类型的数据,如字符串、字符、整型、浮点数等, scanf() 函数也可以通过格式控制字符控制用户的输入,其用法与 printf() 函数一样。接下来,通过一个获取字符串的案例讲解 scanf() 函数的用法,如案例二所示。案例二:8 void main()9 {10 char str[256]; // 字符数组保存得到的字符串11 scanf(&%s&, str);12 printf(&%s\n&, str);13 }运行结果如图所示:在案例二中,首先定义了一个长度为256的字符数组str,然后利用 scanf() 函数获得用户从控制台输入的字符,最后使用 printf() 函数将得到的字符串打印在控制台上。本例中用户从控制台上输入了Helloworld,并按回车符,此时scanf()函数会把回车符看做是字符串终止的标志(也称为终止符),将整个Helloworld读取到str字符数组中。要点留心:C语言中的终止符在使用 scanf() 函数获取用户输入的信息时,如果输入的信息中包含某个终止符,scanf()函数就认为输入结束,接下来就列举一些常见的终止符,具体下表所示。scanf()输入字符串的终止符接下来,以案例二为例,当程序运行后,如果输入的字符串包含空格,例如“Hello world”,此时程序的运行结果如图所示:从此可以看出,尽管输入的字符串是Hello world,但是程序只打印了Hello。这是因为Hello world中包含一个空格,空格也是一个终止符,因此scanf()只能读到空格之前的内容。END想学习交流C语言可以申请加群:,一个人单独学习效率是很低的,只有一群相同目标的小伙伴一起学习讨论,才是进步最快的方法。
本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。
传说五千年
百家号 最近更新:
简介: 神鬼、传说、灵异,在这里应有尽有。
作者最新文章C语言Scanf函数 - 文顶顶 - 博客园
最怕你一生碌碌无为 还安慰自己平凡可贵
C语言的scanf函数
一、变量的内存分析
(一)字节与地址
①.&内存以字节为单位 每个字节都有自己的内存地址,根据地址就可以找到该字节。整个内存相当于一整个酒店,而酒店以房间为单位,在这里每个房间就相当于是每个字节,地址就是房号,根据房号可以找到房间(根据地址也可以找到内存中的字节)。相邻房间的房号是连续的,相邻字节的地址也是连续的。计算机中通常以十六进制表示地址。
②.&不同类型占用的字节是不一样的,数据越大则占用的字节数越多。如在64位编译器下,int类型占据4个字节,char类型占据1个字节。
(二)变量的存储
重点:内存寻址由大到小,优先分配内存地址较大的字节给变量,所以一般而言越先定义的变量,其内存地址越大。
假设:int&a=1;int&b=2;下面是对其进行的模拟内存分析。
&是取址运算符,用来获取地址。
%p这个占位符用来输出地址。
未经初始化的变量,它的值是不确定的,而C语言是弱类型的语言,如果不对一个变量进行初始化并不会报错,所以提醒变量在使用之前一定要进行初始化。
二、Scanf函数
(一)基本介绍
Scanf是系统自带的函数,声明包含在stdio.h文件中,因此要是有该函数,必须加载#include&stdio.h&头文件。当执行到scanf函数时,程序就暂停等待用户输入,该函数只接受变量的地址,格式为&变量名。是一个阻塞式的函数,2用户输入完毕后,则将值赋值给变量,至此函数调用完毕。敲回车键告知计算机键入完毕。
(二)使用注意
①.&使用scanf函数输入一个字符变量。Char&a;&scanf(&%c&,&a);
②.&同时输入多个值。Scanf(&%d,%d&,&num1,num2);&
③.&Scanf(&%d\n&,&a);//在内部不能使用\n转义字符,否则没完没了。
注意:在这里两个占位符之间是,隔开,则要求在输入时也使用逗号隔开如输入1,2。此时为num1=1,num2=2。若内部为&%d#%d&则输入1#2。若内部为&%dy%d&,则输入1y2。如果中间的字符是空格,则在输入时可以用空格隔开,也可以敲tab键或者是回车键作为分隔符隔开,后两者可以看做是由空格组成的。
随笔 - 179
评论 - 1478C语言中的scanf与printf
单片机&嵌入式
单片机应用
嵌入式操作系统
学习工具&教程
学习和开发单片机的必备工具
(有问必答)
(带你轻松入门)
电子元件&电路模块
当前位置: >>
>> 浏览文章
C语言中的scanf与printf
最初学习C语言程序设计时,经常需要通过键盘交互方式请用户输入内容,并需要将用户计算的结果在屏幕上输出。为实现这样的操作,C语言提供了scanf与printf两个函数,使用它们之前,一般需要包含stdio.h头文件。
语法是: #include &stdio.h&
1. 使用scanf函数的注意事项。
scanf函数的一般语法格式为 scanf(格式占位符列表,变量地址列表),常用的格式占位符有%d(整型数),%f(浮点型数)等。
示例:1) 输入一个整型值给变量a : scanf(&%d&,&a); //注意a前有&取地址符,因为语法格式要求此处是变量地址。
2)输出两个整型值分别给变量a,b
可以使用两条scanf函数语句来实现:
scanf(&%d&,&a); scanf(&%d&,&b);
这种写法主要的缺点就是繁琐,几个变量就需要写几篇scanf,输入数据时,两次数据间用空格或回车分隔都可以。
也可以使用一条scanf函数语句实现:
scanf(&%d%d&,&a,&b); //注意两个%d是放在一个双引号内,中间不需要使用任何分隔符,在程序运行输入数据时,用户可以用空格或回车将两个数分隔开。
特别提醒注意的是:如果写成 scanf(&%d,%d&,&a,&b); 那么用户在输入数据时,中间也必须用,将两个输入数据分隔开。
2. printf()函数
基本语法格式 printf(格式占位符列表,变量列表);
在printf()函数中,格式占位符决定了输出的样子,只是在占位符列表中,用占位符%d等先把位置占住,然后将后面的变量值依次填入前面的占位符处。
例如: 假设a的值为50,b的值为78
printf(&%d&,a); 此函数语句代表将变量a的值输出,因为格式占位符列表中只有一个%d,所以只输入一个值屏幕上显示的输出结果为 50
printf(&%d,%d&,a,b) 此函数表示将a与b两个变量的值输出,中间还需要有一个逗号,这是由输出格式决定的,格式占位符列表为 %d,%d,就表示要输出两个变量,变量中间有逗号,执行时,将a的值填在第一个%d处,b的值填在第2个%d处。屏幕中显示的输出结果为 50,78
printf(&a=%d,b=%d&,a,b) 格式占位符是 a=%d,b=%d 其中a=,b=这都会原样输出,后面a,b的值分别填入前两个%所在位置。屏幕中显示的输出结果为 a=50,b=78
【】【】【】【】
上一篇:下一篇:
CopyRight @
单片机教程网
, All Rights ReservedError 404 Not Found
HTTP ERROR 404
Problem accessing /show/74hNXHrC90S6d9d10NIo0A...html. Reason:
Not FoundPowered by Jetty://

我要回帖

更多关于 c 教程 的文章

 

随机推荐