浙江理工大C语言试题详解:判断题与选择题解析

1 下载量 88 浏览量 更新于2024-08-03 收藏 53KB DOC 举报
本资源是一份浙江理工大学C程序设计的考试试卷,主要考察了C语言的基础知识。内容分为两部分:判断题和单项选择题。 1. **判断题** (10分) - 题目1测试了关于C语言表达式的合法性,s(s-a)(s-b)(s-c)是否有效,这涉及到了C语言中的多重括号操作,表达式是合法的,因为每个括号都有对应的结束括号。 - 题目2考察了逻辑运算符的双重否定(!!),!!6的值取决于中间操作的真假,由于6是非零整数,双重否定会将其转换为真,因此值不是6。 - 题目3指出错误地认为函数内部定义的变量是全局变量,实际上,只有在函数外部或在静态存储类别的函数中定义的变量才是全局变量。 - 题目4强调结构体变量的赋值,结构体变量确实可以整体赋值,即可以赋给另一个相同结构体类型。 - 题目5讨论了结构体成员的指针类型,结构体类型的成员可以被定义为该类型本身的指针。 - 题目6确认了字符型数组的功能,它可以用来存放字符串,但需要注意的是字符串应以空字符'\0'结尾。 - 题目7测试了字符数组整体赋值,虽然理论上可以通过赋值运算符对数组进行整体赋值,但在C语言中这种写法通常是错误的,因为“=”通常用于单个变量之间的赋值。 - 题目8比较了运算符"="和"&="的优先级,它们在C语言中的优先级是相同的。 - 题目9指出'%'运算符应用于浮点数是不正确的,字符常量应该用单引号括起来。 - 最后,题目10测试了位运算,~(~2<<1)的值计算涉及到按位异或和左移操作,结果是5。 2. **单项选择题** (20分) - 第一题是逻辑运算和赋值的结合,选项C(a=c)&&(b=c)是正确的,因为它确保a和b都等于c。 - 第二题考查处决不同进制表示法,0x是十六进制前缀,所以'A'是不正确的。 - 第三题涉及数据类型大小,C语言中的int、char和short的长度通常与机器字长有关。 - 第四题是条件表达式的选择,根据给定的值,a<b是false,c<d是true,因此最终结果是c。 - 第五题涉及算术运算和前置/后置自增运算符,输出结果是1,因为先自减再自加。 - 第六题测试了赋值语句的正确写法,C选项是正确的,首先执行左侧的赋值,然后右侧表达式。 - 第七题考查数组元素的引用,a[1][2]相当于数组元素的偏移,正确答案是B,即*(a[1]+3)。 - 第八题错误的是B,因为i++是先使用i的当前值再自增,这里没有右运算符。 - 第九题讨论实参与形参的关系,实参传递给形参的是数组的首地址,因为形参是按值传递的。 - 最后一道题是关于共用体的,它定义了一个名为data的共用体,其中包含一个int类型的成员。 这份试卷覆盖了C语言基础概念,包括表达式、数据类型、运算符、数组、指针以及结构体和共用体等重要知识点。通过解答这些问题,学生可以检验自己的C语言理解程度,并加深对这些概念的记忆和应用能力。