《c程序设计语言习题与答案》由会员分享,可在线阅读,更多相关《c程序设计语言习题与答案(133页珍藏版)》请在人人文库网上搜索。
1、习题1及其解答1.1选择题1.一个最简单的C+程序,可以只有一个( c )。(a) 库函数(b) 自定义函数(c) main函数(d) 空函数2.用C+语言编制的源程序要变为目标程序必须要经过( d )。(a) 解释(b) 汇编(c) 编辑(d) 编译3. C+程序中的简单语句必须以( 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 )错误。(a) 编译 (b。
2、) 连接 (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) “age“8C+语句中,两个标识符之间( a )不能作为C+的分隔符。(a) 数字(b) ;(c) :(d) +9下列正确的八进制整型常量表示是( b )。(a) 0a0(b) 015(c) 080(d) 0x1010下列错误的十六进制整型常量。
3、表示是( c )。(a) 0x11(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; 。
4、14关于下列语句叙述错误的是( a )。int i=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。
5、 = &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) =5)26. 已知 int x=5; 执行下列语句后,x的值为( c )。x += x -= x * x; (a) 25(b) 40(c) 40(d) 2027. 设 int a=1, b=2, c=3, d=4; 则以下条件表达式的值为( a。
6、 )。a =-100 & y=10 & yc & 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 b; y = a- & b;cout using namespace std;int main() int x,y,z,f;x = y = z = 1;f = -x | y- & z+;cout #includeusing namespace std;int 。
7、main() int a=123;int &ra=a;int *pa=&a;coutusing namespace std;int main() int a,b,c;coutabc;/对普通数据类型变量赋值int *pa=&a,*pb=&b,*pc=&c;/用变量地址值初始化指针变量coutusing namespace std;int main () int a;couta;int ra=a;int *pa=&a;coutusing namespace std;int main() int a;couta;a=a+5; /名访问couta & ax(2)(a+b)!=x(3)a|(b+x)(。
8、4)a=(b*x)(5)a-busing namespace std;int main() int a=10, b=20;int *p = &a, *q = &b;*p = *p * *q;int & ra = a;ra=a;int * & rt = q;*rt = 30;coutusing namespace std;int main() int a=10, b=20;int *p = &a, *q = &b;/“*”是指针类型说明符,“&”是取址运算符*p = *p * *q;/第1、2、4个“*”是间址访问符,第3个“*”算术乘运算符int & ra = a;/“&”是引用说明符ra=a。
9、;int * & rt = q;/“*”是指针类型说明符,“&”是引用说明符*rt = 30;/“*”是间址访问符/输出语句中的“*”是间址访问符coutusing namespace std;int main() int x,i,j,k;cout x;i = x/100;j = x/10 %10;k = x%10;cout using namespace std;int main() double x,y,b;cout x y;b = ( -2using namespace std;int main() int a,b,c,temp,min;cout a b c;temp = ( a= 0 。
10、) if( x != 0 )if( x = 0 ) y = 0 ; if( x 0 ) y = 1 ;else y = -1; else y = 0;(c) if( x =0 ) ;(c) int a=5 ; while( a ) a- ; ;(d) int i=3 ; for( ; i ; i - ) ;2.2阅读下列程序,写出执行结果1#includeusing namespace std;int main() int 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。
11、 = 25;cout using namespace std;int main() int a = 0, b = 1;switch( a ) case 0: switch( b ) case 0 : coutusing namespace std;int main() int i = 1;while( iusing namespace std;int main() int i = 0 , j = 5;do i+; j-;if ( i3 ) break; while ( j0 );cout using namespace std;int main() int i,j;for( i=1, j=5;。
12、 iusing namespace std;int main() int i, s = 0;for( i=0; iusing namespace std;int main() int i, j, x = 0;for( i=0; i=90,B-(90,80,C-(80,70 ,D-(70,60,E-using namespace std;int main() char gd;coutgd;/直到输入有效等级,否则程序不继续运行while(!(gd=A & gd=a & gdgd;if(gd=A|gd=a) cout=90,B-(90,80,C-(80,70 ,D-(70,60,E-using n。
13、amespace std;int main() char gd;coutgd;/直到输入有效等级,否则程序不继续运行while(!(gd=A & gd=a & gdgd;switch(gd) case A: case a: coutusing namespace std;int main() char c;cinc;if(c=y|c=Y)int a=1;elseint a=0;coutusing namespace std;int main() char c;int a;cinc;if(c=y|c=Y)a=1;elsea=0;coutusing namespace std;int main()。
14、 int a,b;couta;coutb;if( a=b )coutusing namespace std;int main() double score;cout score;if ( score=85 ) cout =60 ) cout using namespace std;int main() int a, b, c, t;cout a b c;if(ab) t=a; a=b; b=t; if(ac) t=a; a=c; c=t; if(bc) t=b; b=c; c=t; coutusing namespace std;int main() double a, b, c ;cout 。
15、a b c ;if ( a+b c & b+c a & c+a b ) if ( a = b & b = c ) cout using namespace std;int main() double score; char grade;cout score;if ( score = 0 & score using namespace std;int main() char first,second;cout first;cout second;switch ( first ) case s: switch ( second ) case s: cout using namespace std;。
16、int main() int m,i = 2;cout m;while( i#includeusing namespace std;int main() const double eps = 1e-8;double a,x0,x;cout a;x0 = a / 2;x = ( x0 + a/x0 )/2;while( fabs( x-x0 )eps ) x0 = x; x =( x0 + a/x0 )/2; cout #include#includeusing namespace std;int main() const double pi = 3.14159265;int i;double x,y1,y2,y3;cout using namespace std;int main() int i;for( i=100; iusing namespace std;int main() int i,a,b,c;for( i=100; iusing namespace std;int main() int i,j,s;for( i=1; iusing namespace std。