C语言编程规范试题(标准答案)

一.单选题(每小题3分,共20小题60分)

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

二.填空题(每空1分,共20空20分)

2.1 通常在设计函数的时候,函数之间要低 耦合 ,函数内部要高 内聚 ,函数之间调用关系要 高 扇入、 合理 扇出。

2.2 为了提高代码的效率,通常要求循环体内工作量 最小化 ,把多重循环中最忙的循环放在 最内层 。

2.3 代码质量保证优先原则中,最优先保证 正确性 ,然后依次是稳定性、安全性、 可测试性 、规范/可读性、全局效率、局部效率、个人方便性。

2.4 代码走读主要是对程序的编程风格如注释、命名等以及编程时易出错的内容进行检查,可由开发人员自己或开发人员 交叉 的方式进行;代码审查主要是对程序实现的功能及程序的稳定性、安全性、可靠性等进行检查及评审,可通过自审、 交叉审核 或 指定部门抽查 等方式进行。

2.5同产品软件(项目组)内,最好使用相同的编辑器,并使用相同的 设置选项 。

2.6资源文件(多语言版本支持),如果资源是对语言敏感的,应让该资源与源代码文件 脱离 ,具体方法有下面几种: 使用单独的资源文件 、 DLL文件 或其它单独的描述文件(如数据库格式)。

2.7对较关键的算法最好使用 其它算法 来确认。

2.8局部效率应为 全局效率 服务,不能因为提高局部效率而对 全局效率 造成影响。

2.9在同一项目组或产品组内,要有一套统一的为集成测试与系统联调准备的 调测开关 及相应打印函数,并且要有详细的说明。

2.10检查函数所有参数输入的有效性,同时还要检查函数所有非参数输入的有效性,如数据文件、 公共变量 等。

三.编程题(每小题20分,共1小题20分)

3.1 编写函数实现:将整型变成字符串,如3489变成"3489"。要求不可以使用任何C库函数。函数原型声明如下:

char *intTostring(int num, char *result);

答题评分标准:

1、 结果完全正确:15分

2、 结果完全不正确:0分

3、 结果部分正确:如未考虑负数的情况,得8分

4、 结果完全正确或部分正确的情况下,考查编程规范符合情况,加0~5分

5、 结果完全不正确的情况下,即使编程规范完全符合,亦不可加分。

参考程序:

char *intTostring(int num, char *result)

{

char buf[15];

int i = 0;

int n = 0;

int k = 0;

int tmpNum = num;

if (tmpNum >= 0)

{

// 正数

k = 1;

}

else

{

// 负数

k = 0;

tmpNum = -tmpNum;

}

do

{

buf[i++] = tmpNum % 10 + '0';

tmpNum = tmpNum / 10;

}while(tmpNum);

if (0 == k)

{

buf[i++] = '-';

}

// 顺序颠倒回来

for (n = i - 1; n >= 0; n--)

{

result[i - 1 - n] = buf[n];

}

result[i] = '\0';

return result;

}

C语言编程规范试题(标准答案)的更多相关文章

  1. C语言编程规范试题

    C语言编程规范试题 [说明]: 1.本试题中不考虑头文件引用问题(假定已经包含正确的头文件),C语言的标准函数都可用: 2.如果不特别说明,假定程序运行环境为:操作系统Windows 2000, VC ...

  2. 华为C语言编程规范

    DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd ...

  3. Uber Go 语言编程规范

    目录 Uber Go 语言编程规范 1. 介绍 2. 编程指南 3. 性能相关 4. 编程风格 5. 编程模式(Patterns) 6. 总结 Uber Go 语言编程规范 相信很多人前两天都看到 U ...

  4. C++语言编程规范

    前言 这里参考了<高质量C++C 编程指南 林锐>.<google C++编程指南>以及<华为C++语言编程规范>编写了这份C++语言编程规范文档,以合理使用 C+ ...

  5. Golang语言编程规范

    Golang语言编程规范 一.说明 编程规范好,可避免语言陷阱,可有利团队协作,有利项目维护. 正常的Go编程规范有两种:编译器强制的(必须的),gofmt格式化非强制的(非必须). Go宣告支持驼峰 ...

  6. linux shell语言编程规范安全篇之通用原则【转】

    shell语言编程规范安全篇是针对bash语言编程中的数据校验.加密与解密.脚本执行.目录&文件操作等方面,描述可能导致安全漏洞或风险的常见编码错误.该规范基于业界最佳实践,并总结了公司内部的 ...

  7. C语言编程规范

    C语言编程规范 6 函数与过程 6.1 函数的功能与规模设计 函数应当短而精美,而且只做一件事.不要设计多用途面面俱到的函数,多功能集于一身的函数,很可能使函数的理解.测试.维护等变得困难. 6.2 ...

  8. 单片机C语言编程规范

    一.基本要求 1.1 程序结构清析,简单易懂,单个函数的程序行数不得超过100行. 1.2 打算干什么,要简单,直接了当,代码精简,避免垃圾程序. 1.3 尽量使用标准库函数和公共函数. 1.4 不要 ...

  9. C语言编程规范—命名规则

    C是一门朴素的语言,你使用的命名也应该这样.与Modula-2和Pascal程序员不同,C程序员不使用诸如“ThisVariableIsATemporaryCounter”这样“聪明”的名字.C程序员 ...

随机推荐

  1. Wannafly挑战赛29A御坂美琴

    传送门 这套题很有意思2333 蠢了--首先先判总共加起来等不等于\(n\),不是的话就不行 然后dfs记录\(n\)不断分下去能分成哪些数,用map记录一下,判断是否所有数都能被分出来就是了 //m ...

  2. 我的周记2——“天道酬勤"

    Get 什么是JAVA  https://zhuanlan.zhihu.com/p/62717204 了解下HTTP 缓存机制 https://juejin.im/post/5a1d4e546fb9a ...

  3. 公司4:JrVue主题定制

    JrVue是我们基于element重新封装的一套组件库;  具体组件使用方法可以mnote->研发小组查看; 这里我们定制了一套主题色, 具体变动如下: 1.主题色变动: mfront有蓝.紫. ...

  4. http升级https(转)

    让你的网站免费支持 HTTPS 及 Nginx 平滑升级 为什么要使用 HTTPS ? 首先来说一下 HTTP 与 HTTPS 协议的区别吧,他们的根本区别就是 HTTPS 在 HTTP 协议的基础上 ...

  5. 【计蒜客习题】 取石子游戏(gcd)

    问题描述 蒜头君和花椰妹在玩一个游戏,他们在地上将 n 颗石子排成一排,编号为 1 到 n.开始时,蒜头君随机取出了 2 颗石子扔掉,假设蒜头君取出的 2 颗石子的编号为 a, b.游戏规则如下,蒜头 ...

  6. [书目20140824]触动人心:设计优秀的iPhone应用

    关于作者致谢译者序入门设计令人欣喜且易用的应用等下……先吸口气阅读本书不需要专业知识忠言一切从点击开始       我们是如何使用iPhone应用的行走中:一只手,一只眼睛,一直在抖动尽快搞定满满一箱 ...

  7. Hadoop的数据采集框架

    问题导读: Hadoop数据采集框架都有哪些? Hadoop数据采集框架异同及适用场景? Hadoop提供了一个高度容错的分布式存储系统,帮助我们实现集中式的数据分析和数据共享.在日常应用中我们比如要 ...

  8. 判断IE浏览器的类型以及提示信息(低版本浏览器不予显示)

    //浏览器IE版本判断(function(window) {    var theUA = window.navigator.userAgent.toLowerCase();    if ((theU ...

  9. C++学习笔记(三)之函数库

    1.标准库函数 begin end begin 返回数组首地址 end   返回数组尾地址 2.const 在声明变量时对变量限制为只读,不允许修改 const int i = 5; 单个const作 ...

  10. ThinkPHP---辅助方法

    [三]Tp常见的辅助方法 原生SQL语句里除了目前所使用的基本操作增删改查,还有类似于group.where.order.limit等这样的字句. ThinkPHP封装了相应的子句方法:封装的方法都在 ...