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;

}

最新文章

  1. C# 中参数验证方式的演变
  2. JavaScript 汉字与拼音互转终极方案 附JS拼音输入法
  3. LeetCode之371. Sum of Two Integers
  4. VS2012使用中容易出现的小问题(长期更新,错多少记多少)
  5. My tool chain in CentOS 7
  6. SQL Server 2012 通用分页存储过程
  7. leetcode:32 最长有效括号
  8. llinux 压缩 解压
  9. CocoStudio基础教程(5)使用CocoStudio场景编辑器关联组件
  10. 【Avalon】escape
  11. Javascript高级程序设计
  12. JavaScript 克隆对象
  13. uva11292贪心基础题目
  14. IOS引导页的编写
  15. H2O是开源基于大数据的机器学习库包
  16. Flexbox布局指南
  17. [Swift]LeetCode689. 三个无重叠子数组的最大和 | Maximum Sum of 3 Non-Overlapping Subarrays
  18. Egret 获取不到皮肤中的按钮 id
  19. ffmpeg文件切片
  20. SP1805 HISTOGRA (单调栈)

热门文章

  1. 清北考前刷题day1下午好
  2. mysql——免安装配置
  3. svg image 图片无法铺满 circle 的问题解决
  4. hexo简易脚本
  5. ACM_01背包
  6. Java 8 (1) 行为参数化
  7. redis之有序集合类型(Zset)——排行榜的实现
  8. 远程监视jboss应用java内存的配置(实测) .
  9. dubbo之服务容器
  10. Fiddler 修改响应内容