B1.数据的输入与输出
- c语言本身不提供输入输出语句,输入和输出操作是由c函数库中的函数来实现的
- 在使用系统库函数时,要用预编译命令“#include”将有关的“头文件”包括到用户源文件中
- include"stdio.h"
- 或者
- include
B2.printf()函数(格式输出函数)
- 函数作用:输出若干个任意类型的数据
- 一般格式:printf(格式控制列表,输出表列)
- 常见的格式控制符
- %d (%o %x %X) 整型
- %f (%e) 实型
- %c 字符
- %s 字符串
- %d:按十进制整型数据的实际长度输出
- %md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出
- 例如
- printf("%4d,%4d",a,b)
- 若a=123,b=12345,则输出结果为: 123,12345
- 例如
- %-md:输出数据左对齐,右补空格
- %ld:输出长整型数据
- 例如
- long a=123456789;
- printf(“%ld",a)
- long a=123456789;
- 例如
- %f:不指定字段宽度,整数部分全部输出,并输出6位小数 注意:有限数字的限度
- %m.nf:指定输出的数据共占m列,其中有n位小数。 如果数值长度小于m,则左端补空格
- %-m,nf与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格
- 例子
- float f=123456;
- printf("#%f%10f#\n
- %10.2f#%.2#%-10.2f#\n,f,f,f,f,f);
- #123,456001#123.456001#
- 123.46#123,46#123,46 #
- 例子
- %c输出字符数据
- 例子
- int i=97
- printf("i=%c,i=%d\n",i,i)
- 例子
- %s
- 例子
- printf("%s","CHINA")
- 输出字符串“CHINA”(不包括双引号)
- 例子
- %ms,输出的字符串占m列,若串长大于m,则全部输出,若串长小于m,则左补空格
- %-ms,若串长小于m,字符串向左靠,右补空格
- %m.ns,输出占m列,只取字符串中左端n个字符,输出在m列的右侧,左补空格
- %-m,ns,n个字符输出在m列的左侧,右补空格,若n>m,m自动取n值
- 例子
- printf("#%3s#%7.2s#%.4s#%-5.3s#\n",
- "CHINA","CHINA","CHINA","CHINA");
- 输出结果
- #CHINA# CH#CHIN#CHI #
- 例子
B3.scanf()函数(格式输入函数)
- 函数作用:按照变量在内存的地址将变量值存进去
- 一般格式:scanf(格式控制,地址表列)
-
- 例子
-
int a,b,c; scanf("%d%d%d',&a,&b.&c); printf("%d,%d,%d\n”,a,b,c);
-
- 注意
- scanf函数的"格式控制”后面应当是变量地址,而不应是变量名
- 如果“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时在对应位置应输入与这些字符相同的字符
- 在用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入
- 在输入数据时,遇以下情况认为数据结束
- 遇空格,“回车”,tab
- 按指定的宽度结束,如“%3d”,只取3列
- 遇非法输入
- 例子
B4.字符输入输出函数
- 字符输出函数
- 一般形式:putchar(c)
- 字符输入函数
- 一般形式:getchat()
- 例子
- char a,b,c;
- a='B';b='O';c='Y';
- putchar(a);putchar(b);putchar(c);putchar(‘‘\n’’);
- 例子2
-
char a,b,c: a=getchar() b=getchar() c=getchar() putchar(a); putchar(b); putchar(c); putchar(\n);
-
- 例子
- 常见的数学库函数
- 求x的平方根函数 sqrt(x)
- 求x的y次幂函数 pow(x,y)
- 求e的x次幂函数 exp(x)
- 求x的对数 log10(x)
- 求x的绝对值函数 fabs(x)
- 求不小于x的最小整数 ceil(x)
- 求不大于x的最大整数 floor(x)
- 求x除以y的余数 fmod(x,y)
- 程序举例
- 已知华氏温度和摄氏温度转换关系如下:
-
- 华氏温度=5*(摄氏温度-32)
- 计算摄氏温度是100,华氏温度是多少,保留两位小数
-
#include int main() { double f,c; f=0 printf("请输入摄氏温度:”}; scanf(‘%lf c=5*(f-32)/9; printf(“%.2f摄氏等价%.2f)’
-