c第二章习题课PPT教学课件
合集下载
c程序设计第二章课件

const——常变量
• const double e = 2.71828182845905; • const char msg[] = “Warning: ”; • int strlen(const char[]);
常变量的值在程序运行期间不能被改变!
#include <stdio.h> int main() { int a, b, c, d, e; /*指定a, b, c, d, e为整型变量*/ unsigned u;
标识符
• C语言中,标识符是对变量、函数标号和
其它各种用户定义对象的命名
• 标识符的长度可以是一个或多个字符 • 一般情况下,标识符的第一个字符必须
C语言中的字母是有大小写区别的
是字母或下划线,随后的字符必须是字 母、数字或下划线(某些C编译器不允许 标识符以下划线开始)
• • • • •
标识符可以为任意长度,但外部名必须至少能由 前8个字符唯一地区分(因为某些C编译器仅能识 别前8个字符) 外部名指在链接过程中所涉及的标识符,其中包 括文件间共享的函数名和全局变量名 内部名必须至少能由前31个字符唯一地区分 内部名指仅出现于定义该标识符的文件中的那些 标识符 标识符不能和C语言的关键字相同,也不能和用户 已编制的函数或C语言库函数同名
性,便于程序的调试和修改
• 习惯上符号常量名用大写,变量用小写
#define MAXLINE 1000 char line[MAXLINE+1]; #define LEAP 1 int days[31+28+LEAP+31+30+31+30+31+31+30+31+30+31];
计算机二级C语言PPT第2章

S1:1=>sign S2:1=>sum S3:2=>deno S4:(-1)×sign=>sign S5:sign×(1/deno)=>term S6:sum+term=>sum S7:deno+1=>deno S8:若deno≤100 返回S4;
否则算法结束。
在步骤S1中先预设sign(代表级数中各项的符 号,它的值为1或-1)。在步骤S2中使sum等于 1 ,相当于已将级数中的第一项放到了sum中。 在步骤S3中使分母的值为2。在步骤S4中使sign 的值变为-1。在步骤S5中求出级数中第2项的值 -1/2。在步骤S6中将刚才求出的第二项的值-1/2 累加到sum中。至此,sum的值是1-1/2。在步骤 S7中使分母deno的值加1(变成3)。执行S8步 骤,由于deno≤100,故返回S4步骤,sign的值 改为1,在S5中求出term的值为1/3,在S6中将 1/3累加到sum中。然后S7再使分母变为4。按此 规律反复执行S4到S8步骤,直到分母大于100为 止。一共执行了99次循环,向sum累加入了99 个分数。sum最后的值就是级数的值。
对同一个问题,可以有不同的解题方法和 步骤。方法有优劣之分。有的方法只需进行很 少的步骤,而有些方法则需要较多的步骤。一 般说,希望采用简单的和运算步骤少的方法。 因此 ,为了有效地进行解题,不仅需要保证算 法正确, 还要考虑算法的质量, 选择合适的算法
我们所关心的当然只限于计算机算法,即计算 机能执行的算法。
计算机算法可分为两大类别:数值算法和 非数值算法。数值运算的目的是求数值解 。非 数值运算包括的面十分广泛,最常见的是用于 事务管理领域。目前,计算机在非数值运算方 面的应用远远超过了在数值运算方面的应用。 由于数值运算有现成的模型,可以运用数值分 析方法,因此对数值运算的算法研究比较深入, 算法比较成熟。对各种数值运算都有比较成熟 的算法可供选用。人们常常把这些算法汇编成 册(写成程序形式),或者将这些程序存放在磁 盘或磁带上,供用户调用。
否则算法结束。
在步骤S1中先预设sign(代表级数中各项的符 号,它的值为1或-1)。在步骤S2中使sum等于 1 ,相当于已将级数中的第一项放到了sum中。 在步骤S3中使分母的值为2。在步骤S4中使sign 的值变为-1。在步骤S5中求出级数中第2项的值 -1/2。在步骤S6中将刚才求出的第二项的值-1/2 累加到sum中。至此,sum的值是1-1/2。在步骤 S7中使分母deno的值加1(变成3)。执行S8步 骤,由于deno≤100,故返回S4步骤,sign的值 改为1,在S5中求出term的值为1/3,在S6中将 1/3累加到sum中。然后S7再使分母变为4。按此 规律反复执行S4到S8步骤,直到分母大于100为 止。一共执行了99次循环,向sum累加入了99 个分数。sum最后的值就是级数的值。
对同一个问题,可以有不同的解题方法和 步骤。方法有优劣之分。有的方法只需进行很 少的步骤,而有些方法则需要较多的步骤。一 般说,希望采用简单的和运算步骤少的方法。 因此 ,为了有效地进行解题,不仅需要保证算 法正确, 还要考虑算法的质量, 选择合适的算法
我们所关心的当然只限于计算机算法,即计算 机能执行的算法。
计算机算法可分为两大类别:数值算法和 非数值算法。数值运算的目的是求数值解 。非 数值运算包括的面十分广泛,最常见的是用于 事务管理领域。目前,计算机在非数值运算方 面的应用远远超过了在数值运算方面的应用。 由于数值运算有现成的模型,可以运用数值分 析方法,因此对数值运算的算法研究比较深入, 算法比较成熟。对各种数值运算都有比较成熟 的算法可供选用。人们常常把这些算法汇编成 册(写成程序形式),或者将这些程序存放在磁 盘或磁带上,供用户调用。
最新c--程序设计第二章解析教学讲义ppt课件

C++程序设计
• 关系表达式
– 由关系运算符连接的表达式。是一种简单的逻辑表达式。值为true 或false。
例如: a+b>c+d /*等同于(a+b)>(c+d),结果为0或1*/ y=a>b /*计算a>b的值0或1赋给y,y的值为0或1*/ a>b>c /*等同于(a>b)>c,先求a>b 的值,
❖ 嵌套在if分支中: if (<表达式1>) if (<表达式2>) <语句1>; else<语句2>;
❖ 嵌套在else分支中: if (表达式1) 语句1; else if (表达式2) 语句2; else if … else 语句n;
C++程序设计
配对关系实例:2.2.2
if
语句的嵌套 • else和if的配对关系 – ”就近配对“原则,相距最近且
//语句1: if(n%3==0)
还没有配对的一对if和else首先 配对
if(n%5==0) cout<<n<<″是15的倍数″<<endl;
else cout<< n<<″是3的倍数但不是5的倍数″<<endl;
//语句2:
if(n%3==0)
{
if(n%5==0) cout<<n<<″是15的倍数″<<endl;
float a,b,c; float delta,x1,x2; cout<<"输入三个系数a(a!=0), b, c:"<<endl; cin>>a>>b>>c; cout<<"a="<<a<<'\t'<<"b="<<b<<'\t‘<<"c="<<c<<endl; delta=b*b-4*a*c;
C语言第二章PPT

真
if (x <= 15) y = 4 * x / 3; else y = 2.5 * x - 10.5;
假
表达式 语句1 语句 语句2 语句
计算二分段函数
1 f ( x) = x 0
x≠0 x=0
if( x != 0) y = 1/x; else y = 0;
源程序
#include <stdio.h> int main(void) { double x, y; printf("Enter x:\n"); scanf( "%lf" , &x); if(x != 0) y = 1/x; else y = 0; printf( "f( %.2f ) = %.1f\n " return 0; } Enter x: 2.5 f(2.50)=0.4 Enter x: 0 f(0.00)=0.0 , x, y);
scanf-格式控制字符串 -
格式控制字符串: 格式控制字符串: 格式控制说明: 格式控制说明: 按指定的格式输入数据 int型 :%d float型:%f double型:%lf 普通字符: 普通字符:原样输入 例如: 例如 scanf( "%lf", &x); 输入: 输入: 9.5 scanf( "x=%lf", &x); 尽量不要出现普通字符 输入: 输入 x=9.5
100 fahr =100, celsius = 37
2.3.5 常用数学库函数
I/O库函数使用: #include <stdio.h> 库函数使用: 库函数使用 数学库函数使用: 数学库函数使用: #include <math.h>
if (x <= 15) y = 4 * x / 3; else y = 2.5 * x - 10.5;
假
表达式 语句1 语句 语句2 语句
计算二分段函数
1 f ( x) = x 0
x≠0 x=0
if( x != 0) y = 1/x; else y = 0;
源程序
#include <stdio.h> int main(void) { double x, y; printf("Enter x:\n"); scanf( "%lf" , &x); if(x != 0) y = 1/x; else y = 0; printf( "f( %.2f ) = %.1f\n " return 0; } Enter x: 2.5 f(2.50)=0.4 Enter x: 0 f(0.00)=0.0 , x, y);
scanf-格式控制字符串 -
格式控制字符串: 格式控制字符串: 格式控制说明: 格式控制说明: 按指定的格式输入数据 int型 :%d float型:%f double型:%lf 普通字符: 普通字符:原样输入 例如: 例如 scanf( "%lf", &x); 输入: 输入: 9.5 scanf( "x=%lf", &x); 尽量不要出现普通字符 输入: 输入 x=9.5
100 fahr =100, celsius = 37
2.3.5 常用数学库函数
I/O库函数使用: #include <stdio.h> 库函数使用: 库函数使用 数学库函数使用: 数学库函数使用: #include <math.h>
C语言程序设计教学课件作者第2版乌云高娃课件源程序及习题答案第2章顺序结构流程及应用课件

试一试
调试问题2.4程序,观察运行结果
■ 问题2.4 Tony因学习努力,成绩突出,上半学年 获奖学金2500元,下半学年获奖学金3000元。用 scanf函数输入数据,计算Tony本学年所获得的 奖学金并输出结果。
■ 【解题步骤】 1.定义变量iPrize1、iPrize2和iSum用来存放上半
算术运算符的优先级和结合方 向
C语言规定了运算符的优先级和结合方 向,在表达式求值时,先按运算符的优 先级别高低次序执行,再按运算符的结 合方向结合(相同优先级时)。例如先 乘除后加减,如表2-8所示。
试一试
问题2.9 函数f(x)=3x3+2x2+x+1,编一 程序计算并输出f(3)值。
【解题步骤】 1.定义整型变量iX、iY; 2.从键盘输入一个自变量的值; 3.计算函数值; 4.输出函数值;
试一试
问题2.1新生入学需要保存学生数据,现在定义 整型变量存放年龄、学号,定义字符变量存放 性别,定义浮点型变量存放入学分数和班费。
int iAge=20,iNum=201; char cSex=’m’; /*f:female(女), m:male (男)*/ float fScore,fSum; fScore=580.5; fMoney=78.5
试一试
■ 问题2.5 从键盘输入一个小写字母,将其转 化为大写字母输出。
■ 【解题步骤】 1. 定义字符变量ch用来存放从键盘输入的数
据。; 2. 输出提示信息; 3. 从键盘接收一个小写字母存入ch; 4. 将字符ch转换为大写字母,即ch-32后仍存
入到ch; 5.输出字符变调量试c问h中题的2.字5程符序;,观察运行结果
小结
■ 格式化输出函数printf中双引号括起来的内 容除了%d等格式说明符外,其它字符原样 输出。同样格式化输入函数scanf中双引号 括起来的内容除了%d等格式说明符外,其 它字符照原样输入。
c语言第2版(第2章基本语句)ppt课件

思考:上面各种变量的类型和他们的取值范围。
.1章 引言
2.3 标识符、变量和常量
例2:运行下面的程序,了解变量的取值范围和C语言的特性。
/*example2_2.c 变量的取值范围测试*/
#include <stdio.h> main() { int a=32766,b=-32766;
unsigned m=6553; float t=3.4e+37; printf("a=%d\n",a); printf("m=%u\n",m); printf(“t=%e\n”,t); a=a+4;
字节数
1 2 4
有符号的
最小值
最大值
−128 −32 768
+127 +32 767
−2 147 483 648 +2 147 483 647
无符号的
最小值
最大值
0
255
0
65 535
0
4 294 967 295
.1章 引言
2.1 用二进制表示的数
2.浮点数的二进制表示 浮点数分成单精度浮点数和双精度浮点数; 单精度浮点数占32位(4个字节),双精度浮点数占 64位(8个字节)。 浮点型数据的一般表达式:
.1章 引言
2.3 标识符、变量和常量
例5:了解字符常量与其顺序值的关系。
/*example2_5.c 字符常量与其顺序值的关系*/
#include<stdio.h>
main()
{
printf("%d-->%c\n",'A','A');
printf("%d-->%c\n",'A'+5,'A'+5)程;序运行结果:
.1章 引言
2.3 标识符、变量和常量
例2:运行下面的程序,了解变量的取值范围和C语言的特性。
/*example2_2.c 变量的取值范围测试*/
#include <stdio.h> main() { int a=32766,b=-32766;
unsigned m=6553; float t=3.4e+37; printf("a=%d\n",a); printf("m=%u\n",m); printf(“t=%e\n”,t); a=a+4;
字节数
1 2 4
有符号的
最小值
最大值
−128 −32 768
+127 +32 767
−2 147 483 648 +2 147 483 647
无符号的
最小值
最大值
0
255
0
65 535
0
4 294 967 295
.1章 引言
2.1 用二进制表示的数
2.浮点数的二进制表示 浮点数分成单精度浮点数和双精度浮点数; 单精度浮点数占32位(4个字节),双精度浮点数占 64位(8个字节)。 浮点型数据的一般表达式:
.1章 引言
2.3 标识符、变量和常量
例5:了解字符常量与其顺序值的关系。
/*example2_5.c 字符常量与其顺序值的关系*/
#include<stdio.h>
main()
{
printf("%d-->%c\n",'A','A');
printf("%d-->%c\n",'A'+5,'A'+5)程;序运行结果:
C高级语言程序设计第二章PPT课件

2021/4/6
北京邮电大学信息与通信工程学院
-34-
第34页/共135页
2.3 常量
• 编程时使用符号常量
可以增强程序的可读性 可以增强程序的可维护性
2021/4/6
北京邮电大学信息与通信工程学院
-35-
第35页/共135页
2.3 常量
• 整型常数
C++中的整型常数可以使用多种数制 十进制数:100
-9-
第9页/共135页
2.2 基本数据类型
什么是数据类型?
数据是程序处理的对象,数据根据其本身的特点进行分类,从而形成不同的数据类型。 例如:数学中有自然数、整数、实数
不同类型的数据有不同的表示和处理方法,具有不同运算规则
2021/4/6
北京邮电大学信-10息- 与通信工程学院
第10页/共135页
2021/4/6
北京邮电大学信-12息- 与通信工程学院
第12页/共135页
2021/4/6
1、short:
仅用来修饰int,称为短整型,占2字节内存, 也可直接简写为short;
2、long:
仅修饰int和double,在不同的编译环境中使用 long修饰的double类型数据所占内存不同。
3、unsigned:
常数:程序中使用的具体的数据。
2021/4/6
北京邮电大学信息与通信工程学院
-32-
第32页/共135页
2.3 常量
• 符号常量
C++中提供了一个关键字const,用来区分常量和变量。由于常量在程序运行过程中不能够被改变,所 以要求常量在定义的时候必须进行初始化。
符号常量的定义格式: const 数据类型 常量名 = 常量值;