专题三 运算符、表达式和常见函数 (讲义)-《程序设计基础》高考备考讲练测(广西)

2025-05-26
| 9页
| 115人阅读
| 1人下载
精品

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 教案-讲义
知识点 函数
使用场景 中职复习-一轮复习
学年 2025-2026
地区(省份) 广西壮族自治区
地区(市) -
地区(区县) -
文件格式 DOCX
文件大小 190 KB
发布时间 2025-05-26
更新时间 2025-05-26
作者 xkw_076789343
品牌系列 上好课·一轮讲练测
审核时间 2025-05-26
下载链接 https://m.zxxk.com/soft/52290064.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

专题三 运算符、表达式和常见函数 【考纲要求】 知识要点 考试条目 2.顺序结构程序设计 (3)掌握运算符和表达式的使用方法; (4)掌握输入函数及格式字符的使用方法; (5)掌握输出语句及格式字符的使用方法。 【课时安排】 2课时 【知识梳理】 运算符和表达式 一、算术运算符 用于数值的算术运算,分为单目和双目运算符。 1. 双目算术运算符 运算符 名称 示例 结果说明 + 加法 3+5 8 - 减法 7-2 5 * 乘法 4*3 12 / 除法 5/2 2(整数除法截断小数) % 取余 5%2 1(余数) 注意: 整数除法中,若除数或被除数为负数,结果符号由编译器决定(通常向零取整)。 %运算符要求两侧均为整数,如5.5%2是非法的。 2. 单目算术运算符 运算符 名称 示例 结果说明 + 正号 +5 5 - 负号 -x x 的相反数 ++ 自增 ++i(前缀) i++(后缀) 前缀:先自增后使用 后缀:先使用后自增 -- 自减 --i(前缀) i--(后缀) 前缀:先自减后使用 后缀:先使用后自减 示例: int i = 3, j; j = ++i; // i=4,j=4(前缀自增) j = i--; // j=4,i=3(后缀自减) 二、赋值运算符 用于将右侧值赋给左侧变量,分为基本赋值和复合赋值。 1. 基本赋值运算符 = int a = 10; // 直接赋值 float b = 3.14f; // 类型转换赋值(float←int) 2. 复合赋值运算符(简化表达式) 运算符 等价形式 示例 结果说明 += a = a + b a += b a = a + b -= a = a - b a -= b a = a - b *= a = a * b a *= b a = a * b /= a = a / b a /= b a = a / b %= a = a % b a %= b a = a % b 示例: int x = 5; x += 3; // 等价于 x = x + 3 → x=8 x *= 2; // 等价于 x = x * 2 → x=16 三、关系运算符 用于比较两个值的关系,结果为真(非 0)或假(0)。 运算符 名称 示例 结果(若 a=5,b=3) > 大于 a > b 1(真) < 小于 a < b 0(假) >= 大于等于 a >= b 1 <= 小于等于 a <= b 0 == 等于 a == b 0 != 不等于 a != b 1 注意:避免将==误写为=(赋值运算符),如: if (a = 5) // 误将判断写为赋值,恒为真(非0) 浮点数不能直接用==比较,需用精度判断(如fabs(a-b) < 1e-6)。 四、逻辑运算符 用于组合多个关系表达式,结果为真(1)或假(0)。 运算符 名称 示例 逻辑规则 && 逻辑与 a && b 全真为真,一假即假 ` ` 逻辑或 ! 逻辑非 !a 真变假,假变真 短路特性: &&:若左侧为假,右侧表达式不计算。 int x = 0; if (x++ && 1/0) // x++为0(假),右侧1/0不执行,避免除零错误 ||:若左侧为真,右侧表达式不计算。 int y = 5; if (y-- || 1/0) // y--为5(真),右侧1/0不执行 五、位运算符 对二进制位进行操作,常用于底层硬件控制或高效数据处理。 运算符 名称 示例(a=0b1010,b=0b1100) 结果(二进制) ~ 按位取反 ~a 0b0101 & 按位与 a & b 0b1000 ` ` 按位或 `a ^ 按位异或 a ^ b 0b0110 << 左移 a << 1 0b10100 >> 右移 a >> 1 0b0101 应用场景: 按位与(&):清 0 特定位(如a &= ~(1<<3)清 0 第 3 位)。 按位或(|):置 1 特定位(如a |= (1<<3)置 1 第 3 位)。 按位异或(^):翻转特定位(如a ^= (1<<3)翻转第 3 位)。 左移(<<):乘以 2 的幂(如a << 2等价于a*4)。 右移(>>):除以 2 的幂(如a >> 2等价于a/4,向下取整)。 六、条件运算符(三目运算符) 格式:表达式1 ? 表达式2 : 表达式3 若表达式 1 为真,取表达式 2 的值;否则取表达式 3 的值。 示例: int max = (a > b) ? a : b; // 取a和b中的较大值 char ch = (score >= 60) ? 'P' : 'F'; // 判断及格 七、逗号运算符 用于分隔多个表达式,按顺序计算,结果为最后一个表达式的值。 格式:表达式1, 表达式2, 表达式3 示例: int x, y, z; z = (x=1, y=2, x+y); // 先x=1,再y=2,最后z=3 for (int i=0, j=10; i<j; i++, j--) // 逗号分隔多个初始化和更新表达式 八、运算符优先级与结合性 运算符的优先级决定表达式中运算的顺序,结合性决定相同优先级运算符的计算方向(左→右或右→左)。 九、表达式和赋值语句 在 C 语言中,表达式是由运算符、操作数和标点符号组成的合法序列,用于计算值或执行特定操作;赋值语句则是通过赋值运算符(=)将表达式的值赋给变量的语句。两者是程序逻辑的基础 赋值语句是由赋值表达式和一个语句结束符(即分号“;”)组成的。它的一般形式是: 变量=表达式; 十、类型转换 C 语言赋值语句中的类型转换分为隐式转换(自动转换)和强制转换(显式转换)。 1、隐式转换(自动转换) 规则:赋值时右侧表达式的值自动转为左侧变量的类型,遵循数据类型的 “高低” 级别转换。 2、强制转换(显式转换) 语法:(目标类型) 表达式,显式改变类型,可能引发未定义行为。 例:float z = (float)5 / 2;(避免整数除法,结果2.5f)。 常见函数 一、输出语句及格式字符(printf函数) 1. 基本语法 printf("格式控制字符串", 输出项1, 输出项2, ...); 格式控制字符串:包含格式字符、普通字符和转义字符。 输出项:可以是变量、表达式或常量。 2. 常用格式字符 格式字符 作用描述 示例(假设int a=10; float f=3.14; char c='A';) %d 输出十进制整数(有符号) printf("%d", a); → 10 %u 输出无符号十进制整数 printf("%u", -a); → 4294967286(补码解释) %f 输出浮点数(默认 6 位小数),float和double均可用 printf("%f", f); → 3.140000 %lf 与%f同义(为兼容旧代码) printf("%lf", f); → 3.140000 %c 输出单个字符 printf("%c", c); → A %s 输出字符串(以\0结尾) printf("%s", "Hello"); → Hello %x/%X 输出十六进制整数(小写 / 大写) printf("%x", a); → a(十六进制) %o 输出八进制整数 printf("%o", a); → 12(八进制) %e/%E 输出科学计数法浮点数(小写 / 大写) printf("%e", f); → 3.140000e+00 %p 输出指针地址(十六进制格式) printf("%p", &a); → 0x7ffd7b2c6af4(地址示例) %% 输出百分号% printf("%%"); → % 3. 格式修饰符(控制输出格式) 修饰符 作用描述 示例(假设int a=5; double d=123.456789;) %[宽度]d 限定输出宽度,不足补空格(右对齐) printf("%5d", a); → 5(宽度 5,空格填充) %-[宽度]d 左对齐,不足补空格 printf("%-5d", a); → 5 (左对齐) %.[精度]f 限定小数位数(四舍五入),整数部分无影响 printf("%.2f", d); → 123.46 %[宽度].[精度]f 同时限定宽度和小数位数 printf("%10.3f", d); → 123.457(宽度 10,右对齐) %#x 输出十六进制时带前缀0x printf("%#x", a); → 0x5 %+d 强制输出符号(+或-) printf("%+d", a); → +5 4. 转义字符 用于输出特殊符号或控制换行、制表等格式: 转义字符 作用 示例 换行 printf("Hello World"); \t 水平制表符(Tab) printf("Name\tScore"); \\ 反斜杠\ printf("C:\\file.txt"); \' 单引号' printf("\'A\'"); → 'A' \" 双引号" printf("\"Hello\""); → "Hello" 5. 示例代码 #include <stdio.h> int main() { int age = 20; float weight = 65.5f; char name[] = "Alice"; // 普通输出 printf("姓名:%s,年龄:%d岁,体重:%.1fkg ", name, age, weight); // 输出:姓名:Alice,年龄:20岁,体重:65.5kg // 格式控制 printf("十六进制年龄:%#x,科学计数法体重:%e ", age, weight); // 输出:十六进制年龄:0x14,科学计数法体重:6.550000e+01 // 左对齐与宽度控制 printf("|%10s| |%-10s| ", "Right", "Left"); // 输出:| Right| |Left | return 0; } 二、输入函数及格式字符(scanf函数) 1. 基本语法 scanf("格式控制字符串", 地址项1, 地址项2, ...); 格式控制字符串:包含格式字符和可选的分隔符(如空格、逗号)。 地址项:变量的地址(需用&运算符,数组名除外)。 常用格式字符与printf类似。 三 单个字符操作:putchar与getchar 1.putchar(c):输出单个字符c(c可为字符常量或 ASCII 码值)。 char ch = 'B'; putchar(ch); // 输出B putchar(65); // 输出A(ASCII码65) 2.getchar():从输入缓冲区读取单个字符(返回int类型)。 int c; printf("请输入一个字符:"); c = getchar(); // 读取字符,包括空格、换行符 printf("你输入的是:%c ", c); 【限时练习】 1. 以下表达式中,结果为 0 的是( ) A. 5 == 3 B. 5 | 3 C. 5 ^ 3 D. 5 >> 1 【答案】A 2.若int a = 3, b = 2;,则表达式(a++) + (++b)的值为( ) A. 5 B. 6 C. 7 D. 8 【答案】B 3. 若要输出浮点数3.1415926,保留 3 位小数且宽度为 8,左对齐,正确的格式是( ) A. printf("%8.3f", 3.1415926); B. printf("%-8.3f", 3.1415926); C. printf("%8f.3", 3.1415926); D. printf("%.3-8f", 3.1415926); 【答案】B 4.若要读取double类型变量d,正确的scanf格式是( ) A. scanf("%f", &d); B. scanf("%lf", &d); C. scanf("%d", &d); D. scanf("%Lf", &d); 【答案】B 5.表达式3 * 2 / 4 + 5 % 3的值是( ) A. 1 B. 2 C. 3 D. 4 【答案】C 6.若char ch = 'A';,执行printf("%d", ch + 32);的输出是( ) A. 94 B. 95 C. 96 D. 97 【答案】D 7.以下代码的输出是( ) int a = 10; printf("%d", a += a -= a * a); A. -180 B. 0 C. 10 D. 20 【答案】A 8.表达式5 > 3 > 1的值为 1。( ) 【答案】× 9.scanf("%d,%d", &a, &b)要求输入时用逗号分隔两个整数。( ) 【答案】√ 10.printf("%.2f", 3.1415);会输出 3.14。( ) 【答案】√ 11.表达式!(5 < 3)的值为 0。( ) 【答案】× 12. 若int a = 5;,则printf("%d", a++);会输出 6。( ) 【答案】× 13.表达式5 | 3的结果是 7。( ) 【答案】√ 【内容小结】 学科网(北京)股份有限公司 $$

资源预览图

专题三  运算符、表达式和常见函数 (讲义)-《程序设计基础》高考备考讲练测(广西)
1
专题三  运算符、表达式和常见函数 (讲义)-《程序设计基础》高考备考讲练测(广西)
2
专题三  运算符、表达式和常见函数 (讲义)-《程序设计基础》高考备考讲练测(广西)
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。