导航菜单
首页 >  研究生复试c语言程序设计专业  > 【C语言基础】关于电子科技大学的复试c语言试题

【C语言基础】关于电子科技大学的复试c语言试题

作为一个考研失败的菜鸟,本来不想准备电子科技大学的非全复试的,直接去找工作,想想有机会还是争取一下下,总比流浪去了个普通的掉渣的学校强一些,因此趁着还有时间赶紧准备一下下复试C语言的东西,黑电的C语言确实弄得很,不仔细分析很难作对。

1、请简述C语言的隐式类型转换发生的四种情况,并说明每种情况如何转换。(注:这里面还有个小题,float如何四舍五入转化成int)答:1、算术运算式中,低类型能够转换为高类型。2、赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给它。3、函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。4、函数有返回值时,系统将隐式地将返回表达式类型转换为返回值类型,赋给调用函数。2、从C语言执行效率方便,简述下C语言除了指针、宏函数、位运算还采取了哪些措施提高执行效率。答:1、循环嵌套中将较长循环设为内存循环,较短循环设为外置循环,以减少cpu跨切循环层的次数,提高程序的运行效率。2、让用户可以直接操作进程虚拟地址,给用户提供了高效的内存拷贝函数,变量类型是弱类型,可以各种强制转换。3、API,可以调用系统API,接近底层4、嵌入汇编语言,更贴近极限5、使用寄存器变量,提高存取速度。6、使用条件编译,可减少被编译的语句,从而减少目标程序的长度,减少运行时间,当条件编译段比较多时,目标程序长度可大大减少,这样可以提升程序执行效率(谭浩强原话)。3、问数组越界会产生什么后果?数组越界,将会把数据存放到一个未知的区域,而这个未知的区域如果恰好是系统很重要的位置,可能了就会修改系统程序导致系统出错甚至是崩溃,如果这个位置不是和系统有关,可能结果并不明显或者没有产生影响,但为了系统安全需要进行数组下标越界检查。

几个c语言得代码填空题目:

int main() {int a[] = {1,7,12,15};//p1指向数组a的首地址//p2指向p1 ,然后p1向后移动 int *p1 = a, *p2 = p1++;printf("%d %d\n",*p1, *p2);*p1 += *p2++;//a = {1,8,12,15} //先执行*p1+=*p2; 7 + 1//然后p2向后移动 printf("%d %d",*p1, *p2);return 0;}# 题2 用Eratasthene筛选法求200以内的素数,修改代码使得效率变高解题理论依据就是先将2的倍数筛去,在将3的倍数删去,再将5的倍数删去,。。。。以空间换时间的做法#include#includeint main() {int prime[201] = {0};int d;for (d = 2; d

相关推荐: