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

2019-05-18 21:29

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

}

if(flag)

printf(“This word is not hello”); else

printf(“This word id hello”);

}

3.以下程序把从键盘输入的字符存放到一个文件中,用“#”作为结束符。请按题意要求填空完善程序。

#include main() {

FILE *fp;

char ch,fname[10];

printf(“Input the file name:\\n”);

gets(fname);

if(______(32) fp=fopen(fname,”w”) ________==NULL) {

printf(“cannot open file\\n”); exit(0);

}

while((_____(33)ch=getchar()____)!=’#’)

fputc(ch,______(34) fp ______); fclose(fp); }

4.该程序是完成文件的换名拷贝操作(类似于DOS的COPY命令)。请将程序补充完善。 #include

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

int c;

FILE *fpr,*fw; if(argc!=3) {

puts(“\\>Usage:copyfile filename1 filename2”); exit(0);

}

if((fpr=fopen(____(35) argv[1],”r”____))==NULL) {

printf(“\\>file %s Cannot open \\n”,argv[1]); exit(1);

}

if((fpr=fopen(argv[2],____(36) ”w”____))==NULL) {

printf(“\\>file %s Cannot open \\n”,argv[2]); exit(2);

- 19 -

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

}

while((c=______(37) fgetc _______(fpr))!=EOF) fputc(c,____(38) fpw _____); fclose(fpr); fclose(fpw);

}

5.该程序是利用折半查找法在一个数组中进行数据检索。当查找到时,给出数据在数组中的位置;查找不到,给出数据不在数组中的信息。请将程序完善。

#define n 10

int a[]={1,2,3,4,5,6,7,8,9,10}; char ss(x,m) int x,m; { char z; if(x==a[m]) z=’t’; else

if(x

int p,r,m,loop,x; char c; scanf(“%d”,&x); p=0;r=n-1; m=(r-p)/2;

- 20 -

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

loop = 1;

while(loop&&(r-p)) {

c=ss(x,m); if(c==’t’) {

loop=0;

printf(“元素在数组中,其位置为:%d\\n”,m); } else if(c==’p’)

{ p=p;_____(39) r=m _______;m=(r-p)/2+p;} else

{_____(40) p=m+1______;r=r;m=(r-p)/2+p;} }

if(loop) printf(“%d 数据不在数组中\\n”,x); }

- 21 -

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

答案:

选择题

(1)C (2)C (3)B (4)C (5)C (6)C (7)B (8)C (9)C (10)A 二、选择题

(11)A (12)D (13)B (14)A (15)D (16)B (17)D (18)D (19)A (20)B (21)B (22)C (23)C (24)D (25)C 三、程序填空

(26) str[i]或str[i]!=NULL 或str[i]=0 (27)++i或i++ (28)*(str+i)或str[i]

(29)flag (30)getchar() (31)str[i] (32)fp=fopen(fname,”w”) (33)ch=getchar() (34)fp (35)argv[1],”r” (36)”w” (37)fgetc (38)fpw (39)r=m (40)p=m+1

真题二

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

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

(判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B) 1.C++语言中所定义的类实际上也是一种数据类型。 A

2.数据结构的表示包括数据逻辑结构和存储结构两个方面的表示。A

3.冒泡排序算法是一种只能实现升序排序,而不能实现降序排序的排序算法。B 4.线性表采用链式储存时,结点的存储地址必须是连续的。B 5.栈顶的位置是随着进栈和退栈操作而变化的。A

6.在软件生存期内,软件必须进行维护,维护不会产生副作用。B

7.采用动态重定位进行地址转换,允许程序在执行过程中在内存中移动。而静态重定位则不可以。A

8.在软件的需求分析阶段,要直接面向用户,主要考虑用户的经济承受能力和费用的支付问题。B

9.需求分析阶段的主要任务应由系统分析员主持完成。A 10.操作系统是最最重要的系统软件。A

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

1.以下特征中哪个不是算法得特征(D) A 可行性 B 确定性 C有穷性 D 唯一性

2.在多道程序设计系统中,处于后备状态的作业要经过(B)调度后才能真正执行 A 作业调度 B作业调度和进程调度 C 进程调度 D作业调度和设备调度

3.为解决CPU和I/O设备之间速度匹配问题,常采用“缓冲区”方法。“缓冲区”的结构多为(C)。

- 22 -

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

A顺序栈 B链栈 C顺序队列 D 循环队列

4.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。 A 结合 B程序的效率 C封装 D 抽象 5.结构化程序设计主要强调的是(A)

A 程序易读性 B 程序的效率 C程序设计语言的先进性 D程序的规模 第二部分 C与C++语言程序设计 (共85分)

一、单项选择题(每小题1分,共10分) 1.下列程序运行结果是(B ) #include void swap(int x,int y) { }

main() { }

int a=010,b=1; swap(a,b);

printf(\x^=y; y^=x; x^=y;

A 10,1 B 8,1 C 1,8 D 1,10 2.有以下程序 #include #include main() {

char *p,*q ;

p=(char*)malloc(sizeof(char)*20); q=p;

scanf(“%s %s”,p,q); }

printf(\

若输入:abc def<回车>,则输出为 (def,def) 3. 下列程序的输出是() #include main() {

- 23 -


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

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

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

马上注册会员

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