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语言试题(标准答案)的更多相关文章

  1. DB2系统管理试题标准答案

    1. 如果需要创建一个表,并把表中的索引数据和其他数据分开存储,则应该 A.建立两个SMS表空间分别存储索引数据和其他数据 B.建立两个DMS表空间分别存储索引数据和其他数据 C.建立一个DMS表空间 ...

  2. 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 ...

  3. JAVA可能问的几个面试题问题及问题的标准答案

    问题一:你希望工作环境是怎样的? 标准答案:我对环境没有苛求,我会努力适应环境的. 注:此问题是在测试你的求职心态,是以自己为中心还是以工作为中心. 问题二:你觉得自己有哪些缺点? 标准答案:说一些对 ...

  4. php面试题及答案收藏(转)

    php面试题及答案收藏(这套试题是在网上看到的,不知作者是谁) 基础题 1.表单中 get与post提交方法的区别? 答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据, ...

  5. Linux面试题汇总答案

    转自:小女生的Linux技术~~~Linux面试题汇总答案~~ 一.填空题:1. 在Linux系统中,以 文件 方式访问设备 .2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的 ...

  6. JSP面试题及答案

    更新时间:2015-04-07         来源:网络         投诉删除 [看准网(Kanzhun.com)]JSP面试题频道小编搜集的范文“JSP面试题及答案”,供大家阅读参考,查看更多 ...

  7. 前端周报:前端面试题及答案总结;JavaScript参数传递的深入理解

    1.2017前端面试题及答案总结 |掘金技术征文 "金三银四,金九银十",用来形容求职最好的几个月.但是随着行业的饱和,初中级前端er就业形势不容乐观. 行业状态不可控,我们能做的 ...

  8. 近5年常考Java面试题及答案整理(三)

    上一篇:近5年常考Java面试题及答案整理(二) 68.Java中如何实现序列化,有什么意义? 答:序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化.可以对流化后的对象进行读写 ...

  9. 近5年常考Java面试题及答案整理(二)

    上一篇:近5年常考Java面试题及答案整理(一) 31.String s = new String("xyz");创建了几个字符串对象? 答:两个对象,一个是静态区的"x ...

随机推荐

  1. 洛谷P5398 [Ynoi2018]GOSICK(二次离线莫队)

    题面 传送门 题解 维包一生推 首先请确保您会二次离线莫队 那么我们现在的问题就是怎么转移了,对于\(i\)和前缀\([1,r]\)的贡献,我们拆成\(b_i\)和\(c_i\)两部分,其中\(b_i ...

  2. LOJ#557. 「Antileaf's Round」你这衣服租来的吗(FHQ Treap+珂朵莉树)

    题面 传送门 题解 好吧我是不太会复杂度分析-- 我们对于每种颜色用一个数据结构维护(比方说线段树或者平衡树,代码里写的平衡树),那么区间询问很容易就可以解决了 所以现在的问题是区间修改,如果区间颜色 ...

  3. linux vi 块操作、多窗口

    vim 块选择v:字符选择或者行选择[ctrl]+v: 块选择y:将反白的地方复制d:将反白的地方删除 多窗口:sp {filename} 打开一个新的窗口[ctrl]+w+j或者[ctrl]+w+向 ...

  4. [C陷阱和缺陷] 第4章 连接

    一个C程序可能是由多个分别编译的部分组成,这些不同部分通过连接器合并成一个整体.在本章中,我们将考查一个典型的连接器,注意它是如何对C程序进行处理的,从而归纳出一些由于连接器的特点而可能导致的错误. ...

  5. 最短路 Codeforces Round #103 (Div. 2) D. Missile Silos

    题目传送门 /* 最短路: 不仅扫描边,还要扫描点:点有两种情况,一种刚好在中点,即从u,v都一样,那么最后/2 还有一种是从u,v不一样,两种的距离都是l 模板错了,逗了好久:( */ #inclu ...

  6. 13 继续C#中的方法,带返回值的方法介绍

    在这一个练习中,我们要使用带返回值的方法.如果一个方法带返回值,那么它的形式是这样的. 定义一个带返回值的C#方法 static 返回类型 方法名字 (参数类型 参数1的名字,参数类型 参数2的名字) ...

  7. java用匿名内部类实现多线程堆内存变量共享

    匿名内部类介绍:http://www.cnblogs.com/nerxious/archive/2013/01/25/2876489.html 用Runnable模拟实现共享堆内存变量 import ...

  8. LN : leetcode 283 Move Zeroes

    lc 283 Move Zeroes 283 Move Zeroes Given an array nums, write a function to move all 0's to the end ...

  9. JavaScript(十三)面向对象

    面向对象 面向对象的过程 通过new 构造函数 生成的对象来执行, 类似于事件的执行  this指向函数,然后再把这个函数赋值给一个实例  所以在函数内的this  就指到了实例上 function ...

  10. moment.js 两个时间段的截取

    var a = moment([2008, 9, 29]);var b = moment([2007, 0, 10]);console.log(a.diff(b,'months'));//‘month ...