C语言第13章
- 格式:ppt
- 大小:811.50 KB
- 文档页数:31


第1章C语言概述
1/5
C程序设计(第三版)
第1章 C语言概述
本章重点:1、了解C语言出现的历史背景和特点;
2、掌握C程序上机步骤。
序言:
计算机语言归纳为两类:
1)面向过程:Basic,C,Pascal,Fox等。机器语言,低级语言,高级语言
2)面向对象:Visual Basic(VB),Visual C,Visual Foxpro(VFP)等等。
1.1 C语言出现的历史背景
在各种程序设计语言中,C语言是目前广泛流行的一种语言。 C语言有许多优点,利用它我们既可以编写系统软件(如:unix,它和C被称为孪生兄弟),也可以编写应用软件。
C 语言是1972年由美国的Dennis M. Ritchie设计发明的, 并首次在UNIX操作系统环境下使用。
它由早期的编程语言 BCPL( Basic Combind Programming Language) 发展演变而来。在1970年,
(AT&T:一种计算机系统)美国贝尔实验室的 Ken Thompson根据BCPL编程语言设计出较先进的一种语言,取名为 B语言, D.M.Ritchie在B语言的基础上设计出了C 语言。
发展历程中的特点:
⑴最早1960年ALgol 60:计算能力强,但脱离硬件;
⑵1967年BCPL:解决了控制硬件问题;
⑶1970年改进,简化,但程序量庞大—>B语言
⑷1972~1973年间改进--->C语言。
随着微型计算机的日益普及, 随即出现了许多C 语言版本。
由于没有统一的标准, 使得这些C 语言之间出现了一些不一致的地方。为了改变这种情况, 1983年美国国家标准化协会(ANSI)为C 语言制定了一套标准,称为ANSI C标准,并成为各版本统一的C语言标准。
C语言不同版本有:Microsoft C,Turbo C,Quick C,BORLAND C。我们学的是Turbo C。 第1章C语言概述
第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;
第一题、单项选择题(每题1分,5道题共5分)
1、若int w=1, x=2, y=3, z=4;则条件表达式“w>x?w:y<z?y:z”的结果为:;
A、4 B、3
C、2 D、1
2、在函数中定义变量时,若省略存储类型符,系统默认存储类别为( )。
A、自动 B、静态
C、外部 D、寄存器
3、下列选项中关于register变量,正确的是( )。
A、频繁存取的自动变量适于定义为register变量 B、外部变量适于定义为register变量
C、存储单元较大的变量,适于定义register变量 D、静态存储的内部变量,适于定义为register变量
4、下列表述中的逗号,作为逗号运算符的是( )。
A、int fun ( int x, int y ); B、x = ( x + y, x * x );
C、printf ( "%d%d", x, y ); D、printf ( "Hello, world!" );
5、下列选项中关于赋值运算,正确的是( )。
A、赋值运算符在C语言的各运算符中,优先级最低 B、一个表达式中,至多只能包含一个赋值运算符
C、复合赋值运算符的优先级高于赋值运算符的优先级 D、被赋值的对象只能是单个变量,而不能是表达式、常量或函数
第二题、多项选择题(每题2分,5道题共10分)
1、以下不合法的赋值语句是:
A、x=y=100;
B、d+5=10;
C、x+y=100;
D、c=int(a+b);
2、已知int a[]={1,2,3,4,5,6,7,8,9},*p = a; 则值为3的表达式是()
A、p+=2,*(p++) B、p+=2,*++p
C、p+=2,*p++
D、p+=2,++*p
3、以下叙述中,错误的叙述是:
A、函数的形参都属于全局变量
B、全局变量的作用域不比局部变量的作用域范围大
C、静态(static)类别变量的生存期贯穿整个程序的运行期间
第一题、单项选择题(每题1分,5道题共5分)
1、若int w=1, x=2, y=3, z=4;则条件表达式“w>x?w:y<z?y:z”的结果为:;
A、4 B、3
C、2 D、1
2、在函数中定义变量时,若省略存储类型符,系统默认存储类别为( )。
A、自动 B、静态
C、外部 D、寄存器
3、下列选项中关于register变量,正确的是( )。
A、频繁存取的自动变量适于定义为register变量 B、外部变量适于定义为register变量
C、存储单元较大的变量,适于定义register变量 D、静态存储的内部变量,适于定义为register变量
4、下列表述中的逗号,作为逗号运算符的是( )。
A、int fun ( int x, int y ); B、x = ( x + y, x * x );
C、printf ( "%d%d", x, y ); D、printf ( "Hello, world!" );
5、下列选项中关于赋值运算,正确的是( )。
A、赋值运算符在C语言的各运算符中,优先级最低 B、一个表达式中,至多只能包含一个赋值运算符
C、复合赋值运算符的优先级高于赋值运算符的优先级 D、被赋值的对象只能是单个变量,而不能是表达式、常量或函数
第二题、多项选择题(每题2分,5道题共10分)
1、以下不合法的赋值语句是:
A、x=y=100;
B、d+5=10;
C、x+y=100;
D、c=int(a+b);
2、已知int a[]={1,2,3,4,5,6,7,8,9},*p = a; 则值为3的表达式是()
A、p+=2,*(p++) B、p+=2,*++p
C、p+=2,*p++
D、p+=2,++*p
3、以下叙述中,错误的叙述是:
A、函数的形参都属于全局变量
B、全局变量的作用域不比局部变量的作用域范围大
C、静态(static)类别变量的生存期贯穿整个程序的运行期间