单项选择(2016年秋程序员软考)

编写C程序时通常为了提高可读性而加入注释,注释并不参与程序的运行过程。通常,编译程序在【 】阶段就会删除源程序中的注释。

A、词法分析

B、语法分析

C、语义分析

D、代码优化

答案解析

A

【解析】

编译程序的工作过程可以分为词法分析、语法分析、语义分析、中间代码生成、代码优化、代码生成这6个阶段。一般情况下,注释本身并不为编译程序提供关于程序结构和语义的任何信息,编译程序在词法分析阶段就会删除源程序中的注释。

讨论

函数 main()、test()的定义如下所示。调用函数test时,第一个参数采用传值方式,第二个参数采用传引用方式,man()函数中“ printi(x,y)”执行后,输出结果为【 】。main(){ int x=1,y=5; test(x,y); print(x,y);}test (int x,int &a){ a=x+a*2; x=x+1; return;}

函数调用时若实参是数组名,则是将【 】传递给对应的形参。

目标程序经过【 】后形成在计算机上运行的可执行程序。

一个应用软件的各个功能模块可采用不同的编程语言来编写,分别编译并产生【 】。

设N和B都是(无符号)整形变量,下面C代码段的功能是计算变量B的二进制表示中【 】。N=0;while(B){ B=B&(B-1);//“&”是按位“与”运算 N++;}

函数f()、g()的定义如下所示,已知调用f时传递给其形参x的值是10。若以引用方式调用g,则函数f()的返回值为【 】。f(int x):int y=0;y=g(x);return x+y;g(int x):x=x+5;return x;

函数f()、g()的定义如下所示,已知调用f时传递给其形参x的值是10。若在f中以传值方式调用g,则函数f()的返回值为【 】;f(int x):int y=0;y=g(x);return x+y;g(int x):x=x+5;return x;

编译过程中使用【 】来记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成。

程序语言提供的传值调用机制是将【 】。

程序中的错误一般可分为语法错误和语义错误两类,其中,语义错误可分为静态语义错误和动态语义错误。【 】属于动态语义错误。

阅读程序,选择一个最准确的答案。int MyFunc(int* a, int n, int x){ if(n<1)return FALSE; else if(n==1){ if(x==a[0])return n-1; else return FALSE; }else{ int m=n/2; if(x<a[m]return MyFunc(&a[0],m,x); else if(x==a[ m])return m; else return MyFunc(&a[m+1], n-m-1,x); }}以上程序采用的是【 】

栈和队的插入、删除操作服从哪组规律?【 】

算法的特征和要素是什么?

什么叫阿尔法测试与贝塔测试?

介绍一个你所编制的你认为最有意义的程序(包括目的、算法、所解决的实际问题)。

阅读以下说明和流程图,填补流程图中的空缺(1)~(5)。本流程图旨在统计一本电子书中各个关键词出现的次数。假设已经对该书从头到尾依次分离出各个关键词{A(i)|i=1,…,n}(n>1),其中包含了很多重复项,经下面的流程处理后,从中挑选出所有不同的关键词共m个{K(j)|j=1,…,m},而每个关键词K(出现的次数为NK(j)。

C语言命令行参数很有特点,其一般表达形式是【 】

第一个主要采用C语言编写的操作系统是【 】

打印魔方阵,所谓魔方阵是这样的方阵,它的每一列,每一行和对角线之和均相等。例如:三阶魔方阵为8 1 63 5 74 9 2写一程序能打印出由1到n2(n≤15)的自然数构成的魔方阵。

有n个整数,使前面各数顺序后移m们位置,最后m个数变成最前面m个数。写一函数实现以上功能,在主函数中输入n个整数和输出调整后的n个整数。(要求使用指针方法处理)