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-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语言编程规范试题(标准答案)的更多相关文章
- C语言编程规范试题
C语言编程规范试题 [说明]: 1.本试题中不考虑头文件引用问题(假定已经包含正确的头文件),C语言的标准函数都可用: 2.如果不特别说明,假定程序运行环境为:操作系统Windows 2000, VC ...
- 华为C语言编程规范
DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd ...
- Uber Go 语言编程规范
目录 Uber Go 语言编程规范 1. 介绍 2. 编程指南 3. 性能相关 4. 编程风格 5. 编程模式(Patterns) 6. 总结 Uber Go 语言编程规范 相信很多人前两天都看到 U ...
- C++语言编程规范
前言 这里参考了<高质量C++C 编程指南 林锐>.<google C++编程指南>以及<华为C++语言编程规范>编写了这份C++语言编程规范文档,以合理使用 C+ ...
- Golang语言编程规范
Golang语言编程规范 一.说明 编程规范好,可避免语言陷阱,可有利团队协作,有利项目维护. 正常的Go编程规范有两种:编译器强制的(必须的),gofmt格式化非强制的(非必须). Go宣告支持驼峰 ...
- linux shell语言编程规范安全篇之通用原则【转】
shell语言编程规范安全篇是针对bash语言编程中的数据校验.加密与解密.脚本执行.目录&文件操作等方面,描述可能导致安全漏洞或风险的常见编码错误.该规范基于业界最佳实践,并总结了公司内部的 ...
- C语言编程规范
C语言编程规范 6 函数与过程 6.1 函数的功能与规模设计 函数应当短而精美,而且只做一件事.不要设计多用途面面俱到的函数,多功能集于一身的函数,很可能使函数的理解.测试.维护等变得困难. 6.2 ...
- 单片机C语言编程规范
一.基本要求 1.1 程序结构清析,简单易懂,单个函数的程序行数不得超过100行. 1.2 打算干什么,要简单,直接了当,代码精简,避免垃圾程序. 1.3 尽量使用标准库函数和公共函数. 1.4 不要 ...
- C语言编程规范—命名规则
C是一门朴素的语言,你使用的命名也应该这样.与Modula-2和Pascal程序员不同,C程序员不使用诸如“ThisVariableIsATemporaryCounter”这样“聪明”的名字.C程序员 ...
随机推荐
- python自动化测试学习笔记-8多线程
线程模块 python的多线程只能利用cpu的一个核心,一个核心同时只能运行一个任务那么为什么你使用多线程的时候,它的确是比单线程快答:如果是一个计算为主的程序(专业一点称为CPU密集型程序),这一点 ...
- 贪心 Codeforces Round #263 (Div. 2) C. Appleman and Toastman
题目传送门 /* 贪心:每次把一个丢掉,选择最小的.累加求和,重复n-1次 */ /************************************************ Author :R ...
- Windows环境下使用Netsh命令快速切换IP配置
不同的内网环境需要使用不同的IP配置,频繁切换令人发狂,因此搜索了快速切换IP配置的方法. Netsh interface IP Set address "以太网" Static ...
- mongodb的安装以及客户端
mongodb是一种非关系型的数据库,与传统的sql有很大的不同,但都是用于数据管理的,本人也是初学,很多地方都是模仿,在这里只是记录本人初次安装mongodb和客户端,记录一下安装的步骤,以便以后用 ...
- keystore找回密码
昨天准备给自己的应用发布一个新版本,在apk打包时,发现之前的用的keystore密码忘了. 蛋碎了一地,我把我所能想到的密码都试了一遍(注:我平常在各个门户网站注册基本上用的都是那几个字母和数字组合 ...
- H5调用百度地图API获取地理位置
<script src="http://api.map.baidu.com/api?v=2.0&ak=填入申请的AK"></script> < ...
- Objective-C设计模式——生成器Builder(对象创建)
生成器 生成器,也成为建造者模式,同样是创建对象时的设计模式.该模式下有一个Director(指挥者),客户端知道该类引用用来创建产品.还有一个Builder(建造者),建造者知道具体创建对象的细节. ...
- javascirpt中的数字在计算机内存储为多少Byte
JavaScript内部,所有数字都是以64位浮点数形式储存,即使整数也是如此 8 Byte = 64bit Javascript中,由于其变量内容不同,变量被分为基本数据类型变量和引用数据类型变量. ...
- sublime 自定义快捷键
[ { "keys": ["alt+space"], "command": "auto_complete" }, // ...
- AngularJs与Java Web服务器交互
AngularJs是Google工程师研发的产品,它的强大之处不是几句话就能描述的,只有真正使用过的人才能体会到,笔者准备在这篇文章中,以一个简单的登录校验的例子说明如何使用AngularJs和Web ...