高级语言程序设计习题答案(免费)
- 格式:doc
- 大小:482.50 KB
- 文档页数:71
第1章基本数据与表达式1.1选择题1.在一个C++程序中,main函数的位置( c )。
(a) 必须在程序的开头(b) 必须在程序的后面( c ) 可以在程序的任何地方(d) 必须在其它函数中间2.用C++语言编制的源程序要变为目标程序必须要经过( d )。
(a) 解释(b) 汇编(c) 编辑(d) 编译3.C++程序基本单位是( c )。
(a) 数据(b) 字符(c) 函数(d) 语句4. C++程序中的语句必须以( b )结束。
(a) 冒号(b) 分号(c) 空格(d)花括号5. 执行C++程序时出现的“溢出”错误属于( c )错误。
(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 ,c )。
(a) _abc (b) new (c) int1 (d) “age”8.下列选项中,( a )不是分隔符。
(a) ?(b) ;(c) :(d) ()9.下列正确的八进制整型常量表示是( b )。
(a) 0a0 (b) 015 (c) 080 (d) 0x1010.下列正确的十六进制整型常量表示是(a,b,d )。
(a) 0x11 (b) 0xaf (c) 0xg (d) 0x1f11.在下列选项中,全部都合法的浮点型数据的选项为(a,b,d ),全部都不合法的浮点型数据选项是( c )。
(a) -1e3 ,15. ,2e-4 (b) 12.34 ,-1e+5 ,0.0(c) 0.2e-2.5 ,e-5 (d) 5.0e-4 ,0.1 ,8.e+212.下列正确的字符常量为(b,d )。
(a) " a " (b) '\0' (c) a (d) '\101'13.下列选项中,(a,b,c )能交换变量a和b的值。
(a) t=b ;b=a ;a=t;(b) a=a+b ;b=a-b ;a=a-b;(c) t=a ;a=b ;b=t;(d) a=b ;b=a ;14.执行语句int i = 10,*p = &i;后,下面描述错误的是( a )。
1(a) p的值为10 (b) p指向整型变量i(c) *p表示变量i的值(d) p的值是变量i的地址15.执行语句int a = 5,b = 10,c;int *p1 = &a, *p2 = &b;后,下面不正确的赋值语句是( b )。
(a) *p2 = b;(b) p1 = a;(c) p2 = p1;(d) c = *p1 *(*p2);16.执行语句int a = 10,b;int &pa = a,&pb = b;后,下列正确的语句是( b )。
(a) &pb = a;(b) pb = pa;(c) &pb = &pa;(d) *pb = *pa;17.执行下面语句后,a和b的值分别为( b )。
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.设i=1,j=2,则表达式i+++j的值为( c )。
(a) 1 (b)2 (c)3 (d)421.设i=1,j=2,则表达式++i+j的值为( d )。
(a)1 (b)2 (c)3 (d)422.在下列表达式选项中,( c )是正确。
(a)++(a++)(b)a++b (c)a+++b (d)a++++b23.已知i=0,j=1,k=2,则逻辑表达式++i||--j&&++k的值为( b )。
(a) 0 (b)1 (c)2 (d)324. 执行下列语句后,x的值是( d ),y的值是( c )。
int x , y ;x = y = 1; ++ x || ++ y ;(a) 不确定(b) 0 (c) 1 (d) 225.设X为整型变量,能正确表达数学关系1< X < 5的C++逻辑表达式是( b, c, d )。
(a) 1<X<5 (b) X==2||X==3||X==4(c) 1<X&&X<5 (d) !(X<=1)&&!(X>=5)26. 已知x=5,则执行语句x += x -= x*x ;23后,x 的值为( c )。
(a)25 (b )40 (c )-40 (d )20第7章 27. 设a=1,b=2,c=3,d=4,则条件表达式a<b ?a :c<d ?c :d 的值为( a )。
(a) 1 (b )2 (c )3 (d )428. 逗号表达式“(x=4*5,x*5),x+25的值为( d )。
(a) 25 (b )20 (c )100 (d )451.2把下列数学表达式写成c++算术表达式1.yx +++11111 2. x{x[x(ax+b)+c]+d}+e 3. ln (1+|b a b a-+|10) 4. 48cos 21π+ 5. ctg )11(22x x +- 6. log 10(a 2+ab+b 2)答案: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 – 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 用关系表达式或逻辑表达式表示下列条件1. i 整除j2. n 是小于正整数k 的偶数3. 1<=x<104. x ,y 其中有一个小于z5. y ∉[–100,–10],并且 y ∉ [10,100]6. 坐标点(x, y )落在以(10, 20)为圆心,以35为半径的圆内7. 三条边a ,b 和c 构成三角形8. 年份Year 能被4整除,但不能被100整除或者能被400整除答案:1. i%j == 02.(n<k )&&(n%2 == 0)3. 1<=x && x<104. x<z||y<z5. !( y>=-100 && y<=-10 ) && !( y>=10 && y<=100 )6. sqrt(pow((x-10),2) + pow((y-20),2))< 357. a+b>c && b+c>a && c+a>b8. (year%4 == 0) && (year%100!=0)||(year%400==0)1.4 阅读下列程序,写出执行结果1.#include <iostream.h>void main(){int a = 1, b = 2, x, y;cout << a++ + ++b << endl;cout << a % b << endl;x = !a>b; y = x-- && b;cout << x << endl;cout << y << endl;}答案:42-12.#include <iostream.h>void 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 = 0y = 0z = 2f = 11.5编程题1.输入一个三位整数,将它反向输出。
4解答:#include <iostream.h>void main(){ int x,i,j,k;cout << "please input x:";cin >> x;i = x/100;j = ( x - i*100 ) / 10;k = x - i*100 - j*10;cout << k << j << i << endl;}2.输入平面上某点横坐标x和纵坐标y,若该点在由图3.1表示的方块区域内,则输出1;否则,输出0。
图3.1 正方形解答:#include <iostream.h>void main(){ float x,y,b;cout << "please input x,y:";cin >> x >> y;b = ( -2<=x ) && ( x<=2 ) && ( -2<=y ) && ( y<=2 );cout << b << endl;}3.输入三个整数,求出其中最小数(要求使用条件表达式)。
解答:略56 第2章 程序控制结构2.1选择题1.已知 int i ,x ,y ;在下列选项中错误的是( c )。