C语言程序设计笔试试卷分析

版权申诉
0 下载量 132 浏览量 更新于2024-09-08 收藏 90KB DOC 举报
"《C语言程序设计》2011-2012-2A_2012-5-27.doc 是一份针对C语言程序设计的笔试试卷,涵盖C语言的基础知识,包括选择题和可能的编程概念。试卷强调了闭卷考试,分数占比70%,并提示学生在指定位置作答。试卷内容涉及到C语言的关键字、语法规则、运算符、常量、宏定义、数据类型转换以及条件表达式等核心概念。" 在C语言中,有以下几个关键知识点: 1. 关键字:C语言的关键字是预定义的标识符,如`auto`, `enum`, `switch`, `typedef`等,它们具有特殊的含义,不能作为变量或函数的名字。例如,选项B中的`switch`, `typedef`, `continue`都是C语言的关键字。 2. C语言的语法规则:大小写字母在C语言中是有区别的,选项A中的描述是错误的。不同类型的变量可以在同一表达式中,比如选项C的赋值运算符两边可以是不同类型的。同时,一个运算符可以有多种含义,如`+`可以用于加法也可以用于字符串连接。 3. 常量与打印:十六进制的-1在C语言中打印出来会显示`ffffffff`,因为C语言不会打印负的十六进制数。因此,选项C的描述是正确的。 4. C语言的结构:C语言程序由函数构成,每个函数都有自己的作用域。选项D正确,函数之间可以相互调用,但不是所有函数都可以由用户命名,预定义的库函数如`printf`等就是例子。 5. int类型的常数:C语言中的整型常数可以是十进制、八进制(前缀0)或十六进制(前缀0x)。选项C的`038`是一个非法的八进制数,因为它超出了八进制所能表示的最大单个数字7。 6. 宏定义与表达式计算:宏定义`#define SQ(x) x*x`表示平方操作。在`10/SQ(3)`中,由于整数除法,结果将是1。 7. 字符赋值:在C语言中,字符变量应该用单引号赋值,所以正确的方式是`c='\147'`,这里的`\147`代表八进制的字符码。 8. 数据类型转换:执行`c=a+b+c+d`后,`c`的类型将取决于变量`a`, `b`, `c`, `d`的类型。由于`d`是`double`类型,其他类型会被提升为`double`,因此`c`最终是`double`类型。 9. 逗号表达式:逗号表达式的计算顺序是从左到右,最后一个表达式的结果是整个表达式的值。`a=3*5,a*4,a+15`中,最后的值是`a+15`,即`15`。 10. 条件表达式:条件表达式`"a<b?a:c<d?c:d"`的值取决于条件的真假。这里`a<b`为真,所以取`a`的值,即`1`。 11. 条件表达式与逻辑运算:`"20-0<=i<=9"`中的表达式会被从左到右解析,首先计算`20-0`得到`20`,然后与`i`比较。由于`i`等于`10`,所以表达式的值是`1`。 以上是C语言程序设计的一些基本概念和知识点,这份试卷覆盖了这些内容,旨在测试学生对C语言的理解和应用能力。