几道c++基础练习题,需要详细的分析,谢谢

设 int a = 12,执行完语句a += a -= a * a 后,a 的值是( )。
A.552 B.264 C.144 D.-264
要求以下程序的功能是计算:s = 1 + 1/2 + 1/3 + … +
1/10
void main( )
{ float s = 1.0;
for (int n = 10; n > 1; n -- )
s = s + 1/n;
cout << s << endl;
}
运行后输出结果错误,导致错误的程序行是( )。
float s = 1.0; B.for(n = 10; n > 1; n -- )
C.s = s + 1/n; D.cout << s << endl;

在下列叙述中正确的是( )。
A.在C++程序中无论是整数还是实数,只要在允许范围
内都能准确无误的表示。
B.若在定义语句double a, b; 之后,因为变量a, b 都已经
正确定义,因此立刻执行这样的表达式:a = b + 9.381
是正确的。
C.在C++程序中,变量、常量、函数调用,都是表达式中的一种。
D.在main 函数中,变量一经定义,系统将自动赋予初始值。
若有以下程序段,其输出结果正确的是( )。
int a (0), b (0), c (0);
c = (a -= a - 3), (a = b, b + 3);
cout << a << ',' << b << ',' << c;
A.3, 0, -10 B.0, 0, 3 C.-10, 3, -10 D.3, 0, 3
以下 4 个选项中,不是一条语句的是( )。
A.{;} B.a = 0, b = 0, c = 0;
C.if ( a > 0 ); D.if ( b = = 0 ) m = 1; n = 2;
以下程序输出结果为( )。
void main ( )
{
int a(20), b(30), c(40);
a = b, b = c, c = a;
cout << a << ", " << b << ", " << c;}
A.20, 30, 20 B.20, 40, 20
C.30, 40, 20 D.30, 40, 30

D,C,B,B,B,D,D
第一题:a += a -= a * a ; ==》 a += (a -= (a * a));结果为:-264 (编译执行结果一致)。
第二题:s = s + 1/n;由于n为int类型,1/n为取模运算 n只要大于1 ,1/n始终为零。
第三题:只要定义了变量,如果变量没有初始化,那么编译器在编译的时候变量会赋一个不确定的值。不确定值位的长度和变量的类型相同,故执行相加表达式正确。
第四题:弄清楚(a,c)的运算规则就ok了,(编译后执行结果一致)。
第五题:if ( b = = 0 ) m = 1; n = 2;c/c++语言规定一个语句的结束符为分号“;”和“}”,这句有两个分号故是两条语句。
第六题:这个题得明白变量赋值和指针赋值的区别,a=b=10和*p=a=10是不相同的,*p=a=10,p指针内存的值其实是a变量在内存中的地址,而第一个a=b=10,a地址内存的内容就是a的值,也就是10。
a = b, b = c, c = a;顺序执行结果为:
a=b ,// (a=30,b=30,c = 40);
b = c, //(a=30,b=40,c = 40);
c = a;//(a=30,b=40,c = 30);(编译后执行结果一致)
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-11-09
答案: D C B B D A
1、“=”运算符是从右到左的运算符,所以式子a += a -= a * a,先运算a -= a * a,得到a=-132,然后运算式子 a += a ,得到a=-264
2、式子“s = s + 1/n”出错,应你对n 定义是整形,1/n后得到的也是整形,也就是发生截取(取整),所以出错,应改为s = s + 1.0/n”就对了
3、数据定义了就能计算,不过由于没有给a,b 赋值,所以得到的值是一个随机值
4、程序中关键的是“c = (a -= a - 3), (a = b, b + 3);”,先运算式子“c = (a -= a - 3)”,得到a=3,c=3,然后运算式子“(a = b, b + 3)”,得到a=0,b=0;
5、只有第四个是2个句子,1个分号代表一个句子
6、式子“a = b, b = c, c = a;”先运算a = b,得a =20,再运算 b = c,得 b = 30,在运算c = a,得c = 20
第2个回答  2010-11-09
1.C
2.C
3.A
4.这个不会
5.D
6.C
第3个回答  2010-11-07
A、B、A、D、B、B
第4个回答  2010-11-08
C B A D B B
第5个回答  2010-11-10
3.C

几道c++基础练习题,需要详细的分析,谢谢
第一题:a += a -= a * a ; ==》 a += (a -= (a * a));结果为:-264 (编译执行结果一致)。第二题:s = s + 1\/n;由于n为int类型,1\/n为取模运算 n只要大于1 ,1\/n始终为零。第三题:只要定义了变量,如果变量没有初始化,那么编译器在编译的时候变量会赋一...

谁可以帮我做一下这个C++C语言的作业
一、 基础题(15%)1.定义int n=5,a=12;写出a*=(n%=3);执行后变量n与a的值。【答案】n%=3 取余结果n=2 执行后:n=2;a=24 2.设a=b=5;分别判断表达式的真假:6>a>2与++b==6。【答案】6>a>2 6>5>2,故为真;++b操作是将b值加1,同时整个表达式的值为结果值,所以+...

跪求C++练习题 谢谢!!!
一、选择题 1、C++对C语言作了很多改进,下列描述中( D )使得C语言发生了质变,从面向过程变成了面向对象。A、增加了一些新的运算符;B、允许函数重载,并允许设置缺省参数;C、规定函数说明必须用原型;D、引进了类和对象的概念;2、下列描述中,( )是错误的。A、内联函数主要解决程序的运...

C++问题,需要详细解答过程,详细!!!
问题一:a=10,b=0 分析:b%=b++||++a可以看成b%=((b++)||(++a)),由于b++为非零,所以表达式=((b++)||(++a))肯定为真,即1,所以程序就不判断++a了,因此a仍然为10,b%=1当然为0了。问题二:d=1 分析:char最大为127,unsigned char最大为255,所以256显然溢出了,所以ch...

几个C++选择题,求分析
1.A 函数调用可以发生在任意函数之间,之所以调用函数,是因为我需要用它,譬如递归调用,这就是函数调用本身,所以B D正确,A错误,C是正确的,void可以标志返回为空。2.B p是指针,它里面必须存地址,而str代表字符串首地址,故p=str正确,str相当于&str[0];3.A 析构函数为用于释放对象分配...

c++ 的题目 急
第三个分析:(3)a%=(n%=2) a=12,n=5,n%2为1,a%1为0,结果为0;第四个分析:(4)aIIb+4&&a*b a=5,b=3;这是逻辑运算,a非零,所以aIIb为真,即就是1,a*b为15,15&&和4都非零为真,即就是1,1+1等于2,这就是结果。很荣幸为您解答难题,祝您开心,生活愉快~~~...

C++编程题:帮我理解一下这个代码
首先分析一下这个题目,题目分析清楚了,代码也就清楚了。我们假设摆2*N块砖有dig[n]中方法,根据下面的分析,我们可以dig[n]递归到dig[n-1]和dig[n-2]上,dig[n]可以分解为上图的三种摆法:1. 最后选一块2*1的砖,竖着放: 前面2*(N-1)块砖,一共有dig[n-1]种摆法 2. 最后选一...

C++编程序题:(一)定义一个圆类XY,计算圆的面积和周长(). 要求:1.该...
【题意分析】本题是最基础的C++类使用习题,主要就是练习类的定义,私有成员,外部成员,成员变量,成员函数的使用等。下面这段代码每行都有注释,除了实现题中的功能,还有一些基础的示例对理解C++的类很有帮助,具体代码如下: 【程序代码】#include <iostream> \/\/控制台操作头文件 class XY \/\/定义...

C和C++经典笔试题附答案解析
读者可以自行分析其结果。从中可看出,调用静态成员函数使用如下格式: <类名>::<静态成员函数名>(<参数表>); 17.判断选择 1. C++语言没有可移植性。 B不正确 2. 定义数组时可以不确定元素个数。 B不正确 3. 指针是一种特殊的变量,只能用来保存地址。 A正确 4. 通过引用或者指针调用对象的成员函数时,如果...

这道c++该怎么分析?
定义一个结构体数组。sa[4] 分别赋值。 sa[1] = {4,16} sa[2] = {6,36};指针p指向sa的第3个元素;也就是 6 。36 x = p->y \/ sa[1].x * ++p.x ? 没看错这句是 这样吧?++p.x p.x == 7;x = 36 \/ 4 * 7; == 63;答案: 63 与 7 ...

相似回答
大家正在搜