大学c语言总复习资料
3.2 循环结构
• 在C语言中有三种循环结构: while,do-while和for循环。 • 构成有效循环的条件:循环体 和循环结束条件。
3.2.1 用while语句实现循环
while语句用来实现“当型”循环结构 。 一般形式: while (表达式) 语句 当表达式为非0值时,执行 while语句中的内嵌语句。其特 点是:先判断表达式,后执行语 句。
⑸赋值运算符 (=及其+= 复合赋值) ⑹条件运算符 (?:) ⑺逗号运算符 (,) (8)指针运算符 (*和&) (10)强制类型转换运算符( (类型) ) (12)下标运算符([])
2.3.2
算术运算符和算术表达式
符号 + 功能 加法运算或正值运算 减法运算或负值运算 例子 1+2,+9 4-8,-8
本章要点
• 掌握一维的定义和引用方法、存储 结构和初始化方法。 • 掌握一维数组进行编程的技术。
4.1 数组的概念
1. 问题的提出
假设我们将26个数分别存放在26个变量中,要 计算26个变量的和,如何做? 将26个变量逐个(sum=0,i=0;i<26;i++)
假(0)
表达式
真(非0) 语句
3.1.5 switch 语句
语句形式:
switch (表达式) { 数值型 case 常量1: 语句 1; 或 字符型 case 常量2: 语句2; case 常量3: 语句3; ....... 常量表达式的值必须 case 常量n: 语句n; 互不相同,否则执行 时将出现矛盾,即同 default : 语句n+1; 一个开关值,将对应 } 多种执行方案。
sum=sum+i;
正确吗?
2. 使用数组解决问题(掌握!!!)
定义一个变量,包含26个数据,称为数组变量。 main() { int i,sum=0, a[26] ; for(i=0;i<26;i++) scanf(“%d”,&a[i]); for(i=0;i<26;i++) sum=sum+a[i];
2.0 C的数据类型
C语言提供了以下一些数据类型。
整型 int char 单精度实型 float 双精度实型 double
基本类型
字符型 数组类型
实型(浮点型)
数据类型 构造类型 指针类型
结构类型
联合类型 枚举类型
struct
union enum
空类型(无值类型) void
2.1 常量与变量
2.1.2 变量 • 变量代表内存中具有特定属性的一个存储单 元,它用来存放数据,也就是变量的值,在 程序运行期间,这些值是可以改变的。 • 变量名实际上是以一个名字对应代表一个地 址。
1. 基本的算术运算符:
*
/ %
乘法运算
除法运算 取余运算
5*3
4/3 7%3
使用说明: 1、两个整数相除的结果为整数,如4/3的结果为1,小数部 分被舍去; 3、%运算符要求两个操作数都是整数,否则编译器会报错。 例如5.3%3就是错误的表达式。如果运算,可以先将其强制类 型转换为整数,再进行求余,如(int)(5.3)%3=2;
3.2.3
• 一般形式:
for语句
for(表达式1;表达式2;表达式3) 语句 –表达式1:用于循环开始前为循环变量设置初始值。
–表达式2:控制循环执行的条件,决定循环次数
–表达式3:循环控制变量修改表达式。 –循环体语句:被重复执行的语句,每执行一次,表达式3就 改变一次循环变量的值,直到表达式2条件不再满足。
• 字符串常量是一对双撇号括起来的字符 序列. • 合法的字符串常量: “How do you do.”, “CHINA”
结论:不能把一个字符串常量赋给一个字符变量。
2.3 运算符和表达式
2.3.1 C运算符简介 1. C语言的运算符有以下几类: ⑴算术运算符 (+ - * / %) ⑵关系运算符 (><==>=<=!=) ⑶逻辑运算符 (!&& ||)
3.0 顺序结构程序设计举例
例:从键盘输入两个实数,计算它们
的和、差,并输出。
3.1 选择结构
C语言提供的选择结构有两种:if语句、 switch语句。
3.3.1 if语句
• if语句:对所给条件进行判定,根据判定结 果决定是否执行程序段。
语句形式:
if (表达式) {语句};
语句执行流程:
&&和||运算的求值顺序(掌握!!!)
在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。 (1)a&&b&&c 只有a为真时,才需要判断b的值,只有a和b都为真时, 才需要判断c的值。 (2)a||b||c 只要a为真,就不必判断b和c的值,只有a为假,才 判断b。a和b都为假才判断c。
c值不为0时,在下列选项中能正确将c的值赋给变量 a、b的是______ A、c=b=a; B、(a=c) || (b=c); C、(a=c)&&(b=c); D、a=c=b;
2.2.4 字符型数据
1、字符常量\变量
• 用一对单引号括起来的单个字符。(只能包含一
个字符) • 转义字符。如: \ n ––换行 •字符型变量用来存放字符常量,注意只能放一个 字符。 字符变量的定义形式如下:char c1,c2; 对c1,c2赋值: c1=‘a’;c2= ‘b’ ;
4、字符串常量
2.5
数据的输入输出
• C语言本身不提供输入输出语句,输入和输出操 作是由C函数库中的函数来实现的 例如: 字符输入函数: getchar字符输出函数:putchar 格式输入函数: scanf 格式输出函数: printf 字符串输入函数:gets 字数穿输出函数:puts
本章要点
选择结构各种语句结构和使用 循环结构各种语句结构和使用
1.2 C语言简介
标识符:C语言中的标识符用于给程序中的 常量,变量,函数,文件指针和数据类型 等命名。 其构成规则如下:
C语言规定标识符只能由字母、数字和下划 线三种字符组成,且第一个字符必须为字母或下 划线。
主要内容
2.1 2.2 2.3 2.5 常量与变量 基本数据类型 运算符与表达式 输入输出函数
int a=10; do{ cout<<"#"; }while(a--);
3.2.2 用do-while语句实现循环
• do-while语句的特点:先执行循环体,然后判断循 环条件是否成立。 一般形式: do 本行的分号不 能缺省 循环体语句 while (表达式); • 执行过程:先执行一次指定的循环体语句,然后判 别表达式,当表达式的值为非零(“真”) 时,返回 重新执行循环体语句,如此反复,直到表达式的值 等于0为止,此时循环结束。
• for语句的执行过程: (1) 先求解表达式1。 (2) 求解表达式2,若其值为真(值 为非0),则执行for语句中指定的内 嵌语句,然后执行下面第(3)步。若 为假(值为0),则结束循环,转到第 (5)步。 (3) 求解表达式3。 (4) 转回上面第(2)步骤继续执行。 (5) 循环结束,执行for语句下面的 一个语句。
2.3.4 关系运算和关系表达式
1.关系运算符及其优先次序 1. < (小于) 2. <= (小于或等于) 3. > (大于) 4. >= (大于或等于) 5. == (等于) 6. != (不等于)
优先级相同(高)
优先级相同(低)
说明:
关系运算符的优先级低于算术运算符 关系运算符的优先级高于赋值运算符
1.2 C语言简介 C程序的格式
总结:
1、一个C源程序由函数组成,这使得程序容易实现模块化。 其中有且仅有一个main()主函数,它是程序的入口,与main 函数的位置无关; 2、分号“;”是C语句的一部分,每一条语句均以分号结束, 即使是程序中最后一条语句也应包含分号 ; 5、程序的注释部分应该在/*•••*/之间,/和*之间不允许有空 格。
!非 高 算术运算符 关系运算符 && || 赋值运算符
优先级关系 低
2.3.6 逗号运算符和逗号表达式
逗号运算符:将两个表达式连接起来,又称为“顺序求 值运算符”。 一般形式: 表达式1,表达式2
求解过程: 先求解表达式1,再求解表达式2。整个逗号 表达式的值是表达式2的值。 已知int x=40,y=20,z=10; 以下语句执行后x,y,z 的值是( ) if(x>y) ; z=x, x=y, y=z;
指明数组所含的元素 个数,下标从 0 开始
常量表达式说明数组元素的个数,必须是大于0的整型常量 表达式(包括常量和符号常量)。不允许是变量,不能进行 动态定义。
4.2.2 一维数组的初始化
1. 定义时初始化 方法:将初值依次写在花括号{ }内。 说明: (1) 只给数组中部分元素赋初值,其他元素按零 处理。 如: int a[9]={1,2}; 则 a[0]= 1, a[1]= 2, a[2]~a[8]值全为0。 (2) 对数组元素全部置0。 int a[5]={ 0, 0, 0, 0, 0 }; 或:int a[5]={0}; 如: int a[5]={ 2 , 4 , 6 , 8 , 10 };
•!(非)->&&(与)->||(或) •逻辑运算符中 “&&”和“||”低于关系运算符,“!”高于算术运算符
2.逻辑表达式 •逻辑表达式的值应该是一个逻辑量“真”或“假”。
任何非零的数值被认作“真”
a的值为3,b的值为9时,逻辑表达式a<=6&&a+b >8的值为_______。 表达式 !(x>0&&y>0) 等价于_____。