东南大学C++编程考试:基础题与技巧解析

0 下载量 77 浏览量 更新于2024-08-04 收藏 85KB DOC 举报
本资源是一份东南大学的考试试卷,针对课程“程序设计与C++语言”(07-08学年的第二学期)。该试卷主要适用于07级非电类专业的学生,采用闭卷形式,考试时间为120分钟,满分100分。以下是部分题目及其知识点解析: 1. **程序构建流程**: - C++程序从源代码(.cpp)开始,经过编辑后,编译器将其转化为目标文件(.obj),然后将这些目标文件链接在一起生成可执行文件(.exe)。因此,正确的文件顺序是:.cpp -> .obj -> .exe,对应选项D。 2. **表达式计算**: - 变量a、b、c、d为double类型,表达式需保持精度。在C++中,除法运算符 `/` 的优先级低于乘法和加法,选项A中的`(a+b)/2*c-d`会导致错误的运算顺序,应选择C,`(a+b)/2*(c-d)`。 3. **循环结构**: - 通过观察程序段,当y小于等于z时,s的值逐次加1,直到y增加到大于z为止。这等同于累加y的值直到达到z,因此等价的赋值语句是`s = y + z`,对应选项D。 4. **条件运算与输出**: - 表达式`d=a<b?(a>c?a:c):b`是一个三元运算符,根据条件判断输出不同值。由于a=3,b=5,c=8,a<b成立,但(a>c)不成立,所以输出的是a的值,即3,选A。 5. **枚举类型**: - 枚举类型的定义中,通常left的值最小,right次之。所以枚举量down的值为up与right之间的下一个,即1+1=2,对应选项B。 6. **while循环次数**: - 在提供的while循环中,当i等于1时进入if条件判断,因为条件不满足,不会执行continue,然后i递增到2,这时if条件依然不满足,继续递增,直到i等于6,满足break条件退出循环。因此循环次数为6,选B。 7. **switch语句等价if-else结构**: - 原始的switch语句中,只有case 1 和 case 2 的分支会被执行,因为后续的case 3 和 case 4 使用了break语句。这与if-else语句`if((a==1)||(a==2))b=a;`功能相同,选A。 这些题目涵盖了C++编程的基础知识,包括程序构建流程、表达式计算、控制结构和条件判断等,旨在测试学生的理论理解和实际操作能力。