(9)--第2章 顺序结构程序设计.pdf
《(9)--第2章 顺序结构程序设计.pdf》由会员分享,可在线阅读,更多相关《(9)--第2章 顺序结构程序设计.pdf(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章 顺序结构程序设计目 录CONTENTSC语言要素变量和赋值运算符与表达式数据的输入输出用C编写数学公式0 01 10 02 20 03 30 04 40 05 5C语言程序设计在线实践微课视频C语言要素01【例2-1】已知圆半径r,计算圆面积。C语言要素#include /预处理指令#define PI 3.14159 /符号常量表示圆周率的值int main()/主函数main /专用符号,与右大括号对应使用 double r;/表示半径的变量 double area;/表示面积的变量 printf(Enter the radius:);/提示用户输入半径的值 scanf(%lf,&
2、r);/从键盘输入半径的值 area=PI*r*r;/根据数学公式计算圆面积 printf(The area=%fn,area);/向屏幕输出计算结果,然后换行 return 0;/向系统返回0 /专用符号,与左大括号对应使用C语言程序设计在线实践微课视频 预处理指令:为C预处理器提供指令的命令行,以符号#打头,如#include、#define等。其功能是在C程序编译前修改程序文本。用尖括号时,表示系统到存放C库函数头文件所在的目录中寻找要包含的文件,称为标准方式。stdio.h用双引号时,表示系统先在用户当前目录中寻找要包含的文件,若找不到,再按标准方式去查找。库:可以被程序访问的一些实用
3、函数和符号的集合。C语言要素预处理指令#include#define PI 3.14159 每个C程序都必须包含main函数,而且一个程序中只能有一个main函数。程序将从main函数的第一条语句开始执行,直到执行完main函数中的最后一条语句。main后面圆括号的作用是告诉编译器这是一个函数。大括号 标识main函数的开始和结束。C语言要素main函数int main()/函数体return 0;1.保留字C语言要素标识符语句保留字数据类型保留字存储类别保留字其他保留字breakcasechardoubleautoconstcontinuedefaultenumfloatexternsize
4、ofdoelseintlongregistertypedefforgotoshortsignedstaticvolatileifreturnstructunionswitchwhileunsignedvoid表2-1 C语言的保留字 所有保留字都用小写表示,它们在C语言中有特殊的含义,不能再用于其他的用途。2.预定义的标识符C语言要素标识符 预定义的标识符:一类具有特殊含义的标识符,它们被用作库函数名(如scanf、printf等)和预编译命令(如include、define等。一般来说,也不要把这些标识符再用作其他用途。3.用户自定义的标识符C语言要素标识符 程序员根据自己需要定义的一类标识
5、符。语法规则:(1)只能由英文字母、数字、下划线组成,且第一个字符只能是字母或下划线。(2)保留字和预定义的标识符不能再用作自定义的标识符。3.用户自定义的标识符C语言要素标识符 合法标识符:price sum total age retire_age stu_age count num1 kilo_per_hour month area表2-2 非法标识符非法标识符非法原因非法标识符非法原因insert$字符“$”非法1num数字不能作为第一个字符%b字符“%”非法double保留字Boys字符“”非法f(x)字符“(”和字符“)”非法apple price空格字符“”非法C语言要素数据类型
6、 C语言的基本数据类型有:整型(int)、浮点型(float和double)、字符型(char),其中int表示数学意义上的整数,float(double)表示数学意义上的实数,char表示字符类型。C语言程序设计在线实践微课视频C语言要素数据类型1.整型:用于表示不带小数部分的数值,可以是负数。由于一个存储单元的大小受限,因此计算机中整数的取值范围是受限的。【例2-2】不同类型数据变量所占的存储空间的差别。#include int main()int num1=10;float f1=1.5;double f2=3.67;char ch=a;printf(“num1=%d,f1=%f,f2=
7、%f,ch=%cn”,num1,f1,f2,ch);printf(Memory:int(%d),float(%d),double(%d),char(%d)n,sizeof(num1),sizeof(f1),sizeof(f2),sizeof(ch);return 0;运行结果:num1=10,f1=1.500000,f2=3.670000,ch=aMemory:int(4),float(4),double(8),char(1)C语言程序设计在线实践微课视频C语言要素数据类型2.浮点型:用于标识带小数部分的数值类型存储空间(字节)精度取值范围(绝对值)float4670以及1.210-383.4
8、1038double815160以及2.310-3081.710308表2-3 两种浮点型的对比【例2-3】浮点型数据的误差。#includeint main()float a=1234567.89;printf(%fn,a);/输出变量a的值,默认保留6位小数 return 0;运行结果:a=1234567.875000 浮点型数据在计算机中只能近似表示,在运算中会产生误差。C语言程序设计在线实践微课视频C语言要素数据类型3.字符型字符型:char型表示单个字符值,其取值范围是ASCII表中的字符,如字母、数字或其他符号。char型需要1个字节的空间。【例2-4】字符的ASCII码值。(nb
9、uoj1020)输入一个字符,输出其对应的十进制ASCII码值。#includeint main()char ch;scanf(%c,&ch);/输入一个字符printf(%dn,ch);/输出其对应的十进制ASCII码值return 0;运行结果:a97C语言程序设计在线实践微课视频C语言要素常量和变量数据的表现形式常量整型常量:十进制、八进制、十六进制,如100,056,0 x58字符型常量字符串常量:Frank ,boy ,875符号常量:#define PI 3.14变量:有名字的、具有特定属性的一个存储单元,用来存放数据。浮点型常量3.14,9.8(十进制小数形式)1.25e3(即十
10、进制数1.25103)(指数形式)a,A ,#,5 等(普通字符)n ,t 等 (转义字符)C语言程序设计在线实践微课视频C语言要素常量和变量转义字符功能转义字符功能0空字符(NULL)双引号字符b退格,光标从当前位置向左退一格单引号字符t横向跳格,相当于Tab键,光标从当前位置跳到下一个Tab位置反斜杠字符n回车换行,将光标从当前位置移到下一行的开头ddd1到3位八进制数所对应的字符f换页,将光标从当前位置移到下一页的开头xhh1到2位十六进制数所对应的字符r回车不换行,将光标从当前位置移到本行的开头表2-4常用转义字符及功能C语言程序设计在线实践微课视频C语言要素常量和变量 程序中用到的变
11、量需要先定义,后使用。变量有类型,如:double r;图2-3 一个变量 注意区分“类型”与“变量”。变量占用存储单元,是具体存在的实体,在其占用的存储单元中可以存放数据。类型是变量的共性,不占用存储单元,不能用来存放数据。每一个变量都属于一个确定的类型。C语言程序设计在线实践微课视频C语言要素语句1.输出语句printf(Enter the radius:);printf(The area=%fn,area);2.输入语句scanf(%lf,&r);3.表达式语句area=PI*r*r;4.返回语句return 0;C语言程序设计在线实践微课视频C语言要素注释 注释(comment):对程
12、序附加的解释性的信息,如程序名、程序的作用、语句的作用等,其内容可以是任意可显示的字符。1.块注释。以符号/*开始,符号*/结束,中间是注释的内容,它们可以在同一行也可以在不同行。2.行注释。以双斜杠/开始,其后这一行的全部内容都作为注释。注释几乎可以出现在程序的任何位置上。注释是给用户看的,而不是给机器“看”的。注释信息在编译时会被忽略,不会对程序造成任何影响。在编译器允许的前提下,块注释和行注释的作用是一样的。C语言程序设计在线实践微课视频变量和赋值02C语言程序设计在线实践微课视频变量和赋值【例2-5】计算并输出7+8的值。#includeint main()printf(%dn,7+8
13、);return 0;运行结果:15C语言程序设计在线实践微课视频变量和赋值【例2-6】单组数据A+B。输入任意两个整数,求和并输出结果。#includeint main()int num1,num2,sum scanf(%d%d,&num1,&num2);sum=num1+num2;printf(%dn,sum);return 0;运行结果:5 611C语言程序设计在线实践微课视频变量和赋值变量定义 变量定义语句的作用:向编译器通知程序中的变量名字和每个变量存储的信息类型。语法数据类型名 变量名;样例int num1,num2;float sum,average;char ch;说明(1)声
14、明num1,num2为整型变量;声明sum,average为浮点型变量;声明ch为字符型变量。(2)变量间以逗号间隔,最后以分号结尾。表2-5变量定义的形式C语言程序设计在线实践微课视频变量和赋值变量定义int num1,num2,sum;系统给变量分配存储单元,用于存储数据,变量的值可以改变。变量内存空间的值只能被修改而不可能为空。未初始化的变量,其值为随机数。C语言程序设计在线实践微课视频变量和赋值变量取值使一个变量获得值的方法一般有三种:(1)初始化:在定义变量的同时给定初值。例如语句“int num1=76;”。(2)赋值:定义变量后,通过赋值的方式修改变量空间中原有的内容。例如:in
15、t num1;num1=76;(3)输入:从键盘或磁盘文件中输入数据给变量。如语句“scanf(%d%d,&num1,&num2);”C语言程序设计在线实践微课视频变量和赋值变量取值【例2-7】访问未初始化的变量。#includeint main()int a,b,sum;a=7;sum=a+b;printf(a=%d,b=%d,a+b=%dn,a,b,sum);return 0;运行结果:a=7,b=-858993460,a+b=-858993453C语言程序设计在线实践微课视频变量和赋值变量取值【例2-8】计算月收入。某小型外贸公司员工月总收入的计算方法为:月基本工资加当月奖金。输入某员工
16、月基本工资和当月奖金,计算该员工的月总收入。#includeint main()double salary,bonus;scanf(“%lf%lf”,&salary,&bonus);/输入月基本工资和当月奖金 salary=salary+bonus;printf(%.2fn,salary);return 0;运行结果:5000 1300.86300.80图2-8 语句salary=salary+bonus执行前后内存效果C语言程序设计在线实践微课视频变量和赋值变量取值【例2-9】三变量法实现两数交换。#includeint main()int a,b,t;scanf(%d%d,&a,&b);p
17、rintf(Step 1:a=%d,b=%dn,a,b);t=a;/a=b;/b=t;/printf(Step 2:a=%d,b=%dn,a,b);return 0;运行结果:7 20Step1:a=7,b=20;Step 2:a=20,b=7C语言程序设计在线实践微课视频变量和赋值数据类型的转换1.赋值运算符两侧的类型转换执行赋值语句时,一般要求赋值运算符号两侧的数据类型相同,如果两侧的数据类型不一致,在可以兼容的情况下系统一般会进行自动转换,然后再赋值。如语句:int number=19.6;试图将一个浮点数19.6赋给一个整型变量number,则会自动丢弃浮点数的小数部分,整型变量num
18、ber实际获得的值为19。当赋值运算符两侧的类型不一致时,其转换规则是:将赋值运算符右侧数据的类型转换为左侧变量的类型,然后再进行赋值操作。此时可能会产生误差或数值溢出。C语言程序设计在线实践微课视频变量和赋值数据类型的转换2.隐式类型转换(1)无条件的隐式类型转换:所有的char型和short型都必须转换为int型,所有的float型都必须转换成double型。即使两个操作数是相同类型的(如float和double都是浮点类型),仍要进行类型转换。(2)统一类型的隐式类型转换:如果经过无条件的隐式类型转换后,多个操作数的类型还是不一致,则需要将较低的类型转换为较高的类型,然后再计算。C语言程
19、序设计在线实践微课视频变量和赋值数据类型的转换3.强制类型转换语法(类型名)(表达式)或类型名(表达式)样例(int)(grade);或int(grade)说明强制类型转换只是在当前运算步骤将某种类型数据的值临时转换成另一种类型参加运算,并没有改变该数据原有的类型。表2-6 强制类型转换的形式C语言程序设计在线实践微课视频变量和赋值数据类型的转换3.强制类型转换【例2-10】自动类型转换与强制类型转换。#includeint main()int a=7,b=8;double div1=a/b;/自动类型转换 double div2=(double)a/b;/对int型变量a强制类型转变,临时转
20、为double型 printf(div1=%f,div2=%fn,div1,div2);return 0;运行结果:div1=0.000000,div2=0.875000C语言程序设计在线实践微课视频变量和赋值数据类型的转换3.强制类型转换【例2-11】强制类型转换与四舍五入。#includeint main()double x1=19.2,x2=19.8;int y1,y2;y1=(int)(x1+0.5);y2=(int)(x2+0.5);printf(x1=%f,y1=%dn,x1,y1);printf(x2=%f,y2=%dn,x2,y2);return 0;运行结果:x1=19.20
21、0000,y1=19x2=19.800000,y2=20 表达式(int)(x+0.5)可实现对数x的四舍五入。C语言程序设计在线实践微课视频运算符和表达式03C语言程序设计在线实践微课视频运算符和表达式算术运算符与表达式运算符名称作用样例+加加法7+8=15-减减法7-8=-1*乘乘法7*8=56/除(1)两个操作数都是整数时,计算结果是两数相除的整数部分;(2)两个操作数中有一个以上是浮点数时,计算结果为数学上两数相除的结果。7/8=07.0/8=0.875%求余(模)求两个整数相除的余数7%8=7表2-7 常用算术运算符C语言程序设计在线实践微课视频运算符和表达式算术运算符与表达式【例2
22、-12】计算并输出78的值。#includeint main()printf(“%dn”,7/8);return 0;运行结果:0/思考,为什么是0?C语言中的除法运算可能产生意外的结果,即“整数/整数=整数”,会丢失商的小数部分的数据。如7/5的结果为1,7/8的结果为0。【例2-13】计算并输出7.08的值。#includeint main()printf(%fn,7.0/8);return 0;运行结果:0.875000C语言程序设计在线实践微课视频运算符和表达式算术运算符与表达式【例2-14】温度转换。输入一个华氏温度,求出其对应的摄氏温度,输出保留2位小数。计算公式如下,其中c表示摄
23、氏温度,f表示华氏温度。#includeint main()double c,f;scanf(“%lf”,&f);/输入华氏温度c=5*(f-32)/9;printf(“%.2fn”,c);/输出对应的摄氏温度return 0;运行结果:10037.789)32(5cfC语言程序设计在线实践微课视频运算符和表达式算术运算符与表达式【例2-15】植树问题。某学校植树节开展植树活动,已知树苗有m株,参加植树的同学有n人(mn),请问每位同学平均可以植树几株?还有几株剩余?#includeint main()int m,n,ave,remain;scanf(%d%d,&m,&n);/输入树苗数量m和
24、学生人数n ave=m/n;/每位同学平均植树的数量 remain=m%n;/剩余的数目 printf(%d%dn,ave,remain);return 0;运行结果:163 325 3C语言程序设计在线实践微课视频运算符和表达式算术运算符与表达式【例2-16】三位数的数位分离。给定一个任意的三位数,分别输出其个位、十位和百位上的数字。int main()int num;int unit,tens,hundred;/表示个位,十位,百位的变量scanf(%d,&num);/输入任意一个三位数,本例输入367unit=num%10;/对10取余,求出个位数tens=(num/10)%10;/先整
25、除10,再对10取余,求出十位数hundred=num/100;/整除100,求出百位数printf(“%d%d%dn”,unit,tens,hundred);/按个、十、百顺序输出 return 0;运行结果:3677 6 3C语言程序设计在线实践微课视频运算符和表达式赋值运算符与表达式1.简单赋值运算赋值运算:其作用是对一个变量进行赋值,它与数学中的等号意义不同。可以将一个常量的值赋给一个变量,如:r=10;也可以将一个表达式的值赋给一个变量,如:area=PI*r*r;赋值运算符的左边必须是一个变量,不可以是一个常量,也不可以是一个表达式,如a+b=c是非法的。C语言程序设计在线实践微课
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 9-第2章 顺序结构程序设计 顺序 结构 程序设计
限制150内