C语言试题(标准答案)
C语言试题(标准答案)
一.单选题(每小题2分,共20小题40分)
1.1-1.5 B D A C B 1.6-1.10 C A D B C
1.11-1.15 A D D C B 1.16-1.20 D A B C A
二.填空题(每空2分,共10空20分)
2.1 52 。
2.2 10 ; 12 ; 120 。
2.3 110 。
2.4 0x801005 ; 0x801014 。
2.5 2 ; 5 。
2.6 自动 。
三.简答题(每小题4分,共5小题20分)
3.1全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?
答:可以。(2分)
在不同的C文件中以static形式来声明同名全局变量。(2分)
3.2引用与指针有什么区别?
答:(1) 引用必须被初始化,指针不必;(1分)
(2) 引用初始化以后不能被改变,指针可以改变所指的对象;(1.5分)
(3) 不存在指向空值的引用,但是存在指向空值的指针。(1.5分)
3.3堆栈溢出一般是由什么原因导致的?
答:没有回收垃圾资源。(或答:没有释放无用的资源。)(4分)
3.4队列和栈有什么区别?
答:队列先进先出,(2分)栈后进先出。(2分)
3.5编译工作区的时候,往往会遇到错误码为“0x00000002”的编译错误,查找相应的错误描述却没有找到,出现此种情况的原因是什么?应该怎样处理?
答:原因是编译过程产生了不可预知的错误。(2分)
解决办法有:尝试重启电脑或禁用分布式编译采用单机编译。(2分)
四. 编程题(每小题10分,共2小题20分)
4.1编写函数实现一个整数的逆序输出,整数由参数n表示,例如n=1234,则输出4321,要求不可以使用任何C库函数,函数原型如下:void inv(int n);
答题评分标准:
1、 考虑了负数的情况:3分
2、 使用了临时变量:2分
3、 有打印并打印格式正确:1分
4、 有相应的注释:1分
5、 结果完全正确:3分
参考程序:
void inv(int n)
{
int tmpNum = n; // 使用了临时变量:2分
if (tmpNum < 0) // 考虑了负数的情况:3分
{
// 负数
k = 0;
tmpNum = -tmpNum;
printf("-");
}
while(tmpNum)
{
printf("%d", tmpNum%10); // 打印正确:1分
tmpNum = tmpNum / 10;
}
}
4.2求2~2000的所有素数并打印在屏幕上,有足够的内存,要求尽量快。
答题评分标准:
1、 保存找到的素数,使用全局数组和全局变量而非临时申请的空间:3分
2、 判断素数的关键循环:3分
3、 有打印并打印格式正确:1分
4、 有相应的注释:1分
5、 结果完全正确:2分
参考程序:
int findvalue[2000] = {2}; // 使用了全局数组和全局变量:3分
static int find = 1;
bool adjust(int value);
void GetPrimeNumbers(void)
{
for (int i = 2; i <= 2000; i++)
{
if (adjust(i)) // 有打印判断并打印语句正确:1分
{
printf("%d ", i);
}
}
}
bool adjust(int value)
{
assert(value>=2);
if (value == 2)
{
return true;
}
for (int i = 0; i < find; i++) // 判断素数的关键循环:3分
{
if (value % findvalue[i] == 0)
{
return false;
}
}
findvalue[find++] = value;
return true;
}
C语言试题(标准答案)的更多相关文章
- DB2系统管理试题标准答案
1. 如果需要创建一个表,并把表中的索引数据和其他数据分开存储,则应该 A.建立两个SMS表空间分别存储索引数据和其他数据 B.建立两个DMS表空间分别存储索引数据和其他数据 C.建立一个DMS表空间 ...
- C语言编程规范试题(标准答案)
C语言编程规范试题(标准答案) 一.单选题(每小题3分,共20小题60分) 1.1-1.5 B D A C B 1.6-1.10 C A D B C 1.11 ...
- JAVA可能问的几个面试题问题及问题的标准答案
问题一:你希望工作环境是怎样的? 标准答案:我对环境没有苛求,我会努力适应环境的. 注:此问题是在测试你的求职心态,是以自己为中心还是以工作为中心. 问题二:你觉得自己有哪些缺点? 标准答案:说一些对 ...
- php面试题及答案收藏(转)
php面试题及答案收藏(这套试题是在网上看到的,不知作者是谁) 基础题 1.表单中 get与post提交方法的区别? 答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据, ...
- Linux面试题汇总答案
转自:小女生的Linux技术~~~Linux面试题汇总答案~~ 一.填空题:1. 在Linux系统中,以 文件 方式访问设备 .2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的 ...
- JSP面试题及答案
更新时间:2015-04-07 来源:网络 投诉删除 [看准网(Kanzhun.com)]JSP面试题频道小编搜集的范文“JSP面试题及答案”,供大家阅读参考,查看更多 ...
- 前端周报:前端面试题及答案总结;JavaScript参数传递的深入理解
1.2017前端面试题及答案总结 |掘金技术征文 "金三银四,金九银十",用来形容求职最好的几个月.但是随着行业的饱和,初中级前端er就业形势不容乐观. 行业状态不可控,我们能做的 ...
- 近5年常考Java面试题及答案整理(三)
上一篇:近5年常考Java面试题及答案整理(二) 68.Java中如何实现序列化,有什么意义? 答:序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化.可以对流化后的对象进行读写 ...
- 近5年常考Java面试题及答案整理(二)
上一篇:近5年常考Java面试题及答案整理(一) 31.String s = new String("xyz");创建了几个字符串对象? 答:两个对象,一个是静态区的"x ...
随机推荐
- 赋予option元素点击事件后,点击select时却触发了option事件。如何解决?
将select的优先级提到option之前就可以了. 方法:为select元素添加position:relative: <select class="adt" name=&q ...
- javascript实现页面跳转
这里指的页面跳转是将浏览器标签页转到新的网址. 只需要使用 window.location.href="url" 就行了 示例 <!DOCTYPE html> < ...
- git merge合并时遇上refusing to merge unrelated histories的解决方案
如果git merge合并的时候出现refusing to merge unrelated histories的错误,原因是两个仓库不同而导致的,需要在后面加上--allow-unrelated-hi ...
- 278 First Bad Version 第一个错误的版本
你是产品经理,目前正在领导一个团队开发一个新产品.不幸的是,您的产品的最新版本没有通过质量检查.由于每个版本都是基于之前的版本开发的,所以错误版本之后的所有版本都是不好的.假设你有 n 个版本 [1, ...
- log4j2异步日志解读(二)AsyncLogger
前文已经讲了log4j2的AsyncAppender的实现[log4j2异步日志解读(一)AsyncAppender],今天我们看看AsyncLogger的实现. 看了这个图,应该很清楚AsyncLo ...
- 利用freemarker导出页面格式复杂的excel
刚开始大家可能会利用poi生成简单的excel,但是遇到需要生成复杂的excel,poi导出excel就比较困难,这时候可以利用freemarker来渲染实现实现生成复杂的excel, 首先,将exc ...
- CF814C An impassioned circulation of affection
思路: 对于题目中的一个查询(m, c),枚举子区间[l, r](0 <= l <= r < n),若该区间满足其中的非c字符个数x不超过m,则可以将其合法转换为一个长度为r-l+1 ...
- UI布局术语
horizontal, vertical top, left, bottom, right UIEdgeInsets margin与padding Interpreting Values Values ...
- acedssget F 方式
ads_point p1; ads_point p2; acedGetPoint(NULL, _T("\n插入第一点"), p1); acedGetPoint(p1, _T(&qu ...
- MxCAD5.2 20181022更新
下载地址: http://www.mxdraw.com/ndetail_10108.html 1. 开放VIP功能,无需购买即可使用 2. 修正一些图纸打开和保存出错的问题 3. 修改填充命令,对某些 ...