单元3 身高体型判定系统的数据处理(2.运算符与表达式)(练习)-《C语言程序设计》(高教版第2版)【上好课】

2026-05-14
| 2份
| 13页
| 16人阅读
| 0人下载

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 作业-同步练
知识点 数据类型和简单程序设计
使用场景 同步教学
学年 2026-2027
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 107 KB
发布时间 2026-05-14
更新时间 2026-05-14
作者 爱学习的muller
品牌系列 上好课·上好课
审核时间 2026-05-14
下载链接 https://m.zxxk.com/soft/57845775.html
价格 2.00储值(1储值=1元)
来源 学科网

内容正文:

身高体型判定系统的数据处理(2.运算符与表达式) 一、单项选择题 1、以下关于 C 语言求余运算符%的描述,正确的是( ) A. 运算数可以是任意数值类型 B. 两个运算数必须都是整型 C. 结果的符号与被除数一致 D. 可以用于浮点数求余数 【答案】B 【解析】求余运算符%要求两侧运算数必须为整型,若为浮点数编译会报错;选项 A、D 错误,选项 C 描述的是部分编译器的特性,但不是核心要求,核心规则是运算数为整型。 2、执行int a=3; printf("%d", a++);语句后,输出结果和变量 a 的最终值分别是( ) A. 3,4 B. 4,3 C. 3,3 D. 4,4 【答案】A 【解析】后自增运算符a++的执行逻辑是 “先取值,后自增”,所以输出的是 a 的初始值 3,执行完毕后 a 的值自增为 4,符合后自增的运算规则。 3、复合赋值运算符a /= 2等价于( ) A. a = 2 /a B. a = a - 2 C. a = a / 2 D. a = 2 - a 【答案】C 【解析】复合赋值运算符的规则是 “左边变量 = 左边变量 运算符 右边值”,/=是除法与赋值的结合,因此等价于a = a / 2,简化代码的同时保持运算逻辑不变。 4、逗号表达式(3+5, 2*4, 6-1)的结果是( ) A. 8 B. 8,8,5 C. 5 D. 语法错误 【答案】C 【解析】逗号表达式的运算规则是从左到右依次计算子表达式,整个表达式的结果为最后一个子表达式的值,本题最后一个子表达式6-1的结果是 5,因此整个逗号表达式的值为 5。 5、执行float x=3.14; int a=(int)x;后,变量 x 的类型和值分别是( ) A. int 类型,3 B. float 类型,3.14 C. int 类型,3.14 D. float 类型,3 【答案】B 【解析】强制类型转换仅生成一个临时的目标类型值,不会改变原变量的类型和值,x 仍然是 float 类型,值为 3.14,变量 a 接收的是转换后的临时整型值 3。 6、将浮点型数据赋值给整型变量时,系统的自动类型转换规则是( ) A. 四舍五入保留整数 B. 直接舍弃小数部分 C. 转换为科学计数法存储 D. 编译报错 【答案】B 【解析】当浮点型转整型时,系统会自动舍弃小数部分,只保留整数部分,不会进行四舍五入,例如int a=3.99;执行后 a 的值为 3。 7、在 Visual C++ 2010 环境中,sizeof(int)的结果是( ) A. 2 B. 4 C. 8 D. 16 【答案】B 【解析】Visual C++ 2010 为基本整型int分配 4 字节存储空间,因此sizeof(int)返回 4,这是该编译环境下的固定存储特性。 8、以下变量初始化语句中,合法的是( ) A. int a=b=5; B. int a=5, b=5; C. int 5=a; D. int a=3.5; 【答案】B 【解析】选项 A 错误,C 语言不支持连续赋值初始化;选项 C 错误,变量名不能以数字开头;选项 D 错误,整型变量不能直接赋值浮点型常量(会自动转整型,但初始化语法不规范);只有选项 B 符合变量初始化规则。 9、执行int a,b; a=(b=2)*3;后,变量 a 和 b 的值分别是( ) A. a=6,b=2 B. a=5,b=2 C. a=2,b=6 D. a=3,b=2 【答案】A 【解析】赋值表达式b=2的结果是 2,然后乘以 3 得到 6,再赋值给 a,因此 b 的值为 2,a 的值为 6,符合赋值表达式嵌套的运算逻辑。 10、以下关于自动类型转换的描述,正确的是( ) A. int 与 float 运算时,结果为 int 类型 B. char 与 int 运算时,char 会转换为 int 类型 C. double 与 float 运算时,结果为 float 类型 D. 自动类型转换会导致数据精度提升 【答案】B 【解析】char 类型参与运算时,会自动转换为对应的 ASCII 码(int 类型)再计算;选项 A 结果为 double 类型,选项 C 结果为 double 类型,选项 D 自动转换可能导致精度丢失(如 float 转 int)。 二、判断题 1、自增运算符++可以直接用于常量,例如++5;是合法语句。( ) 【答案】× 【解析】自增运算符的作用是修改操作数的值,而常量的值不可改变,因此不能对常量使用自增、自减运算符,该语句编译会报错。 2、赋值表达式可以作为子表达式出现在其他表达式中,例如printf("%d", a=3);是合法的。( ) 【答案】√ 【解析】赋值表达式本身有返回值(即赋值后变量的值),因此可以出现在任何允许表达式的位置,该语句会输出 3,同时将 3 赋值给变量 a。 3、逗号运算符的优先级高于赋值运算符,因此int a=3,5;是合法的逗号表达式。( ) 【答案】× 【解析】此处的逗号是变量定义的分隔符,并非逗号运算符;若要表示逗号表达式需加括号int a=(3,5);,且逗号运算符的优先级低于赋值运算符。 4、强制类型转换会改变原变量的数据类型,例如float x=3.14; (int)x;执行后 x 变为 int 类型。( ) 【答案】× 【解析】强制类型转换仅生成一个临时的目标类型值,原变量的类型和值都不会改变,x 仍然是 float 类型,值为 3.14。 5、sizeof是编译时运算符,计算的是变量或数据类型所占的内存字节数,无需程序运行即可确定结果。( ) 【答案】√ 【解析】sizeof的结果在编译阶段就已确定,不会在程序运行时计算,它返回的是目标在内存中占用的字节数,是 C 语言中判断内存占用的核心工具。 3、 填空题 1、C 语言中,只能用于整型运算数的算术运算符是____。 【答案】% 【解析】求余运算符%要求两侧必须是整型数据,作用是获取两个整数相除后的余数,若运算数为浮点数,编译器会直接报错。该运算符是整型特有的算术运算工具。 2、复合赋值运算符a -= 5等价于完整赋值语句____。 【答案】a = a - 5 【解析】复合赋值运算符是双目运算符与赋值符的结合,执行逻辑为先完成运算符对应的运算,再将结果赋值给左边变量,既简化了代码,又保持了运算的完整性。 3、逗号表达式(2*3, 4+6, 10/2)的最终结果为____。 【答案】5 【解析】逗号表达式的运算顺序是从左到右依次计算每个子表达式,整个表达式的结果为最后一个子表达式的值,本题最后一个子表达式10/2的结果是 5。 4、将整型变量 a 强制转换为 float 类型的语法格式是____。 【答案】(float) a 【解析】强制类型转换的语法是在目标数据类型外加括号,紧跟需要转换的变量或表达式,转换后会生成一个临时的 float 类型值,原变量 a 的类型仍为 int。 5、在 C 语言中,变量定义时直接赋值的操作称为____。 【答案】变量初始化 【解析】变量初始化可以在定义时为变量赋予初始值,避免使用未初始化的变量导致的随机值问题,例如int a=5;就是对变量 a 的初始化操作。 四、程序填空题 1、题目描述:以下程序用于输入用户的体重和身高,计算 BMI 指数,同时输出身高的整数部分和身高变量的内存占用字节数,需补充缺失代码。 #include <stdio.h> int main() { // 定义存储体重、身高、BMI的浮点型变量 ___(1) _; int height_int, size; printf("请输入您的体重(kg):"); scanf("%f", &weight); printf("请输入您的身高(m):"); scanf("%f", &height); // 根据公式计算BMI指数:BMI = 体重 / (身高 × 身高) __(2) __; // 强制转换身高为整型,获取整数部分 height_int = __(3)__; printf("您的身高整数部分为:%d ", height_int); // 计算身高变量占用的内存字节数 size = __(4)__; printf("身高变量占用内存:%d 字节 ", size); printf("您的BMI指数为:%.2f ", bmi); return 0; } 【答案】 (1) float weight, height, bmi; (2) bmi = weight / (height * height); (3) (int) height; (4) sizeof (height); 【解析】 (1) 体重、身高和 BMI 指数均为带小数的数值,定义为 float 类型变量,符合数据存储需求,便于后续浮点运算。 (2) 严格遵循 BMI 计算公式编写表达式,先计算身高的平方,再用体重除以该结果,确保运算逻辑与医学公式完全一致。 (3) 使用(int)height强制将浮点型身高转换为整型,系统自动舍弃小数部分,得到身高的整数部分,符合强制类型转换的语法规则。 (4) sizeof(height)用于计算 height 变量在内存中的字节数,sizeof是编译时运算符,能准确获取 float 类型变量的存储大小(Visual C++ 环境下为 4 字节)。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 身高体型判定系统的数据处理(2.运算符与表达式) 一、单项选择题 1、以下关于 C 语言求余运算符%的描述,正确的是( ) A. 运算数可以是任意数值类型 B. 两个运算数必须都是整型 C. 结果的符号与被除数一致 D. 可以用于浮点数求余数 2、执行int a=3; printf("%d", a++);语句后,输出结果和变量 a 的最终值分别是( ) A. 3,4 B. 4,3 C. 3,3 D. 4,4 3、复合赋值运算符a /= 2等价于( ) A. a = 2 /a B. a = a - 2 C. a = a / 2 D. a = 2 - a 4、逗号表达式(3+5, 2*4, 6-1)的结果是( ) A. 8 B. 8,8,5 C. 5 D. 语法错误 5、执行float x=3.14; int a=(int)x;后,变量 x 的类型和值分别是( ) A. int 类型,3 B. float 类型,3.14 C. int 类型,3.14 D. float 类型,3 6、将浮点型数据赋值给整型变量时,系统的自动类型转换规则是( ) A. 四舍五入保留整数 B. 直接舍弃小数部分 C. 转换为科学计数法存储 D. 编译报错 7、在 Visual C++ 2010 环境中,sizeof(int)的结果是( ) A. 2 B. 4 C. 8 D. 16 8、以下变量初始化语句中,合法的是( ) A. int a=b=5; B. int a=5, b=5; C. int 5=a; D. int a=3.5; 9、执行int a,b; a=(b=2)*3;后,变量 a 和 b 的值分别是( ) A. a=6,b=2 B. a=5,b=2 C. a=2,b=6 D. a=3,b=2 10、以下关于自动类型转换的描述,正确的是( ) A. int 与 float 运算时,结果为 int 类型 B. char 与 int 运算时,char 会转换为 int 类型 C. double 与 float 运算时,结果为 float 类型 D. 自动类型转换会导致数据精度提升 二、判断题 1、自增运算符++可以直接用于常量,例如++5;是合法语句。( ) 2、赋值表达式可以作为子表达式出现在其他表达式中,例如printf("%d", a=3);是合法的。( ) 3、逗号运算符的优先级高于赋值运算符,因此int a=3,5;是合法的逗号表达式。( ) 4、强制类型转换会改变原变量的数据类型,例如float x=3.14; (int)x;执行后 x 变为 int 类型。( ) 5、sizeof是编译时运算符,计算的是变量或数据类型所占的内存字节数,无需程序运行即可确定结果。( ) 3、 填空题 1、C 语言中,只能用于整型运算数的算术运算符是____。 2、复合赋值运算符a -= 5等价于完整赋值语句____。 3、逗号表达式(2*3, 4+6, 10/2)的最终结果为____。 4、将整型变量 a 强制转换为 float 类型的语法格式是____。 5、在 C 语言中,变量定义时直接赋值的操作称为____。 四、程序填空题 1、题目描述:以下程序用于输入用户的体重和身高,计算 BMI 指数,同时输出身高的整数部分和身高变量的内存占用字节数,需补充缺失代码。 #include <stdio.h> int main() { // 定义存储体重、身高、BMI的浮点型变量 ___(1) _; int height_int, size; printf("请输入您的体重(kg):"); scanf("%f", &weight); printf("请输入您的身高(m):"); scanf("%f", &height); // 根据公式计算BMI指数:BMI = 体重 / (身高 × 身高) __(2) __; // 强制转换身高为整型,获取整数部分 height_int = __(3)__; printf("您的身高整数部分为:%d ", height_int); // 计算身高变量占用的内存字节数 size = __(4)__; printf("身高变量占用内存:%d 字节 ", size); printf("您的BMI指数为:%.2f ", bmi); return 0; } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

单元3 身高体型判定系统的数据处理(2.运算符与表达式)(练习)-《C语言程序设计》(高教版第2版)【上好课】
1
单元3 身高体型判定系统的数据处理(2.运算符与表达式)(练习)-《C语言程序设计》(高教版第2版)【上好课】
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。