2018浙大878考研软件工程试题回顾:C语言与内存操作

需积分: 50 11 下载量 31 浏览量 更新于2024-09-09 1 收藏 38KB DOCX 举报
2018年浙江大学878软件工程考研专业课试题回忆包含了多项涉及C语言基础、算法分析以及字符串处理的题目。以下是对这些知识点的详细解读: 1. C语言基础知识: - strlen()与sizeof()的区分:strlen()函数用于计算字符串(字符数组)的长度,不包括结束符'\0';而sizeof()则返回变量或数据类型所占内存的大小,例如在`int n = sizeof(A)/sizeof(A[0]);`中,用于计算数组A元素的数量。考生需理解这两者在不同情境下的作用。 2. C语言中的静态存储类别: - static关键字:static可以用来声明静态变量,其生命周期贯穿整个程序,不会被自动初始化,且只有一份拷贝。在C语言中,stdio.h头文件中的stdin和stdout是预定义的文件流,分别代表标准输入(键盘输入)和标准输出(屏幕输出),静态存储的作用可能体现在内存管理和文件操作中。 3. 插入排序算法: - 题目中的F()函数实现了一种简单直观的插入排序算法,通过比较和交换元素将数组A按升序排列。给定数组A后,通过多次调用F()函数,最终输出结果为-12675894。 4. 字符串处理: - 第二题涉及字符数组和宏定义,使用D()和C()宏判断字符是否在指定范围内(0-9或a-z)。通过遍历字符串A,根据定义的宏进行转换,并处理连字符(-)来调整标志位,最后输出结果为299。 5. 排序与计数问题: - 第三题定义了Fnc()函数,这是一个基于两层循环的计数器,统计数组A中元素的降序对。调用Fnc(A,7)和随后的F(A[1], A[2])操作后,输出结果为12和13,这表明经过一次元素交换后的计数变化。 6. printf格式控制: - 第四题展示了printf函数的格式化输出,使用格式字符串`%d%c`,其中`"abcdef"[2]+1`表示字符'e'的ASCII值(101)加1,因此输出结果为5d。 7. 字符数组和填充运算: - 第五题未给出完整的问题,但提到“填空”,可能是关于字符数组的操作或函数参数传递的题目。考生可能需要理解如何正确处理字符串或数组,以及在函数调用时如何填充适当的值。 这些题目覆盖了C语言基本语法、算法、数据结构、字符串处理及格式输出等核心知识点,对于准备浙江大学软件工程考研的学生来说,理解和掌握这些内容至关重要。复习时应注重理论联系实际,通过练习类似的题目提升解题能力。