鄂教版信息技术九下第3课《自顶而下顺
序结构》教案
一,数据输出
顺序结构概念:
C语言本身不提供输入输出语句,但可以通过调用标准库函数提供的输入和输出函数来实现。
1、printf:标准输出函数作用是在终端设备上按指定格式进行输出。
格式:printf(格式控制,输出项表);
printf(”a=%d,b=%d”,a,b);
格式控制的作用:
a、为各输出项提供格式转换说明
作用是将要输出的数据转换为指定的格式输出
b、提供需要原样输出的文字或字符
输出项要用逗号隔开,格式描述符要与它们一一对应且匹配
main()
{int  I=2518;
float a=3.1415;
printf(“I=%-10d,a=%f,a*10=%e\n”,I,a,a*10);
}
\n是C语言中特定的转义字符,相当于一个转行符使得屏幕光标或打印机移到期下一行的开头
2、格式说明
以“%”开头,以一个格式字符作为结束,中间可以插入“宽度说明,左对齐符号“—”前导零符号“0”“等。
A,格式字符
C---输出一个字符              F---单双精度
D或I---十进制整型数          E或e---指数形式单双精度
o---八进制无符号整型          S---输出字符串中的字符,直到“\0”
X或x十六制无符号整型        %---打印一个%
U---无符号十进制整型          g---系统决定%f或%e格式
B,长度修饰符
长整型加L,短整型或无符号短整型加H
A、输出数据所占的宽度
使用%d、%c……时系统决定宽度和右对齐,可采用三种形式控制输出宽度:
1、%与格式字符间插入一个整数
如果宽度不够,不影响输出;
如果宽度太多,数据右对齐,左边补以空格
2、于float,duoble可以用“整数1.整数2”的形式。“整数1”指定输出数据总的
宽度“整数2”称为精度。
3、“.整数2”
对于float,double指定小数位的位数,若指定%.0则不输出小数点和小数部分
对于g或G,用于指定输出的有效数字
对于整数,用来指定必须输出的数字个数
对于字符串,用来指定最多输出的
B、输出数据左对齐
printf输出格式 无符号在指定输出宽度的同时,指定数据左对齐,在宽度前加一个“-”号。
C、使输出的数字总是带有+号或—号可以在%和格式字符间加一个“+”号来实现。
Printf(“%+d,%+d\n”,10,-10);
结果为:+10,-10
D、在输出数据前加前导0
printf(“%06d\n”,15);000015
H、输出的八进制前加0,十六制加0X可在%号和格式字符0和X之间加一个#号
printf(“%#o,%#X\n”,10,10);
012,0Xa
二,数据输入
1、scanf的一般调用形式
scanf(格式控制,输入项表);
格式控制串的作用是指定输入时的数据转换格式,由“%”开始,其后是格式描述符
输入项为合法的地址表达式
&:求地址运算符号    &a:取变量a的地址
2、scanf格式说明
C----一个字符          D---十进制整数
I---整型,不是八,十六进制
o----八进制    X---十六进制
U----无符号十进制整数
F(1F)----单(双)精度
E(1E)----单(双)精度
S---字符串
说明:a、long或double必须加L
b、在格式字符前可用一个整数指定输入数据所占宽度,但不可指定小数
位数
c、格式说明个数应与输入项个数相同
3、从键盘输入数据
输入数据时,最后一定要按下回车键,scanf才能接受从键盘输入的数据
a、输入数据数据用间隔符(空格,制表符)隔开。
b、输入的数据多于scanf要求输入的数据时,多余时作为下一次输入操作的输
入数据
c、格式控制串中插入其它字符
另用printf作提示
int a1,a2,a3;
printf(“Input a1&a2&a3”);
scanf(“%d%d%d”,&a1,&a2,&a3);
三,复合语句,空语句
1“{}”可用作复合语句的开头和结尾,也可称为“语句块”,形为如下“
{语句1;语句2;……;语句n}
一个复合语句在语法上视为一条语句,在语句内,要有执行语句,也可有定义
语句,但定义应在执行前。
2、空语句
一个分号也是一条语句,称为“空语句”
例1:交换输出输入的数据
main()
{ int x,y,t;
printf(“enter x&y:\n”);
scanf(“%d%d”,&x,&y);
t=x;x=y;y=t;
printf(“x=%d y=%d”,x,y);
}
例2 输入一个三位小数的数对其进行四舍五入保留两位
main()
{double x=3.14159;
printf(“Enetr x”);
scanf(“%lf”,&x);
x=x*100;314.159
x=x+0.5;314.659
x=(int)x;314
x=x/100;3.14
Printf(“x=%f\n”,x);
}
作业:1、将560分钟算成小时和分钟表示,然后输出
2、输入两个整数:1500和350,求商数和余数进行输出
3、读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点
后第二位数进行四舍五入,最后输出结果。
4、读入三个整数a、b、c交换a    b b    c  c    a