正确答案: A

a=2,b=1

题目:有如下程序main() { int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;b++; } printf("a=%d,b=%d\n",a,b);}该程序的输出结果是

解析:C语言规定case后面跟的必须是整型常量表达式。进入case后,如果没有遇到break语句就会一直往下执行,后面其他case或default分支的语句也会被执行到,直到遇到break,或者执行到整个switch语句块的末尾。题目中给出了三个case语句:case 0、case 1、case 2。当x为1时,从case 1语句开始执行,因为没有break语句,将一直执行到函数末尾结束,即执行case 1、case 2两条语句。执行完case 1时,a=1,b=0;执行完case 2时,a=2,b=1。

查看原题

举一反三的答案和解析:

  • [单选题]有以下程序 #include iostream> using namespace std; class MyClass { public: MyClass(int n) { number=n; } // 拷贝构造函数 MyClass(MyClass& other) {number=other. number;} -MyClass() {} private: int number; }; MyClass fun(MyClass p) { MyClass temp(p); return temp; } int main() { MyClass obj1(10), obj2(0); MyClass obj3(obj 1); obj2=fun(obj3); return 0; } 程序执行时,MyClass 类的拷贝构造函数被调用的次数是______ 次。
  • 4

  • 解析:解析:对象初始化和复制时,都要拷贝构造函数。所以程序执行一共调用了4次构造函数

  • [单选题]下列能够交换变量X和Y值的程序段是( )。
  • Z=X:X=Y:Y=Z

  • 解析:本题以Z为中间变量,交换X、Y的值。

  • 推荐下载科目: 计算机二级 计算机三级 计算机四级 思科认证 Linux认证 华为认证 软考高级 计算机操作员初级 计算机操作员中级 LTE认证
    @2019-2026 不凡考网 www.zhukaozhuanjia.com 蜀ICP备20012290号-2