正确答案: D
3
题目:有以下程序main(){ int n[3],i,j; for(i=0;i<3;i++) n[i]=0; for(i=0;i<2;i++) for(j=0;j<2;j++) n[j]=n[i]+1; printf( "%d\n",n[1]);}程序运行后的输出结果是
解析:初始时定义一个大小为3个一维整型数组,第一个for语句是对数组赋初值,每个值都为0。后面是一个for语句的嵌套调用,外层的循环变量i的取值为[0,2],内层循环变量的取值范围为[0,2]。最初外层的循环变量i=0,内层的循环变量j取值从0到2,计算n[j]=n[0]+1,得到n[0]=1,n[1]=1,n[2]=1。外层for语句的循环变量为1时,内层的循环变量j取值从0到2,计算n[j]=n[1]+1,得到n[0]=2,n[1]=2,n[2]=2。外层for语句的循环变量为2时,内层的循环变量j取值从0到2,计算n[j]=n[2]+1,得到n[0]=3,n[1]=3,n[2]=3。最后的输出结果为3。
查看原题 点击获取本科目所有试题
举一反三的答案和解析:
[单选题]有如下程序: #includeiostream> using namespace std; class Complex { double re, im; public: Complex(double r, double i): re(r), im(i) {} double real() const { return re; } double image() const { return im; } Complex& operator+= (Complex a) { re += a.re; im += a.im; return *this; } }; ostream& operator(ostream& s, const Complex& z) { remm s'('z.real()','z.image()')'; } int main() { Complex x(1,-2), y(2,3); cout(x+=y)endl; return 0; } 执行这个程序的输出结果是
(3,1)
解析:解析:本题考查了运算符重载的综合应用。解本题的关键是要弄明白cout(x+=y)endl;语句是怎么执行的。因为x和y都是Complex类的对象,而Complex类中已经重载了仁运算符,所以表达式x+=y就等价于x.operator+=(y)。该函数将y中的re、 im成员累加到x的对应成员之上,并返回x自身。故表达式(x+=y)返回的值是一个 Complex类对象,其内容为(3,1)。因为运算符的结合性是从左至右的,所以现在要计算的表达式是cout(x+=y),cout是C++语言中预定义的输出流类ostream的对象,所以运算符两边的分量类型正好符合上面的重载函数,故其等价于函数调用operator(cout,(x+=y))。在的重载函数中输出结果是(3,1),最后函数返回并输出一个换行符endl,程序结束。故应该选择D。
[单选题]如果UPDATE-SQL命令省略了WHERE子句,则______。
在列中的每一行都用相同的值更新
[单选题]在Visual FoxPro的数据库表中只能有一个( )。
主索引
解析:数据库表中只能有一个主索引,但可以有多个候选索引和普通索引,唯一索引是指字段的个数唯一,而不是形容索引的个数。
[单选题]在创建数据库表结构时,为该表中一些字段建立普通索引,其目的是( )。
加快数据库表的查询速度
[单选题]可以用p.a的形式访问派生类对象p的基类成员a,其中a是
公有继承的公有成员
解析:解析:只有公有继承的公有成员才能被派生类的对象直接访问,其他的情况都会因为访问权限问题产生错误。
[单选题]决定一个窗体有无控制菜单的属性是( )。
ControlBox
[单选题]布局管理器使容器中各个构件呈网格布局,平均占据容器空间。
Gridlayout
[单选题]下列命令中,哪个命令是Java的编译命令?
java c