C语言编程:2009年地大(武汉)期末考试真题解析
需积分: 15 23 浏览量
更新于2024-09-07
1
收藏 116KB DOC 举报
"中国地质大学(武汉)C语言期末考试真题-2009下"
这份资料是中国地质大学(武汉)2009年下半学期C语言课程的期末考试试题,适合准备考研的学生作为参考资料。考试以闭卷、笔试的形式进行,包括一单项选择题部分,总分为30分,主要测试学生对于C语言的基础知识和编程能力。
试题内容涵盖C语言的各种核心概念,如常量、表达式、条件判断以及数组操作等。例如:
1. 单项选择题中涉及到C常量的识别,选项分析如下:
- A) ’\123’,1e5-2 - 不符合,C语言中八进制常量应以0开头,'\123'不是合法的八进制常量。
- B) 0xffce, ‘\\’ - 都是合法的,0xffce是十六进制常量,'\'是转义字符。
- C) 0246, ‘10’ - 不完全符合,'10'不是合法的八进制常量,它被视为字符串中的字符。
- D) 102,123 - 符合,这些都是十进制整数常量。
2. 表达式的计算和类型转换:
- 假设a=2, b=5,表达式a+’1’+(float)(b/a)会先进行类型提升,'1'会被转换为ASCII码对应的整数49,然后加上a的值,再与b/a的结果相加,由于b/a会变成浮点数,所以整个表达式结果为浮点数,答案可能是B) 5.5。
3. 条件表达式的求值规则和运算符优先级:
- 在表达式c=(a==--b||--a,a+b+1.0/2)中,根据短路逻辑,如果a==--b为真,那么--a就不会执行,因此c的值取决于a==--b的运算结果。
4. 逻辑表达式的组合:
- 为了找出a、b、c中有一个为0,两个为非0的正确表达式,需要使用逻辑运算符。D) !(a*b*c)&&(a+b+c)是正确的,因为当a、b、c中有两个非零时,a*b*c不等于0,同时a+b+c等于2或3。
5. 逻辑表达式等价性的判断:
- 比较!(a+b)&&a*b与其它表达式的等价性,可以发现A) a+b==0&&a*b!=0与之等价,因为它们都表示a和b不能同时为0。
此外,试题还包含了一段代码,用于找到数组中的最大值和最小值的索引。这个程序通过遍历数组,比较当前元素与已知最大值和最小值,更新p和q的值,最后打印出最大值的索引p和最小值的索引q。
11. 数组元素的移动:
- 要将数组a的后9个元素向前移动一个位置,挤掉第一个元素,正确的操作是C) for(j=9; j>0; j--) a[j-1] = a[j];这个循环从倒数第二个元素开始,逐个将后面的元素移到前面去。
12. if语句中的条件表达式:
- if语句后的条件表达式可以用任何能够产生非零(真)或零(假)的表达式,这可以是算术表达式、关系表达式、逻辑表达式等。
这份试题旨在检验学生对C语言基本语法、表达式、逻辑运算、数组处理以及控制结构的理解和应用能力。通过解答这些题目,学生可以检验自己的学习成果,并了解实际考试中可能遇到的问题类型。
点击了解资源详情
点击了解资源详情
2021-06-07 上传
2010-11-18 上传
点击了解资源详情
两只Tigers跑得快
- 粉丝: 17
- 资源: 6
最新资源
- 经典单页企业手机门户网站模板
- tinder:此存储库包含使用REACT JS和Firebase构建的tinder-clone
- jk_github
- localfarm.co:在地图上探索农贸市场
- supermarket-pricing
- 换箱多轴钻PLC程序.rar
- 易语言-京东下单 加购 登录 抢购
- 【PyQt6.6.2】【windows版】重新编译QT支持html5视频播放
- statisticker-cs-PallaviZoting:GitHub Classroom创建的statisticker-cs-PallaviZoting
- jdk.zip 1.8 完全ok版
- ProducerAndConsumer:生产者和消费者模型java实现
- ReactNative-Android-MovieDemo:基于react-native-android搭建新闻app
- programming:这是我的语言学习
- brocc:BLAST读取和OTU共识分类器-开源
- LR9Cplus
- tcc-project-template:开始新的 TCC 网络通信项目的骨架