范文一:有如下程序段
有如下程序段:
a=6
b=5
a=a+b
b=a-b
1. 该程序段运行后,变量b的值为( )
A . 6
B . 5
C . 1
D . 11
2. 关于收藏夹下列说法错误的是
A . 执行“收藏/添加到收藏夹”菜单项,可以收藏自己喜爱的网址
B . 执行“收藏/整理收藏夹”菜单项,可以对收藏的网址进行分类管理
C . 使用收藏夹可以节省大量的查找时间、提高浏览效率
D . 使用收藏夹跟下载保存相比,要占用更多的存储空间 3. 在Excel成绩表中共有10000条记录,要找出“总分”较高的前20个记录时,最简便高效的做法是
( )
A . 用“查找”命令查找
B . 以“总分”为关键字进行升序排列
C . 进行分类汇总
“总分”为关键字进行降序排列 D . 以
4. 下列动画文件中,能用Flash软件进行修改的是( )
A . 日月轨迹.html
B . 日月轨迹.swf
C . 日月轨迹.fla
D . 日月轨迹.exe
5. Internet电子邮件地址中,不能少的一个字符是
A . *
B . @
C . #
D . %
6. 下列说法中,不符合程序设计优化原则的是( )
A . 变量命名在遵守命名原则的前提下,还要"见名知意"
B . 添加适当的注释以提高程序的可读性
C . 程序流程越复杂越好
D . 程序的运行效率是程序优化的重要指标
7. “我的文档”中的某个文件被误删除后,立刻执行“撤消”命令,则( )
A . 无法撤消,该文件保存在“回收站”
B . 删除被撤消,该文件还原到“我的文档”
C . 删除被撤消,该文件保存在“回收站”
D . 无法确定该文件现在的位置
8. 在下列选项中,以生产CPU为主业的厂商是( )
A . 英特尔和微软
B . IBM和微软
C . 联想和英特尔
D . AMD和英特尔
9. 下列音频文件中,目前被称为“流行的风尚”的是( )
A . mp3格式
B . wav格式
C . cd格式
D . midi格式
10. 下列选项中,适合制作电子报刊的软件是( )
?Word ? WPS2000 ? PowerPoint ? 写字板 ? 记事本
A . ???
B . ???
C . ???
D . ???
第1题 答案=A
第2题 答案=D
第3题 答案=D
第4题 答案=C
第5题 答案=B
第6题 答案=C
第7题 答案=B
第8题 答案=D
第9题 答案=A
第10题 答案=C
范文二:程序段如下
第一套 题目
Visual Basic 程序段如下:
x=3
If x>3 Then
y=x*x
Else
y=2*x
End If
该程序段运行后,变量y的值是___ (1) ___
有如下程序段:
s=1
for k=1 to 10
s=2
next
运行后S的结果是___ (1) __
下列Visual Basic程序段
a=1:b=1:c=1
Do While a+b+c<=10>=10>
a=a+1
b=b*2
c=b/2
Loop
运行后变量b的值为___ (1)
程序填空
水仙花数是指一个三位数,其各个数之立方和等于该数,例如153,即为一水仙花数,因为
3*3*3。 153,1*1*1,5*5*5,
找出100-800之间所有的"水仙花"数,为了实现这一目标,完善下面的VB程序,在划线处
填入合适的语句或表达式,完成程序设计。(流程图参见图12-4)
dim i as integer, j as integer, k as integer
for i=1 to 7
for j=1 to 9
for k=1 to 9
if i*100+j*10+k=__ (1) ___ then
print ___ (2) __
next k
next j
next i
开始
i?1,j?1,k?1
i?7
j?9
k?9
各个数之立方
和等于该数
输出水仙花字
k=k+1
j=j+1
i=i+1
图12-4
第二套 题目
有如下程序段:
s=0
For k=1 To 5
s=s+5
Next k
该程序段运行后,变量S的值是 (1)
有如下程序段:
j=0
For i=1 To 10 Step 3
j=j+i
Next i
该程序段运行后,变量j的值是 (1)
有如下程序段:
Sub ex1( )
a=3
b=5
c=a
a=b
b=c
MsgBox (str$(a))
End Sub
该程序段运行后,结果是 (1) 。
程序填空
判断输入的年号是否是闰年,为了实现这一目标,完善下面的VB程序,在划线处填入合适
的语句或表达式,完成程序设计(流程图参见图12-18) dim y as integer
y=inputbox("请输入年号")
if (y mod 4 = 0__ (1) ___y mod 100____ (2) __ 0) or (y mod 400 =0 ) then
print "闰年"
else
print "不是闰年"
end if
第三套题目
下列Visual Basic程序段
a = 0
If a >= 7 Then
a = 1
End If
Print a
运行后的结果为___ (1) __。 下列Visual Basic程序段
a=1: b=1: c=1
Do While a + b + c <= 10="">=>
a = a + 1
b = b * 2
c = b / 2
Loop
运行后变量c的值为__ (1) ___。
下列Visual Basic程序段
x = 5
For I = 1 To 20 Step 2
x = x + I / 5
Next I
Print x
运行后的结果为___ (1) __。
程序填空
编写工资调整程序。若基本工资大于等于800元,增加工资20%,若小于800元大于600元,
则增加工资15%;若小于600元则增加工资10%。要求在文本框Text1中输入某职工的基本工资,
单击"计算"按钮,在标签框Label1中输出增加后的工资。
为了实现这一目标,完善下面的VB程序,在划线处填入合适的语句或表达式,完成程序设
计(流程图参见图12-3)。
Private Sub Command1_Click()
Select Case Val(Text1.Text)
Case Is < 600="">
_______(1)________
Case Is < 800="">
Label1.Caption = Str(Val(Text1.Text) * 1.15)
Case ____ (2) ____
Label1.Caption = Str(Val(Text1.Text) * 1.2)
End Select
End Sub
Private Sub Form_Load()
Label1.BorderStyle = 1 End Sub
Private Sub Command2_Click()
End
End Sub
开始
Text1.Text?基本工资
Is < 600="" is="">< 800="" is="">= 800
工资增加10% 工资增加15% 工资增加20%
输出Label1.Caption
?增加后的工资
End Select
结束
第四套 有如下程序段:
s=7
n=4
s=s+n
n=s-n
s=s-n
运行后S的结果是___ (1) _ 有如下程序
x=2
y=4
z=6
x=y
y=z
z=x
运行后z的值是____(1) _ 有如下Visual basic程序段
x=5 mod 2
if x>l then
y=x-2
else
y=x+1
end if
运行后y的值是___ (1) __
程序填空
某商场为了加速促成商品流通,采用购物打折的优惠办法,每位顾客一次购物(1)在100
元以上者,按九五折优惠;(2)在200元以上者,按九折优惠;
为了实现这一目标,完善下面的VB程序,在划线处填入合适的语句或表达式,完成程序设
计(流程图参见图12-5)。
Private Sub Command1_Click()
Dim x As Single, y As Single
x = Val(Text1.Text)
If x < 100="" then="">
y = x
Else
If __ (1) ___Then
y = 0.95 * x
Else
____ (2) _
End If
Text2.Text = y
End If
End Sub
图12-5
范文三:o8m顾客进程的程序段如下
顾客进程的程序段如下:
#include { long mtype; char mtext[256]; }; main() { struct msgform msg;int msgqid,pid,*pint;msgqid=msgget(MSGKEY,0777); /**/建立消息队列pid=getpid(); pint=(int*)msg.mtext;*pint=pid; msg.mtype=1; /**/指定消息类型msgsnd(msgqid,&msg,sizeof(int),0); /*msgqid往发送消息 msg*/ msgrcv(msgqid,&msg,256,pid,0); /*接收来自服务进程的消息 */ printf(“client:receive from pid%d\n”,*pint); } 服务者进程的程序段如下: #include { long mtype; char mtext[256];}msg; int msgqid; main() { int I,pid,*pint;extern cleanup();for( i=0;i<20;i++)>20;i++)> signal(i,cleanup); msgqid=msgget(MSGKEY,0777|IPC_CREAT); /*建立与顾客进 */程相同的消息队列 for(;;) { msgrcv(msgqid,&msg,256,1,0); /**/接收来自顾客进程的消息pint=(int*)msg.mtext;pid=*pint; printf(“sever:receive from pid %d\n”,pid); msg.mtype=pid; *pint=getpid(); msgsnd(msgqid,&msg,sizeof(int),0); /**/发送应答消息} } cleanup(); { msgctl(msgqid,IPC_RMID,0);exit(); } 上机实验步骤: [1]linux在系统下,建立两个虚拟终端。 [2]在一个虚拟终端下,录入和编译服务进程程序,名称可 fw.c;定为 [3]在另一个虚拟终端下,录入和编译顾客进程程序,名称 gk.c;可定为 [4]fwgk先执行可执行文件;再执行可执行文件; [5]gkfw结果是:发送一条程序的消息,在程序下可以接收到一条消息。 考虑上述两个程序中,发送的消息是一个随机的进程标识符。通过修改程序段,可以将键盘输入的字符发送出去,供参考的程序如下: 顾客进程的程序段如下: #include #include #include #define MSGKEY 75 struct msgform { long mtype; char mtext[256]; int pid; }; int main(void) { struct msgform msg; int msgqid,pid,*pint; msgqid=msgget(MSGKEY,0777);pid=getpid(); msg.pid=pid; printf(“Client receive pid=%d\n”,pid); printf(“input you string:”);scanf(“%s”,msg.mtext);msg.pid=1; msgsnd(msgqid,&msg,1024,0); /**/发送应答消息 msgrcv(msgqid,&msg,1024,pid,0); /**接收来自顾客进程的消息 / printf(“Client :receive from pid %d\n”,msg.pid); } 服务者进程的程序段如下: #include #include #include #define MSGKEY 75 struct msgform { long mtype; char mtext[256]; }msg; int msgqid; int main(void) { int I,pid,*pint; extern cleanup(); for( i=0;i<20;i++)>20;i++)> signal(i,cleanup); msgqid=msgget(MSGKEY,0777|IPC_CREAT); /*建立与顾客进 */程相同的消息队列 for(;;) { msgrcv(msgqid,&msg,1024,1,0); /**/接收来自顾客进程的消息//pint=(int*)msg.mtext;//pid=*pint; printf(“sever:receive from pid %d\n”,msg.pid); printf(“sever:receive string %d\n”,msg.mtext); msg.mtype=msg.pid; msg.pid=getpid(); //printf(“you send;”);//scanf(“%s”,msg.mtext);msgsnd(msgqid,&msg,1024,0); /**/发送应答消息} } cleanup(); { msgctl(msgqid,IPC_RMID,0);printf(“interrupt\n”);exit(); } 上机实验步骤: [1]linux在系统下,建立两个虚拟终端。 [2]在一个虚拟终端下,录入和编译服务进程程序,名称可fw.c;定为 [3]在另一个虚拟终端下,录入和编译顾客进程程序,名称 gk.c;可定为 [4]fwgk先执行可执行文件;再执行可执行文件;[5]gkfw在执行程序的时候,给出数字或字符,在程序下可 以接收到该数字或字符。 顾客进程的程序段如下: #include #include #define MSGKEY 75 struct msgform { long mtype; char mtext[256]; }; main() { struct msgform msg; int msgqid,pid,*pint; msgqid=msgget(MSGKEY,0777); /*建立消息队列*/ pid=getpid(); pint=(int*)msg.mtext; *pint=pid; msg.mtype=1; /*指定消息类型*/ msgsnd(msgqid,&msg,sizeof(int),0); /*往msgqid发送消息 msg*/ msgrcv(msgqid,&msg,256,pid,0); /*接收来自服务进程的消息 */ printf(“client:receive from pid%d\n”,*pint); } 服务者进程的程序段如下: #include { long mtype; char mtext[256]; }msg; int msgqid; main() { int I,pid,*pint; extern cleanup(); for( i=0;i<20;i++) 软中断处理*/="" signal(i,cleanup);="" msgqid="msgget(MSGKEY,0777|IPC_CREAT);">20;i++)> 程相同的消息队列*/ for(;;) { msgrcv(msgqid,&msg,256,1,0); /*接收来自顾客进程的消息*/ pint=(int*)msg.mtext; pid=*pint; printf(“sever:receive from pid %d\n”,pid); msg.mtype=pid; *pint=getpid(); msgsnd(msgqid,&msg,sizeof(int),0); /*发送应答消息*/ } } cleanup(); { msgctl(msgqid,IPC_RMID,0); exit(); } 上机实验步骤: [1]在linux系统下,建立两个虚拟终端。 [2]在一个虚拟终端下,录入和编译服务进程程序,名称可定为 fw.c; [3]在另一个虚拟终端下,录入和编译顾客进程程序,名称可定为 gk.c; [4]先执行fw可执行文件;再执行gk可执行文件; [5]结果是:发送一条gk程序的消息,在fw程序下可以接收到一 条消息。 考虑上述两个程序中,发送的消息是一个随机的进程标识符。通 过修改程序段,可以将键盘输入的字符发送出去,供参考的程序如下: 顾客进程的程序段如下: #include #include #include #define MSGKEY 75 struct msgform { long mtype; char mtext[256]; int pid; }; int main(void) { struct msgform msg; int msgqid,pid,*pint; msgqid=msgget(MSGKEY,0777); pid=getpid(); msg.pid=pid; printf(“Client receive pid=%d\n”,pid); printf(“input you string:”); scanf(“%s”,msg.mtext); msg.pid=1; msgsnd(msgqid,&msg,1024,0); /*发送应答消息*/ msgrcv(msgqid,&msg,1024,pid,0); /*接收来自顾客进程的消息*/ printf(“Client :receive from pid %d\n”,msg.pid); } 服务者进程的程序段如下: #include { long mtype; char mtext[256]; }msg; int msgqid; int main(void) { int I,pid,*pint; extern cleanup(); for( i=0;i<20;i++) 软中断处理*/="">20;i++)> signal(i,cleanup); msgqid=msgget(MSGKEY,0777|IPC_CREAT); /*建立与顾客进 程相同的消息队列*/ for(;;) { msgrcv(msgqid,&msg,1024,1,0); /*接收来自顾客进程的消息*/ //pint=(int*)msg.mtext; //pid=*pint; printf(“sever:receive from pid %d\n”,msg.pid); printf(“sever:receive string %d\n”,msg.mtext); msg.mtype=msg.pid; msg.pid=getpid(); //printf(“you send;”); //scanf(“%s”,msg.mtext); msgsnd(msgqid,&msg,1024,0); /*发送应答消息*/ } } cleanup(); { msgctl(msgqid,IPC_RMID,0); printf(“interrupt\n”); exit(); } 上机实验步骤: [1]在linux系统下,建立两个虚拟终端。 [2]在一个虚拟终端下,录入和编译服务进程程序,名称可定为fw.c; [3]在另一个虚拟终端下,录入和编译顾客进程程序,名称可定为gk.c; [4]先执行fw可执行文件;再执行gk可执行文件; [5]在执行gk程序的时候,给出数字或字符,在fw程序下可以接收到该数字或字符。 第八章 查找 P163 具体实现图8-1框图的程序段如下: Void seqsrch(struct node r[],int n,int k) { int i=1; r[n+1].key=k; /*设置边界*/ while (r[i].key!=k) i=i+1; if (i<=n)>=n)> printf("%3d,it is r[%2d]",k,i); else printf("%3d not found",k ); } P164 设表的长度为n,表的被查找部分的头为low,尾为high,初始时,low=1,high=n,k为关键字的值。具体算法如下: Void binsrch(struct node r[ ],int n,int k) { int mid,low,high,find; low=1; high=n;find=0; /*置区间初值*/ while ((low<=high) &&="" (!find))="" {="" mid="(low+high)/2;" 求中点*/="">=high)> if (k= = r[mid].key) find=1; /*已查到*/ else if(k>r[mid].key ) low=mid+1; /*在后半区间查找*/ else high=mid-1; /*在前半区间查找*/ } if (find) return (mid); /*查找成功,返回找到元素的位置*/ else return (0); /*查找不成功,返回0标记*/ } P170 下面是线性探测法的算法,请注意,算法中设立了一个查找的边界值i,当顺序探测已超过表长,则要翻转到表首继续查找,直到查到i位置才是真正的查完全表。为编程方便,令i=j-1。 Define m 100; /*哈希表的长度*/ Struct hash {int key; }HT[m]; Void linehash(struct hash HT[ ],int k,int p) {j=k%p;i=j-1; while ((HT[j].key!=NULL)&&(HT[j].key!=k)&&(j!=i)) j=(j+1)%m; /*解决冲突*/ if (HT[j].key==k) printf("succ!%d,%d\n",k,j); else if (j==i) printf("overflow!\n"); /*溢出*/ else HT[j].key=k; /*插入k*/ } P171 链地址散列表的具体算法描述如下: Define m 100; /*表长*/ Struct node {int key; struct node * next; }HT[m]; Void linkhash(struct node HT[ ],int k,int p) {struct node * p,* r,* s; j=k%p; if(HT[j].key==0) {HT[j].key=k; HT[j].next=NULL; } else if(HT[j].key==k) printf("succ!%d,%d\n",j,k); else {q=HT[j].next; while(q!=NULL)&&(q->key!=k) {r=q; q=q->next; } if(q==NULL) {s=(struct node *)malloc(sizeof(struct node)); s->key=k; s->next=NULL; r->next=s; } else printf("succ!%d,%d\n",j,k); }范文四:顾客进程的程序段如下
范文五:具体实现图8-1框图的程序段如下