发布网友
共3个回答
热心网友
C语言编译的整个过程是非常复杂的,一般情况下,我们只需要知道分成编译和连接两个阶段,编译阶段将源程序(*.c)转换成为目标代码(,一般是obj文件,至于具体过程就是上面说的那些阶段),连接阶段是把源程序转换成的目标代码(obj文件)与你程序里面调用的库函数对应的代码连接起来形成对应的可执行文件(exe文件)就可以了。
所以,答案选b。
编程题:
1:
最后单独写个函数判断一下,是否符合所要条件,即a>0;
float calc(float a)
{
float sum=0;
float temp=0.0;
int i=1;
for(i=1;i<=128;i = i*2)
{
temp = a/i;
sum = sum+temp;
}
return sum;
}
这个的主体部分,大致就是这样。主要是看for循环部分。
2:
这题,就是简单的循环处理加上循环输出。
int a[20][4];
int sum[20]; //用以存储总分
float av[20]; //用以存储平均分
char mark[20];//用以存储标记
void calc()
{
int i=0;
int j=0;
int tempsum =0;
float tempav = 0.0;
char tempmark = 'Y';
for(int i=0;i<20;i++)
{
for(int j=1;j<4;j++)
{
tempsum = tempsum+a[i][j];
if(a[i][j]<90)
{
tempmark = 'N';
}
}
tempav = (float)tempsum/3;
sum[i] = tempsum;
av[i] = tempav;
mark[i] = tempmark;
}
//输出时,循环输出先是a数组,接着sum,接着av,接着mark
for(i =0;i<20;i++)
{
printf("%d %d %d %d %d %f %s\n",a[i][0],a[i][1],a[i][2],a[i][3],sum[i],av[i],mark[i]);
}
}
这题也可以用结构体,来存储最后的结果,你可以修改一下。
里面详细的部分,可能存在一定的语法问题,好久没看了,记不清了,你看的时候注意一下吧。
主要部分大致是这样的。
热心网友
b
热心网友
选择题:B. 编译
编程题
1.
#include "iostream.h"
void main()
{
double a, f, sum = 0;
int n;
do
{
cout<<"input a : ";
cin>>a;
}while(a<=0);;
for(n=1; n<=128; n*=2)
{
f = a / n;
sum += f;
}
cout<<sum<<endl;
}
2.
#include "iostream.h"
void main()
{
double a[20][6]; //存储各科成绩、总分和平均分的数组
int i, j;
cout<<"请依次输入每个学生的各科成绩:"<<endl;
cout<<"序号 高数 英语 物理"<<endl;
for(i=0; i<20; i++)
{
cout<<i+1<<" ";
cin>>a[i][0]>>a[i][1]>>a[i][2];
a[i][3] = a[i][0] + a[i][1] + a[i][2]; //计算总分
a[i][4] = a[i][3] / 3;
//计算平均分
//a[i][5] = ((a[i][0]>90 && a[i][1]>90 && a[i][2]>90) ? 1 : 0);
//3门功课均在90分以上
a[i][5] = (a[i][4]>90 ? 1 : 0); //平均
分在90以上
}
cout<<"学生成绩汇总表:"<<endl;
cout<<"NO MT EN PH SUM V >90"<<endl;
for(i=0; i<20; i++)
{
cout<<i+1<<" ";
for(j=0; j<5; j++)
{
cout<<a[i][j]<<" ";
}
cout<<(a[i][5]==1?'Y':'N')<<endl;
}
}