C++程序设计基础(第4版)习题解答.docx

上传人:bao****ty 文档编号:159632075 上传时间:2021-01-07 格式:DOCX 页数:139 大小:316.04KB
返回 下载 相关 举报
C++程序设计基础(第4版)习题解答.docx_第1页
第1页 / 共139页
C++程序设计基础(第4版)习题解答.docx_第2页
第2页 / 共139页
C++程序设计基础(第4版)习题解答.docx_第3页
第3页 / 共139页
C++程序设计基础(第4版)习题解答.docx_第4页
第4页 / 共139页
C++程序设计基础(第4版)习题解答.docx_第5页
第5页 / 共139页
点击查看更多>>
资源描述

《C++程序设计基础(第4版)习题解答.docx》由会员分享,可在线阅读,更多相关《C++程序设计基础(第4版)习题解答.docx(139页珍藏版)》请在金锄头文库上搜索。

1、C+程序设计基础(第4版)(上)习题与解答第1章 基本数据与表达式1.1 选择题1一个最简单的C+程序,可以只有一个( C )。(A)库函数(B)自定义函数(C)main函数(D)空函数2用C+语言编写的源程序要成为目标程序必须要经过( D )。(A)解释(B)汇编(C)编辑(D)编译3C+程序中的简单语句必须以( B )结束。(A)冒号(B)分号(C)空格(D)花括号4假设有说明 int a=0; double x=5.16;,则在以下语句中,( C )属于编译错误。(A)x=a/x;(B)x=x/a;(C)a=a%x;(D)x=x*a;5执行C+程序时出现的“溢出”错误属于( C )错误。

2、(A)编译 (B)连接 (C)运行 (D)逻辑6在下列选项中,全部都是C+关键字的选项为( C )。(A)while IF Static(B)break char go(C)sizeof case extern(D)switch float integer7按C+标识符的语法规定,合法的标识符是( A )。(A)_abc(B)new(C)(D)age8在C+语句中,两个标识符之间( A )不能作为C+的分隔符。(A)数字(B);(C):(D)+9下列正确的八进制整型常量表示是( B )。(A)0a0(B)015(C)080(D)0x1010下列错误的十六进制整型常量表示是( C )。(A)0x

3、11(B)0xaf(C)0xg(D)0x1f11在下列选项中,全部都合法的浮点型数据的选项为( B )。(A)-1e3.5 15. 2e-4(B)12.34 -1e+5 0.1E-12(C)0.2e-2 -12345. e-5(D)5.0e(1+4) 0.1 8e+212在下列选项中,正确的字符常量为( D )。(A)a(B)name(C)a(D)10113在下列选项中,( D )不能交换变量a和b的值。(A)t=b; b=a; a=t;(B)a=a+b; b=a-b; a=ab;(C)t=a; a=b; b=t;(D)a=b; b=a; 14关于下列语句,叙述错误的是( A )。int i=

4、10, *p=&i;(A)p的值为10(B)p指向整型变量i(C)*p表示变量i的值(D)p的值是变量i的地址15有以下变量说明,下面不正确的赋值语句是( B )。int a=5, b=10, c; int *p1 = &a, *p2 = &b; (A)*p2 = b;(B)p1 = a;(C)p2 = p1;(D)c = *p1 *(*p2);16有以下变量说明,下面正确的语句是( B )。 int a=10, b; int &pa=a, &pb=b; (A)&pb = a;(B)pb = pa;(C)pb = &pa;(D)*pb = *pa;17执行下面语句序列后,a和b的值分别为( B

5、 )。int a=5, b=3, t;int &ra=a;int &rb=b;t=ra; ra=rb; rb=t;(A)3和3(B)3和5(C)5和3(D)5和518在下列运算符中,( D )优先级最高。(A)=(B)*=(C)+(D)*19在下列运算符中,( D )优先级最低。(A)! (B)&(C)!=(D)? :20已知int i=1, j=2;,则表达式 i+j 的值为( C )。(A)1(B)2(C)3(D)421已知int i=1, j=2;,则表达式 +i+j 的值为( D )。(A)1(B)2(C)3(D)422在下列表达式选项中,( C )是正确。(A)+(a+)(B)a+b

6、(C)a+b(D)a+b23已知 int i=0, j=1, k=2;,则逻辑表达式 +i|-j&+k 的值为( B )。(A)0(B)1(C)2(D)324执行下列语句后,x的值是( D ),y的值是( )。int x, y;x=y=1; +x | +y;(A)不确定(B)0(C)1(D)225设x为整型变量,不能正确表达数学关系 1x5 的C+逻辑表达式是( A )。(A)1 x 5(B)x=2|x=3|x=4(C)1x & x5(D)! (x=5)26已知 int x=5;,执行下列语句后,x的值为( C )。x+=x-=x*x; (A)25(B)40(C)40(D)2027设 int

7、a=1, b=2, c=3, d=4;,则以下条件表达式的值为( A )。ab?a:cd?c:d(A)1(B)2(C)3(D)428以下逗号表达式的值为( D )。(x=4*5, x*5), x+25 (A)25(B)20(C)100(D)451.2 根据下列数学表达式写出C+算术表达式1 2xxx(ax+b)+c+d+e3ln 45cot 6lg(a2+ab+b2) 【解答】1. 1/(1 + 1/(1 + 1/(x + y)2. x * ( x * ( x * ( a * x + b ) + c ) + d ) + e3. log( 1 + pow( fabs( ( a + b )/( a

8、 b ) ),10)4. sqrt( 1 + 3.14159/2 * cos( 48 * 3.14159/180 ) )5. 1/tan( ( 1 - x*x )/( 1 + x*x)或者 cos( ( 1 - x*x )/( 1 + x*x ) )/sin( ( 1 - x*x )/( 1 + x*x ) )6. log10( a * a + a * b + b * b )1.3 用逻辑表达式表示下列条件1i 被j整除2n是小于正整数k的偶数31x104x、y其中有一个小于z5y100,10,并且 y10,1006坐标点(x, y)落在以(10, 20)为圆心,以35为半径的圆内7三条边a,

9、b和c构成三角形8年份Year能被4整除,但不能被100整除,或者能被400整除【解答】1. i%j = 02.(nk)&(n%2 = 0)3. 1=x & x10 4. xz|y=-100 & y=10 & y=100 )6. sqrt(pow(x-10),2) + pow(y-20),2)c & b+ca & c+ab8. (year%4 = 0) & (year%100!=0)|(year%400=0)1.4 阅读下列程序,写出运行结果1#include using namespace std;int main() int a = 1, b = 2; bool x, y; cout (a

10、+)+(+b) endl; cout a % b b; y = a- & b; cout x endl; cout y endl;【解答】42012#include using namespace std;int main() int x,y,z,f; x = y = z = 1; f = -x | y- & z+; cout x = x endl; cout y = y endl; cout z = z endl; cout f = f endl;【解答】 x=0 y=0 z=2 f=13#include #includeusing namespace std;int main() int

11、a=123; int &ra=a; int *pa=&a; coutsetw(5)decasetw(5)octrasetw(5)hex*paendl;【解答】 123 173 7b1.5 思考题1什么是数据类型?变量的类型定义有什么作用?【解答】数据“类型”是对数据的抽象。类型相同的数据有相同的表示形式、存储格式以及相关的操作。定义一个变量时,计算机根据变量的类型分配存储空间,并以该类型解释存放的数据。2普通数据类型变量和指针类型变量的定义、存储和使用方式有何区别?请编写一个程序验证之。【解答】变量类型定义存储使用方式数据类型 标识符数据值通过名访问即直接访问对变量内容操作指针类型 * 标识符

12、地址值通过指针变量的地址值间址访问对象验证程序:#includeusing namespace std;int main() int a,b,c; coutabc;/对普通数据类型变量赋值 int *pa=&a,*pb=&b,*pc=&c;/用变量地址值初始化指针变量 couta,b,c= a, b, cendl;/名访问,输出a,b,c的值 coutpa,pb,pc= pa, pb, pcendl; /输出指针变量的地址值 /间址访问,输出pa,pb,pc指向的变量的赋值 cout*pa,*pb,*pc= *pa, *pb, *pcendl; 3什么是数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。【解答】引用是为数据对象定义别名。引用与指针有以下几点区别:(1)引用名不是内存变量,而指针变量要开辟内存空间。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号