软考笔记Word格式文档下载.docx
- 文档编号:5125876
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:59
- 大小:47.70KB
软考笔记Word格式文档下载.docx
《软考笔记Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《软考笔记Word格式文档下载.docx(59页珍藏版)》请在冰点文库上搜索。
答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.设有程序,
#include
inti,j;
for(i=0,j=1;
i《=j+1;
i+=2,j--)
printf(“%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;
case1:
printf(“**1**”);
case2:
printf(“**2**”);
printf(“\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=“string”;
(4)INTa[]={0,12,3,4,5};
4.下述程序代码中有语法错误的行是()。
inti,ia[10],ib[10];
/*第一行*/
for(i=0;
i《=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)
2设有变量说明语句
并在以后的语句中未改变p的值,则不能表示a[1]地址的表达式是()。
所谓水仙花数是指一个三位正整数,其各位数字的立方之和等于该正整数。
例如编写程序,求得并输出全部水仙花数的个数。
请填空完善程序。
inthun,ten,one;
/*百位数、十位数、个位数*/
intnum,count=0;
for(num=100;
_____
(1)_____;
num++)
hum=________
(2)_________;
ten=________(3)_________;
one=________(4)_________;
if(____________________)
printf(“]”,num);
count++;
printf(“No.=%d\n”,count);
(1)num《1000(或num《=999)
(2)num/100
(3)(num-hun*100)/10
(4)num
(5)num==hun*hun*hun+ten*ten*ten+one*one*one
(或hun*100+ten*10+one==hun*hun*hun+ten*ten*ten+one*one*one)
请写出执行下述程序的输出结果。
inti=100,j=34,k=-63,m=4;
intu=-15,v=71,w=27;
i+=j;
j-=k;
k*=-m;
m/=3*j-1;
u%=v-2*w;
printf(“i=%d,j=%d,k=%d,m=%d,u=%d”,i,j,k,m,u);
i=134,j=97,k=252,m=0,u=-15
阅读下述程序,写出运行结果。
inta,y;
a=10;
y=0;
a+=2;
y+=a;
printf(“a=%d,y=%d\n”,a,y);
if(y》20)
}while(a=14);
printf(“a=%d\n”,a);
a=12y=12
a=16y=28
a=16
首先第一次的结果不用说了?
需要的话,请先把C的书再读一遍先!
接着大家要看仔细,if(y》20)break;
难点在此,意思是当上面的Y》20时结束这一段,再去判断While的条件,所以这里会接着加,a=12+2=14y=14+12=26ok!
26》20,我们去判断while的条件吧,a=14,此时a就正好=14,再次循环·
a=14+2=16y=12+16=28,然后28》20跳出,a不等于14再次跳出,执行最后一句输出,a=16
#include
staticinta[5][5]={
{1,2,3,4,0},
{2,3,4,0,6},
{3,0,1,7,5},
{0,0,2,4,1},
{8,4,3,2,7}
};
i《5;
i++)
for(j=0;
j《5;
j++)
if(a[j]==0)
printf(“M”,a[j]);
1234
234
3
84327
个人解析下:
首先我们从for(j=0;
j++)看起,往下是
把a[5][5]二维数组中的每列中从左至右第一个为零的数之前的数输出!
i++)就是5行
fun(char*w,intn)
chart,*sl,*s2;
s1=w;
s2=w+n-1;
while(s1 {
t=*s1++
*s1=*s2--
*s2=t;
char*p;
p=“1234567”;
fun(p,strlen(p));
puts(p);
1711717
主要是认清楚S1=?
S2=?
首先S1=W,这S1存的是字符串W的首地址,而S2=W+N-1=P+7-1OK,也就是W中最后一个字符的地址·
阅读下列函数说明和C函数,将应填入__(n)__处的字句写在答题纸的对应栏内。
[函数1.1说明]
函数palindrome(chars[])的功能是:
判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。
若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:
“LEVEL”是回文字符串,而“LEVAL”不是。
[函数1.1]
intpalindrome(charS[])
{char *pi,*pj;
pi=S;
pj=s+strlen(S)-1:
while(pi pi++;
pj--;
if(__
(2)__)return-1;
elsereturn0;
[函数1.2说明]
函数f(char*str,chardel)的功能是;
将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。
例如若str的值为“33123333435”,del的值为‘3’,调用此函数后,将输出三个子字符串,分别为“12”、“4”和“5”。
[函数1.2]
voidf(char*str,chardel)
{inti,j,len;
len=strlen(str);
i=0;
while (i while (__(3)__) i++;
/*忽略连续的标志字符*/
/*寻找从str开始直到标志字符出现的一个子字符串*/
j=i+1;
while(str[j]!
=del&
&
str[j]!
=’\0’)j++;
__(4)__=“\0”;
/*给找到的字符序列置字符串结束标志*/
printf(“%s\t”,&
str):
’
__(5)__;
(1)*pi==*pj
(2)pi (3)str==del
(4)str[j]
(5)i=j+1
首先看第一题条件:
pi=S;
pi就是首地址啦,pj就是末地址啦,我们需要把第一个和最后一个比较,第二和倒二比·
·
。
.OK,那while(pi 第二题,有注释哦·
不懂就提出来·
不过偶想大家都会滴·
阅读以下说明和C代码,将应填入__(n)__处的字句写在答题纸的对应栏内。
[说明]
函数MultibaseOutput(longn,intB)的功能是:
将一个无符号十进制整数n转换成B(2≤B≤16)进制数并输出。
该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。
有关栈操作的诸函数功能见相应函数中的注释。
C代码中的符号常量及栈的类型定义如下:
#defineKAXSIZE32
typedefstruct{
int*elem;
/*栈的存储区*/
intmax;
/*栈的容量,即找中最多能存放的元素个数*/
inttop;
/*栈顶指针*/
}Stack;
[C代码]
intlnitStack(Stack*S,intn) /*创建容量为n的空栈*/
{S-》elem=(int*)matloc(n*sizeof(int));
if(S-》elem==NULL)return-1;
S-》max=n;
__
(1)__=0;
return0;
intPush(Stack*S,intitem) /*将整数item压入栈顶*/
{if(S-》top==S-》max){printf(“Stackisfull!
\n”);
return-1;
}
__
(2)__;
item;
intStackEmpty(StackS){return(!
S.top)?
1;
0;
) /*判断栈是否为空*/
intPop(Stack*S) /*栈顶元素出栈*/
{if(!
S-》top){printf(“Popanemptystack!
return__(3)__;
voidMultibaseOutput(longn,intB)
{intm;
StackS;
if(initStack(&
S,MAXSIZE)){printf(“Failure!
return;
do{
if(Push(&
s,__(4)__)){printf(“Failure!
n=__(5)__:
}while(n!
=0);
while(!
StackEmpty(S)) { /*输出B进制的数*/
m=Pop(&
S);
if(m《10)printf(“Kd”,m);
/*小于10,输出数字*/
elseprintf(“%c,m+55);
/*大于或等于10,输出相应的字符*/
printf(”\n“);
(1)S-》top
(2)S-》elem[S-》top++]·
(3)S-》elem[-S-》top]
(4)n%B
(5)n/B
在COMET型计算机上可以使用试卷上所附的CASL汇编语言。
阅读下列程序说明和CASL程序,把应填入程序中__(n)__处的字句,写在答卷的对应栏内。
这是一个在某项比赛中计算每一位选手最终得分的子程序。
计分办法如下:
(1)十名评委,在0~100的整数范围内给选手评分。
(2)十个得分中,除去一个最高分(如有同样两个以上最高分也只除去一个),除去一个最低分(如有同样两个以上最低分也只除去一个),剩下的八个得分取平均值为该选手的最终得分。
(平均值按四舍五入原则取成整数)
进入此子程序时,GR1内存放十个评委评分的起始地址。
返回主程序时,该选手的得分存放在GR0内,GR1~GR3中的值均保持不变。
[问题]
在程序中的①~⑧处各填入一条正确的指令,以完成此程序。
除非必要,标号栏不要填写。
标号操作码操作数
FINALSTART
PUSH0,GR1
PUSH0,GR2
PUSH0,GR3
LDGR0,0,GR1
STGR0,MAX
STGR0,MIN
__①__
NEXTLEAGR2,-1,GR2
JZEMEAN
__②__
LDGR3,0,GR1
__③__
CPAGR3,MAX
JMIGOONl
STGR3,MAX
GOONlCPAGR3,MIN
JPZGOON2
STGR3,MIN
GOON2__④__
MEANSUBGR0,MAX
SUBGRO,MIN
__⑤__
SRAGR0,3
__⑥__
__⑦__
__⑧__
RET
MAXDS1
MINDS1
FOURDC4
END
(1)LEAGR2,10
(2)LEAGR1,1,GR1
(3)ADDGR0,0,GR1
(4)JMPNEXT
(5)ADDGR0,FOUR
(6)POPGR3
(7)POPGR2
(8)POPGR1
阅读以下程序说明和C程序,将应填入程序中(n)处的字句,写在答卷的对应栏内。
本程序为六个整型变量A、B、C、D、E、F输入整数,并按从大到小的顺序输出它们的名和值。
如某次A、B、C、D、E、F的输入值为3、2、5、7、4、6,则程序将输出:
D(7)F(6)C(5)E(4)A(3)B
(2)
#defineNsizeoftbl/sizeoftbl[0]
intA,B,C,D,E,F;
structele{
charvn;
int*vp;
}tbl[]={{‘A’,&
A},{‘B’,&
B},{‘C’,&
C},
{‘D’,&
D},{‘E’,&
E},{‘F’,&
F}},
t;
intk,j,m;
for(k=0;
k {
printf(“Enterdatafor%\n”,tbl[k].vn);
scanf(“%d”,__
(1)__);
m=N-1;
/*采用冒泡法排序*/
white(m》0)
for(k=j=0;
j《m;
j++)/*比较直至上轮循环的最后交换前*/
if(__
(2)__)
t=tb1[j];
tb1[j]=tb1[j+1];
tb1[j+1]=t;
__(3)__;
m=__(4)__;
/*本框填m-1不给分*/
for(k=0;
k《N;
k++)
printf(”%c(%d)”,____(5)____,____(6)____);
(1)tbl[k].vp(2分)
(2)*tbl[j].vp《*tbl[j+1].vp(3分)
(3)k=j(3分)
(4)k或k++或k--(3分)
(5)tbl[k].vn(2分)
(6)*tbl[k].vp(2分)
●试题
阅读以下应用说明、属性设置及VisualBasic程序代码,将应填入(n)处在字句写在答题纸的对应栏内。
【说明】
只要用户单击“闪烁”按钮,文字“欢迎光临”就会以0.3秒消失、0.3秒显示反复进行闪烁;
单击“停止”按钮时,闪烁停止,恢复图示的初态。
在开发过程中,需要编写的程序代码如下:
【程序】
PrivateSubCmdF_Click()
Timer1.(3)=True
Labe1.Visible=False
EndSub
PrivateSubTimer1_Timer()
(4)=notLabel.Visible
PrivateSubCmdT_Click()
Timer1.En
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 笔记