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 ...
随机推荐
- vue3.0新特性以及进阶路线
Vue3.0新特性/改动 新手学习路线 ===> 起步 1. 扎实的 JavaScript / HTML / CSS 基本功.这是前置条件. 2. 通读官方教程 (guide) 的基础篇.不要 ...
- mysql——免安装配置
1.下载 (1)下载地址:https://dev.mysql.com/downloads/mysql/ (2)选择下载 2.配置环境变量 (1)解压目录:D:\mysql-8.0.16-winx64 ...
- gitlab&Jenkins 详细介绍及其应用
第1章 gitlab 1.1 系统环境 [root@jenkins ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) ...
- serlvet HttpServletRequest
1.http://localhost/az/servlet/TestResponse out.print("getServletPath:"+request.getServletP ...
- Spring boot 分环境部署
一.如果配置文件为:application.properties时 1.application.properties用于填些公共文件 以下为不同环境的配置文件需要单独配置 application-de ...
- sql 数据库建表
1. 需求 打分和备注是两条记录显示,打分和备注应该放到一张里面吗?放到一张表里面,展示好一些,自己一张表搞定,如果再创建一张表存储备注,需要union all 来进行关联, 感觉性能上有些影响,但是 ...
- 递推DP HDOJ 5389 Zero Escape
题目传送门 /* 题意:把N个数分成两组,一组加起来是A,一组加起来是B,1<=A,B<=9,也可以全分到同一组.其中加是按照他给的规则加,就是一位一位加,超过一位数了再拆分成一位一位加. ...
- Modbus通讯协议简介
Modbus协议简介 Modbus协议最初由Modicon公司开发出来,此协议支持传统的RS-232.RS-422.RS-485和以太网设备,许多工业设备,包括PLC,DCS,智能仪表等都在使用Mod ...
- 设置打印机共享,适用Win7、Vista、xp,不用密码
此处以HP M1213nf为例,其他型号大同小异. 1.设置打印机共享: "开始"→ "控制面板"→ "设备和打印机" 2.找到&quo ...
- 左耳听风 ARTS Week 001
要求:1.每周至少做一个 leetcode 的算法题 2.阅读并点评至少一篇英文技术文章 3.学习至少一个技术技巧 4.分享一篇有观点和思考的技术文章 1.每周至少做一个 leetcode 的算法题 ...