A、 5
B、 4
C、 3
D、 2
答案:B
解析:【解析】
A、 5
B、 4
C、 3
D、 2
答案:B
解析:【解析】
A. 项中%f是起作用的,程序从键盘正确的读入前两个数据并且保存在指定的地址,读入第三个数据后,将其放入缓冲区,然后寻找应该存放的地址,因为没有找到,程序会发生错误而中断,注释错误。
B. 项由于scanf只接收两个数据,所以变量x得不到赋值,注释正确。
C. 项scanf会按照float类型读取输入的第二个数据并且保存为int类型,由于两种类型的存储形式与所占内存单元均不同,b得不到正确的赋值,注释正确。
D. 项在使用scanf函数时,如果除了格式说明字符和附加格式字符外,还有其他字符,则在输入数据时要求按一一对应的位置原样输入这些字符,注释正确。答案选择A选项。
解析:【解析】
A. (a*y)%b
B. a==x<>y
C. a%(int)(x-y)
D. y=x+y=x
解析:【解析】%运算是取两整数相除后余数的运算符,它只适用于整数的运算。A项错误,(a*y)%b中的(a*y)为double型;B项错误,C语言中没有<>运算符;C项正确,x-y结果为double型,但是通过强制类型转换将其转换为int型; D项错误,x+y不能作为左值。答案选择C选项。
A. Ne1NN
B. e1a2e3
C. Ne1Nc2N
D. Na1NNNN
解析:【解析】程序执行过程:k=0时,c=str[0]='t',执行default分支,输出N;k=1时,c='e',执行case 1分支,没有break语句,继续执行case 3分支,没有break语句,继续执行case 5分支,输出e1;k=2时,c='a',输出N;k=3,c='c',输出c2;k=4,c='h',输出N。故程序的输出结果为Ne1Nc2N。答案选择C选项。
A. 集成测试、单元测试、确认测试
B. 单元测试、集成测试、确认测试
C. 确认测试、集成测试、单元测试
D. 单元测试、确认测试、集成测试
解析:【解析】软件测试的实施过程主要有4个步骤:单元测试、集成测试、确认测试(验收测试)和系统测试。答案选择B选项。
A. (z,x,y)
B. (z=x,y)
C. z=(x,y)
D. z=(x==y)
解析:【解析】逗号表达式的计算过程是从左到右逐个求每个表达式的值,取 右边结合,赋值运算符左值为变量,右值为变量或常量或表达式,且左右两边数据类型相同才能实现赋值。成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。D选项逻辑表达式x==y不成立,则z=0,表达式值为0。B选项逗号表达式x,y取y值为表达式值,然后赋值给z=12,表达式值为12。C选项逗号表达式(x,y)取y值为表达式值,然后赋值给z=12,表达式值为12。A选项逗号表达式(z,x,y)取y值为表达式值12。答案选择D选项。
A. 低耦合低内聚
B. 高耦合高内聚
C. 低耦合高内聚
D. 内聚与耦合无关
解析:【解析】软件设计中模块划分应遵循:①高内聚低耦合;②模块大小规模适当;③模块的依赖关系适当等。内聚是一个模块内各个元素彼此结合的紧密程度,要尽量使模块责任单一;耦合是不同模块之间互连程度的度量,要尽量使模块独立。答案选择C选项。
A. 全局变量的作用域是从定义位置开始至源文件结束
B. 全局变量是在函数外部任意位置上定义的变量
C. 用extern说明符可以限制全局变量的作用域
D. 全局变量的生存期贯穿于整个程序的运行期间
解析:【解析】在不同编译单位内用extern说明符来扩展全局变量的作用域,extern可以将全局变量作用域扩展到其他文件,而不是限制全局变量的作用域。答案选择C选项。
A. 操作系统的一部分
B. 在操作系统支持下的系统软件
C. 一种编译系统
D. 一种操作系统
解析:【解析】系统软件主要包括:①操作系统软件;②各种语言的解释程序和编译程序;③各种服务性程序;④各种数据库管理系统。数据库管理系统是一种系统软件,负责数据库中的数据组织、数组操纵、数据维护、控制和保护以及数据服务等。答案选择B选项。
A. y=sqrt(x); if(x<0)y=sqrt(-x);
B. if(x>=0)y=sqrt(x); else y=sqrt(-x);
C. if(x>=0)y=sqrt(x); if(x<0)y=sqrt(-x);
D. y=sqrt(x>=0?x:-x);
解析:【解析】sqrt函数是math.h文件中用来计算平方根的库函数。A项错误,当x小于零时,A项会出现运行时错误。B项使用if-else语句实现功能;C项使用两条if语句实现;D项使用三目运算符实现,结果等价于BC两项。
A. 21,18
B. 81,81
C. 21,21
D. 18,18
解析:【解析】带参数的宏的替换过程是,用宏调用提供的实参字符串直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。S(k+j+2)被置换成k+j+2*k+j+2,计算时先计算2*k,结果为21;S(j+k+2)被置换成j+k+2*j+k+2,计算时先计算2*j,结果为18。程序的运行结果是