广东工业大学C语言试卷B:基础选择与填空题目解析
需积分: 10 95 浏览量
更新于2024-09-27
收藏 65KB DOC 举报
本资源是一份广东工业大学05-1-C语言试卷B的参考版,包含了C语言的基础知识题目。以下是详细解析:
一、选择题部分(共20分,每题2分)
1. **合法变量命名**:
- 变量命名需遵循C语言的规则,包括字母、数字和下划线,且不能以数字开头。选项A(xY_0)是合法的,因为符合命名规范。
2. **输出格式转换**:
- 函数`printf`中 `%d`、`%u`、`%x` 分别表示十进制整数、无符号十进制整数和十六进制整数。`inta=-1`,输出时不会改变数值,但`%u`会将负数转为无符号表示,因此答案是C.
3. **算术运算**:
- `x=2`, `y=x+3/2`,尽管3/2为浮点除法,但在`double`类型中会得到精确结果,即3.0,所以最终`x`的值也为3.000000。
4. **逻辑运算与赋值**:
- `x=(a=100)&&(b=0)&&(c=200)`,根据运算符优先级,先执行赋值,再做逻辑与。由于`b=0`,整个表达式的结果是false,所以`x`被赋值为0,其他变量保持原值,答案是C。
5. **合法赋值语句**:
- A选项错误,逗号运算符不能单独作为赋值语句;B选项是减1操作,是合法的;C选项是表达式,不是赋值;D选项尝试将`a+b`的值强制转换为整型并赋给`c`,是合法的。
6. **字符串初始化**:
- A、B、D都是正确的字符串赋值方式,C选项中的`char*str`虽然可以存储字符串,但不包含字符串结束符,不能直接赋值。
7. **printf格式控制**:
- `%2d` 表示宽度为2的十进制整数,`inta=1234`,输出时会左对齐,不足位数用空格填充,因此结果是1234。
8. **函数相关概念**:
- A错误,可以在函数体内部调用自身;
- B正确,没有返回值的函数确实应声明为`void`;
- C错误,函数可以在任何地方调用,不限于`main()`;
- D错误,至少有一个函数必须有`return`语句。
9. **控制结构**:
- break语句不能直接用于`goto`与if组成的循环,因为`goto`跳转到的是一个标签位置,不是循环结构。
10. **指针赋值**:
- A选项将`*p`的值赋给`i`,可能不是指针指向的值;B选项将`&j`的地址赋给`*p`,实现了`i`等于`j`的地址;C和D不是正确的赋值方式。
二、填空题(共20分,每题2分)
1. 1.3<5&&5<7 的值为 true,因为两个条件都为真。
2.!(2<=10)的值为 false,因为2小于等于10是true,取非后为false。
3.!5||(4>>10) 的值取决于`4>>10`,由于右移10位相当于除以2^10,4变为0,所以为 true。
4.!(2<4)||(5<3?0:10)的值为 true,因为第一个条件为true,或者条件表达式`5<3?0:10`的结果为0,取非后也为true。
通过这份试卷,学生可以复习和测试他们在C语言基础如变量命名、数据类型、运算符、函数、控制结构、指针等知识点的理解和应用能力。
2011-02-26 上传
2020-06-15 上传
2021-09-30 上传
点击了解资源详情
点击了解资源详情
2015-01-16 上传
2021-10-11 上传
2011-06-30 上传
点击了解资源详情
U_TouchMe
- 粉丝: 1
- 资源: 78
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析