C语言课件 第4章
- 格式:ppt
- 大小:265.00 KB
- 文档页数:68


第4章 选择结构程序设计
【题4 .1】什么是关系运算?什么是逻辑运算?逻辑运算符与关系运算符优先级排序?
答:关系运算:即比较运算,由关系表达式完成。关系表达式是用关系运算符将两个数值或表达式连接起来的式子。关系运算符包括大于(>)、小于(<)、等于(= =)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。
逻辑运算:是指对因果关系进行分析的一种运算。逻辑运算的结果并不表示数值大小,而是表示一种逻辑概念,若成立用真或1表示,若不成立用假或0表示。逻辑运算符包括非运算(!),与运算(&&),或运算(||)。
逻辑运算符和关系运算符的优先级排序:
(1) 逻辑运算符!最高, 其次为关系运算符 ,逻辑运算符 &&和|| 最低
(2) 关系运算符中: <,<=,>,>=的优先级相同,且高于==和!=,而==和!=的优先级相同
【题4 .2】条件表达式的形式?输入两个数,求最大值?(用条件表达式实现)
x=?:
a=1,b=2,c=3,d=4,则条件表达式a>b?a:c>d?c:d的值为:4
【题4 .3】break语句的作用及如何使用?
作用:1.用于switch语句中,从中途退出switch语句。
2.用于循环语句中,从循环体内直接退出当前循环。
使用:switch(表达式)
{ case常量表达式1: 语句1;break;
case常量表达式2: 语句2;break;
…
case常量表达式n: 语句n;break;
default:语句n+1;
}
【题4 .4】求下面表达式的值。设a=1,b=2,c=3。
⑴ (!a==1)&&(!b==0)&&(!c==0) 答:原式=0
第4章 循环控制
使用C语言编程解决实际问题时,常常要用到循环控制语句来控制程序一遍一遍反复地执行某个部分的语句。例如,要输入全班学生成绩;求若干个数之和等。几乎所有实用的程序都离不开循环。由循环关键字和循环体语句构成的循环结构是结构化程序设计的基本结构之一。它和顺序结构、选择结构共同作为各种复杂程序的基本构造单元。因此熟练掌握选择结构和循环结构的概念及使用是程序设计的最基本的要求。
C语言中提供了while语句,do-while语句和for语句,用于实现循环控制结构程序设计。在循环语句中通过判断“表达式”的值(表达式的意义同前一章if中相同)来完成嵌入的一个需要重复执行的语句,通常为复合语句构成的循环体。在循环中可以使用以下转移语句:break语句、continue语句及goto语句来进行流程控制,以终止循环或控制进入下一次循环继续执行。本章分别介绍这些控制语句。
4.1 while语句
while语句用来实现“当型”循环结构。其一般形式为:
while (表达式)
循环体语句;
其中while为关键字。表达式为循环条件。执行时先判断循环条件,即计算表达式的值来决定是否进入循环体。如果其值为真(非0),则进入循环执行循环体语句。执行完一遍循环体后,再返回计算表达式的值。若其值仍为真,则继续进入循环体执行循环体语句。反复进行,当表达式的值为假(为0),则退出循环,转入执行循环体后面的语句。
若在执行while语句开始,即初次计算表达式时,表达式的值即为假(为0),则不进入循环,将退出while语句。此时,循环体语句一次也未被执行,程序转入执行循环体后面的语句。while语句的执行过程如图1.3-7(a)当型循环流程图和图4.1-1 while语句的N-S图所示。
例4.1-1求5 n。
分析:若n=3,5 n=5×5×5
#include
void main()
{int i=1,n;
long m=1;
第4章习题答案:
1. 编写一个程序,输入一个三角形的三条边,若能构成一个直角三角形,则输出相应的提示信息。
(1).程序分析:若两条边的平方和等于第三条边的平方,则构成一个直角三角形。
(2).程序源代码:
#include
void main()
{
float a,b,c;
printf(“输入a,b,c:”);
scanf(“%f,%f,%f”,&a,&b,&c);
if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
printf(“构成一个直角三角形\n”);
}
2.输入4个整数,要求按大小顺序输出。
#include
void main()
{int t,a,b,c,d;
printf("请输入4个整数:");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
printf("\na=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
if(a
if(a
if(a
if(b
if(b
if(c
printf("排序结果如下:\n");
printf("%d,%d,%d,%d\n",a,b,c,d);
}
3.设计一个程序,判断一个整数是否是素数。
#include
#include
void main()
{
int i,m,k;
printf("please input an integer:");
scanf("%d",&m);
k=(int)sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0) break;
if(i>k) printf("%d is a prime.\n",m);
else printf("%d is not a prime.\n",m); }
4.输入某年某月某日,判断这一天是这一年的第几天。
(1).程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
第一章: C语言概论
C语言的发展过程
C语言是在70年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一书。通常简称为《K&R》,也有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准学会在此基础上制定了一个C 语言标准,于一九八三年发表。通常称之为ANSI C。
当代最优秀的程序设计语言
早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。成为当代最优秀的程序设计语言之一。
C语言的特点
C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。
C语言版本
目前最流行的C语言有以下几种:
·Microsoft C 或称 MS C
·Borland Turbo C 或称 Turbo C
·AT&T C
这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。
面向对象的程序设计语言
在C的基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。 C++进一步扩充和完善了C语言,成为一种面向 对象的程序设计语言。C++目前流行的最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++ 2.0。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。