{练习题}顺序程序设计

一、单选题
1.以下不符合C++语言语法的赋值语句是(A)。
A. a=1,b=2
B. ++j;
C. a=b=5;
D. y=(a=3,65);
2.结构化程序设计的三种基本结构是(C)。
A. 输入、处理、输出
B. 树形、网形、环形
C. 顺序、选择、循环
D. 主程序、子程序、函数
3. 语句cout << “a\bre’hi’y\\bou\n”; 的输出结果是(C)。说明:’\b’是退格符
A. a\bre’hi’y\\bou
B. a\bre’hi’y\bou
C. re’hi’you
D. abre’hi’y\bou
4. 在宏定义#define A 3.897678中,宏名A代替一个(D)。
A. 单精度数
B. 双精度数
C. 常量
D. 字符串
5. 以下叙述中正确的是(D)。
A. 预处理命令行必须位于源文件的开头
B. 在源文件的一行上可以有多条预处理命令
C. 宏名必须用大写字母表示
D. 宏替换不占用程序的运行时间
6. C++语言的编译系统对宏命令的处理是(D)。
A. 在程序运行时进行的
B. 在程序连接时进行的
C. 和C程序中的其它语句同时进行的
D. 在对源程序中其它语句正式编译之前进行的
7.在文件包含命令中,被包含文件名用“<>”括起时,寻找被包含文件的方式是(A)。
A. 直接按系统设定的标准方式搜索目录
B. 先在源程序所在目录搜索,再按系统设定的标准方式搜索
C. 仅仅在源程序所在目录搜
D. 仅仅搜索当前目录
8.以下说法中正确的是(D)。
A. #define和sin都是C++语句
B.#define是C++语句,而sin不是
C. sin是C++语句,但#define不是
D. #define和sin都不是C++语句
9. 阅读下面程序:
#include< iostream>
using namespace std;
#define A 3.897678
int main( )
{
cout <<“A=” << A <<endl;
return 0;
}
程序运行结果为(C)。
A. 3.897678=3.897678
B. 3.897678=A
C. A=3.897678
D. 无结果
10. 有宏定义:
#define LI(a,b) a
b
#define LJ(a,b) (a)(b)
在后面的程序中有宏引用:
x=LI(3+2,5+8);
y=LJ(3+2,5+8);
则x、y的值是(B)。
A. x=65,y=65
B. x=21,y=65
C. x=65,y=21
D.x=21,y=21
11.有以下程序:
#define f(x) (x
x)
int main()
{
int i1, i2;
i1=f(8)/f(4);
i2=f(4+4)/f(2+2);
cout <<i1<<","<<i2<<endl;
}
程序运行后的输出结果是(C)。
A. 64, 28
B. 4, 4
C. 4, 3
D. 64, 64
12.以下程序的输出结果是(D)。
#define M(x,y,z) xy+z
int main()
{
int a=1,b=2, c=3;
cout << M(a+b,b+c, c+a)<<endl;
return 0;
}
A. 19
B. 17
C. 15
D. 12
13. 有以下程序:
#define N 5
#define M1 N
3
#define M2 N2
void main()
{
int i;
i=M1+M2;
cout << i << endl;
}
程序运行后输出结果是(C)。
A. 10
B. 20
C. 25
D. 30
14. 以下有关宏的不正确叙述是(C)。
A. 宏名无类型
B. 宏替换只是字符替换
C. 宏名必须用大写字母表示
D. 宏替换不占用时间运行
15. 以下正确的叙述是(C)。
A. 在程序的一行中可以出现多个有效的预处理命令行
B. 使用带参宏时,参数的类型应与宏定义时的一致
C. 宏替换不占用运行时间,只占编译时间
D. 宏定义不能出现在函数内部
16. 下列程序运行结果为(B)。
#define P 3
#define S(a) P
aa
int main()
{
int ar;
ar=S(3+5);
cout << ar << endl;
return 0;
}
A. 192
B. 29
C. 27
D. 25
17. C++语言中,宏定义有效范围从定义处开始,到源文件结束处结束,但可以用(D)来提前解除宏定义的作用。
A. #ifndef
B. endif
C. #undefine
D. #undef
18. 以下叙述中正确的是(C)。
A.在程序的一行上可以出现多个有效的预处理命令
B.使用带参的宏时,参数的类型应与宏定义时的一
C. 宏替换不占用运行时间,只占编译时间
D. 在以下定义中CR是称为“宏名”的标识符 #define CR 045
19.以下叙述中不正确的是(C)。
A. 预处理命令行都必须以#号开头
B. 在程序中凡是以#号开始的语句行都是预处理命令行
C. C++程序在执行过程中对预处理命令行进行处理
D. 以下是正确的宏定义 #define IBM_PC
二. 填空题
20. 语句:x++; ++x; x=x+1; x=1+x;执行后都使变量x中的值增1,请写出一条同一功能的赋值语句___x+=1___。
21.写出语句b=a=6,a
3;执行后整型变量b的值是__ 6____。
22.写出语句b=(a=6,a3); 执行后整型变量b的值是__18____。
23.已知 i=5,写出语句 a=(i>5)?0:1.6; 执行后整型变量 a 的值是_1_____。
24.C++语言的三种基本结构是___顺序___结构、选择结构、循环结构。
25.C++提供的预处理功能主要有__文件包含____、宏定义编译预处理____等三种。
26. C++规定预处理命令必须以
_ #开头。
27.在预编译时将宏名替换成___字符串____的过程称为宏展开。
28. 预处理命令不是C++语句,不必在行末加
分号

29. 定义宏的关键字是___define____。
30. 设有宏定义:#define MYSWAP(z,x,y) {z=x;x=y;y=z;}
以下程序段通过宏调用实现变量a、b内容交换,请填空。
float a=5,b=16,c; MYSWAP(c___,a,b);
31. 下面程序的输出结果是____5___。
#define CIR® r
r
int main()
{ int a=1, b=2, t;
t=CIR(a+b);
cout << t << endl;
return 0;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

C0ntr01

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

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

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

打赏作者

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

抵扣说明:

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

余额充值