其中“&”是地址运算符。
数据输入操作
如果相邻 2 个格式指示符之间,不指定数据分隔符(如逗号、冒号等),则相应的 2 个输入
数据之间,至少用一个空格分开,或者用 Tab 键分开,或者输入 1 个数据后,按回车,然后再输入
下 1 个数据。
例如,scanf("%d%d",&num1,&num2);
假设给 num1 输入 12,给 num2 输入 36,则正确的输入操作为:12□36↙
或者:12↙
36↙
注:使用“↙”符号表示按回车键操作,在输入数据操作中的作用是,通知系统输入操作结束。
“格式字符串”中出现的普通字符(包括转义字符形式的字符),务必原样输入。
例如,scanf("%d,%d",&num1,&num2);
假设给 num1 输入 12,给 num2 输入 36,正确的输入操作为:12,36↙
练习 3_1 已有定义 double d,f;,数据的输入方式为:3.69<CR> 3.2<CR>,根据定义和数据
的输入方式,输入函数语句的正确形式为 scanf("%lf%lf",&d,&f)。
(scanf("%4.2lf%3.1lf",&d,&f) 或 scanf("%4.2f%3.1f",&d,&f)都是错误的)
练习 3_2 有下列程序段
int m=2, n=2;n = m++ -1;printf("%d %d\n", m ,n); 输出结果是 3,1。
第四章 选择结构程序设计
▲一、算法
1、算法的概念:算法是指为解决一个问题而采取的确定的、有限的方法和步骤。
2、算法的描述方法最常用的有自然语言、流程图、N-S 流程图、PAD 图和伪代码等。
▲二、顺序结构程序设计
顺序结构是结构化程序设计中最简单、最常见的一种程序结构。顺序结构中的语句是按照书写
的先后次序执行的,并且每个语句都会被执行到。
练习 4_1 编写一个程序,从键盘上输入一个学生 5 门课的成绩,计算出该学生的总成绩和平
均成绩,并用自然语言描述算法。
解:设变量 a、b、c、d、e 分别表示学生 5 门课的成绩,sum 表示总成绩,aver 表示平均成绩,
则用自然语言描述算法如下:
①输入学生 5 门课的成绩 a、b、c、d、e;
②求总成绩 sum=a+b+c+d+e;
③求平均成绩: aver =sum/5.0;
④输出总成绩和平均成绩。
程序如下:
#include <stdio.h>
main()
{
float a,b,c,d,e,sum,aver;
printf("请输入学生 5 门课的成绩\n");
scanf("%f,%f,%f,%f,%f",&a,&b,&c,&d,&e);
sum=a+b+c+d+e;
aver=sum/5.0;
printf("总成绩=%0.2f,平均成绩=%.2f\n",sum,aver);
}
练习 4_2 编写一个程序,从键盘输入梯形的上底、下底和高的值(浮点数),计算并输出其面
积(保留两位小数),并用 N-S 结构图表示算法。