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. (DP)51NOD 1049 最大子段和

    N个整数组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续子段和的最大值.当所给的整数均为负数时和为0.   例如:-2,11,-4,13,-5 ...

  2. MySql数据库创建表

    3.3.MySql数据库创建表 创建5个表: UserInfo用户基础表 Role 角色表 MenuInfo 菜单即控制表 Relation_Role_Menu 角色对应菜单关系表 RelaTion_ ...

  3. 设计模式学习之代理模式(Proxy)

    一.代理模式的初衷 不想让客户端直接访问具体实现接口,客户端不应该直接访问具体实现,一般会涉及到以下四个对象 业务接口:定义客户端访问的接口,是实现类和代理类都需要实现的 实现类:实现了业务接口,真正 ...

  4. [转]How can I get my webapp's base URL in ASP.NET MVC

    本文转自:http://stackoverflow.com/questions/1288046/how-can-i-get-my-webapps-base-url-in-asp-net-mvc May ...

  5. MySql数据查询中 left join 条件位置区别

    /*A 和 B 两张表都只有一个 ID 字段 比如A表的数据为 ID 1,2,3,4,5,6 B表的数据为 ID 1,2,3 判断 JOIN 查询时候条件在 ON 和 WHERE 时的区别 ON 和 ...

  6. 高性能队列disruptor为什么这么快?

    背景 Disruptor是LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级).基于Disruptor开发的系统单线程能支撑每秒600万 ...

  7. Flask Web 发送邮件单文件

    import os from flask import Flask, render_template, session, redirect, url_for from flask_script imp ...

  8. Pro ASP.NET Core MVC 第6版翻译 目录页

    Pro ASP.NET Core MVC 第6版 目录 第一部分 第一章 ASP.NET Core MVC 的前世今生 第二章 第一个MVC应用程序(上) 第二章 第一个MVC应用程序(下) 第三章 ...

  9. js正则表达式限制文本框只能输入数字,小数点,英文字母

    1.文本框只能输入数字代码(小数点也不能输入)<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafter ...

  10. GCC编译连接c++代码的四个阶段(Four stages of GCC compilation of C++ code)

    There are four stages for GCC to compile c/c++ applications: Preprocessing, Compilation proper, Asse ...