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


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

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

    1.11.5    B D A C B                1.61.10    C A D B C

    1.111.15  A D D C B                1.161.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、 结果完全正确或部分正确的情况下,考查编程规范符合情况,加05

    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] = '';

        return result;

    }

  • 相关阅读:
    Grid如何固定列宽?
    ORACLE 去除重复记录
    Ajax学习之“一头雾水”
    对对碰方块交换及消去效果实现
    存储过程学习(二)
    asp.net 页面重用问题
    一个图表控件
    存储过程学习(一)
    ScriptManager.RegisterClientScriptBlock的疑问
    用indy做发贴机
  • 原文地址:https://www.cnblogs.com/lexuele/p/4691244.html
Copyright © 2020-2023  润新知