顺序程序设计

一、C语句分类

        控制语句、函数调用语句、表达式语句、空语句、复合语句。

二、数据的输入输出

        输入输出是对于ram(内存)而言的。其本质上是通过函数来实现。函数需要从系统库函数中调用,在使用系统库函数时,要用预编译命令"#include"将有关的头文件包括到用户源文件中。

        输出设备如显示器、打印机等;输入设备如键盘、鼠标、扫描仪等。

以下将详细介绍字符输入输出函数putchar、getchar及格式输入输出函数printf、scanf。

三、字符数据的输入输出

1、putchar函数

        表示输出单个字符。函数原型为: int putchar(int c);   

在之前变量赋初值那篇文章中也曾简单提到过函数的调用,函数调用的表达式与返回值的类型一致。

则putchar函数调用:putchar(c);它输出字符变量c的值,c为字符型变量或整型变量,可从ASCII码表中查询具体序号,也可直接写入字符常量。

例如:65对应ASCII码表中的'A',10对应ASCII码表中的'\n'。最终输出A  +换行。

2、getchar函数

        表示输入单个字符。函数原型为: int getchar(void);

函数调用: getchar()

        getchar函数有缓冲区(队列的数据结构),遵循FIFO先进先出。这样可以使高速设备不用一直等待低速设备响应,不占用其他设备的使用,避免资源浪费。

例如:用getchar函数输入一个字符,输出一个比其小32的字符。

四、格式输入与输出

1、printf函数

        输出若干任意类型的数据。函数原型为: int printf(const char * format,...);其中const char *类型表示用双引号引起来的字符串常量;"..."表示变参,可传可不传,可传任意数据。

函数调用: printf(格式控制,输出表列);

格式控制(即占位符)是由下一个参数类型决定,输出表列中的参数也将按照占位符的格式打印结果。且占位符与输出列表中的参数个数保持一致。

        <返回值为数据个数。>

格式字符有以下几种:

(1)整型

        %d  %i 按有符号十进制整型输出; %ld 长整型; %md 表示按一定的位数输出,m为指定输出位数,若m为正则在数据前补空格,为负在数据后补空格。

        %o(八进制)   %u(十进制)  %x(小写十六进制)  %X(大写十六进制)按无符号整型输出。

(2)浮点型

        %e %E 按科学计数法表示的浮点型输出;

        %f %F 按十进制表示的浮点型输出。小数点后均保留6位。

        %m.nf 其中m为包括小数点本身的整数位数,n为小数点后的位数;当m小于实际的位数时,以实际位数输出。

        %g  %G 按科学计数法或者十进制表示浮点型都行,谁短输出谁。

(3)字符型

        %c  按字符对应的ASCII码序号输出;

        %s  指const char *类型,即用双引号引起来的字符串常量。

(4)%p  万能指针void * pointer;

        %%  打印%号。

2、scanf函数

        输入若干数据。函数原型为: int scanf(const char * format,...);

        函数调用: scanf(格式控制,地址表列);

一般无法再被调函数中修改主调函数,但由于scanf函数的需求,因此在地址表列中应用取地址&,进行指针传参,来实现在被调函数中修改主调函数。

        当无&时,scanf函数会认为地址表列中参数的地址为随机数,当写入程序后,在运行阶段,程序崩溃。

        除此之外,取地址&无法推断变量为几个字节,一般默认4字节。要解决该问题,则需要在输入double型时,用%lf格式字符,不用%f;输入float型时,用%f,不用%lf。

  • 19
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值