说明:
关系表达式值:是一个逻辑值,即:“真”或“假” C语言:1 —— 代表“真”0 —— 代表“假”
7.逻辑运算符和逻辑表达式(书P88)(优先级低于关系,左结合) (1)3种逻辑运算符p89 表5.1
&& (与) | | (或) ! (非) (2)逻辑表达式
表达式 逻辑运算符 表达式 p89
即: (a>b) | | (a+b>=b+c) (a=4)&&(b=8) 1 | |∞ (1) ‘x’&& ‘y’ 值为1 1 说明:
逻辑表达式值:是一个逻辑值,即:“真”或“假”p90 优先次序(由高到低):
!(非) 算术运算符 关系运算符 &&和| | 赋值运算符 求值短路:5>3&&2||8<4-!0 1||∞ (结果1)
0&&∞ (结果0) 如:a&&b&&ca<>0才判断a&&b
8.条件运算符(书P97)
格式:表达式1 ? 表达式2:表达式3
执行:先求解表达式1,为真(非零),求表达式2 为假(为0),求表达式3
例: y= ( a>b ) ? a : b。
说明:a)条件运算符要求有三个操作对象(称三目元运算符) b)条件运算符优先于赋值运算符
y= ( a>b ) ? a : b。 先求 ( a>b ) ? a : b 后赋值 c)条件运算符的结合方向为“自右至左” ( a>b ) ? a : b可写为: a>b ? a : b
a>b ? a : b+5 相当于: a>b ? a :(b+5)
a>b ? a : c> d ? c : d 相当于: a>b ? a : ( c> d ? c : d )
* 9.位运算符 (书P298)(一般掌握)
位运算:—— 是对字节或字中的实际位进行检测、设置、屏蔽、移位。
位运算符:
&—— 位逻辑与 |——位逻辑或 ^—— 位逻辑异或 ~ —— 位逻辑反 >>—— 右移 << —— 左移
三、运算符小结
1.左结合方向的运算符
主要有:算术运算符、关系运算符、逻辑运算符、逗号运算符 2.右结合方向的运算符
主要有:自增、自减运算符、赋值运算符(复合的赋值运算符)、条件运算符
例:1) i=3; printf(\,%d\,i,i++);输出:4, 3
2) a=1;b=1;c=2; 求:a=b += c* = 5。 输出:a为11 b为11 c为10 3) a>b? a> c?a:c:b>c ? b:c 相当于:a>b? (a> c?a:c):(b>c ? b:c) (求最大值,如a=2, b=8, c=5 结果为:8)
3.运算符的优先次序(书 P375 附录Ⅲ)
()、!++/--/-转移、算术、关系(<<=>>=)、关系(= = !=)、&&、||、条件(?)、赋值、逗号
例:1) -a++ 相当于 -(a++)
2) x=4,y=7 求:y+=++x-3 x的值5y的值9 3) x=4,y=7 求:y=y+++x-3 x的值4y的值9
4) a=7,x=2.5,y=4.7 求:s=x+a%3*(int)(x+y)%*2/4 s的值2.500000
a%3*(int)(x+y)%*2 =》 1(整型) / 4 (整型) =》 0.25 =》0(整型) 5)a%3 && a%5 || a++>++b
如:a=7, b=5 a的值8 b的值6结果值1 1||1 如:a=15, b=15 a的值16 b的值16结果值0 1||0 如:a=15, b=14 a的值16 b的值15结果值0 0||0 如:a=15, b=13 a的值16 b的值14结果值1 0||1
四、该章的主要例题
数:P39 例3.1 P44 例3.2 P44 例3.3 字符: P49 例3.5 P50 例3.6P51例3.7
五、该章的主要习题
P65 3.5 3.6 3.8 3.9 3.10 3.12
六、该章的主要上机内容
P39 例3.1P44例3.2 P44例3.3 P51例3.7 P65 3.6 3.8 3.10
第四章 简单的C程序设计(顺序程序设计)
知识点:
1、赋值语句; 2、字符数据的输入/输出;
3、格式输入/输出语句printf和scanf及其格式控制符;%c、%f、%d(输出宽度、对齐方式、其它格式控制符只作了解) 4、程序的结构框架。
重点:
1.赋值语句;
2.基本输入/输出语句printf和scanf及其格式控制符%c、%f、%d等的意义。 难点: 无
一、C程序结构 C程序 源程序文件1 源程序文件2 源程序文件n 预编译命令 函数1 函数n 说明部分 执行部分 (语句) 语句的分类P67 P68 1、控制语句 ①条件:if else ②循环:for() ③循环:while() ④循环:do while() ⑤循环结束:continue
⑥终止循环或switch:break ⑦多分支:switch ⑧转向:goto
⑨函数返回:return
2、函数调用语句 printf(“a=%d”,a); 3、表达式语句
i=i+1 表达式 i=I+1。表达式语句函数调用也可以认为是表达式语句
4、空语句:一个“。”
5、复合语句(用{}:分程序) { x=3。 x=x+1。 print(“x=%x”,x) }
二.赋值语句 变量名=表达式
注:是组成顺序结构的主要语句。 a=b;if ( max<= x ) max =x 。
三.基本输入/输出语句
C语言本身不提供输入输出语句,输入输出操作是由函数来实现。 即:printf putcharscanf getchar
注:(1)这些函数构成一个标准的I/O函数库(放在“stdio.h”中) (2)如果要使用C语言库函数,要用预编译命令“#include”将有关“头文件”包括到用户源文件中。
#include
格式:printf(格式控制,输出表列)
格式控制:—— 用双引号括起来的字符串,也称为“转换控制字符串”
printf的格式字符 书P77 表4.1
输出表列:—— 需要输出的数据、表达式
即:printf( “x=%5.1f, y=%d, z=%c” , x, y, z ) d,i 带符号十进制形式
u 无符号十进制形式例3-3 c 字符形式 s 字符串形式
f 实数(小数)形式 默认6位小数
说明:1)printf( “ y=%-4d” , y ) 输出数据左对齐(默认为右对齐) 2)数据输出长度的修正;
l—— 输出长整型或双精度数据 即:printf( “%ld, %lf ” , i, y ) h—— 输出短型数据 即:printf( “%hu ” , a ) -m.n m最小宽度 n小数(实数) -左对齐
2.putchar函数 —— 字符输出函数
向终端输出一个字符
格式:putchar(变量) putchar(x) putchar(“\\n” )输出一个换行符 3.scanf函数 —— 格式输入函数
格式:scanf(格式控制,地址表列)
格式控制:—— 用双引号括起来的字符串,也称为“转换控制字符串”
scanf的格式字符书P80 表4.3
地址表列:—— 由若干个地址组成的表列,有:变量地址 &x 字符串的首地址 &—— 地址运算符
功能:求变量的地址(只能用于变量) &x —— 表示x变量值的内存单元的地址 即:scanf( “%d, M”, &a, &b )
说明:1)不带分隔字符的方式,系统将自动按格式说明截取数据 例: scanf ( “ M%*3d%f ”, &I , &p )。 输入:12345678.93时 得 I=1234 , p=8.93 “*”——作用是“虚读”,跳过相应的数据
2)带分隔字符的方式(分隔字符:空格、tab、回车、逗号) 即:scanf( “%d, %d”, &a, &b ) 4.getchar函数 —— 字符输入函数 从终端输入一个字符
格式:getchar ( ) 即:c=getchar ( )
函数值是从输入设备得到的字符 四、该章的主要例题
1已知矩形的两边长,求矩形的面积、周长 2大小写字母互相转化 3教材P83的例子
五、该章的主要习题 P84 4.5~4.9
第五章 选择结构程序设计
知识点:
1、关系、逻辑运算符、逻辑真/假; 2、关系表达式、逻辑表达式; 3、分支的概念及其算法描述; 4、三种IF分支语句; 5、条件运算符;