更多"程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有"的相关试题:
[简答题]
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所 指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学 生的数据不变。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#define N 5
typedef struct student {
long sno;
char name[10];
float score[3];
} STU;
void fun(char *filename, STU n)
{ FILE *fp;
fp = fopen(__1__, "rb+");
fseek(__2__, -1L*sizeof(STU), SEEK_END);
fwrite(&n, sizeof(STU), 1, __3__);
fclose(fp);
}
main( )
{ STU t[N]={ {10001,"MaChao", 91, 92, 77}, {10002,"CaoKai", 75, 60, 88},
{10003,"LiSi", 85, 70, 78}, {10004,"FangFang", 90, 82, 87},
{10005,"ZhangSan", 95, 80, 88}};
STU n={10006,"ZhaoSi", 55, 70, 68}, ss[N];
int i,j; FILE *fp;
fp = fopen("student.dat", "wb");
f
[简答题]给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
typedef struct
{ int num;
char name[9];
float score[3];
}STU;
void show(STU tt)
{ int i;
printf("%d %s : ",tt.num,tt.name);
for(i=0; i<3; i++)
printf("%5.1f",tt.score[i]);
printf("/n");
}
void modify(___1___ *ss,float a)
{ int i;
for(i=0; i<3; i++)
ss->___2___ *=a;
}
main( )
{ STU std={ 1,"Zhanghua",76.5,78.0,82.0 };
float a;
printf("/nThe original number and name and scores :/n");
show(std);
printf("/nInput a number : "); scanf("%f",&a);
modify(___3___,a);
printf("/nA result of modifying :/n");
show(std);
}
[单项选择]将二进制机器语言程序转换为汇编语言程序的语言转换程序称为( )。
A. 解释程序
B. 编译程序
C. 反汇编程序
D. 实用程序
[简答题]请编制程序PROG1.ASM,其功能是:内存中连续存放着10个十六位二进制数,每个数的序号依次定义为0,1,…9。统计每个数中位为0的个数N0,N1,…,N9(均用一个字节表示),然后按序将N0至N9存入内存中,最后再用一个字节表示这10个数中为0的位的总数n (n=N0+N1+…+N9)。
例如:
内存中有 0000H,000FH,FFFFH,…
结果为 10H,0CH,00H,…,最后为n
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果 (无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处,请加以修改。
PROG1.ASM文件内容如下:
EXTRN LOAD://FAR,SAVE://FAR
N EQU 10
STAC SEGMENT STACK
DB 128 DUP( )
STAC ENDS
DATA SEGMENT
SOURCE DW N DUP( )
RESULT DB N+1 DUP(0)
NAME0 DB INPUT1.DAT’,0
NAME1 DB OUTPUT1.DAT’,0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:ST
[填空题]在Java程序中,通过类的定义只能实现单一继承,但通过接口的定义可以实现 【3】 关系。
[简答题]
程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函数fun的功能是输出这位学生的信息。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
typedef struct
{ int num;
char name[9];
char sex;
struct { int year,month,day ;} birthday;
float score[3];
}STU;
void show(STU ___1___)
{ int i;
printf("/n%d %s %c %d-%d-%d", tt.num, tt.name, tt.sex,
tt.birthday.year, tt.birthday.month, tt.birthday.day);
for(i=0; i<3; i++)
printf("%5.1f", ___2___);
printf("/n");
}
main( )
{ STU std={ 1,"Zhanghua",’M’,1961,10,8,76.5,78.0,82.0 };
printf("/nA student data:/n");
show(___3___);
}
[填空题]在Java程序中,通过类的定义只能实现单重继承,但通过【 】的定义可以实现多重继承关系。
[简答题]请编制程序,其功能是:内存中连续存放着10个十六位二进制数,每个数的序号依次定义为0,1,…,9。统计每个数中位为0的个数N0,N1,…,N9(均用一个字节表示),然后按序将N0至N9存入内存中,最后再用一个字节表示这10个数中为0的位的总数n(n=N0+N1+…+N9)。
例如:
内存中有:0000H,000FH,FFFFH…
结果为: 10H,0CH,00H…最后为n
部分程序已给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入SOURCE开始的内存单元中。运算结果要求从 RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。
请填空BEGIN和END之间已给出的源程序使其完整,空白己用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
【试题程序】
EXTRN LOAD:FAR,SAVE:FAR
N EQU 10
STAC SEGMENT STACK
DB 128 DUP ( )
STAC ENDS
DATA SEGMENT
SOURCE DW N DUP( )
RESULT DB N+1 DUP(0)
NAME0 DB ’INPUT.DAT’,0
NAME1 DB ’OUTPUT.DAT’,0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STAC
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
LEA DX,SOURCE ; 数据区起始地址
LEA SI,NAME0 ; 原始数
[填空题]在Java程序中,通过类的定义只能实现单重继承,但通过 【8】 工的定义可以实现多重继承关系。
[填空题]下面程序段的功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在一维数组中返回,二进制数的最低位放在下标为0的元素中,其他以此类推。
#include
main(int x,int b[])
int k=0,r,i;
scanf("%d",x);
do
r=x%2;
b[______]=r;/*第一空*/
x/=2;
while(______);/*第二空*/
for(______);i>=0;i--)/*第三空*/
printf("%d",b[i]);
[单项选择]C语言源程序中常定义多个不同的函数,函数之间不能通过( )传递数据。
A. 虚实结合
B. 返回值
C. 同名的全局变量
D. 同名的局部变量
[单项选择]
下列程序的功能是将一个整数数组写入二进制文件。在程序的下划线处应填入的选项是()
import java.io.*;
public class XieShuzu{
public static void main(String[] a){
int [] myArray={10,20,30,40};
try{
DataOutputStream dos=
new DataOutputStream(new FileOutputStream("ints.dat"));
for(int i=0;i
dos. _____(myArray[i]);
dos.close( );
System.out.println("已经将整数数组写入二进制文件:ints.dat");
}catch(IOException ioe)
{System.out.println("IO Exception");}
}
}
A. writeArray
B. writeByte
C. writeInt
D. writeDouble
[单项选择]下列程序的功能是将一个整数数组写入二进制文件,在程序的下划线处应填入的选项是()。
importjava.io.*;
publicclassXieShuzu
publicstaticvoidmain(String[]a)
int[]myArray=(10,20,30,40);
try
DataOutputStreamdos=
newDataOu中utStream(new
FileOutputStream("ints.dat"));
for(inti=O;i<myArray.length;i++)
dos.______(myArray[]);
dos.close( );
System.out.println("已经将整数数组写入二进制文件:ints.dat"):
catch(IOExceptionioe)
System.out.println("IOExcepr_on");
A. writeArray
B. writeByte
C. writeInt
D. writeDouble