null顺序结构程序
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
*顺序结构程序设计 北京交通大学计算机学院
计算机程序设计基础课程组教学目标*教学目标使用c语言编写出简单的顺序结构程序
了解结构化程序的基本结构
掌握基本的数据类型
会定义变量并了解变量在内存的存放及其作用
会使用算术和赋值运算符进行计算
能使用输入输出函数输入输出数据
教学
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
*数据的存储和基本数据类型及数据类型转换
常量和变量
数据的输入和输出
表达式(算术和赋值表达式)
常用数学函数教学内容复习: c程序的基本结构 *复习: c程序的基本结构 程序的基本结构由一个或若干个函数组成,其中必须有且只能有一个名字为main函数
程序中的每条语句以分号(;)结尾
程序中可以有不执行的语句,这些语句为注释语句,用/* */注释null*常见的几种main函数写法 void main()
{
}int main()
{
}return 0;计算机语言中数据的描述*计算机语言中数据的描述数据描述需要解决的两个问题
问题之一:有哪几种数据?
例:s=3.14159*r*r
3.14159 常量
r 变量
在程序运行中其值不可以改变,一般用于构成表达式;
在程序运行中其存储的值可以改变。一般用于描述待处理的数据,中间结果和最后结果数据类型null*问题之二:如何规定数据的存储空间和操作规则?
为数据指明所属数据类型
常量通过
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
写方式来指明其数据类型
变量通过关键字来指明其数据类型
数据类型1.基本数据类型 *1.基本数据类型 int 整型 float 单精度浮点型
char 字符型 double 双精度浮点型
short int(或short) 短整型
long int(或long) 长整型
unsigned int 无符号整型
unsigned short 无符号短整型
unsigned long 无符号长整型数据类型(1) 整型 *(1) 整型 数据类型 数据类型最小取值范围 (vc++中)null*数据类型所占字节跟语言和编译系统有关
在c语言中可以通过sizeof()函数得到该信息
例:获得int类型所占字节
#include
void main()
{
printf("%d\n",sizeof(int));
}注意:该段程序在不同的编译环境运行结果不一致,在vc++环境为4null*以unsigned short类型为例
unsigned Short类型为2字节(16位)
最大取值的二进制表示为:最小取值的二进制表示为:655350取值范围确定(由字节数决定)null*以short类型为例,占两个字节
(16位,最高位符号位)
1 000 0001 1000 0001
0 000 0001 1000 0001符号位
1:负数
0:正数数值的表示
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
-原码 反码 补码*数值的表示方法-原码 反码 补码正数的原码、反码和补码相同
1 的补码 0 000 0000 0000 0001
……
32767 的补码 0 111 1111 1111 1111
(215-1,2个字节的存储单元能表示的最大正数)
负数的原码、反码和补码不同
-1
原码 1 000 0000 0000 0001
反码 1 111 1111 1111 1110 原码取反
补码 1 111 1111 1111 1111 反码+1原码 反码 补码*原码 反码 补码32767
补码 0 111 1111 1111 1111
-32767
原码 1 111 1111 1111 1111
反码 1 000 0000 0000 0000 原码取反
补码 1 000 0000 0000 0001 反码+1
-32768 = -32767-1 (两者补码相加)
补码 1 000 0000 0000 0000
(2个字节的存储单元能表示的最小负数)null* -32768 -1 0 1 32767 32767 0111 1111 1111 1111
……
1 0000 0000 0000 0001
0 0000 0000 0000 0000
-1 1111 1111 1111 1111
-2 1111 1111 1111 1110
……
-32767 1000 0000 0000 0001
-32768 1000 0000 0000 000032767 + 1 = 32768 ?
1000 0000 0000 000 = -32768
-32768 - 1 = -32769 ?
0111 1111 1111 1111 = 32767(2)浮点类型 *(2)浮点类型 float型数据在内存中占用4个字节(32位),提供7位有效数字,可能的取值范围在10-38~1038;
double型数据占8个字节,提供15~16位有效数据,可能的取值约10-308~10308。数据类型null*浮点型数据的存储符合IEEE浮点数格式,如float型数据,8位用于指数,24位用于基数。
例:实数123.4,二进制形式1111011.0110011
表示成0.11110110110011*27
按float型存放:
0.11110110110011用3字节
7(二进制形式)用1字节
考虑按double类型存放的情况?
并不是所有的实数都能在计算机中精确表示
(3)字符型 *(3)字符型 字符型数据存储时占用8位,它实际存储的是字符对应的ASCII码(Americal Standard Code for Information Interchange美国
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
信息交换码)。如一个char型数据’A’,其ASCII码为65,故实际存储的内容是65,二进制形式为0100 0001 。
字符型数据与整型数据可以通用,字符型数据所有的性质与一字节整型量相同。 数据类型字符型数据与整型数据通用示例*例一
int my;
my=‘a’
解释:my中的值是97
例二
char ch;
ch=66
解释:ch中的值是‘B’字符型数据与整型数据通用示例主要应用是char型数据做加减运算,作用是由当前字母获得其他字母
例如:char ch=‘a’;
ch=ch-32;
解释:经过上面两步操作,ch中得到的是‘A’2.变量*2.变量变量是指程序运行过程中可以发生变化的量
C中的变量必须先定义后使用
定义语法:数据类型 变量名 例:int a;
定义时注意两点
用关键字指明数据类型
为变量起名
起名规则为:由字母数字下划线组成,以字母或下划线开头,不能使用c中的关键字,比如int等。
变量应该先赋值,后引用
数据类型(1)变量定义*(1)变量定义变量定义语法
int a , b , c ; /*指定a,b,c为整型变量*/
float width ; /*指定width为单精度实型量*/
double z; /*指定z为双精度实型变量*/
char c1 , c2; /*指定c1,c2为字符型变量*/数据类型变量的定义与使用*变量的定义与使用变量必须先定义,后使用。
#include
int main(void)
{
int celsius, fahr;
fahr = 100;
celsius = 5 * (fahr - 32) / 9;
printf("fahr = %d, celsius = %d\n", fahr, celsius);
return 0;
}一个变量名只能定义一次
变量一般都定义在程序的头上
不能定义在程序的中间或后面应该先赋值,后引用(2)变量定义的含义 *(2)变量定义的含义 定义变量,编译系统会在编译时按照数据类型为其分配相应的内存空间,并将该内存空间命名为变量名
在程序中操作变量名即为操作该存储空间
比如:int i1,i2;
i1=4;
i2=5 ; 2.2 数据类型(3)变量的赋值方法*(3)变量的赋值方法变量赋初值:在定义变量时对它赋值
int a = 5, b = 3;
赋值表达式
int a, b;
a = 5;
b = 3;
输入
int a, b;
scanf("%d%d", &a, &b);(4)变量的作用*(4)变量的作用存放数据
待处理的
中间数据
最后结果null*3.常量通过书写方式表示数据的类型null*(1) 整型常量
整型常量即整数。
基本整型常量可以使用三种形式表示:十进制数、八进制数、十六进制数。每种进制形式的数据都有特殊标记。
十进制数。如128、-60、0。
八进制数。以0开始的数据是八进制数。如0123代表八进制数123,即十进制数83。
十六进制数。以0x开始的数是十六进制数。如-0x128代表十六进制数-128,即十进制数-296。 数据类型整型常量的写法举例*整型常量的写法举例123 = 01111011 (B) 二进制
=173 (O) 八进制
=7B (X) 十六进制
123 0173 0x7b
16 020 0x10
10 012 0XA
10 010 0x10
不能超出整型数据的取值范围
比长整型数还要大的数只能用实数来表示整数的类型*整数的类型其他整型数的表示加字母后缀
123L(0173L) long
123U unsigned
123LU unsigned long
null*(2) 实型常量
实型常量又称实数或浮点数。
实数有两种表示形式:
十进制形式。包括整数部分、小数点、小数部分,当整数或小数部分为0时可以省略,但小数点不能省略。如128.0、.128、128.5、128.、0.0等都是十进制数形式。
指数形式。包括尾数、字符e(或E)、指数。它适用于表示较大或较小的数。e之前必须有数字,且e后面的指数必须为整数。如128e2或128E2都代表128×102。null*默认情况下所有实型常量编译器都会处理为double型,如果实型常量后缀加上“f”或“F”,才会被当成float型。 例:float a;
a=3.5;
编译时会出现warning,原因是3.5系统解释为double,而a是float,所以警告你将double赋给float会丢失数据消除warning方式:
(1)float a;
a=3.5f;
(2)double a;
a=3.5;
null*(3) 字符常量
字符常量是用单引号括起来的一个字符,如‘A’、‘a’、‘?’、‘0’等。
字符常量的值的是机器字符集中字符的数字值,如字符常量'0',其ASCII为48,所以存储的实际内容为48。 转义字符*转义字符反斜杠后跟一个字符或数字
字符常量,代表一个字符
'\n' '\101' '\x41' 'A'
所有字符都可以用转义字符表示‘\101’或’\x41’都表示字母A例:转义字符‘’输出*例:转义字符‘’输出#include
void main()
{
printf("\’hello\’");
}
运行结果:’hello’null*/*功能:使用转义字符控制数据的输出*/
#include
void main()
{
char c1 = 'A',c2 ='N';
printf("a\tbc\tABC\n");
printf("xyz\t%c %c",c1,c2);
}运行结果:
a bc ABC
xyz A Nnull*(4) 字符串常量
一对双引号括起来的字符序列。如:
"How do you do. "
例:
void main()
{
printf("This is my first program");
printf("in C/C++.\n");
}
输出结果为
This is my first program in C/C++.C中无字符串变量null*(5) 符号常量
用一个标识符代表一个常量,称符号常量。
定义语法:
#define 标识符 常量
例: #define PI 3.14159
注意事项:
该语句无分号“;”
一般符号常量用大写,以跟普通变量区分
符号常量是常量不能对其赋值null*/*程序名:2_5.cpp*/
/*功能:符号常量的使用,计算圆的周长和面积*/
#include
#define PI 3.14159 /*定义PI代表串3.14159*/
void main( )
{
float r, s, area;
scanf("%f", &r);
s = 2 * PI * r;
area = PI * r * r;
printf("s=%7.2f, area=%7.2f" , s , area);
}使用符号常量的益处:
(1)程序书写简便
(2)程序修改简便
符号常量的优点*符号常量的优点# include
int main(void)
{
double r, s, v;
scanf("%lf", &r);
s = 4.0*r*r*3.14 ;
v = 4.0/3.0*r*r*r*3.14 ;
......
return 0;
}# include
# define PI 3.14
int main(void)
{
double r, s, v;
scanf("%lf", &r);
s = 4.0*PI*r*r ;
v = 4.0/3.0*PI*r*r*r ;
......
return 0;
}3.141593.141593.14159符号常量的使用场合*符号常量的使用场合常量非常复杂,而且在程序中 多次使用;
常量在程序中多次使用,而且后续程序维护有可能需要改变该常量的值;
数据类型\常量\变量小节*数据类型\常量\变量小节程序中的数据按照运行中可变不可变分为常量和变量两类
数据通过数据类型来确定存储空间大小和对其的操作规则
变量通过关键字定义数据类型
常量通过书写格式指名数据类型4.格式输出函数printf *4.格式输出函数printf printf函数一般格式:
printf(格式控制,输出表列);
null*格式控制是由双引号括起来的字符串,它包含三种信息:
·格式说明:由“%”和格式字符组成,如%d,%f等。它的作用是将输出的数据按照指定的格式输出。
·普通字符:需要原样输出的字符。
·转义字符:反斜杠后跟一个字符或数字,用于控制输出。null*输出表列是一些要输出的数据,多个输出数据用逗号隔开
输出数据可以是常量、变量或表达式。
输出数据的个数应该跟格式控制中的格式说明符个数保持一致
整型数据的输出*整型数据的输出整型格式控制符
十进制 八进制 十六进制
int %d %o %x
long %ld %lo %lx
unsigned %u %o %x
unsigned long %lu %lo %lx%nd:表示数据输出的最小宽度为n。例 输出整型数据 *例 输出整型数据 # include
int main(void)
{
printf("%d, %o, %x\n", 10, 10, 10);
printf("%d, %d, %d\n", 10, 010, 0x10);
printf("%d, %x\n", 012, 012);
return 0;
} 10, 12, a
10, 8, 16
10, anull*例如:
int a = -1 , b = 25 , c = 125 ;
long x = 356142;
printf("%d,%5d\n" , a, b);
printf("%5d,%2d\n" , c , c);
printf("%ld" , x );
输出结果为:
-1, 25
125,125
356142关于%nd
(1)如果输出的数位数比n小,则左侧加空格;
(2)如果输出的数位数比n大或相等,则原样输出;
(3)负号占一位实型数据的输出*实型数据的输出float 和double使用相同的格式控制说明
%f
以小数形式输出浮点数,保留6位小数
%e
以指数形式输出,形式为:尾数e指数
其中指数为带符号的3位整数,尾数整数部分1位,小数位数6位null*%n.mf
例:
float x=3.5;
printf(“%3.1f”,x);
输出结果:3.5说明:
(1)如果输出的数保证了小数位数后,总位数比n小,则左侧加空格;
例如: %4.1f
(2)如果输出的数保证了小数位数后位数比n大或相等,则整数部分
原样输出;例如:12.56
(3)小数部分保证m位,不够右补0,多的四舍五入;
例如:12.56
(4)小数点占一位
(5) n可省略,表示只限制小数位。例如;%.1f实型数据输出示例*实型数据输出示例# include
int main(void)
{
double d = 3.1415926;
printf("%f, %e\n", d, d);
printf("%5.3f, %5.2f, %.2f\n", d, d, d);
return 0;
} 3.141593, 3.141593e+000
3.142, 3.14, 3.14一共5位,小数3位,小数点一位字符型数据输出*字符型数据输出printf()
格式控制符 %c
char ch=‘A’;
printf("%c", ch);
putchar()
char ch=‘B’;
putchar(ch);
输出一个字符例:
回头读控制格式符的选择控制格式符的选择*(1)根据数据的数据类型选择相应的控制格式,否则不能正确显示数据;
(2)有一特例:整型和字符类型的数,输出时可以选用对方的控制格式,即%d和%c可以同时使用于这两种类型。例 输出数据*例 输出数据'b'的ASCII码98
# include
int main(void)
{ char ch = 'b';
printf("%c, %d\n", 'b', 'b');
printf("%c, %d\n", 98, 98);
printf("%c, %d\n", 97, 'b'-1);
printf("%c, %d\n", ch - 'a' + 'A', ch - 'a' + 'A');
return 0;
}
b, 98
b, 98
a, 97
B, 665.格式输入函数scanf *5.格式输入函数scanf scanf函数一般格式:
scanf(格式控制,地址表列);
scanf函数的功能是按照指定的格式输入数据,可以输入任意类型的多个数据。null*格式控制与printf函数含义相同,它由若干个格式说明构成,其作用是控制转换输入数据的类型。
地址表列由若干个地址构成,它们可以是变量的地址,也可以是字符串的首地址。
(由三部分构成,请回顾)
null*变量取地址符号为“&”
例:
scanf(“%d,%d”, &i1, &i2);
比如要输入23和45分别赋值给i1,i2,
输入格式如下:
23,45 scanf(“i1=%d,i2=%d”, &i1, &i2);考虑:
1、写法正确吗?
2、如果正确,输入时应该如何输入?
null*格式控制字符串中的普通字符:原样输入
例如:
scanf("%lf", &x);输入: 9.5scanf("x=%lf", &x);输入: x=9.5除了%格式符和
必要的分隔符(如逗号)外,
尽量不要出现普通字符 printf(”enter x:”);
scanf("%lf", &x);
null*scanf可以同时输入若干个数据,输入数据的
类型、个数和位置要与格式控制说明一一对应
scanf("%d%d%d",&a , &b , &c);
用隐含的分隔符(空格或换行符)来输入数据。
例如:输入数据
3 4 5
或输入
3
4
5
则a=3,b=4,c=5整型数据的输入*整型数据的输入整型格式控制符
十进制 八进制 十六进制
int %d %o %x
long %ld %lo %lx
unsigned %u %o %x
unsigned long %lu %lo %lx例 整型数据的输入*例 整型数据的输入# include
int main(void)
{
int a, b;
printf("input a, b:");
scanf("%o%d", &a, &b);
printf("%d%5d\n", a, b);
printf("%x, %d\n", a, b);
return 0;
} input a, b: 17 17
15 17
f, 17%x%d实型数据的输入*实型数据的输入float:%f 或%e
以小数或指数形式输入一个单精度浮点数
double: %lf或%le
以小数或指数形式输入一个双精度浮点数实型数据输入输出示例*实型数据输入输出示例假定float的精度为7位,double的精度为16位
# include
int main(void)
{
float f;
double d;
printf("input f, d:");
scanf("%f%lf", &f, &d);
printf("f = %f\n d = %f \n", f, d);
d = 1234567890123.12;
printf("d = %f \n", d);
return 0;
}input f, d:
1234567890123.123456 1234567890123.123456
f = 1234567954432.000000
d = 1234567890123.123540
d = 1234567890123.120120字符型数据输入*字符型数据输入scanf()
%c
char ch;
scanf("%c", &ch);
getchar()
char ch;
ch = getchar( );
输入一个字符注意:
输入字符时,只能用%c,不能与%d互换例1 输入输出字符示例(使用函数)*例1 输入输出字符示例(使用函数)# include
int main(void)
{
char ch1, ch2;
ch1=getchar();
ch2=getchar();
putchar(ch1);
putchar('#');
putchar(ch2);
return 0;
}Ab
A#b例2 输入输出字符示例*例2 输入输出字符示例# include
int main(void)
{
char ch1, ch2, ch3;
scanf("%c%c%c", &ch1, &ch2, &ch3);
printf("%c%c%c%c%c", ch1, '#', ch2, '#', ch3);
return 0;
}AbC
A#b#CA bC
A# #b注意空格也为字符输入字符如果无显式的分隔符,必须连着输入字符,不能用空格或回车分开输入null*# include
int main( )
{ char ch;
ch = 'b';
printf("%c, %d\n", ch, ch);
return 0;
} printf
'b' %c putchar
98 %d
142 %o
62 %x scanf
'b' %c getchar
98 %d
142 %o
62 %xscanf("%c", &ch);例3:字符和整型的通用例数据输入输出小节*数据输入输出小节printf函数一般格式:
printf(格式控制,输出表列);
scanf函数一般格式:
scanf(格式控制,地址表列);
格式控制是由双引号括起来的字符串,它包含三种信息:
·格式说明:由“%”和格式字符组成,如%d,%f等。它的作用是将输出的数据按照指定的格式输出。
·普通字符:需要原样输出的字符。
·转义字符:用于控制输出。
输出表列是一些要输出的数据,多个输出数据用逗号隔开
地址表列由若干个地址构成,它们可以是变量的地址,也可以是字符串的首地址。 6 算术表达式和赋值表达式 *表达式:由运算符和运算对象(操作数)组成的有意义的运算式子,它的值和类型由参加运算的运算符和运算对象决定。
运算符:具有运算功能的符号
运算对象:常量、变量和函数等表达式 6 算术表达式和赋值表达式 6.1算术运算符和算术表达式*6.1算术运算符和算术表达式C/C++语言提供了如下算术运算符:
单目 + - ++ --
双目 + - * / %
/ (除法运算符):两个整数相除结果还是整数
% (求余运算符):求余运算符要求%两侧都是整型数据null*自增和自减运算符
++运算符的作用是使变量的值增1。
--运算符的作用是使变量的值减1。
常见的用法有:
++i , --i 在使用i前,先使i的值加(减)1
i++ , i-- 在使用i后,先使i的值加(减)1
例如:*例如:已知 i=5
j=i++; j=? i=?
j=++i; j=? i=?
5666读程序*读程序#include
void main()
{ int i=8;
printf("%d\n%d\n%d\n%d\n%d\n%d\n",++i,--i,i++,i--,-i++,-i--);
printf("%d",i);
}明确一点:
执行结果跟编译环境有关,原因是printf语句的执行过程因环境而异Vc中运行结果null*回头读程序Vc环境中printf语句的执行原则:
在printf里的运算顺序是从右向左。然后等运算完了再从左向右输出 算术运算符的优先级和结合性*算术运算符的优先级和结合性单目 + - ++ --
双目 * / %
双目 + -从右向左-5 + 3%2 = (-5) + (3%2) = -4
3 * 5 % 3 = (3*5) % 3 = 0
-i++ -(i++)算术表达式*(1)求三个数的算术平均值
代数表达式:ave=
(2)根据三角形三边计算三角形面积
代数表达式:
(3)根据半径计算圆的周长
代数表达式: s=2πr算术表达式算术表达式:ave=(a + b + c)/3算术表达式:sqrt(s*(s-a)*(s-b)*(s-c))算术表达式:s=2*3.14159*r6.2 赋值运算符和赋值表达式*6.2 赋值运算符和赋值表达式简单的赋值运算符:把一个表达式的值赋给一个变量,格式为:
变量名=表达式
如:
i = 1 /*将数值1赋给变量i*/
count = count + 1 /*计算count+1的值并赋给变量count*/
sum = i1 + i2 /*计算i1+i2的值并赋给变量sum 左边必须是变量null*复合的赋值运算符:算术运算符与“=”结合在一起,形成复合的赋值运算符。
复合算术赋值运算符 += -= *= /= %=
例如:
i += 2 等价于 i = i + 2
a %= 3 等价于 a = a % 3
a * = b + 5 等价于a = a * (b + 5)左边必须是变量赋值表达式*赋值表达式赋值表达式的计算
对赋值表达式求解的过程是:将赋值运算符右侧的表达式的值赋给左侧的变量。赋值表达式的值就是被赋值的变量的值。例如”x=3”这个赋值表达式的值为3,而变量x的值也是3。
赋值运算符按照“自右向左”的结合顺序
7数据类型不同的数据混合运算规则------类型转换*1、运算符两侧的数据类型不同时,它们会按照提升规则自动进行类型转换 7数据类型不同的数据混合运算规则------类型转换转换规则如下:*转换规则如下:水平方向:自动
垂直方向:低 高 自动类型转换例*自动类型转换例'A' + 12 – 10.05
65
77
66.95数据类型不同的数据混合运算规则------类型转换*数据类型不同的数据混合运算规则------类型转换2、进行赋值运算时也发生类型转换,右侧的类型自动转换为左侧的类型。
例:int x;
float y=5.4;
x=y;
结果:x的值为5
赋值运算中的自动类型转换例*赋值运算中的自动类型转换例double x;
x = 1;x = 1.0short a = 1000;
char b = 'A';
long c;
c = a + b;c = 1065int ai;
ai = 2.56;ai = 2short bi;
bi = 0x12345678Lbi = ox5678不做四舍五入数据类型不同的数据混合运算规则------类型转换*3、任何表达式中都可以强制类型进行转换。其形式为:
(类型名)表达式
例:int x;
float y=5.4;
x=(int)y; 结果:x的值为5
数据类型不同的数据混合运算规则------类型转换3.0
3
2.0
2.5(double)3
(int)3.8
(double)(5/2)
(double)5/2强制类型转换示例*强制类型转换示例# include
int main(void)
{
int i;
double x;
x = 3.8;
i = (int) x;
printf("x = %f, i = %d \n", x, i);
printf("(double)(int)x = %f\n", (double)(int)x);
printf(" x mod 3 = %d\n", (int)x % 3);
return 0;
}x = 3.800000, i = 3
(double)(int)x = 3.000000
x mod 3 = 08程序举例
8.1求华氏温度 100°F 对应的摄氏温度 *8程序举例
8.1求华氏温度 100°F 对应的摄氏温度
转换公式如下:
摄氏温度 C=(5/9)(F-32)
程序解析*程序解析例求华氏温度 100°F 对应的摄氏温度。
摄氏温度 C=(5/9)(F-32)
#include
int main(void)
{
int celsius, fahr; 变量定义
fahr = 100; 变量使用
celsius = 5 * (fahr - 32) / 9;
printf("fahr = %d, celsius = %d\n", fahr, celsius);输出结果
return 0;
}
输出:fahr =100, celsius = 37修改程序完成求任意华氏温度对应的摄氏温度改为celsius = 5/9 * (fahr - 32) 正确吗;null*分析:程序需要三个整型变量分别存放三个整数,考虑到三个整数的平均数不一定为整数,所以存放平均值的变量定义为实型。/*程序名:2_6.cpp*/
/*功能:求三个整数的平均数*/
#include
void main()
{
int a, b, c; /*定义三个整型变量分别存放三个整数*/
float ave; /*定义一个实型变量分别平均值*/
scanf("%d,%d,%d",&a,&b,&c); /*任意输入三个整数*/
ave = (a + b + c) / 3.0; /*计算平均值*/
printf("ave=%7.2f\n" , ave); /*输出计算结果*/
}8.2 求三个整数的平均数。9 常用数学库函数*9 常用数学库函数库函数
C语言处理系统提供事先编好的函数,供用户在编程时调用。scanf(), printf(), sqrt()
用户调用库函数时, 用#include命令将相应的头文件包含到源程序中。
例如
调用scanf, printf,需要 #include
调用数学函数,需要 #include null*常用数学函数null*调用数学函数格式
函数名(参数)
参数可以是常量、变量或表达式。
例如计算2的3次方的函数调用表达式为:
pow(2.0 , 3.0)
函数调用必须放到表达式当中
例如:
printf(“%7.2f”, pow(2.0 , 3.0));
或者
double x;
x= pow(2.0 , 3.0);
调用函数时注意参数类型,这pow两个参数都是double型的,返回值也是double型的,语句执行结果为打印8.00。
例1 计算存款的本息*例1 计算存款的本息输入存款金额 money、存期 year 和年利率 rate,根据公式计算存款到期时的本息合计sum(税前),输出时保留2位小数。
sum = money ( 1 + rate)yearsum = money * pow((1 + rate), year) 源程序* 源程序# include
# include
int main(void)
{ int money, year;
double rate, sum;
printf(“Enter money:");
scanf("%d", &money);
printf(“Enter year: ");
scanf("%d", &year);
printf(“Enter rate:");
scanf("%lf", &rate);
sum = money * pow((1 + rate), year);
printf("sum = %.2f", sum);
return 0;
}Enter money: 1000
Enter year: 3
Enter rate: 0.025
sum = 1076.89scanf("%d%d%lf", &money, &year, &rate);null*分析:输入三角形的三边,用下述公式计算三角形的面积:
其中 s=(a+b+c)/2/*程序名:2_8.cpp*/
/*功能:输入三角形三边,计算面积*/
#include
#include
void main()
{
float a , b , c , s , area;
printf("Please enter 3 sides of a triangle:\n");
scanf("%f,%f,%f",&a , &b , &c);
s = (a + b + c)/2;
area = sqrt(s * (s - a) * ( s - b) * (s - c));
printf("a=%7.2f,b=%7.2f,c=%7.2f\n",a,b,c);
printf("area=%7.2f\n",area);
} 例2:输入三角形的三边长,求三角形的面积。 小结1*小结1顺序结构的程序主要语句:
变量定义
输入语句
赋值语句
输出语句小结2*小结2基本数据类型主要包括整型、实型、字符型,这些类型的数据可以分为常量和变量,变量总是对应某块内存,可以存放相应类型的数据。程序要使用变量,必须先定义变量,定义变量的同时可以初始化。
学习运算符时要掌握运算符的运算规则、优先级和结合性。本章主要讲解了计算中常用的算术运算符和赋值运算符,有了这些运算符,就可以进行一些简单计算了。
数据的输入输出是通过调用系统库函数scanf和printf完成的,要使用这对函数,需要加上头文件stdio.h。通过本章的学习,应该可以编写一些简单的程序了。练习*练习求圆面积
公式:s=∏×r2
要求
半径由用户输入;
∏定义成符号常量,取值自定;
r2使用数学函数求解;
面积输出形式为小数点后保留两位.
思考题*思考题结构化程序的基本结构是什么?
什么是数据类型?基本数据类型有哪些?
C语言中设置符号常量的意义?
什么是运算符的优先级和结合性?