[公告] 計程第二次期中考題目
請自行跑出答案! (1,5 題略)
2. (15%)Please write down the output:
#include<iostream>
using namespace std;
struct node
{ int item1; int item2; };
void sub( struct node );
struct node datanode;
void main( )
{
datanode.item1 = 10;
datanode.item2 = 25;
sub( datanode );
cout<<"datanode.item1 = "<<datanode.item1<<endl;
cout<<"datanode.item2 = "<<datanode.item2<<endl;
}
void sub( struct node t_node )
{
cout<<"t_node.item1 = "<<t_node.item1<<endl;
cout<<"t_node.item2 = "<<t_node.item2<<endl;
t_node.item1 = 78;
t_node.item2 = 56;
cout<<"t_node.item1 = "<<t_node.item1<<endl;
cout<<"t_node.item2 = "<<t_node.item2<<endl;
}
3. (15%)Determine the output of the following program:
#include<iostream>
using namespace std;
struct node { int item1; int item2; };
void main( )
{
int sum;
int fun( struct node );
struct node datanode = {10,15};
sum = fun( datanode );
cout<<datanode.item1<<" + "<< datanode.item2<<" = "<<sum<<endl;
}
int fun( struct node x_node )
{ return( x_node.item1+++x_node.item2++ ); }
4.(15%) Write down the output of the following program.
#include <iostream>
using namespace std;
#define N 4
void main( ) { int s[N],r[N]; int i,j,k;
for (i=0;i<N;++i) s[i]=i+2;
cout<<"\n/* output:\n\n";
for (i=0;i<N;i++) {
r[0]=s[i];
for (j=0,k=2;j<N;j++) {
if (j!=i) { r[k]=s[j]; k++;} }
for (j=0;j<N;j++) cout<<" "<<r[j];
cout<<endl;
}
cout<<"\n*/\n";
}
6. (15%)What is the output of the following program?
#include <iostream>
using namespace std;
#define Y 4
#define X Y/3 + 3*Y
void main()
{
int trick(int, int&, int&);
int i, j, m = X*Y*X, n = Y*X, k=X, var1;
float var2;
cout<<"Start here:\n ";
var1 = m/n; cout<<"line1:"<< var1<<endl;
var2 = trick(m,k,n);
cout<<"line2:"<<var2<< m<< n<< k <<endl;
var2 = trick(m,k,n);
cout<<"line3:"<<var2<< m<< n<< k <<endl;
for(i=0; i<10; i++)
{ if(i==2)
{ cout<<"continue\n";
continue;
}
j=0;
for(j; j<i; j++)
{
m = j%2;
if(m)
{ if (m = -1) cout<<"NG!";
cout<<"break\n";
break;
}
else
{ if (m = 0) cout<<"OOPS!";
cout<<"i=" << ++i <<", j="<< j<< endl;
}
}
}
cout<<"i+j="<< i+j <<endl;
}
int trick(int x, int & y, int & z)
{
int w=4;
w=y;y=x;x=w;
return(++z);}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.7.59