内容正文:
【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。
本卷是《C语言》(第五版)《一课一练》第6练,内容是2.6-2.7 逗号运算符、位运算、强制类型转换、常用数学函数。
《C语言》(第五版)一课一练 第6练
2.6-2.7 逗号运算符、位运算、强制类型转换、常用数学函数
一、单选题
1. 逗号表达式 (3, 5, 7) 的值是( )
A. 3(第一个表达式的值)
B. 5(中间表达式的值)
C. 15(三个数相加的结果)
D. 7(最后一个表达式的值)
2. 以下哪个头文件包含sqrt、pow等数学函数的声明( )
A. stdio.h(标准输入输出头文件)
B. math.h(数学函数头文件)
C. string.h(字符串处理头文件)
D. stdlib.h(标准库头文件)
3. 设有 int a=5, b=3; 表达式 a&b 的值是( )
A. 1(按位与101&011=001)
B. 7(5|3位运算的结果)
C. 6(5^3位运算的结果)
D. 3(减法5-3的结果)
4. C语言中强制类型转换的正确语法格式是( )
A. 类型名(表达式)
B. 类型名{表达式}
C. (类型名)表达式
D. [类型名]表达式
5. 设有 int x=8; 表达式 x>>2 的值是( )
A. 4(右移1位的结果)
B. 16(左移1位的结果)
C. 2(8右移2位即8/4的结果)
D. 32(左移2位的结果)
6. 设有 double x=3.7; 表达式 (int)x 的值是( )
A. 3.7(原值不变)
B. 3(截断小数部分)
C. 4(四舍五入的结果)
D. 3.0(浮点数形式的3)
7. 函数 fabs(-5.3) 的返回值是( )
A. 5.3(取绝对值的结果)
B. -5.3(原值不变)
C. 5(截断小数后的结果)
D. -6(某种取整的结果)
8. 设有 int a=6, b=4; 表达式 a|b 的值是( )
A. 2(6^4位运算的结果)
B. 4(按位与6&4的结果)
C. 10(某种加法的结果)
D. 6(110|100位运算的结果)
9. 设有 int x=3; 表达式 x<<3 的值是( )
A. 24(3左移3位即3*8的结果)
B. 9(3+3+3的结果)
C. 12(3左移2位的结果)
D. 6(3左移1位的结果)
10. 表达式 (int)(3.9+0.5) 的值是( )
A. 3(截断3.9的结果)
B. 3.9(未转换的浮点值)
C. 4(3.9+0.5=4.4截断后的结果)
D. 4.5(加法后的浮点结果)
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。
本卷是《C语言》(第五版)《一课一练》第6练,内容是2.6-2.7 逗号运算符、位运算、强制类型转换、常用数学函数。
《C语言》(第五版)一课一练 第6练
2.6-2.7 逗号运算符、位运算、强制类型转换、常用数学函数
一、单选题
1. 逗号表达式 (3, 5, 7) 的值是( )
A. 3(第一个表达式的值)
B. 5(中间表达式的值)
C. 15(三个数相加的结果)
D. 7(最后一个表达式的值)
【答案】D
【解析】逗号表达式的值是最后一个表达式的值,(3,5,7)的值为7。逗号表达式按从左到右的顺序依次计算每个子表达式,整个表达式的值取最右边那个。A错在取了第一个值;B错在取了中间值;C错在逗号表达式不是求和运算。
2. 以下哪个头文件包含sqrt、pow等数学函数的声明( )
A. stdio.h(标准输入输出头文件)
B. math.h(数学函数头文件)
C. string.h(字符串处理头文件)
D. stdlib.h(标准库头文件)
【答案】B
【解析】math.h是C语言数学函数库的头文件,包含sqrt(平方根)、pow(幂运算)、fabs(绝对值)等函数的声明。A中stdio.h包含输入输出函数;C中string.h包含字符串处理函数;D中stdlib.h包含通用工具函数。
3. 设有 int a=5, b=3; 表达式 a&b 的值是( )
A. 1(按位与101&011=001)
B. 7(5|3位运算的结果)
C. 6(5^3位运算的结果)
D. 3(减法5-3的结果)
【答案】A
【解析】5的二进制为101,3的二进制为011。按位与运算:101&011=001,即十进制1。B中7是5|3的结果(101|011=111=7);C中6是5^3的结果(101^011=110=6);D中3与位运算无关。
4. C语言中强制类型转换的正确语法格式是( )
A. 类型名(表达式)
B. 类型名{表达式}
C. (类型名)表达式
D. [类型名]表达式
【答案】C
【解析】C语言中强制类型转换的语法为(类型名)表达式,例如(int)3.7将3.7转换为整型3。A是C++的函数式转换语法,C语言不支持;B中花括号语法是C++11的统一初始化语法,不属于C语言;D中用方括号表示类型转换不属于C语言语法。
5. 设有 int x=8; 表达式 x>>2 的值是( )
A. 4(右移1位的结果)
B. 16(左移1位的结果)
C. 2(8右移2位即8/4的结果)
D. 32(左移2位的结果)
【答案】C
【解析】右移运算x>>2将x的二进制位向右移动2位,相当于x除以2的2次方,即8/4=2。A中4是右移1位的结果(8>>1=4);B中16是左移1位的结果(8<<1=16);D中32是左移2位的结果(8<<2=32)。
6. 设有 double x=3.7; 表达式 (int)x 的值是( )
A. 3.7(原值不变)
B. 3(截断小数部分)
C. 4(四舍五入的结果)
D. 3.0(浮点数形式的3)
【答案】B
【解析】(int)x将double类型的3.7强制转换为int类型,截断小数部分,结果为整数3。A错,强制转换后类型已变为int,值不再是3.7;C错,强制转换是截断而非四舍五入;D错,(int)x的结果类型为int,值为3而非3.0。
7. 函数 fabs(-5.3) 的返回值是( )
A. 5.3(取绝对值的结果)
B. -5.3(原值不变)
C. 5(截断小数后的结果)
D. -6(某种取整的结果)
【答案】A
【解析】fabs函数的功能是求浮点数的绝对值,fabs(-5.3)返回5.3。B错,fabs会去掉负号;C错,fabs不截断小数部分,返回值仍为浮点数;D错,fabs不进行取整运算,也不是负数结果。
8. 设有 int a=6, b=4; 表达式 a|b 的值是( )
A. 2(6^4位运算的结果)
B. 4(按位与6&4的结果)
C. 10(某种加法的结果)
D. 6(110|100位运算的结果)
【答案】D
【解析】6的二进制为110,4的二进制为100。|运算:对应位有一个为1结果即为1,110|100=110,即十进制6。A中2是6^4的结果(110^100=010=2);B中4是6&4按位与的结果(110&100=100=4);C中10与位运算无关。
9. 设有 int x=3; 表达式 x<<3 的值是( )
A. 24(3左移3位即3*8的结果)
B. 9(3+3+3的结果)
C. 12(3左移2位的结果)
D. 6(3左移1位的结果)
【答案】A
【解析】左移运算x<<3将x的二进制位向左移动3位,相当于x乘以2的3次方,即3*8=24。3的二进制为11,左移3位后为11000,即24。B中9是3*3的结果,与左移无关;C中12是3<<2的结果;D中6是3<<1的结果。
10. 表达式 (int)(3.9+0.5) 的值是( )
A. 3(截断3.9的结果)
B. 3.9(未转换的浮点值)
C. 4(3.9+0.5=4.4截断后的结果)
D. 4.5(加法后的浮点结果)
【答案】C
【解析】先计算括号内的3.9+0.5=4.4,然后(int)4.4截断小数部分得到4。注意强制转换是截断而非四舍五入。(int)作用于整个表达式4.4而非单独作用于3.9。A错在先截断3.9再运算;B和D错在结果类型应为int而非浮点数。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$