哈喽,伙伴们,我们前面讲了C语言的发展史,基本数据类型,变量与常量,表达式,基本结构等等,今天是作为C语言基础入门的最后一个阶段:输入与输出。

以上这些知识你能够掌握好,就可以开始进入C语言的进阶提高阶段啦,准备好了吗?一起来看看吧~

 

1.字符输出函数putchar

putchar函数是字符输出函数,其功能是在终端(显示器)输出单个字符。其一般调用形式为:putchar(字符变量);

例:

putchar(‘A’); /*输出大写字母A */

putchar(x);  /*输出字符变量x的值*/

putchar(‘\n’); /*换行*/

2、字符输入函数getchar

int getchar(void) 函数从屏幕读取下一个可用的字符,并把它返回为一个整数。这个函数在同一个时间内只会读取一个单一的字符。

其一般调用形式为:getchar();

getchar会以返回值的形式返回接收到的字符.通常的用法如下:

char c;  /*定义字符变量c*/

c=getchar(); /*将读取的字符赋值给字符变量c*/

可用于输出或输入单个字符,这两个函数是stdio.h文件中的库函数,它们是printf与scanf函数的简化。

写代码时较为常见的问题就是交换变量,顺序不同效果不同,这个时候“引入第三者”是最为简单的方法。

例如,如何让两个变量x ,y 中数值的互换

不可以简单的认为把 x=y ,y=x;就可以,要用中间变量 t=x;x=y;y=t。

 

3、格式化输出函数printf

int printf(const char *format, ...) 函数把输出写入到标准输出流 stdout ,并根据提供的格式产生输出。

printf函数的格式为: printf(“格式控制字符串”,输出表项);

printf只会按照传递的参数类型解析数据,不会进行数据类型转换,传入的参数类型和个数和输出的类型和个数保持一致,不然程序运行时会出异常。

格式控制字符串有两种:格式字符串和非格式字符串。非格式字符串在输出的时候原样打印;格式字符串是以%打头的字符串,在”%”后面跟不同格式字符,用来说明输出数据的类型、形式、长度、小数位数等。格式字符串的形式为:% [输出最小宽度] [.精度] [长度] 类型

 

 

 

例如,%d格式符表示 用十进制整形格式输出。%f表示用实型格式输出,%5.2f 格式表示输出宽度为5(包括小数点),并包含2位小数。常用的输出格式及含义如下:

 

4、格式化输入函数scanf

scanf函数称为格式输入函数,即按照格式字符串的格式,从键盘上把数据输入到指定的变量之中。

Scanf函数的调用的一般形式为:scanf(“格式控制字符串”,输入项地址列表);

其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表项中的地址给出各变量的地址,地址是由地址运算符”&”后跟变量名组成的。

Scanf 函数中格式字符串的构成与printf函数基本相同,但使用时有几点不同.

(1) 格式说明符中,可以指定数据的宽度,但不能指定数据的精度。

例:

float a;

scanf(“%10f”,&a);  //正确

scanf(“%10.2f”,&a); //错误

(2) 输入long类型数据时必须使用%ld,输入double数据必须使用%lf或%le。

(3) 附加格式说明符”*”使对应的输入数据不赋给相应的变量。

scanf()函数所用的转换说明符与printf()所用的几乎完全相同。主要区别在于printf()把%f、%e、%E、%g、%G同时用于float类型和double类型,而scanf()只是把他们用于float类型,而用于double类型时要求使用l(字母l)修饰符。

 

关于scanf()的返回值

scanf() 函数返回成功读入的项目的个数。如果它没有读取任何项目(比如它期望接收一个数字而您却输入的一个非数字字符时就会发生这种情况),scanf()返回0。

当它检测到“文件末尾”(end of file)时,它返回EOF(EOF在是文件stdio.h中的定义好的一个特殊值,一般,#define指令将EOF的值定义为-1)。当您学过循环之后,或在参加ACM这样的比赛及使用在线评测系统的时候会经常用到这种写法。

最新文章

  1. xcode中得一个坑
  2. UML Sequence sample: if-else
  3. JAVA_用Java来获取访问者真实的IP地址
  4. java提高篇---Vector
  5. php获取远程文件大小
  6. image
  7. 分享七款视差滚动效果的jQuery 插件
  8. HDU3791二叉搜索树(二叉树)
  9. (六)javascriptJS中定义对象的几种方式(转)
  10. C++基础——C面向过程与C++面向对象编程01_圆面积求解
  11. 实现一个简单的Laravel的dd库
  12. Roomblock: a Platform for Learning ROS Navigation With Roomba, Raspberry Pi and RPLIDAR(转)
  13. Centos 6.4 安装Python 2.7 python-pip
  14. 关于js-xlsx的简单使用
  15. HttpServletResponse设置下载文件
  16. 在CentOS 7中安装与配置Tomcat-8.5方法
  17. 4.5Python数据类型(5)之列表类型
  18. 新手谈Linux
  19. mac打开文件提示文件已经坏了的修改
  20. Java面向接口编程【精品博客】

热门文章

  1. STM32入门系列-学习STM32要掌握的内容
  2. git引入_版本控制介绍
  3. OpenCV计算机视觉学习(11)——图像空间几何变换(图像缩放,图像旋转,图像翻转,图像平移,仿射变换,镜像变换)
  4. Oracle guide_Spring2.5_CN_reference_pdf
  5. Vue + WebRTC 实现音视频直播(附自定义播放器样式)
  6. IP 层收发报文简要剖析6--ip报文输出3 ip_push_pending_frames
  7. go语言协程安全map
  8. TCP回射客户服务器模型(01 socket bind listen accept connect)
  9. 问题记录-CoordinatorLayout+WebView使用遇到的问题
  10. maven pom.xml 报错