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;(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执行下面语句序列
2、后,a和b的值分别为( )。int a = 5 , b = 3 , t ;int &ra = a ;rb = b ;t = ra ; ra = rb ; rb = t ;(a) 3和3 (b) 3和5 (c) 5和3 (d) 5和518. 在下列运算符中,( )优先级最高。(a) = (b) *= (c) + (d) *19.在下列运算符中,( )优先级最低。(a) ! (b) & (c) != (d) ? :20设 int i=1, j=2; 则表达式 i+j 的值为( )。(a) 1 (b) 2 (c) 3 (d) 421设 int i=1, j=2; 则表达式 +i+j 的值为( )。2
3、2在下列表达式选项中,( )是正确。(a) +(a+) (b) a+b (c) a+b (d) a+b23已知 int i=0, j=1, k=2; 则逻辑表达式 +i|-j&+k 的值为( )。(a) 0 (b) 1 (c) 2 (d) 324. 执行下列语句后,x的值是( ) (D)。int x, y ;x = y = 1; + x | + y ;(a) 不确定 (b) 0 (c) 1 (d) 225. 执行下列语句后,y的值是( )。26.设X为整型变量,不能正确表达数学关系 1X5 的C+逻辑表达式是( )。(a) 1 X 5 (b) X=2|X=3|X=4(c) 1X&X5 (d)
4、!(X=5)27. 已知 int x=5; 执行下列语句后,x的值为( )。x += x -= x * x;(a) 25 (b) 40 (c) 40 (d) 2028. 设 int a=1, b=2, c=3, d=4; 则以下条件表达式的值为( )。a b ? a : c d ? c : d29. 以下逗号表达式的值为( )。( x = 4 * 5, x * 5 ), x + 25 (a) 25 (b) 20 (c) 100 (d) 451.1 把下列数学表达式写成c+算术表达式 1. 2. xxx(ax+b)+c+d+e3. ln(1+|10) 4.5. cot 6. lg(a2+ab+b
5、2) 1.2 用关系表达式或逻辑表达式表示下列条件 1. i 被j整除 2. n是小于正整数k的偶数 3. 1x10 4. x,y其中有一个小于z5. y 100,10,并且 y 10,1006. 坐标点(x, y)落在以(10, 20)为圆心,以35为半径的圆 7. 三条边a,b和c构成三角形 8. 年份Year能被4整除,但不能被100整除或者能被400整除1.3 阅读下列程序,写出执行结果1.#include void main() int a = 1, b = 2, x, y; cout a+b endl; a % b ? y = x- & b; x y 2#include int x
6、,y,z,f; x = y = z = 1; f = -x | y- & z+; x = y =z = z f = f 3#include #include int a=123;ra=a; int *pa=&a; coutsetw(5)decaoctrahex*paendl;1.4 思考题 1什么叫数据类型?数据的类型定义有什么作用?2数据对象在C+中有什么不同的访问方式?请编写一个程序验证之。3普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?4什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。5为了约束只能对数据对象的值做读操作,C+采用什么方式
7、?请做出简要归纳。6什么叫表达式?表达式值的类型由什么因素决定?使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。 int a=1, b=2; double x=0.5;1.5 编程题 1.输入一个三位整数,将它反向输出。2.输入平面上某点横坐标x和纵坐标y,若该点在由图1表示的方块区域,则输出1;否则,输出0。图1 正方形3.输入三个整数,求出其中最小数(要求使用条件表达式)。1.6 操作题建立简单控制台程序。使用VC6开发环境来调试以下源程序。#include #include double a, b, c, s, area;a,b,c = ; cin a b c; /
8、输入三角形的三条边 s = ( a + b + c ) / 2.0; area = sqrt( s * ( s-a ) * ( s-b ) * ( s-c ) ); / 求三角形的面积 area = area = 0 ) if( x != 0 ) if( x = 0 ) y = 0 ; 0 ) y = 1 ; else y = -1; else y = 0 (c) if( x = 0 ) (d) y = -1 ; if( x 0 ) y = -1 ; else y = 0 ; else y = 1 ;3假设i=2,执行下列语句后i的值为( )。switch( i ) case 1 : i +
9、;case 2 : i - ;case 3 : + i ; break ;case 4 : - i ;default : (a) 1 (b) 2 (c) 3 (d) 44已知int i=0,x=0; 下面while语句执行时循环次数为( )。 while( !x & i 3 ) x + ; (a) 4 (b) 3 (c) 2 (d) 15已知int i=3;下面do_while 语句执行时循环次数为( )。 do i-;iwhile( i!= 1 ); (a) 1 (b) 2 (c) 3 (d) 无限6下面for语句执行时循环次数为( )。 for ( int i=0,j=5;i=j; ) c
10、out j = 0 ) ; (c) int a = 5 ; while( a ) a - ; (d) int i = 3 ; for( ; i ; i - ) ;思考题1. C+中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2. 什么叫循环控制?归纳比较C+中各种循环控制语句的语法、循环条件和循环结束条件的表示形式。3. 根据一个实际问题,用不同的循环语句编程,分析其优缺点。4. 用if语句和goto语句组织循环,改写2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.1 阅读下列程序,写出执行结果1. #include i
11、nt a,b,c,d,x; a = c = 0; b = 1; d = 20; if( a ) d = d-10; else if( !b ) if( !c ) x = 15; else x = 25; d 2.#include int a = 0, b = 1; switch( a ) case 0: switch( b ) case 0 :a= a b= b break; case 1 : case 1: a+; b+;3. #include int i = 1; while( i=10 ) if( +i % 3 != 1 ) continue; else cout 4. #include
12、 3 ) break; while ( j0 );i= t j=5.#include int i,j; for( i=1, j=5; ij; i+ ) j-; t6. #include int i, s = 0; for( i=0;5; switch( i ) s += i; case 2: default: s += 2;s= s 7. #include int i, j, x = 0;=3; x+; for( j=0; j= 1e-12 ); pi = sqrt( sum * 6 ) ;pi = pi endl ;输入程序编译后使用Debug跟踪,单步执行程序,记录以下变量值的变化。i t
13、ermsum12345:回答以下问题:a)从跟踪结果分析,term和sum的值有什么错误?b)循环结束后,i的值是多少?用什么简单的办法可以看到?c)对程序做了什么修改使其得到正确的结果?(2)编写第2章习题2.3-12输出符号三角形的图案程序,记录:a)程序出现了什么编译错误,如何解决。b)程序运行后图案显示正确吗?采用跟踪方法记录外循环控制变量的变化。c)若要程序输出以下图案,应该做什么修改?请编程实现并在程序中加以适当注释说明。1以下正确的函数原型为( )。 (a) f1( int x; int y ); (b) void f1( x, y ); (c) void f1( int x,
14、y ); (d) void f1( int, int );2有函数原型 void fun2( int ); 下面选项中,不正确的调用是( )。 (a) int x = 21; fun2( x ); (b) int a = 15; fun2( a*3 ); (c) int b = 100; fun2( &b ); (d) fun2( 256 );3有函数原型 void fun3( int * ); 下面选项中,正确的调用是( )。 (a) double x = 2.17; fun3( &x ); (b) int a = 15 ; fun3( a*3.14 ); (d) fun3( 256 );4
15、有函数原型 void fun4( int & ); (a) int x = 2.17; fun4( & fun4( a*3.14 ); fun4( b ); (d) fun4( 256 ) ;5有声明 int fun5( int ); int (*pf)(int) = fun5; (a) int a=15; int n=fun5(&a);(&pf)(a); (c) cout(*pf)( 256 ); (d) cout *pf( 256 );6在VC中,若定义一个函数的返回类型为void,以下叙述正确的是( )。 (a) 函数返回值需要强类型转换 (b) 函数不执行任何操作 (c) 函数本身没有返回值 (d) 函数不能修改实际参数的值7函数参数的默认值不允许为( )。 (a) 全局常量 (b) 直接常量 (c) 局部变量 (d) 函数调用8使用重载函数编程序的目的是( )。 (a) 使用相同的函数名调用功能相似的函数 (b) 共享程序代码 (c) 提高程序的运行速度 (d) 节省存贮空间9下列的描述中( )是错误的。 (a) 使用全局变量可以
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1