文档详情

第3章 顺序结构程序设计.pptx

发布:2025-03-01约4.73千字共44页下载文档
文本预览下载声明

第3章顺序结构程序设计;;设计

下面,我们用公式表达算法来解决问题。首先列出算法的三个主要步骤或称子问题。

算法

1.读取英里数。

2.将距离转换成公里。

3.用公里显示距离。

现在我们要确定算法中是否有哪一步需要更进一步地细化或者是否已表达清晰。第1步(获取数据)和第3步(显示结果值)都是基本步骤,不需要进行什么细化。而第2步虽然很显而易见,但还是需要更详细一些才更有帮助:

第2步细化

2.1英里距离是公里距离的1.609倍;实现

我们使用C语言来编写这个算法。首先将问题的数据需求告诉C编译器,即要使用的内存单元的名称和每个内存单元中所存储的数据类型。接下来,将算法的每一步都转换成一条或多条C语句。如果对算法的某一步进行了细化,那么必须用C语句来转换细化步骤,而不是原始步骤。;从算法中知道,顺序结构程序是按照从上到下的顺序执行语句。

/*

将英里转换为公里的程序

*/

#includestdio.h /*预处理,头文件对printf,scanf函数的声明*/

#defineKMS_PER_MILE1.609 /*定义符号常量KMS_PER_MILE*/

main()

{

doublemiles,kms; /*定义双精度型变量miles,kms*/

printf(请输入用英里表示的距离:); /*输出语句,提示输入英里表示的距离*/

scanf(%lf,miles); /*输入语句,从键盘输入变量miles的值*/

kms=KMS_PER_MILE*miles; /*表达式语句,转换为公里表示的距离*/

printf(等同%f公里。\n,kms); /*输出语句,显示用公里表示的距离*/

};;C语言的语句可以分为5类,分别是:表达式语句、函数调用语句、控制语句、空语句和复合语句。;函数调用语句;控制语句;空语句;复合语句;;标准库函数;预处理;字符输出函数(putchar函数);也可以输出控制字符,如putchar(\n)输出一个换行符,使输出的当前位置移到下一行的开头。如果将例3.1程序最后一行改为

putchar(c1);putchar(\n);putchar(c2);putchar(\n);putchar(c3);putchar(\n);

则输出结果为:

Y

O

U

也可以输出其他转义字符,如:

putchar(\101) (输出字符A)

putchar(\) (输出单引号字符’)

putchar(\015) (输出回车,不换行,使输出的当前位置移到本行开头);格式输出函数(printf函数);格式控制;printf函数中常用的格式说明符;①整型数据输出;②实型数据输出;③字符型数据输出;附加格式说明符;例3-5输出实数时指定小数位数。

main()

{

floatf=123.456;

printf(%f%10f%10.2f%.2f%-10.2f\n,f,f,f,f,f);

};普通字符;;例3-6输入单个字符。

#includestdio.h

main()

{charc;

c=getchar();

putchar(c);

}

在运行时,如果从键盘输入字符‘a’并按回车键,就会在屏幕上看到输出的字符‘a’。

a↙(输入a后,按回车键,字符才送到内存)

a(输出变量c的值a);请注意:

getchar()只能接收一个字符。

getchar函数得到的字符可以赋给一个字符变量或整型变量,也可以不赋给任何变量,作为表达式的一部分。

如,例3-6第4、5行可以用下面一行代替:

putchar(getchar());

因为getchar()的值为‘a’,因此putchar函数输出‘a’。

也可以用printf函数输出:

printf(%c,getchar());;格式输入函数(scanf函数);例3-7用scanf函数输入数据。

main()

{inta,b,c;

scanf(%d%d%d,a,b,c);

printf(%d,%d,%d\n,a,b,c);

}

运行时按以下方式输入a、b、c的值:

123↙ (输入a、b、c的值)

1,2,3 (输出a、b、c的值);“%d%d%d”表示按十进制整数形式输入数据。输入数据时,在两个数据

显示全部
相似文档