{练习题}选择程序设计

一. 单选题
1、C++语言对嵌套if语句的规定是:else总是与( D )。
A. 其之前最近的if配对
B. 第一个if配对
C. 缩进位置相同的if配对
D. 其之前最近的且尚未配对的if配对
2. 以下程序片段( D )。
int main ( )
{
int x=0,y=0,z=0;
if (x=y+z) cout <<”***”;
else cout <<”###”;
return 0;
}
A. 有语法错误,不能通过编译
B. 输出:***
C. 可以编译,但不能通过连接,所以不能运行
D. 输出:###
3.以下程序输出结果是( B )。
int main ( )
{
int x=1,y=0,a=0,b=0;
switch(x) {
case 1:
switch (y)
{
case 0 : a++ ; break ;
case 1 : b++ ; break ;
}
case 2:a++; b++; break;
case 3:a++; b++;
}
cout <<”a=" << a << " b=" << b << endl;
return 0;
}
A. a=1,b=0
B. a=2,b=1
C. a=1,b=1
D. a=2,b=2
4.在下面的条件语句中(其中S1和S2表示C语言语句),只有一个在功能上与其他三个语句不等价( D )。
A. if (a) S1; else S2;
B. if (a= =0) S2; else S1;
C. if (a!=0) S1; else S2;
D. if (a= =0) S1; else S2;
5.下面程序片段的功能是将两个整数a和b中的大数存入a中,小数存入b中,错误的是( C )。
A.if (a<b)
{ temp=a; a=b; b=temp; }
cout << “a=” << a << " b=" << b << endl;
B. if (a<b) temp=a, a=b, b=temp;
cout << “a=” << a << " b=" << b << endl;
C. if (a<b) temp=a; a=b; b=temp;
cout << “a=” << a << " b=" << b << endl;
D. if (a<b) { temp=a, a=b, b=temp; }
cout << “a=” << a << " b=" << b << endl;
6.在C++语言中,if语句后的一对原括号中,用以决定分支的流程的表达式( D )。
A. 只能用逻辑表达式
B. 只能用关系表达式
C. 只能用逻辑表达式或关系表达式
D. 可用任意表达式
7.以下程序输出结果是( A )。
int main( )
{
int x=1,a=0,b=0;
switch (x)
{
case 0: b++;
case 1: a++;
case 2: a++;b++;
}
cout << “a=” << a << " b=" << b << endl;
return 0;
}

A. 2,1
B. 1,1
C. 1,0
D. 2,2
8.C++语言的switch语句中case后( B )。
A. 只能为常量
B. 只能为常量或常量表达式
C. 可为常量或表达式或有确定值的变量及表达式
D. 可为任何量或表达式
9.执行下列程序段后的输出结果为( B )。
int i=15;
switch(i/10)
{
case 2:cout << “A”;
case 1:cout << “B”;
case 0:cout << “C”;
}
A. ABC
B. BC
C. B
D. A
10.若有int i, j=0; 则执行完语句if (j=0)ⅰ+ +; else ⅰ- -; i的值为( A )。
A. 不确定
B. 1
C. 0
D. -1
11.以下不正确的if语句形式是( C )。
A. if(x>y&&x!=y) ;
B. if(x= =y) x+=y;
C. if(x!=y) cin >> x else cin >> y;
D. if(x<y) {x++;y++;}
12.执行下列程序段后,m的值是( D )。
int w=2,x=3,y=4,z=5,m;
m=(w<x)?w:x;
m=(m<y)?m:y;
m=(m<z)?m:z;
A. 4
B. 3
C. 5
D. 2
13.若int x=0,y=0; 不正确的if语句是( D )。
A. if (x=0) ; else y++;
B. if (x) y++;
C. if (x==0) ;else y++;
D. if x!=0 y++;
二. 填空题
14.以下程序输出x、y、z三个数中的最小值,请填空使程序完整。
#include < iostream>
using namespace std;
int main ( )
{
int x=4,y=5,z=8 ;
int u,v;
u = x<y ? __________;
v = u<z ? __________;
cout << y <<endl;
return 0;
}
正确答案: x:y u:z
15.当a=3,b=2,c=1;时,执行以下程序段后 c= __________。
if(a>b)a= b;
if(b>c) b=c;
else c=b;c=a;
正确答案:2
16.当a=1,b=2,c=3时, 执行以下程序段后c= __________。
if (a>c) b=a;a=c;c=b;
正确答案:2
17.当a=1,b=2,c=3时, 执行以下程序段后c=___________。
if (a>c) ;b=a;a=c;c=b;
正确答案:1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C0ntr01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值