度初级程序员级下午试题.docx
《度初级程序员级下午试题.docx》由会员分享,可在线阅读,更多相关《度初级程序员级下午试题.docx(12页珍藏版)》请在冰点文库上搜索。
![度初级程序员级下午试题.docx](https://file1.bingdoc.com/fileroot1/2023-5/24/c9391913-42a8-468d-9cc0-026510cc7a3e/c9391913-42a8-468d-9cc0-026510cc7a3e1.gif)
度初级程序员级下午试题
2001年度初级程序员级下午试题
[程序1.2]..joxue.
#include..joxue.
voids(intb[],intn)..joxue.
{inti,j,t,flg;..joxue.
for(i=0;in-1;i++){..joxue.
for(flg=O,j=0;jn-i-1;i++)..joxue.
if(b[j]b[j+l]){..joxue.
t=b[j];b[j]=b[j+1];b[j+l]=t;..joxue.
flg=1..joxue.
}..joxue.
if(!
flg)break..joxue.
}..joxue.
}..joxue.
main()..joxue.
{inti,a[]={11,9,2,5,3,7};..joxue.
s(a,6);..joxue.
for(i=O;ii++)printf("%4d",a[i]);..joxue.
printf("\n");..joxue.
}..joxue.
程序1.2的输出结果是__
(2)__;函数s(intb[],intn)的功能是__(3)__..joxue.
[程序1.3]..joxue.
#include..joxue.
intm(unsignedk)..joxue.
{ints=1;..joxue.
do{s*=k%10;..joxue.
k/==10;..joxue.
}while(k);..joxue.
returns;..joxue.
}..joxue.
main()..joxue.
{printf("%d,%d\n",m(1234),m(43209));}..joxue.
程序1.3的输出结果是__(4)__;函数m(unsignedk)的功能是__(5)__。
..joxue.
试题二..joxue.
以下是用VisualBasic开发应用有关的5个问题。
对每一个问题,请将解答填入答题纸..joxue.
的对应栏内。
..joxue.
(1)为使用户单击某窗口(窗体名为frm1)时,会显示一行信息:
“欢迎光临!
”,应在..joxue.
该窗体的哪个事件过程中,编写什么样的程序代码?
请写出相应的事件过程名以及该过程内的..joxue.
程序代码。
..joxue.
(2)若某窗口内的命令按钮“加倍”具有如下的功能:
将文本框txt1中输入的数值加倍..joxue.
后,在文本框txt2中显示其结果,请写出该命令按钮的单击事件过程内的程序代码?
..joxue.
(3)若某窗口(窗体名为frm1)中,有一个文本框和一个命令按钮,只要在文本框中输..joxue.
入一个图像文件名(包括路径),单击该命令按钮后,该图像就会成为此窗口的背景图像。
请写..joxue.
出该命令按钮单击事件过程内的程序代码。
..joxue.
(4)为使某窗口中的命令按钮“取消[C]”,具有如下的功能:
按键Alt+C或按键“ESC”,..joxue.
都相当于单击该按钮,应怎样实现?
..joxue.
(5)请说明如下语句的功能:
..joxue.
MsgBox"请检查修改输入数据!
",vbOKOnly+vbCritcal+vbDefaultBUtton1,_..joxue.
"数据错"..joxue.
试题三..joxue.
阅读下列说明和C代码,将应填入__(n)__处的字句写在答题纸的对应栏内。
..joxue.
[程序3.1说明]..joxue.
本程序输入一字符串,并将其中的大写字母改变成小写字母。
..joxue.
[程序3.1]..joxue.
#include..joxue.
voidmain()..joxue.
{inti=0;..joxue.
chars[120];..joxue.
printf("Enterastring.\n");..joxue.
scanf("%s",s);..joxue.
while(__
(1)__){..joxue.
if(__
(2)__)..joxue.
s[i3=s[i]-'A'+'a';..joxue.
i++;..joxue.
}..joxue.
printf("%s\n",s);..joxue.
}..joxue.
[函数3.2说明]..joxue.
本函数用二分法,在已按字母次序从小到大排序的字符数组list[len]中,查找字符c,..joxue.
若c在数组中,函数返回字符c在数组中的下标,否则返回-1。
..joxue.
所谓二分法查找是:
初始查找区间的下界为0,上界为len-1,查找区间的中后..joxue.
k=(下界+上界)/2;若list[k]等于c,查找成功;若list[k]c,..joxue.
则新的查找区间的下界不变,上界改为k-1;否则新的查找区间的下界改为k+1,..joxue.
上界不变。
在新区间内继续用二分法查找。
..joxue.
[函数3.2]..joxue.
intsearch(charlist[],charc,'intlen)..joxue.
{intlow=0,high=len-1,k;..joxue.
while(__(3)__){..joxue.
k=(low+high)/2;..joxue.
if(__(4)__)returnk;..joxue.
elseif(__(5)__)high=k-1;..joxue.
elselow=k+l;..joxue.
}..joxue.
return-1;..joxue.
}..joxue.
试题四..joxue.
阅读下列VisualBasic程序,将应填入__(n)__内的字句写在答题纸的对应栏内。
..joxue.
[程序代码4.1]..joxue.
设应用程序窗体中有一个文本框txt,还有一个复选框ck1。
这个复选框单击事件的..joxue.
程序代码如下:
..joxue.
PrivateSubckl_Click()..joxue.
Ifckl.Value=vbChecked..joxue.
Txt.FontBold=True..joxue.
Else..joxue.
Txt.FontBold=False..joxue.
Endif..joxue.
EndSub..joxue.
该应用程序中,复选框ck1的功能是:
__
(1)__..joxue.
[程序代码4.2]..joxue.
Functiongcd(ByValxAsInteger,ByValyAsInteger)AsInteger..joxue.
Dowhiley0..joxue.
Reminder=xmody..joxue.
y=reminder..joxue.
Loop..joxue.
Gcd=x..joxue.
EndFunction..joxue.
该函数过程的功能是__
(2)__;gcd(16,24)的值是__(3)__。
..joxue.
[程序代码4.3]..joxue.
DimlocationAsInteger,nAsInteger,sourceAsString,targetAsString..joxue.
Source="Eastandwest,homeisbest!
":
target="st"..joxue.
Location=1:
n=0..joxue.
Location=InStr(location,Source,target)+l..joxue.
DoWhilelocation1..joxue.
n=n+l..joxue.
Location=InStr(location,Source,target)+l..joxue.
Loop..joxue.
Printn..joxue.
其中函数InStr的功能是在给定的字符串(第2个参数给出)中,从指定的序号位置..joxue.
(第1个参数给出)开始,查找目标字符串(第3个参数给出)。
若找到,则返回找到之..joxue.
处的序号位置;若未找到,则返回0。
..joxue.
上述程序代码的功能是:
__(4)__;上述程序代码运行的结果是:
__(5)__。
..joxue.
试题五..joxue.
阅读下列程序说明和C代码,将应填入__(n)__处的字句写在答题纸的对应栏内4..joxue.
[程序5说明]..joxue.
本程序找出正文文件"st.dat"中的各个不同整数。
该正文文件中各整数间以空格字符、的..joxue.
TAB符(制表符)、的回车符分隔。
程序中用数组b[]存储不同的整数,变量k为已存入数..joxue.
组b中的不同整数的个数,并假定文件中的不同整数个数不超过1000个。
..joxue.
[程序5]..joxue.
#include..joxue.
#defineN1000..joxue.
main()..joxue.
{FILE__
(1)__;..joxue.
intb[N],d,i,k;..joxue.
if((fpt=__
(2)__)==NULL){/*以读方式打开文件*/..joxue.
printf('Cannotopenfile.\nm);..joxue.
return;..joxue.
}..joxue.
k=O;..joxue.
while(fscanf(__(3)__)==1){/*从文件中读一个整数*/..joxue.
b[k]=d;..joxue.
for(i=0;b[i]!
=d;i*+);..joxue.
if(__(4)__)k++;..joxue.
(5);..joxue.
for(i=0;ii++)printf("%d",b[i]);..joxue.
printf("\n");..joxue.
试题六..joxue.
阅读以下应用说明以及用VisualBasic开发过程中进行的属性设置和所编写的程序代..joxue.
码,将应填入__(n)__处的字句写在答题纸的对应栏内。
..joxue.
[应用说明]..joxue.
本应用程序的运行窗口如下图所示:
..joxue.
..joxue.
%20%20%20%20用户只要在文本框中输入一个自然数%20(%20例如%2016%20),再用鼠标单击“倒计数”按钮或..joxue.
直接按%20Enter%20键,都能使文本框中的数字每隔%200.3%20秒逐次减%201%20(%20倒计数%20)。
当减到%200%20..joxue.
时,倒计数停止,文本框清空,鼠标定位在文本框中,以便于反复试验上述操作过程。
..joxue.
%20%20%20在开发过程中,需要设置有关的属性如下:
..joxue.
[属性设置]%20..joxue.
对象%20..joxue.
%20%20%20%20%20对象名%20..joxue.
%20%20%20%20%20属性名%20..joxue.
%20%20%20%20%20属性值设置%20..joxue.
%20..joxue.
窗体%20..joxue.
%20Frm%201%20..joxue.
%20Caption%20..joxue.
%20倒计数试验%20..joxue.
%20..joxue.
标签%20..joxue.
%20Lalel%201%20..joxue.
%20Caption%20..joxue.
%20请输入自然数%20..joxue.
%20..joxue.
文本框%20..joxue.
%20Text%201%20..joxue.
%20Text%20..joxue.
%20%20%20(空白)%20..joxue.
%20..joxue.
命令按钮%20..joxue.
%20Commandl%20..joxue.
%20Caption%20..joxue.
%20倒计数%20..joxue.
%20..joxue.
%20%20%20..joxue.
%20__
(1)__%20..joxue.
%20True%20..joxue.
%20..joxue.
定时器%20..joxue.
%20Timer%201%20..joxue.
%20enabled%20..joxue.
%20False%20..joxue.
%20..joxue.
%20%20..joxue.
%20%20%20..joxue.
%20interval%20..joxue.
%20__
(2)__%20..joxue.
%20..joxue.
[程序代码]..joxue.
%20%20%20%20Private%20Sub%20Commandl_Click%20(%20)..joxue.
%20%20%20%20%20%20%20__(3)__%20..joxue.
%20%20%20%20End%20Sub..joxue.
%20%20%20%20Private%20Sub%20Timerl_Timer%20(%20)..joxue.
%20%20%20%20%20%20%20%20If%20Val(%20Textl.Text)%20=%200#Then..joxue.
Textl.text="color="white"?
..joxue.
scanf("%s",s);..joxue.
len=strlen(s);..joxue.
for(i=maxc=0;ilen;i++){/*尝试不同的剪开方式*/..joxue.
c=count(s,0,len-1);..joxue.
if(clen)c+=count(__(n)__);..joxue.
if(cmaxc){cut=i;maxc=c;}..joxue.
/*数组s的元素循环向左移动一个位置*/..joxue.
t=s[0];..joxue.
for(j=1;jlen;j++)__(4)__;..joxue.
__(5)__;..joxue.
}..joxue.
printf("在第%d号珠子前面剪开,可以取走制个珠子.\n",cut,maxc);..joxue.
}..joxue.
..joxue.
试题八..joxue.
阅读以下应用说明以及用VisualBasic开发过程中所编写的程序代码,将应填人..joxue.
__(n)__处的字句写在答题纸的对应栏内。
..joxue.
[应用说明]..joxue.
本应用程序的运行窗口如下图所示:
..joxue.
[img]http:
//bjyjg./tj/netvan/images/cc01x2.jpg"border=0..joxue.
只要用户在字体列表框、的字号列表框中选择所需的字体、的字号,在预览框中就能看到示..joxue.
例文字按所需的字体、的字号显示。
..joxue.
设字体列表框、的字号列表框的名称分别为Listl和List2,示例文字为标签Labell,..joxue.
其BorderStyle属性设置为1(有单边线)。
..joxue.
字体列表框中的字体与字号列表框中的字号都需要在该窗口加载时装入。
..joxue.
已知屏幕对象Screen的属性Fonts中存放着系统所具有的一系列字体名,可从..joxue.
Fonts(0),Fonts
(1),Fonts
(2),...,中获得各个字体名。
Screen对象的属性FontCount..joxue.
存放着这些字体名的总数。
..joxue.
字号列表框中,列出的字号依次是:
8,9,10,11,12,以及14,16,18,...,72。
..joxue.
Addltem是在列表框中增项的方法,列表框的属性Text表明了该列表框当前所选中..joxue.
的数据项。
标签的字体显示取决于属性FontName的值(字符串),标签的字号显示取决..joxue.
于属性FontSize的值(数值)。
..joxue.
[程序代码]..joxue.
PrivateSubFormLoad()..joxue.
DimiAsInteger..joxue.
Fori=0To=__
(1)__..joxue.
Listl.AddItem__
(2)__..joxue.
Nexti..joxue.
Fori=8To12..joxue.
List2.AddItemTrim(Str(i))..joxue.
Nexti..joxue.
Fori=__(3)__..joxue.
List2.AddItemTrim(Str(i))..joxue.
Nexti..joxue.
EndSub..joxue.
PrivateSubListl_Click()..joxue.
Labell.FontName=__(4)__..joxue.
EndSub..joxue.
PrivateSubList2Click()..joxue.
Labell.FontSize=__(5)__..joxue.
EndSub..joxue.
2001年度初级程序员级下午试题相关内容: