C语言程序设计(谭浩强版)第四章
4.1 C语句概述 4.2 赋值语句 4.3 数据输入输出的概念及在c语言中的实现 4.4 字符数据的输入输出 4.5 格式输入与输出 4.6 顺序结构程序设计举例 4.1 C语句概述 4.1 C语句概述 4.1 C语句概述 4.1 C语句概述 4.2 赋值语句 4.3 数据输入输出的概念及在C 语言中的实现 二、C语言本身不提供输入输出语句,输入和输出操作是由C函数库中的函数来实现的。 例如: 字符输入函数: getchar 字符输出函数:putchar 格式输入函数: scanf 格式输出函数: printf 字符串输入函数:gets 字数穿输出函数:puts (三)在使用系统库函数时,要用预编译命令“#include”将有关的“头文件”包括到用户源文件中。 例如:在调用标准输入输出库函数时,文件开头应该有: #include “stdio.h” 或: #include 4.4 字符数据的输入输出 (一)字符输出函数 一般形式:putchar(c) 函数作用:向终端输出一个字符 (二)字符输入函数 一般形式:getchar() 函数作用:从终端(或系统隐含指定的输入设备)输入一个字符。 函数值: 从输入设备得到的字符。 该函数是缓冲输入函数,需要等按下回车键才开始执行。 4.5 格式输入与输出 (一)格式输出函数 函数作用: 向终端(或系统隐含指定的输出设备)输出若干个任意类型的数据。 一般格式: printf(格式控制,输出表列) 格式说明字符串的一般形式为: % [flags] [width] [.prec] [F|N|h|l|L] type_char 说明: 除了X,E,G外,其他各式字符必须用小写。 可以在printf函数中的“格式控制”字符串中包含转义字符。 一个格式说明必须以“%”开头,以9个格式字符之一为结束,中间可以插入附加格式字符。 想输出%,则应该在格式控制字符串中用连续两个%表示。 (二).格式输入函数 函数作用:按照变量在内存的地址将变量值存 进去。 一般格式:scanf(格式控制,地址表列) 说明: 对unsigned型变量所需要的数据,可以用%u,%d或%o,%x格式输入。 可以指定输入数据所占的列数,系统自动按它截取所需数据。 如果在%后有一个“*”附加说明符,表示跳过它指定的列数。 输入数据时不能规定精度。 6。 scanf 函数是缓冲数据输入 把所有输入数据解释成:先存放到缓冲区中,遇到缓冲输入函数调用的时候,按照需求,从缓冲区中取出需要的数据。 例: scanf ("%5d%5d%c%c", &a, &b, &c1, &c2); scanf ("%d%c%c", &a, &c1, &c2); scanf ("%d %c %c", &a, &c1, &c2); 格式控制字符串中不要出现 '\n' ; scanf中出现的普通空格(包括连续出现的空格),表示该位置至少需要输入一个空格。 4.6 顺序结构程序设计举例 作业1 作业 习题4.5 上机 习题4.4,4.10 作业2 作业 习题4.6,4.7 上机 习题4.8、4.9 (3)x格式符。以十六进制数形式输出整数。同样不会出现负的十六进制数。 例: int a=-1; printf(″%x,%o,%d″,a,a,a); 输出结果为: ffff,177777,-1 可以用“%lx”输出长整型数,也可以指定输出字段的宽度。 例: “%12x” (4)u格式符,用来输出unsigned型数据。 一个有符号整数(int型)也可以用%u格式输出; 一个unsigned型数据也可以用%d格式输出; unsigned型数据也可用%o或%x格式输出。 输出时按内存的二进制码做相应的解释。 无符号数 按原码解释 有符号数按补码解释 (5)c格式符,用来输出一个字符。 如: char d='a'; printf ("%c" , d) ; 输出字符a 一个整数,可以用 “%c” 使之按字符形式输出。在输出前,系统会将它的值截断到0~255范围内,作为ASCII码转换成相应的字符; 一个字符数据也可以用整数形式输出。 例4.3 无符号数据的输出。#includevoid main(){unsigned int a=65535;int b=-2;printf(“a=%d,