c语言程序设计及阅读程序写结果试题汇总情况

阅读下面程序: include void f(int n) { int x(5); static int y(10); if(n>0) { ++

阅读下面程序:

include<iostream.h>

void f(int n)

{

int x(5);

static int y(10);

if(n>0)

{

++x;

++y;

cout<<x<<","<<y<<endl;

}

}

void main()

{

int m(1);

f(m),

}

则该程序的输出结果是【 】


正确答案:611
6,11


下列程序的输出结果是()。 include VOid p(int *x) {printf("%d",++*x); } void main()

下列程序的输出结果是( )。

#include<stdio.h>

VOid p(int *x)

{ printf("%d",++*x);

}

void main()

{ int y=3;

p(&y);

}

A.3

B.4

C.2

D.5


正确答案:B
解析:本题考查函数调用时的参数传递。在函数调用时,形参是指向实参的指针变量,则printf的执行结果为3+1=4。


下面程序的运行结果是 include void fun(int * a,int * b) { int x= * a; * a= *

下面程序的运行结果是

#include<iostream.h>

void fun(int * a,int * b)

{

int x= * a;

* a= * b; * b=X;

cout < < * a < < * b < <" ";

}

void main( )

{

int x=1,y=2;

fun(&x,&y) ;

cout < < X < < y < < endl;

}

A.12 12

B.12 21

C.21 12

D.21 21


正确答案:D
解析:本题考查的是指针和引用,函数 fun完成把x和y互换的操作。


有如下程序:include void fun (int& x,int y){int t=x;x=y;y=t;}int main(){ int

有如下程序: #include <iostream> void fun (int& x,int y){int t=x;x=y;y=t;} int main() { int a[2]={23,42}; fun (a[1],a[0]; std::cout<<a[0]<<”,”<<a[1]<<std:: ond1; retum0; }执行后的输出结果是______ 。

A.41,41

B.23,23

C.13,42

D.42,23


正确答案:B
解析:a[0]做的是地址传递,所以执行函数后值发生变化,而a[1]做的是值传递,值并没有发生变化,所以此题应选择A。


阅读下列程序: include void fun(int n) { int x(5); static int y(10); if(n>0) {

阅读下列程序:

include<iostream.h>

void fun(int n)

{

int x(5);

static int y(10);

if(n>0)

{

++x;

++y;

cout<<x<<","<<y<<endl;

}

}

void main()

int m(1);

fun(m);

}

则该程序的输出结果是______。


正确答案:611
6,11 解析:由主函数mian入手,首先定义变量m等于1,然后调用fun函数。fun函数中y为静态数值,等于10,作用域为到本文件结束。所以y加1后,主函数中y的值也为11。其中函数中x的加1运算调用的是函数中的x等于5的变量,作用域为由定义到文件结束,即主函数中输出的x值为6。所以答案为6,11。


. .阅读程序写结果试题第四章 选择构造 共20道题1. 于蕾*include void main( ) int x,y,t;x=7;y=9;if(xy) t=x;x=y;y=t;printf(%d,%dn , x,y );运行结果:9,72. 于蕾*include void main( ) int x=1,a=2,b=3; switch(x) case 1: a-; break;case 2: b+; break; case 3: a+;b+; printf(na=%d,b=%dn,a,b);运行结果:a=1,b=33. 于蕾*include void main( ) char ch1 = E; if(ch1 = A) ch1+; else ch1+=32; printf(ch1 = %cn, ch1);运行结果:ch1= F 4. 于蕾*include void main( ) int x,y,t;x=5;y=3;if(xy) t=x;x=y;y=t;printf(%d,%dn , x,y );运行结果:3,55. 王伟*include int main()int a,b,c,m;printf(Enter three integers:);scanf(%d%d%d,&a,&b,&c);if(a=b)m=a;elsem=b;if(cm)m=c;printf(m=%dn,m);return 0;输入:21 22 23运行结果:m=216. 王伟*include int main()char ch1=a,ch2=B,ch3=E;if(ch1ch2)if(ch2ch3)ch3+;else-ch3;printf(ch3=%cn,ch3);return 0;运行结果:ch3=D7. 王伟*include int main()float x,y;scanf(%f,&x);switch(int)x/10)case 0: y=1.0;printf(y=%fn,y);break;case 1: y=2*x+1;printf(y=%fn,y);break;case 2: y=3*x*x+2;printf(y=%fn,y);break;default:printf(No definition.n); return 0;输入:15.3运行结果:y=31.6000008. 王伟*include int main()char ch1=A,ch2=B;switch(ch1)case A:switch(ch2)case B: printf(Good!n);break;case A: printf(Better!n);break;case B: printf(Best!n); break;return 0;运行结果:Good!Best!9 王锋*include void main() float score;score = 100;if (score60) printf(En); else switch( ( int ) score / 10 ) case 10: case 9: printf(An); case 8: printf(Bn); case 7: printf(Cn); break; case 6: printf(Dn); break; default: printf(Errorn); 运行结果:ABC10 王锋*include void main()int i=0,a=2;if(i=0)printf(*);elseprintf($);printf(*);运行结果:*11. 王锋*include void main()int m=10,n=0,p=4,q=20;if (m) if (n) q=15-m;else q=25+m;else if (p) q=q+p;printf(q=%dn,q); 运行结果:q=3512. 王锋*includevoid main()int a=1,b=0;switch(a)case 1: switch (b)case 0: printf(*0*); break; case 1:printf(*1*);break;case 2: printf(*2*);break;运行结果:*0*2*13. 宋昕*includeint main( ) int a=2,b=7,c=5; switch (a0) case 1: switch (b0) case 1: printf(); break ; case 2: printf(!); break ; case 0: switch (c=5) case 1: printf(*) ; break ; default : printf(*) ; break ; default : printf(&); printf(n); return 0;运行结果:*&14. 宋昕*includeint main() int a=0,b=1,c=0,d=20; if(a) d=d-10; else if (!b) if(!c) d=15; else d=25; printf(d=%dn,d); return 0;运行结果:d=2015. 宋昕*includeint main() int a=1; switch(a) case 0: printf(*0*);break; case 1:printf(*1*);break; case 2:printf(*2*);break; return 0;运行结果:*1*16. 宋昕*include int main() int x, y; scanf(%d,&x); y = x12 x + 10 : x - 12; printf(%dn, y); return 0;输入:12运行结果:017. 宋昕*include int main() float x, y; char op; double r; scanf(%c%f%f,&op,&x,&y); switch(op) case +: r = x + y; break; case -: r = x - y; break; case *: r = x * y; break; case /: r = x / y; break; printf(%.1f, r); return 0;输入:3.5运行结果:0.618. 王勇超*include stdio.hvoid main( ) int a=7; if(a9 | a10) a=a/3; else a=a%3; printf(a=%d, a);运行结果:a=219. 王勇超*includevoid main() int a=20; switch(a%3) case 0: printf(0); case 1: printf(1); case 2: printf(2); default: printf(3); printf(4);运行结果:23420. 王勇超*include void main()int a=2,b=5,c=8,t;if ( a b ) t = a; a = b; b = t; if ( b c ) t = b; b = c; c = t; if ( a b ) t = a; a = b; b = t; printf( %d,%dn, a+, -c );运行结果:8,1第五章 循环构造 共20道题1. 于蕾)*include void main() int number , digit; number = 1234; while ( number != 0 ) digit = number%10 ;printf( %d , digit ) ;number = numbe


以下程序运行后的输出结果是【】。 include void fun(int x,int y) {x=x+y;y=x-y

以下程序运行后的输出结果是【 】。

include<iostream.h>

void fun(int x,int y)

{ x=x+y;y=x-y;x=x-y;

cout<< x << "," <<y << " ,";}

void main( )

{ int x=2,y=3;fun(x,y);

cout<< x << "," << y << endl;}


正确答案:3223
3,2,2,3 解析:main函数和fun函数中的变量x和y都是局部变量,它们各自独立,在本题 fun函数中:接入实参的值传递:x=2,y=3,执行:x=x+y后,x=5,y=3,执行:x=x-y后,x=5,y=3,执行:y=x-y后,x=3,y=2。所以,第一次执行cout显示结果是3和2返回到main函数中,输出main函数中的x和y的值2,3。


下列程序的运行结果是【】。 include class Sample {int x,y;public:Sample() {x=y=0

下列程序的运行结果是【 】。

include <iostream. h>

class Sample {

int x,y;

public:

Sample() {x=y=0; }

Sample(int a, int b) {x=a;y=b;}

void disp() {

cout<<" x=" <<x<<" , y="<<y<<end1;

}

};

void main() {

Sample s1, s2(1, 2);

s1. disp0;

s2. disp ();

}


正确答案:此程序的运行结果为: x=0 y=0 x=1 y=2
此程序的运行结果为: x=0, y=0 x=1, y=2


以下程序的执行结果是______。 include void main() { int x=5 y=2; cout<

以下程序的执行结果是______。

include<iostream.h>

void main()

{

int x=5 y=2;

cout<<! (y==x/2)<<",";

cout<<(y!=x%3)<<",";

cout<<(x>0 && y<0=<<",";

cout<<(x!=y||x>=y)<<endl;

}


正确答案:0001
0,0,0,1


下面程序的结果【】。 include int f(int); void main() { int x=1,i; for (i=0; i<3;

下面程序的结果【 】。

include<iostream.h>

int f(int);

void main() {

int x=1, i;

for (i=0; i<3; i++)

cout<<f(x)<<‘ ’ ;

cout<<end1;

}

int f(int x){

int y=1;

static int z=3

y++;

z++;

return (x+y+z);

}


正确答案:7 8 9
7 8 9


有如下程序: include void fun(int&x,int y){int t=x;x=y;y=t;} int ma

有如下程序: #include<iostream> void fun(int&x,int y){int t=x;x=y;y=t;} int main() { int a[2]={23,42}; fun(a[1],a[0]; std::cout<<a[0]<<","<<a[1]<<std::ndl; return 0; } 执行后的输出结果是

A.42,42

B.23,23

C.23,42

D.42,23


正确答案:B
解析:x为引用,双向的;而y为值传递,单向的。


相关考题:

考题 下列程序运行后的输出结果是()。 include void fun(int,int,int*); void main() { i 下列程序运行后的输出结果是( )。 #include<iostream.h> void fun(int,int,int*); void main() { int x,y,z; fun(5,6,x); fun(7,x,y); fun(x,y,z); cout<<x<<","<<y<<","<<z<<end1; } void fun(int a,int b,int *c) { b+=a; *c=b-a; }A.5, 5, 5B.6, 6, 6C.5, 6, 7D.7, 7, 7 正确答案:B解析:由程序中的main函数入手,分别调用fun函数,第一个调用中x参数为引用地址,调用后x的值为6,因为参数为地址,所以第二个调用中的x参数值为6,调用后y的计算结果为6。同理, z在第三个函数调用后z的值为6。

考题 下列函数的运行结果是()。includeint add(int a,int b);void main(){extem int x,y; 下列函数的运行结果是( )。 #include<iostream.h> int add(int a,int b); void main() { extem int x,y; cout<<add(x,y)<<endl; } int x(20),y(5); int add(int a,int b) { int s=a+b; return s; )A.25B.30C.20D.15 正确答案:A

考题 以下程序的执行结果是 ______。 include int max(int x,int y) { ret 以下程序的执行结果是 ______。include<iostream.h>int max(int x,int y){return(x>y? x:y);}void main(){int n=2,m=10;max(n,m)--;cout<<"n="<<n<<",m="<<m<<endl;} 正确答案:n=2m=9n=2,m=9

考题 以下程序的运行结果是include void sub(int x,int y,int*z){*z=y-x;}void main(){i 以下程序的运行结果是 #include<iostream.h> void sub(int x,int y,int*z) { *z=y-x;} void main() { int a,b,c; sub(10,5,a); sub(7,a,b); sub(a,b,c); cout << a <<","<< b<<"," << C << endl;}A.5,2,3B.-5,-12,-7C.-5,-12,-17D.5,-2,-7 正确答案:B解析:在C++语言中,调用函数不可能改变实参指针变量的值,但可以改变实参指针变量所指变量的值。了解了实参指针变量的改变情况,本题只剩下简单的“加减法”了。

考题 若运行时给变量x输入12,则以下程序的运行结果是include void main(){ int x,y; cin 若运行时给变量x输入12,则以下程序的运行结果是 #include <iostream.h> void main() { int x,y; cin>>x; y=x>12? x+10:x-12; cout<<y; cout<<endl; }A.0B.22C.12D.10 正确答案:A解析:三目运算符的表达式为(表达式1)?(表达式2):(表达式3),运算过程是当(表达式1)的值为真时,求(表达式2)的值为整个表达式的值;如果(表达式1)的值为假,则求(表达式3)的值为整个表达式的值。题中,表达式x>12的结果为假,所以执行的语句是x-12,最终结果应该是0。注意:“?:”的优先级高于“=”运算符的优先级。

考题 以下程序的运行结果是______。 include include template class TA 以下程序的运行结果是______。include<iostream.h>include<math.h>template<class T>class TAdd//定义类模板TAdd,T为类型{Tx,y;public:TAdd (Ta,Tb) {x=a,y=b;) //构造函数Tadd() { retum x+y;}//成员函数};void main( ){TAdd<int>A (5,6); 正确答案:s1=11s2=8.2s1=11s2=8.2

考题 下列函数的运行结果是()。includeint add(int a,int b);void main(){extern int x,y 下列函数的运行结果是( )。 #include<iostream.h> int add(int a,int b); void main() { extern int x,y; cout<<add(x,y)(<endl; ) int x(20),y(5); int add(int a,intB) { int s=a+b; return s; }A.25B.30C.20D.15 正确答案:A解析: 由主函数main入手,定义外部变量x和y,调用函数add。因为x,y为外部变量,所以“int x(20),y (5);”的赋值在add也是有效的,即add函数的运算结果为25。

考题 下面程序的运行结果为_____。 include void fun(int x=0,int y=0) { cout 下面程序的运行结果为_____。include<iostream.h>void fun(int x=0,int y=0){cout < < x < < y;}void main( ){fun(5) ;} 正确答案:5050 解析:本题考查的是函数的默认参数,如果一个函数中有多个参数,则默认参数应从右至左逐个定义,所以题目中x使用参数5,y使用默认参数0。

考题 下列程序段的输出结果是 include void fun(int * X,int * y) {cout 下列程序段的输出结果是 #include<iostream.h> void fun(int * X,int * y) { cout < < * X < < * y; * X=3; * y=4; } void main( ) { int x=1,y=2; fun(y,x); cout < < X < < y < < end1; }A.2143B.1212C.1234D.2112 正确答案:A解析:在fun函数中,x接收的是main函数中y的地址,所以*x值为2,同样,*y值为1,所以第1次输出的是21,第2次改变*x的值等同于改变y的值,改变*y的值也即改变x的值,所以第2次输出的是43。注意:C++语言中函数的传参方式中关于指针的应用。

考题 下面程序的运行结果是【】。 include using namespace std; void fun(inta,int b=3) 下面程序的运行结果是【 】。include <iostream>using namespace std;void fun(int a, int b=3){static int i=2;a = a + b + i;i = i + a;}int main(){int x=5, y=2;fun(x, y);cout<<x<<",";fun(x);cout<<x<<end1;return 0;} 正确答案:9239,23 解析:本题主要考察C++中变量的作用域、存储类别和参数默认值的使用。本题主函数中,第1次调用fun()函数时,利用实参x和y将5和2分别赋值给形参a和b;由于形参a为传址方式传值,因此在函数fun()内部,由于a的改变:a =a+b+i=5+2+2=9。导致实参x值也变为9,因此程序第1次输出x值为9。 此后静态局部变量i值变为:i=i+a=2+9=11。 主函数第2次调用fun()时,只给出了一个实参x,其值由上述计算应该为9,而另一个参数由于fun()函数定义中为形参b指定了默认值3,因此此时程序将把3作为形参b的值代入fun()函数中去。类似上面计算有:a=a+b+i=9+3+11=23。 由于形参a采用传址方式传值,因此实参x值也随之变为23,则程序第2次输出值应该为23。故程序整体输出为“9,23”。
最新考题