C语言 格式输入输出与字符输入输出

发布于:2023-01-21 ⋅ 阅读:(404) ⋅ 点赞:(0)


提示:以下是本篇文章正文内容,下面案例可供参考

一、 格式输入输出 

1、格式输出——printf函数

(1)格式   printf("格式控制",输出列表项);

         格式控制分为格式声明(%和格式字符)、普通字符(需原样输出)

(2)格式声明:  % [土]  [0] [m] [.n] [l或h] 格式字符        【  其中方括号[] 中的内容为可选项】

    各项意义,如下:

【标志】“-” 是左对齐,“+”是右对齐(默认右对齐)   

【输出最小宽度】用十进制整数m表示输出的最少位数若实际位数>m,按实际位数输出,若<m,                                则补空格或0(前面有0补0,无0补空格) 

【精度】用[.n ]表示,如果输出数字,则表示 小数的位数;若输出字符,则表示字符个数。若实际位数大于精度,则将多余的位数截掉

【长度】长度格式符有 h 和 l  两种 ,h表按短整型输出,l 表按长整型输出。

【格式字符】%d 十进制整型;%o八进制整型;%x十六进制整型;

            %f 以小数形式输出float型、double 型; %e或%E 以指数形式输出float型、double 型;              %c 输出单个字符;  %s 输出字符串(字符串要加双引号);

(3)使用格式输入函数printf输出不同类型的变量:

【上图】 运行结果: 十进制a=15,八进制a=17,十六进制a=f

上图运行结果如下:

(4)在printf函数中使用附加符号:

2、格式输入——scanf函数

(1)格式:  scanf("格式控制",输出列表项);

           格式控制分为格式声明(%和格式字符)、普通字符(需原样输出)

(2)格式声明:  % [ m ] [l或h] 格式字符           【  其中方括号[] 中的内容为可选项】

【m】数据宽度 ,即数字的个数,m是十进制数字,对于浮点型数据,数据宽度为数据的整体宽度,包括小数点在内,即数据宽度m = 整数位数 +1(小数点)+ 小数位数。格式输入函数只能指定数据整体宽度,无法指定小数位数,这是与格式输出函数的不同.

scanf("%3f%3f",&a,&b);
输入:1.23.4
则a=1.200000, b=3.400000
如输入:1234.5
则a=123.000000, b=4.500000
如输入:1.234.5
则a=1.200000, b=34.000000

scanf("%4d%4d",&a,&b);
如输入:123456789
则a=1234, b=5678

【长度】有【 h 和 l】  两种 ,h表按短整型输出,l 表按长整型或双精度型输出。

如:%hd   ,%ho , %hx,表示输入数据为短整型;

%ld,%lo , %lx表示输入数据为长整型(十进制,八进制,十六进制);

%lf ,%le表示输入数据为双精度型(小数形式、指数形式)。

(3) 使用scanf函数时应注意的问题

利用scanf 函数从键盘读入数据时,需注意:

a. 多个数据之间可用空格键、回车键、【Tab】键进行分隔,最后以回车键结束输入。

scanf("%d%d",$a,&b);
如想令a=12,b=34, 正确的输入方式是:
     12 34 (回车)
或   12(回车) 34(回车)
或   12 【Tab】 34(回车)
                         以上三种方式均可。
若上面的输入为1234(回车),则a读入1234,而b 没有输入,出现错误

对于整型、浮点型变量来说,数据之间必须用分隔符隔开,否则可能存在分辨错误。

b.一般来讲,每个字符型变量对应一个字符,不存在二义性,因此字符的输入除非格式符中有空格或其他间隔符,否则不可以用分隔符。 

c.输入数据个数与顺序要与scanf 函数规定的一致。

二、 字符输入输出

1.字符输入——getchar 函数

功能:从输入设备上读取一个字符,格式为:getchar();

【注意】getchar 函数只读取单个字符,如果输入多于一个字符,则只读取第一个字符。

该函数的返回值为所读入的字符,所以一般与赋值语句一起用,将读取的字符赋给变量。如:

char c;        /* 定义字符变量c */
c=getchar();   /* 从键盘读入一个字符并赋值给变量c */

2.字符输出——putchar函数 

(1)功能是向输出设备输出一个字符,格式:putchar(c);

c 是欲输出的字符常量或变量,也可以是整型常量或变量(ASCII码)

(2) 输出ABC三个字符。

#include<stdio.h>
int main()
{
    char a='A';    //定义字符型变量a,并赋初值'A'
    int b=66;      //定义整型变量b,并赋初值66
    putchar(a);
    putchar(b);
    putchar('C');  //输出字符'C'
    putchar('\n'); //输出换行符
return 0;
}

(3)用putchar函数输出转义字符,如:

putchar('\n');
putchar('\101);  //输出字符A,因为八进制的101是十进制的65
putchar('\'');

当putchar(c)中,c为字符常量、转义字符时 ,不要忘记用单引号括起来,此外可以利用转义字符输出八进制或十六进制数。


网站公告

今日签到

点亮在社区的每一天
去签到