C语言入门之输入输出

上传人:飞*** 文档编号:35826274 上传时间:2018-03-21 格式:DOC 页数:8 大小:32.50KB
返回 下载 相关 举报
C语言入门之输入输出_第1页
第1页 / 共8页
C语言入门之输入输出_第2页
第2页 / 共8页
C语言入门之输入输出_第3页
第3页 / 共8页
C语言入门之输入输出_第4页
第4页 / 共8页
C语言入门之输入输出_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《C语言入门之输入输出》由会员分享,可在线阅读,更多相关《C语言入门之输入输出(8页珍藏版)》请在金锄头文库上搜索。

1、数据输出语句数据输出语句 本小节介绍的是向标准输出设备显示器输出数据的语句。在 C 语言中,所有 的数据输入/输出都是由库函数完成的。 因此都是函数语句。本小节先介绍 printf 函数和 putchar 函数。printf 函数 printf 函数称为格式输出函数,其关 键字最末一个字母 f 即为 “格式”(format)之意。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。在前面的例题中我们已多次使用过这个函 数。 一、一、printfprintf 函数调用的一般形式函数调用的一般形式 printf 函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但 作为一个特例

2、,不要求在使用 printf 函数之前必须包含 stdio.h 文件。printf 函数调用的一般形式为: printf(“格式控制字符串”,输出表列)其中格式控 制字符串用于指定输出格式。 格式控制串可由格式字符串和非格式字符串两种 组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出 数据的类型、形式、长度、小数位 数等。如“%d”表示按十进制整型输出, “%ld”表示按十进制长整型输出,“%c”表示按字符型输出等。后面将专门给 予讨论。 非格式字符串在输出时原样照印,在显示中起提示作用。 输出表列中给出 了各个输出项, 要求格式字符串和各输出项在数量和类型上应该一一对

3、应。 void main() int a=88,b=89; printf(“%d %dn“,a,b); printf(“%d,%dn“,a,b); printf(“%c,%cn“,a,b); printf(“a=%d,b=%d“,a,b); a #include void main() char a=B,b=o,c=k; putchar(a);putchar(b);putchar(b);putchar(c);putchar(t); putchar(a);putchar(b); putchar(n); putchar(b);putchar(c); 数据输入语句C 语言的数据输入也是由函数语句完成

4、的。 本节介绍从标准输入设备键盘上输入数 据的函数 scanf 和 getchar。 scanf 函数 scanf 函数称为格式输入函数,即按用户指定的格式 从键盘上把数据输入到指定的变量之中。一、scanf 函数的一般形式scanf 函数是一个标准库函数,它的函数原型在头文件“stdio.h”中,与 printf 函数相同, 语言也允许在使用 scanf 函数之前不必包含 stdio.h 文件。scanf 函数的一般形式为: scanf(“格式控制字符串”,地址表列); 其中,格式控制字符串的作用与 printf 函数相同,但 不能显示非格式字符串, 也就是不能显示提示字符串。地址表列中给出

5、各变量的地址。 地 址是由地址运算符“printf(“input a,b,cn“);scanf(“%d%d%d“,printf(“a=%d,b=%d,c=%d“,a,b,c);注意当输入为:1 2 3 时,把 1 赋予 a,2 被跳过,3 赋予 b。3.宽度用十进制整数指定输入的宽度(即字符数)。例如: scanf(“%5d“,输入:12345678只把 12345 赋予变量 a,其余部分被截去。又如: scanf(“%4d%4d“,输入:12345678 将把 1234 赋予 a,而把 5678 赋予 b。4.长度长度格式符为 l 和 h,l 表示输入长整型数据(如%ld) 和双精度浮点数(

6、如%lf)。h 表示输 入短整型数据。使用 scanf 函数还必须注意以下几点:a. scanf 函数中没有精度控制,如: scanf(“%5.2f“, 是非法的。不能企图用此语句 输入小数为 2 位的实数。b. scanf 中要求给出变量地址,如给出变量名则会出错。如 scanf(“%d“,a);是非法的,应改为 scnaf(“%d“,才是合法的。c. 在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则 可用空格,TAB 或回车作间隔。C 编译在碰到空格,TAB,回车或非法数据(如对“%d”输入 “12A”时,A 即为非法数据)时即认为该数据结束。d. 在输入字符数据时

7、,若格式控制串中无非格式字符,则认为所有输入的字符均为有 效字符。例如:scanf(“%c%c%c“,输入为:d e f则把d赋予 a, f赋予 b,e赋予 c。只有当输入为:def 时,才能把d赋于 a,e赋予 b,f赋予 c。 如果在格式控制中加入空格作为间隔,如 scanf (“%c %c %c“,则输入时各数据之间可加空格。void main()char a,b;printf(“input character a,bn“);scanf(“%c%c“,printf(“%c%cn“,a,b);scanf(“C14F14%c%c“,printf(“%c%cn“,a,b);由于 scanf 函

8、数“%c%c“中没有空格,输入 M N,结果输出只有 M。而输入改为 MN 时则可输出 MN 两字符,见下面的输入运行情况:input character a,bMNMNvoid main()char a,b;printf(“input character a,bn“);scanf(“%c %c“,printf(“n%c%cn“,a,b);scanf(“%c %c“,本例表示 scanf 格式控制串“%c %c“之间有空格时, 输入的数据之间可以有空格间隔。 e. 如果格式控制串中有非格式字符则输入时也要输入该非格式字符。例如:scanf(“%d,%d,%d“, 其中用非格式符“ , ”作间隔

9、符,故输入时应为: 5,6,7又如: scanf(“a=%d,b=%d,c=%d“,则输入应为a=5,b=6,c=7g. 如输入的数据与输出的类型不一致时,虽然编译能够通过,但结果将不 正确。void main()int a;printf(“input a numbern“);scanf(“%d“,printf(“%ld“,a);由于输入数据类型为整型, 而输出语句的格式串中说明为长整型,因此输出结果和输 入数据不符。如改动程序如下:void main()long a;printf(“input a long integern“);scanf(“%ld“,printf(“%ld“,a);运行结

10、果为:input a long integer12345678901234567890 当输入数据改为长整型后,输入输出数据相等。键盘输入函数getchar 函数 getchar 函数的功能是从键盘上输入一个字符。其一般形式为: getchar(); 通常把输入的字符赋予一个字符变量,构成赋值语句,如:char c;c=getchar();#includevoid main()char c;printf(“input a charactern“);c=getchar();putchar(c);使用 getchar 函数还应注意几个问题:1.getchar 函数只能接受单个字符,输入数字也按字符

11、处理。输入多于一个字符时,只接 收第一个字符。2.使用本函数前必须包含文件“stdio.h”。3.在 TC 屏幕下运行含本函数程序时,将退出 TC 屏幕进入用户屏幕等待用户输入。输 入完毕再返回 TC 屏幕。void main()char a,b,c;printf(“input character a,b,cn“);scanf(“%c %c %c“,printf(“%d,%d,%dn%c,%c,%cn“,a,b,c,a-32,b-32,c-32);输入三个小写字母输出其 ASCII 码和对应的大写字母。void main()int a;long b;float f;double d;char c;printf(“%d,%d,%d,%d,%d“,sizeof(a),sizeof(b),sizeof(f),sizeof(d),sizeof(c);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号