浙江大学C语言期末考试试卷
需积分: 10 156 浏览量
更新于2024-09-11
收藏 91KB DOC 举报
"这份资源是一份来自浙江大学2010-2011学年冬学期的《程序设计基础及实验》课程的期末考试试卷,主要针对C语言进行考核。试卷为闭卷形式,考试时长120分钟,旨在帮助学生巩固和检验C语言的掌握程度。试卷包含单选题部分,涉及C语言的基础语法和概念,例如表达式的求值、运算符的使用、数组的引用以及指针的运用等。"
这篇试卷的部分内容展示了C语言的一些核心知识点:
1. 表达式求值:题目中的 `(4>3>2)` 是一个逻辑表达式,比较结果会返回布尔值,但C语言中没有布尔类型,所以 `1` 和 `0` 分别代表真和假。正确的答案是 `B.1`。
2. C语言运算符:`0.5%2` 涉及到浮点数与整数的模运算,这是不合法的;`3&(0.5+0.5)` 中的 `&` 是按位与运算符,不能用于浮点数;`4.6<<2` 是左移运算,同样不适用于浮点数;`2==(3/2)` 比较的是整数除法的结果,即 `1`。正确答案是 `D.2==(3/2)`。
3. 数组引用:C语言数组下标从0开始,`a[2][3]` 和 `a[0][3]` 都越界了;`a[1>2][!1]` 相当于 `a[0][0]`,是合法的。正确答案是 `A.a[2][!1]`,尽管 `!1` 在这里等同于 `0`,但表达式本身是合法的。
4. 指针和输入:`int*p; scanf("%d",&p);` 错误,因为 `%d` 需要地址,而 `p` 已经是地址了;`int*p; scanf("%d",p);` 也是错误的,因为未初始化指针;`int k, *p=&k; scanf("%d", p);` 正确,指针 `p` 初始化为变量 `k` 的地址,然后通过指针读取输入;`int k, *p; *p=&k; scanf("%d", p);` 错误,因为未初始化指针 `p` 就试图给它赋值。正确答案是 `C.intk,*p=&k; scanf("%d",p);`。
5. 多级指针:`int*p[4];` 声明了一个包含4个指向整数的指针的数组;`int**p;` 是一个指向指针的指针;`int*(p[4]);` 和 `int(*p)[4];` 是等价的,声明了指针 `p` 指向一个含有4个整数的数组。正确答案是 `D.int(*p)[4]` 或 `C.int*(p[4]);`。
6. 数组声明:`int a[4]="...";` 是错误的,因为字符串字面量不能赋值给整型数组,需要使用字符数组 `char a[5]`(包括结束符`\0`)。
这些题目覆盖了C语言的关键概念,如逻辑表达式、运算符优先级、数组和指针操作、输入输出以及多级指针的理解。对于准备C语言考试的学生来说,这些都是必备的知识点。
2010-10-19 上传
2011-02-26 上传
2014-06-12 上传
2023-12-10 上传
2023-07-05 上传
2023-11-10 上传
2023-05-02 上传
2024-02-01 上传
2023-09-04 上传
gwungwun
- 粉丝: 0
- 资源: 1
最新资源
- 探索AVL树算法:以Faculdade Senac Porto Alegre实践为例
- 小学语文教学新工具:创新黑板设计解析
- Minecraft服务器管理新插件ServerForms发布
- MATLAB基因网络模型代码实现及开源分享
- 全方位技术项目源码合集:***报名系统
- Phalcon框架实战案例分析
- MATLAB与Python结合实现短期电力负荷预测的DAT300项目解析
- 市场营销教学专用查询装置设计方案
- 随身WiFi高通210 MS8909设备的Root引导文件破解攻略
- 实现服务器端级联:modella与leveldb适配器的应用
- Oracle Linux安装必备依赖包清单与步骤
- Shyer项目:寻找喜欢的聊天伙伴
- MEAN堆栈入门项目: postings-app
- 在线WPS办公功能全接触及应用示例
- 新型带储订盒订书机设计文档
- VB多媒体教学演示系统源代码及技术项目资源大全