2019浙江大学C18A《程序设计基础》英文期末考试题目回顾

需积分: 0 0 下载量 109 浏览量 更新于2024-08-05 收藏 278KB PDF 举报
本资源是一份浙江大学2018-2019学年冬学期《程序设计基础》(FundamentalsofProgramming)课程的期末考试试卷,时间为2019年1月24日,考试时长为120分钟。试卷分为单选题(每题2分,共20分)和部分编程题目,旨在考察学生对C语言基础概念的理解和应用。 单选题部分 1. 在C语言中,整型数据(如int)通常以2's补码形式(2's complement)存储在内存中。补码是一种用于表示有符号整数的编码方式,它能够正确处理加减运算,并能方便地实现负数的表示。 2. 给定数组`s[3][3]`的声明并初始化后,表达式`s[0][1]`等价于`s[1][0]`的值,因为在C语言中,数组索引是从0开始的,所以第一个元素的索引是0,第二行第一列的索引是1。 3. 下列表达式中,有意义的是"C"字符串中的字符下标访问,即`"hello"[1]`,这将输出'h',因为索引从0开始,`[1]`对应第一个字符。 4. 代码片段`int n = 1; char ch = '\012'; printf("%d", ch * n++);`会输出12。其中,`\012`是换行符的ASCII码,与`'\n'`相同,乘以1后得到12,`n++`的递增操作在输出后进行,不会改变`ch`的值。 5. 对于静态数组`static int a[5][]`的声明,虽然语法上看起来不完整,但根据C语言的规则,如果只提供了一维数组的大小,多维数组会被隐式填充为一维,所以每个元素a[0][i](0 <= i < 5)的初始值都是0,选项A正确。选项B是错误的,因为语法虽然看似不标准,但实际编译时是被理解为一个长度为5的一维数组,每个元素初始值为0。 通过这份试卷,学生可以检验他们在程序设计基础课程中学到的知识,包括数据类型存储、数组操作、字符串处理以及基本控制结构的运用。同时,试卷也强调了诚信考试的重要性,提醒考生在考试中遵守规定,确保公正公平的竞争环境。