计算机软件水平考试初级程序员模拟试题Word文件下载.docx
《计算机软件水平考试初级程序员模拟试题Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机软件水平考试初级程序员模拟试题Word文件下载.docx(5页珍藏版)》请在冰豆网上搜索。
longfactor(intm,intfac[],int*cp)
{
intc1,c2,i,k;
longs;
fac[0]=1;
for(c1=s=1,c2=N-1,____
(1)____;
;
)
k=m/i;
if(____
(2)____)
if(____(3)____)
{fac[c1++]=i;
fac[c2--]=k;
s+=i+k;
}
else{
fac[c1++]=i;
s+=i;
i++;
if(i>
=k)brdak;
for(c2++;
c2<
=N-1;
c2++)
____(4)____;
*cp=c1;
return____(5)____;
答案:
1)3分i=2,或cl+1
2)3分m%i==0(或!
(m%i)或m==i*k)
3)3分i!
=k(或i<
k)
4)3分fac[cl++]=fac[c2]
答cl++给1分,‘=’左右只对一半给1分。
5)3分s
1.以下不是c语言规定保留字的是()。
(1)float
(2)integer
(3)signed
(4)unsigned
2.设int型变量x有初始值3,则表达式x++*5/10的值是()
(1)0
(2)1
(3)2
(4)3
3.下述程序执行后的输出结果是( )
#include
main()
intx=’f’;
printf("
%%c\n"
’a’+(x-’a’+1));
(1)G
(2)H
(3)I
(4)J
4.设有程序,整理!
inti,j;
for(i=0,j=1;
i<
=j+1;
i+=2,j--)
%d\n"
i);
在运行上述程序时,for语句中循环体的执行次数是()
(1)3
(2)2
(3)1
(4)0
5.在下述选项时,没有构成死循环的程序是()
(1)inti=100
while
(1)
i=i0+1;
if(i>
100)
break;
(2)for(;
);
(3)intk=1000;
do
++k;
}while(k>
=10000);
(4)ints=36;
while(s);
--s;
答案:
1.
(2)2.
(2)3.
(1)4.(3)5.(3)
1.假定a和b为int型变量,则执行下述语句组后,b的值为()。
a=1;
b=10;
b-=a;
a++;
}while(b--<
0);
(1)9
(2)-2(3)-1(4)8
2.设有变量说明语句
inta=1,b=0;
则执行以下程序段的输出结果为()。
switch(a)
case1:
switch(b)
case0:
printf("
**0**"
break;
**1**"
case2:
**2**"
\n"
(1)**0**
(2)**0****2**(3)**0****1****2**(4)有语法错误
3.以下合法的数组说明是()。
(1)chara[6]="
string"
(2)inta[5]={0,1,2,3,4,5};
(3)chara="
(4)INTa[]={0,12,3,4,5};
4.下述程序代码中有语法错误的行是()。
inti,ia[10],ib[10];
/*第一行*/
for(i=0;
=9;
i++)/*第2行*/
ia=0;
/*第3行*/
ib=ia;
/第4行*/
(1)第1行
(2)第2行(3)第3行(4)第4行
5.若已定义
inta[9],*p=a;
提示:
在以后的语句中未改变p的值,则不能表示a[1]地址的表达式是()。
(1)p+1
(2)a+1(3)a++(4)++p
1.(4)2.
(2)3.(4)4.(4)5.(3)