1、scanf(格式控制字符串,内存地址1,内存地址2,内存地址n)scanf(“%d”,&a);(1)%d为格式转换符,每个格式转换符对应后面一个内存地址。(2)scanf将读入数据,按指定格式理解该输入,然后存入对应内存地址。int a;scanf(“%d”,&a);scanf 函数从标准输入(键盘)读取信息,按照格式描述把读入的信息转换为指定数据类型的数据,并把这些数据存入指定的内存区域中。转换字符串&地址运算符(作用在某个变量上),用于获取变量的地址变量的名称格式字符格式字符指定输入数指定输入数据格式据格式输入数据输入数据地址表列地址表列非格式字符非格式字符输入数据以输入数据以,分隔分隔没
2、有时可以没有时可以空格空格、Tab或或回车回车分隔分隔scanf(“%c%d%lf”,&ch,&n,&a);用scanf()函数读入整型数据内存int n;scanf(%d,&n);n 在内存中分配一块 4个字节存储空间 存储空间使用名称“n”标识 等待用户输入一个值 将输入的值然后存入内存中(因为 scanf 提供了n的内存地址)123用scanf()函数输入数据用scanf()函数输入数据1234 a123printf()函数printf(%d,count);printf将一些信息按照指定的格式送到标准输出(显示器)count输出参数表:待输出的数据,可以是常量、变量或表达式(可以缺省)格
3、式:printf(“格式控制串”,输出参数表)%d 格式字符串:指定数据的输出格式%d 将对应参数转换为十进制整数形式输出,将对应参数转换为十进制整数形式输出,对应参数应是对应参数应是int 类型类型printf(“hello worldn);输出结果:hello worldint a=3,b=5;printf(“两个数的和是%dn“,a+b);printf()函数的第一项是一个有函数的第一项是一个有双引号双引号括起来的字括起来的字符序列,指定数据的输出格式符序列,指定数据的输出格式,称为称为格式控制串格式控制串,由由普通字符普通字符和和格式字符格式字符组成。组成。普通字符会原样输出输出结果:
4、两个数的和是8int n=150;printf(%d,n);输出结果:150printf()函数的多项输出普通字符,原样输出普通字符,原样输出%开头的是转换说明,对应于后面一个开头的是转换说明,对应于后面一个输出参数,对应参数将被转换成指定格输出参数,对应参数将被转换成指定格式后在该位置输出式后在该位置输出输出结果:输出结果:f=100,c=37输出参数列表输出参数列表n是转义字符,其作用是换行。是转义字符,其作用是换行。输出参数的类型、个数和位置要与格式转换说明一一对应输出参数的类型、个数和位置要与格式转换说明一一对应 m 表示数据占用的最小宽度表示数据占用的最小宽度 数据宽度大于数据宽度大
5、于m,按实际宽度输出,按实际宽度输出 数据宽度小于数据宽度小于m时,补空格时,补空格n 对实数表示输出对实数表示输出n位小数位小数 对字符串表示最多输出的字符个数对字符串表示最多输出的字符个数-改变输出内容的对齐方式改变输出内容的对齐方式 默认为右对齐默认为右对齐指定整数的输出宽度int salary=5500;printf(%10d,salary);输出结果输出结果:5500输出结果的左边显示了输出结果的左边显示了 6 6 个空格个空格“%10d“%md%md:数据以十进制整数格式输出,宽度占数据以十进制整数格式输出,宽度占m m列,列,数据不足数据不足m m列列右对齐(左补空格),右对齐(
6、左补空格),超过超过m m列按列按实际位数输出。实际位数输出。指定整数的对齐方式int salary=5500;printf(%10d,salary);输出结果:5500输出结果的右边显示了输出结果的右边显示了 6 6 个空格个空格%-10d%-md%-md:将指定数据以十进制整数格式输出,宽度将指定数据以十进制整数格式输出,宽度占占m m列,数据不足列,数据不足m m列列左对齐(右补空格)左对齐(右补空格),超,超过过m m列按实际位数输出。列按实际位数输出。浮点数据的输出float cir=78.53;printf(%f,cir);输出结果:78.530000默认情况下精确到六位小数9.4
7、786789;指定宽度和精度double mer=168.2251074;printf(%7.2f,mer);输出结果:168.23%7.2f 精度(精确到小数点后多少位)转换字符串%m.nfndouble,float:nGeneral format:Example:printf(Value is:%10.4f,32.6784728);Value is:32.6785 10 characters4 digitsExample:printf(Value is:%10f,32.6784728);Value is:32.67847310 characters6 digits(default)Exam
8、ple:printf(Value is:%.3f,32.6784728);Value is:32.678 3 digits输入一个字符,送给输入一个字符,送给变量变量aBOY BOY B O BO 向显示器输出字符向显示器输出字符B向显示器输出换行符向显示器输出换行符BOY改为改为int a=66,b=79,c=89;BOYPress a key and then press Enter:B b ch=ch-(a A);顺序结构AB顺序结构程序实例顺序结构程序实例Please input three numbers:9,12,8 n1=9,n2=12,n3=8sum=29,aver=9.67)
9、()(csbsassarea计算计算s计算计算area输入输入a、b、c的值的值#include#include void main()double a,b,c,s,area;scanf(%lf,%lf,%lf,&a,&b,&c);s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(a=%fnb=%fn%fn,a,b,c);printf(area=%fn,area);数学函数,数学函数,计算计算平方根平方根调用数学函数调用数学函数加此行加此行9.89,12.65,8.76 a=9.890000b=12.65000c=8.760000area=43.165683