2009年1月高自考高级语言程序设计试题精编

需积分: 0 1 下载量 73 浏览量 更新于2024-10-11 收藏 49KB DOC 举报
本资源是一份2009年1月的高等教育自学考试高级语言程序设计(一)的试卷,涵盖了多项知识点。以下是详细解析: 1. 选择题1考察了算术运算符和自增运算符的组合,表达式`(b=2,a=5,b++,a+b)`首先给b赋值2,然后a赋值5,b自增1,最后计算a和b的和。由于b自增后变为3,因此最终结果是`a+b = 5+3 = 8`,所以正确答案是D.8。 2. 第2题测试了整型和浮点数混合运算以及强制类型转换。`x+3%(int)(x+y)/4`中,先做除法和取整(`(int)(x+y)`),然后进行求余和加法运算。`(int)(x+y)`的结果可能是2(取整后),所以`3%2`得1,最终结果是`x+1`,但x为2.5,取整后仍为2.5,加上1得到3.5,答案是B.3.5。 3. 选择题3考查字符类型的比较。小写字母的ASCII值范围是'a'到'z',所以正确表达式是检查字符是否在这一范围内,使用逻辑与(`&&`)连接两个条件,选项B是正确的。 4. 数组声明部分,选项A错误地使用了圆括号而不是方括号,表示数组大小。选项B是正确的,定义了一个整型数组,先声明变量n,然后动态分配大小为n的数组。 5. 字符串处理题目中,字符'A'的ASCII码值为65,'D'比'A'大2,所以执行`printf(″%d,%d\n″,cl,c2-2);`会输出字符'A'的ASCII值(65)和'D'减去2的值(68),答案是C.65,68。 6. 条件语句部分,选项A中使用分号结束if条件,这是不正确的,应该用花括号包裹条件块。选项B正确地使用了花括号,其余选项也存在语法错误。 7. 程序段涉及变量交换,通过连续的更新操作,x最终会保存最初的y值(2),而y保留最初的x值(1),答案是C.2和1。 8. 该题考察数据类型转换和运算符优先级。选项A中的`x%(-3)`不符合规定,不能对负数取模,正确答案是A。其他选项都符合相应数据类型的运算规则。 9. 打印输出题,`printf`函数会按照逗号分隔输出多个参数,但格式控制符前有逗号会导致逗号被打印出来,因此输出结果是数字之间会有逗号,答案是B.4,3。 10. 循环语句部分,选项A的for循环中初始值和步长未定义,且没有包含终止条件,这构成了无限循环。选项B的for循环缺少初始化部分,也是错误的。 这份试卷覆盖了基础的语法、算术运算、数据类型、控制结构和输入输出等知识点,对于学习和复习高级语言程序设计课程很有帮助。