四川省第30次计算机二级考试(讲解稿最终版)[1](1)(7)

2019-05-18 21:29

四川省计算机二级考试培训讲义(内部资料)

main()

{

struct date { int year,month,day;

}today; union {

long i; int k; char c;

}mix;

printf(\ //date=6 printf(\ //mix=4

}

10.读下面程序,程序命名为MyCopy.c /*----MyCopy.c------*/ #include

void main(int argc,char *argv[]) {

if(argc!=3)

printf(\else {

FILE *source,*destin;

source=fopen(argv[1],\destin=fopen(argv[2],\

if(source==NULL)

printf(\else if(destin==NULL)

printf(\else {

while(!feof(source)) fputc(fgetc(source),destin); }

fclose(source); fclose(destin);

} }

程序功能:将磁盘文件的信息显示在屏幕上

- 29 -

四川省计算机二级考试培训讲义(内部资料)

当键入:MyCopy FILE1 FILE2 则程序将实现将一个FILE1复制到FILE2中

三、程序填空

1.以下程序的功能是将磁盘文件a.dat中的10个整数读入并进行升序排序 #include “stdio.h” void sort(int *p,int n) {

int i,j,t;

for(i=0;i

int a[10],i,j,t; FILE *fp;

for(i=0;i<10;i++) fscanf(fp,”%d”,&a[i]); fclose(fp); for(i=0;i<10;i++) printf(“%d”,a[i]); printf(“\\n”); sort(a,10); for(i=0;i<10;i++) printf(“%d”,a[i]); printf(“\\n”); }

2.下列程序用递归算法实现,输入任意一个整数,在各数位之间插入空格后输出. #include main() {

long int n;

void func(long); scanf(“%ld”,&n); fun(n); }

void func(long int m) {

if(m>=10) func(m/10); printf(“ %d”,m);

- 30 -

四川省计算机二级考试培训讲义(内部资料)

}

3.程序功能:有10个数按升序放在一个数组中,输入一个数,要求用折半查找该数是数组中的第几个元素,如果该数不在数组中,打印出”NO”.折半查找法:设数组长度为n,则将输入的数m与a[n/2]比较,若ma[n/2],则将a[n/2]到a[n]的数继续折半进行查找. #include main() {

int a[10]={12,32,45,62,71,76,80,85,90,95}; int num,bott,top,mid; printf(“Input a number:\\n”); scanf(“%d”,&num); bott=0; top=9;

while(bott<=top) {

mid=(bott+top)/2; if(num= =a[mid]) {printf(“%d is the %d number\\n”,num,mid+1);break;} else if(num

if(bott>top) printf(“N0\\n”); }

4有两个字符串str1和str2,将str1和str2对应字符中ASCII码值较大者存入字符数组str3的对应位置,若str1和str2长度不一致,则将较长字符串中剩余字符直接连接到str3的末尾.例如:str1存放字符串”abaxef”,str2存放字符串”bac”,则str3中的字符串为”bbcxef”. #include #include main() {

int i;

char str1[80],str2[80],str3[80]=” ”; char *p1,*p2; p1=str1; p2=str2;

gets(str1);gets(str2);

for(i=0;*(p1+i)!=’\\0’&&*(p2+i)!=’\\0’;i++)//str[i]!=’\\0’&&str2[i]!=’\\0’ {

if(*(p1+i)>*(p2+i)) str3[i]=*(p1+i); else str3[i]=*(p2+i);

- 31 -

四川省计算机二级考试培训讲义(内部资料)

}

if(*(p1+i)!=’\\0’) strcat(str3,p1+i);//str[i]!=’\\0’ else strcat(str3,p2+i);//strcat(str3,str2+j) printf(“Result:%s\\n”,str3); }

5.下面程序的功能是计算100至1000之间有多少个数其各位数字之和是5 #include void main() {

int i,s,k,count=0; for(i=100;i<=1000;i++) { s=0; k=i; while(k) { s=s+k; k=k/10;

}

if(s!=5) continue; else count++; }

cout<

真题三

第一部分 软件技术基础 (共15分)

一、是非判断题(每小题1分,共10分)

(判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B) 1、数据在计算机内存中的表示是指数据的存储结构。A 2、能影响中断响应次序的技术是中断优先级和中断屏蔽。A 3、链表可以随机访问任意一个结点,而顺序表则不能。B

4、作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。B

- 32 -

四川省计算机二级考试培训讲义(内部资料)

5、Windows、OS/2,Linux微机操作系统都是多用户多任务操作系统。B

6、数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机的。A

7、流式文件和记录式文件都以字符为基本单位进行存取。B 8、不定长文件是指字段的长度不固定。B

9、软件工程的三要素包括方法、工具和环境。B

10、软件结构是以指令为基础而组成的一种控制层次结构。B

二、选择题(每小题1分,共5分)

1、若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能出栈的序列是(C A、1,4,3,2 B、2,3,4,1

C、3,1,4,2

D、3,4,2,1 2、任何两个并发进程之间(D ) A、一定存在互斥关系

B、一定存在同步关系

C、一定彼此独立无关 D、可能存在同步或互斥关系 3、以下哪个特征不是分时操作系统的主要特征( C ) A、中断管理 B、独立性 C、交互性 D、多路性

4、以下的准则中哪个不是面向对象软件设计应遵循的( B )

A、抽象准则 B、独立性准则

C、信息屏蔽准则

D、模块化准则

5、需求分析中开发人员主要从用户那里了解( A ) A、软件做什么 B、软件的结构 C、输入的信息 C、软件的测试 第二部分 C与C++语言程序设计 (共85分)

一、单项选择题(每小题1分,共10分)

1、若变量已定义并赋值,下列符合C语法的表达式是:( B )

A、a:=b+1 B、a=b=c+2 C、int 18.5%3 D、a=a+7=c+b 2、以下程序输出的结果是( A)

void main() {

char s[]=\ s[5]=0; puts(s); }

A、Hello

B、China

C、Hello China

D、0

3、有以下程序 #include void main()

- 33 -


四川省第30次计算机二级考试(讲解稿最终版)[1](1)(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2005年成都市城区进城务工就业农民子女接受义务教育换签(新签)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: