2010年浙江专升本C语言程序设计模拟测试卷

需积分: 9 1 下载量 154 浏览量 更新于2024-07-29 收藏 64KB DOC 举报
本次文档是针对2010年浙江省专升本考试的C语言程序设计模拟试卷,主要包括单选题和对C语言基础知识的理解和应用。以下是对部分题目知识点的详细解析: 1. **数据类型**:题目考察C语言的基础数据类型。在C语言中,选项(1)复数型号和(4)集合型不是标准的数据类型,它们通常不属于C语言的基本数据类型。正确答案可能是(3)双精度型号,因为C语言提供了`float`和`double`作为浮点数类型。 2. **转义字符**:(3)'074'不是一个有效的转义字符,因为在C语言中,八进制转义字符应以'0'开头。所以,正确的转义字符是'(1)'反斜杠和'(2)'双引号,以及'(4)'空字符。 3. **语句功能**:`x+=y;` 表示x加上y的值,然后将结果赋给x;`y=x-y;` 将x减去y的结果赋给y;`x-=y;` 同样表示x减去y的值。这些操作可以理解为交换操作,因此正确答案是(4)交换x和y的值。 4. **NULL值**:`NULL`在C语言中通常用来表示空指针,它的值为0。所以在`printf`语句中,`NULL`会被打印为0,因此答案是(2)0。 5. **条件分支**:该段代码展示了多个嵌套的`if`语句。最后,无论`ok1`和`ok2`的值如何,`x`都会被赋予-1,所以输出结果是(1)-1。 6. **字符循环**:循环中的`i++`会从'A'递增到'r',但注意字符数组索引是从0开始的,所以输出应该是'a'到'e',加上空格,答案是(2)aceg。 7. **死循环判断**:(1)中的`for(;;x+=i);`会因为没有终止条件而无限循环;(2)和(3)同样因为缺少终止条件而形成死循环。只有(4)中的`for`循环,当遇到换行符`\n`时会结束,因此不会构成死循环。 8. **字符串输出**:给定的`s`被定义为指向字符串"abcd"的指针,因此`printf("%s\n",s);`会输出整个字符串"abcd",答案是(1)。 9. **字符数组错误**:(2)是一个错误的字符数组定义,因为它包含双引号,意味着它试图创建一个字符串常量,而不是字符数组。正确的方法是使用单引号或者数组初始化。 这份试卷主要测试了考生对C语言基础概念、数据类型、转义字符、表达式理解、条件控制、字符串处理和数组定义等知识点的掌握程度。