}
intsymm(longn)
{longi,m;
i=n;m=0;
while(②)
{③;
i=i/10;
}
return(m==n);
}
2、①symm(m)&&symm(m*m)&&symm(m*m*m)
②i!
=0③m=m*10+i%10
3.已知head指向一个单向链表,如下图:
主程序中调用add函数能求出链表中所有结点数据域的和sum并返回。
structlink
{intdata;
structlink*next;
}
intadd(structlink*heak)
{structlink*p;
ints=0;
p=①;
while(p)
{s+=②;
p=③;
}
return(s);
}
voidmain()
{structlink*head;
……/*表示省掉的程序段,创建链表*/
sum=add(head);
printf("%d\n",sum);
}
3、①head②p->data③p->next
4.下面程序功能是统计文本data.txt中各种大写字母的个数,将统计结果存放在数组count中,(字母'A'的个数存入count[0]中,字母'B'的个数存入count[1]……依此类推),输出统计结果,一行输出5个。
请填空。
#include
#include
voidmain()
{FILE*fp;
staticintcount[26]={0};
inti;
charch;
if(①)
{printf("Cannotopenthefile!
\n");
exit(0);
}
while(!
feof(fp))
{②;
if(ch>='A'&&ch<='Z')count[③]++;
}
for(i=0;i<26;i++)
{
if(i%5==0)printf("\n");
printf("count[%d]=%-5d",count[i]);
}
fclose(fp);
}
4、①(fp=fopen("data.txt","r"))==NULL
②ch=fgetc(fp)③ch-'A'
5.下面程序的功能是输入两个字符串a和b和一个标志flag,当flag=0时,将b连在a后;当flag=1时,将a连在b后;否则返回空指针。
请填空。
#include
#include
char*stradd(char*s,char*t,intf)
{char*p;
if(f==0)
{p=s;
s+=strlen(s);
①;
}
elseif(f==1)
{p=t;
while(*t++);
t--;
while(*s)
*t++=*s++;
②;
}
③;
returnp;
}
voidmain()
{chara[100],b[100],*str;
intn;
printf("Inputstringaandb:
\n");
gets(a);
gets(b);
printf("Inputflag:
");
scanf("%d",flag);
str=stradd(a,b,n);
printf("Output:
%s\n",str);
}
5、①while(*s++=*t++)②*t='\0'③elsep=NULL
四川省普通高等学校计算机应用知识和能力
第二十一次等级考试
二级(C与C++语言)笔试试卷
第一部分
软件技术基础
(共15分)
一、是非判断题(每小题1分,共10分)
1.应用程序在执行过程中,需要通过打印输出数据时,一般先形成一个打印作业,将其存放在硬盘中的一个指定队列中。
当打印空闲时,就会按先来后服务的方式从中取出待打印的作业进行打印。
(1)
2.若无进程牌运行状态,则就绪队列和等待队列均为空。
(2)
3.多道程序设计是指在一台处理上迸发运行多个程序逻辑。
(3)
4.黑盒法是软件测试方法中的静态测试方法之一。
(4)
5.软件的详细设计就是要编写出具体的程序。
(5)
6.软件生命周期中花费最多的阶段是软件维护。
(6)
7.Windows是单用户多任务操作系统,UNIX是多用户多任务操作系统。
(7)
8.进程把程序作为它的运行实体,没有程序也就没有进程。
(8)
9.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:
结构化语言、判定表和判定树。
(9)
10.作业调度程序从后备队列中选一个作业装入主存后,决定能否占用处理机的是设备调度程序。
(10)
1~10:
BBABB ABBAB
二、单项选择题(1分/小题,共5分)
1.交换技术是在(11)之间交换程序和数据。
11(A)主内存与CPU(B)CPU与外设
(C)主内存与外存(D)外存与CPU
2.以下的工具中哪个不是软件详细设计中使用的工具(12)。
12(A)数据流图(B)N-S图
(C)PDA图(D)PDL语言
3.任何两个并发进程之间(13)。
13(A)一定存在互斥关系(B)一定存在同步关系
(C)一定彼此独立无关(D)可能存在同步或互斥关系
4.进程从运行状态进入就绪状态的原因可能是(14)。
14(A)被选中占有处理机(B)等待某一事件
(C)等待的事件已发生(D)时间片用完
5.算法指的是(15)。
15(A)计算机程序(B)解决问题的有限运算序列
(C)排序算法(D)解决问题的计算方法
1~5:
CCDDB
第二部分
C与C++语言程序设计
(共85分)
一、单项选择题(每小题1分,共10分)
1.以下程序运行后,输出结果是(16)。
main()
{inta=1,b=2,m=0,n=0,k;
k=(n=b>a)||(m=a
printf(“%d,%d\n”,k,m);
}
16(A)0,0(B)0,1(C)1,0(D)1,1
2.以下程序输出的结果是(17)。
main()
{intm=5;
if(m++>5)
printf(“%d”,m++);
else
printf(“%d”,m--);
}
17(A)7(B)6(C)5(D)4
3.下列程序运行的结果是(18)。
main()
{int