1、以下程序的运行结果是()
int main(void)
{
printf("%s , %5.3s\n","computer","computer");
return 0;
}
A、computer , puter B、computer , com
C、computer , computer D、computer , compu.ter
2、若输入B,则以下程序运行后的输出结果是()
int main(void)
{
char grade;
scanf("%c",&grade);
switch(grade)
{
case 'A':
printf(">=85");
case 'B':
case 'C':
printf(">=60");
case 'D':
printf("<60");
default:
printf("error.");
}
}
A、error.
B、>=60
C、>=85
D、>=60<60error.
3、以下程序的运行结果是()(主要考察运算符的优先级)
int main(void)
{
int x , y , z;
x = 0 , y = 1 , z = 3;
x = ++y <= x || x+y != z;
printf("%d,%d\n",x , y);
return 0;
}
A、1 ,2 B、1 , 1 C、0,2 D、0,1 答案A
4、以下语句的输出结果是()(主要考察逗号表达式)
int main(void)
{
int x = 10 , y = 3 , z;
printf("%d\n",z = (x%y , x/y));
return 0;
}
A、4 B、0 C、3 D、1 答案 C
逗号表达式的一般形式:
表达式1,表达式2,表达式3......表达式n
它的值为表达式n的值。
括号表达式要求按顺序逐一计算各个子表达式,并以最后一个子表达式的值作为括号表达式的结果,最后将该结果赋给变量。
printf("%d %d %d",(a,b,c),b,c);
则(a,b,c)是一个逗号表达式,它的值等于c的值。括号内的逗号不是参数间的分隔符而是逗号运算符。括号中的内容是一个整体,作为printf函数的第一个参数
5、下面的程序段的输出结果是()
[cpp] view plaincopy
void main()
{
char *x = "abcd";
x += 2;
cout<<x;
}
A、指针变量x的地址
B、字符c的地址
C、c
D、cd
6、、以下程序段的输出结果是()
#include<iostream>
using namespace std;
class A
{
public:
A(int i )
{
cout<<"A ";
}
~A() { }
};
class B
{
public:
B(int j )
{
cout<<"B ";
}
~B() { }
};
class C
{
public:
C(int k )
{
cout<<"C ";
}
~C() { cout<<"~C "; }
};
class D : public C
{
public:
D(int i , int j , int k ) : a(i) , b(j) , C(k)
{
cout<<"D ";
}
~D() { cout<<"~D "; }
private:
B b;
A a;
};
int main()
{
C *pc = new D(1 , 2 , 3);
delete pc;
return 0;
}
A、A B C D ~D
B、A B C D ~C
C、C B A D ~D
D、C B A D ~C