2021年江西省景德镇市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)_第1页
2021年江西省景德镇市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)_第2页
2021年江西省景德镇市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)_第3页
2021年江西省景德镇市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)_第4页
2021年江西省景德镇市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2021年江西省景德镇市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)学校:________班级:________姓名:________考号:________

一、单选题(20题)1.已知一算术表达式的中缀表达式为a-(b+c/d)*e,其后缀形式为()

A.-a+b*c/dB.-a+b*cd/eC.-+*abc/deD.abcd/+e*-

2.定义int*swap()指的是______。

A.—个返回整型值的函数swap()

B.一个返回指向整型值指针的函swap()

C.一个指向函数swap()的指针,函数返回一个整型值

D.以上说法均错

3.若有如下形式的函数:intfun(inta[],int*p,intn){…}调用函数之前需要对函数进行声明,则以下选项中错误的是()。

A.intfun(int,int,int);

B.intfun(inta[],int*p,intn);

C.intfun(inta[],int*,int);

D.intfun(int[],int*,int);

4.以下程序的功能是()。#include<stdio.h>main(){FILE*fPl;*fp2;fp1:fopen("file1","r");fp2:fopen("file2","w");while(!Feof(fP1))fputc(fgetc(fP1),fp2);fclose(fP1);fclose(fp2);}

A.将磁盘文件的内容显示在屏幕上

B.将两个磁盘文件合为一个

C.将一个磁盘文件复制到另一个磁盘文件中

D.将两个磁盘文件合并后送屏幕

5.

6.下列程序的输出结果是()。

#include<stdio.h>

intb=2;

intfunc(int*A)

{b+=*a;retumb;}

main()

{inta=1,t=2;

t+=func(&A);

printf("%d\n",t);

}

A.4B.5C.6D.8

7.下列选项不符合良好程序设计风格的是()。

A.源程序要文档化B.数据说明的次序要规范化C.避免滥用goto语句D.模块设计原则是高耦合、高内聚

8.下列叙述中正确的是()。

A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

C.顺序存储结构能存储有序表,链式存储结构不能存储有序表

D.链式存储结构比顺序存储结构节省存储空间

9.在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是()。

A.概要设计B.详细设计C.可行性分析D.需求分析

10.有如下嵌套的if语句:if(a<b)if(a<c)k=a;elsek=C:elseif(b<c)k=b;elsek=C;以下选项中与上述if语句等价的语句是()。A.k=(a<b)?a:b;k=(b<c)?b:C;

B.k=(a<b)?((b<c)?a:b):((b>c)?b:c);

C.k=(a<b)?((a<c)?a:c):((b<c)?b:c);

D.k=(a<b)?a:b;k=(a<c)?a:c;

11.软件需求分析一般应确定的是用户对软件的______。

A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求

12.设有以下程序段:structMP3{charname[20];charcolor;floatprice;}std,*ptr;ptr=&std:若要引用结构体变量std中的color成员,写法错误的是()。A.std.colorB.ptr->colorC.std->colorD.(*ptr)color

13.有以下程序:#include<stdio.h>main(){inta=1,b=0;if(--a)b++;elseif(a==0)b+=2;elseb+=3:print[("%d\n",b);}程序运行后的输出结果是()。A.0B.1C.2D.3

14.使用数组名作为函数的实参时,传递给形参的是()。

A.数组中第1个元素的值B.数组的首地址C.数组中全部元素的值D.数组元素的个数

15.程序设计的任务包括()。

A.编写程序代码并上机调试B.确定所用数据结构C.确定所用算法D.以上选项均正确

16.有以下定义语句,编译时会出现编译错误的是()。

A.chara=a;B.chara=\nC.chara=aa;D.chara=\x2d;

17.

18.

19.有下列程序:main(){char*P[]={"3697","2584");inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!=\0){if((p[i][j]-t\0)%2)num=10*num+p[j][j]-0;j+=2;}}printf("%d\n",num);}程序执行后的输出结果是()。A.35B.37C.39D.3975

20.

二、2.填空题(20题)21.以下程序输出的结果是#include<stdio.h>#include<string.h>main(){charw[][10]={"ABCD","EFGH","IJKL","MNOP"}1,k;for(k=1;k<3;k++)printf("%s\n",&w[k][k]);}

22.阅读下列程序,则在执行后,程序的运行结果为#include"stdio.h"#include"string.h"main(){chara[30]="nicetomeetyou!";strcpy(a+strlen(a)/2,"you");printf("%s\n",a);}

23.以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。

#include<stdio.h>

structlist{intdata;structlist*next;};

structlist*creatlist()

{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));

p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");

scanf("%d",&a);

while(a!=-1)

{p=(structlist*)malloc(sizeof(structlist));

【】=a;q->next=p;【】=p;scanf("%d",&a);}

p->next=′\0;return(ph);}

main()

{structlist*head;head=creatlist();}

24.下面函数用来求两个单精度数之和,并通过形参将结果传回,请填空。

voidsub(floatx,floaty,【】z)

{【】=x+y;}

25.以下程序运行后输出结果是【】。

#include<stdio,h>

voidswap(y)

{intt;

t=x;x=y;y=t:printf("%d%d",x,y);

}

main()

{ihta=3,b=4:

swap(a,b);prinff("%d%d",a,b);

}

26.语句:x++;++x;x=1+x;执行后都使变量x中的值增1,请写出一条同一功能的赋值语句______。

27.设a、b、c为整形数,且a=2,b=3,c=4则执行完以下语句后,a的值是【】。

a*=16+(b++)-(++c);

28.若有以下程序:

main()

{inta=4,b=3,c=5,t=0;

if(a<b)t=a;a=b;b=t;

if(a<c)t=a;a=c;c=t;

printf("%d%d%d\n",a,b,c);

}

执行后的输出结果是【】。

29.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、【】和选择排序等。

30.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为【】。

31.软件结构是以【】为基础而组成的一种控制层次结构。

32.当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的【】。

33.以下程序运行后的输出结果是【】。

#include<stdio.h>

main()

{charm;

m='B'+32;

printf("%c\n",m);

}

34.函数fun的功能是使一个字符串按逆序存放。请填空。

voidfun(charstr[])

{charm;inti,j;

for(i=0,j=strlen(str);i<【】;i++,j--)

{m=str[i];

str[i]=【】;

str[j-1]=m;

}

printf("%s\n",str);

}

35.实现算法所需的存储单元多少和算法的工作量大小分别称为为算法的【】。

36.下列程序的输出结果是______。

main()

{inta[]={31,27,20,12,6,1),*p=a;

p++;

printf("%d\n",*(p+2));

}

37.数据库设计分为以下6个设计阶段:需求分析阶段、______、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。

38.下列程序的运行结果是【】。

#include<stdio.h>

main()

{unionEXAMPLE

{struct

{intx;inty;}in;

inta;

intb;

}e;

e.a=1;e.b=2;

e.in.x=e.a*e.b;

e.in.y=e.a+e.b;

printf("%d,%d\n",e.in.x,e.in.y);

}

39.数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。

40.以下程序运行后的输出结果是______。

main()

{intp[7]={11,13,14,15,16,17,18};

inti=0,j=0;

while(i<7&&p[i]%2==1)j+=p[i++];

printf("%d\n",j);

}

三、1.选择题(20题)41.C语言源程序的最小单位是()。

A.程序行B.语句C.函数D.字符

42.下列叙述中,不属于结构化分析方法的是()。A.A.面向数据流的结构化分析方法

B.面向数据结构的Jackson方法

C.面向数据结构的结构化数据系统开发方法

D.面向对象的分析方法

43.下述程序文件输出的结果是______。#inelude<stdio.h>voidmain(){FILE*fp=fopen("TEST","wb");fprintf(fp,"%d5.of%c%d",58,76273.0,'-',2278);fclose(fp);}

A.5876273-2278

B.5876273.000000-2278

C.5876273-2278

D.因文件为二进制文件而不可读

44.以下关于字符串的叙述中正确的是()。

A.C语言中有字符类型的常量和变量

B.两个字符串中的字符个数相同时才能进行字符串大小的比较

C.可以用关系运算符对字符串的大小进行比较

D.空串一定比空格打头的字符串小

45.下面程序输出的结果是______。main(){inti=5,j=9,z;x=(i==j?i:(j=7));printf(:\n%d,%d",i,j);}

A.5,7B.5,5C.语法错误D.7,5

46.下列选项中不属于软件生命周期开发阶段任务的是()。

A.软件测试B.概要设计C.软件维护D.详细设计

47.设有两个串p和q,求q在p中首次出现位置的运算称作______。

A.连接B.模式匹配C.求子串D.求串长

48.以下概念中,不属于面向对象方法的是_______。

A.对象、消息B.继承、多态C.类、封装D.过程调用

49.以下语句或语句组中能正确进行字符串赋值的是()。

A.ehar以*sp;*sp="right!";

B.chars[10];s="right!";

C.chars[10];*s="right!";

D.char*sp="right!";

50.以下程序的输出结果是______。main(){inta=-1,b=1,k;if((++a<0)&&!(b--<=0))printf("%d%d\n",a,b);elseprintf("%d%d\n",b,a);}

A.-11B.01C.10D.00

51.栈和队列的共同特点是()。

A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素D.没有共同点

52.按照“先进后出”原则组织数据的数据结构是()。

A.队列B.栈C.双向链表D.二叉树

53.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。#include<stdio.h>main(){inti=0,j,k;do{i++;k=316-13*i}while(______);j=k/11;printf("316=13*%d+11,%d”,i,j);}

A.k/11B.k%11C.k/11==0D.k%11==0

54.有以下程序:#include<stdio.h>main(){inti=0,a=0;while(i<20){for(;;){if((i%5)==0)break;elsei--;}i+=13,a+=i;}pfintf("%d\n",A);}程序的输出结果是()。

A.62B.63C.23D.36

55.已定义以下函数;intfun(int*p){return*p;}fun函数返回值是()。

A.不确定的值B.一个整数C.形参p中存放的值D.形参p的地址值

56.用C言编写的代码程序()。

A.可立即执行B.是个源程序C.经过编译即可执行D.经过编译解释即可执行

57.下面程序运行后的输出结果是______。fut(int,*s,intP[2][3]){**s=p[1][1];}main(){inta[2][3]={1,3,5,7,9,11},*p;p=(int*)malloc(sizeof(int));fut(&p,a);printf("%d\n",*p);}

A.1B.7C.9D.11

58.下面程序的输出结果是()。main(){structm1{inta;intb;}en[2]={1,3,2,7);printf("%d\n",en[0].b/en[0].a*en[1].a);

A.6B.0C.1D.3

59.以下不合法的字符常量是()。

A.'\018'B.'\'''C.'\\'D.'\xcc\

60.在对下列函数调用中,不正确的是()

A.max(a,b);B.max(3,a+b);C.max(3,5)D.intmax(a,b);

四、选择题(20题)61.在Internet中,域名服务器的主要功能是实现()的转换。

A.IP地址到域名(主机名字)B.域名到IP地址C.主机IP地址和路由器IP地址之间D.路由器IP地址之问

62.以下关于C语言的叙述中正确的是()。

A.C语言的数值常量中夹带空格不影响常量值的正确表示

B.C语言中的变量可以在使用之前的任何位置进行定义

C.在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致\

D.C语言中的注释不可以夹在变量名或关键字的中间

63.

64.以下不能输出字符A的语句是()(注:字符A的ASCIl码值为65,字符a的ASCIl码值为97)。

65.

66.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送()。A.调用语句B.命令C.口令D.消息

67.软件生命周期中的活动不包括()

A.软件维护B.市场调研C.软件测试D.需求分析

68.在面向对象方法中,具有相似属性与操作的一组对象称为()。

A.类B.实例C.消息D.数据

69.有以下程序:

程序运行后的输出结果是()。

A.*2*6B.}3*5一C.}5D.*7

70.若有定义inta[9],+P=a;,则P+5表示()。

A.数组元素a[5]的值B.数组元素a[5]的地址C.数组元素a[6]的地址D.数组元素a[0]的值加上5

71.下列关于二叉树的叙述中,正确的是()。

A.叶子结点总是比度为2的结点少一个

B.叶子结点总是比度为2的结点多一个

C.叶子结点数是度为2的结点数的两倍

D.度为2的结点数是度为1的结点数的两倍

72.以下选项中不属于c语言的类型的是()。

A.unsignedlongint

B.longshort

C.unsignedint

D.signedshortint

73.下述程序的运行结果是()。

#includedstdio.h>

#includedstrin9.h>

main

{char*s1="abDuj";

char*s2="ABdUG";

intt;

t=strcmp(s1,s2);

printf("%d",t);

}

A.正数B.负数C.零D.不确定的值

74.有以下程序

#include"stdio.h"

voidfun(int*a,int*b)

{intc=20,d=20;

*a=c/3;

b=d/5;}

main()

{inta=3,b=5;

fun(&a,&b);

printf("%d,%d\n",a,b);

}

程序的运行结果是

A.6,5B.5,6

C.20,25D.3,5

75.函数ftell(fp)的作用是()。

A.得到fp所指向文件的当前读写位置B.初始化流式文件的位置指针C.移动流式文件的位置指针D.以上答案均正确

76.

77.在黑盒测试方法中,设计测试用例的主要根据是()。

A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序流程图

78.软件开发中需求分析的主要任务是()。

A.定义和描述目标系统“做什么”B.获取需求C.给出软件解决方案D.需求评审

79.以下叙述中正确的是()。A.在c语言中,预处理命令行都以‘‘#”开头

B.预处理命令必须位于c源程序的起始位置

C.#include必须放在c程序的开头

D.C语言的预处理不能实现宏定义和条件编译的功能

80.

五、程序改错题(1题)81.下列给定程序中,函数proc的功能是:首先把b所指字符串中的字符按逆序存放,然后将str1所指字符串中的字符和Str2所指字符串中的字符,按排列的顺序交叉合并到str所指数组中,过长的剩余字符接在str所指数组的尾部。例如,当str1所指字符串中的内容为ABCDEFG,str2所指字符串中的内容为1234时,str所指数组中的内容应该为A483C2D1EFG;而当str1所指字符串中的内容为1234,str2所指字符串中的内容为ABCEDFG时,str所指数组中的内容应该为1G2F31:4DCBA。

请修改程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio。h>

#include<string.h>

voidproc(char*strl,char*str2,char*str){

inti,j;charch;

i=0;j=strleu(str2)-1;

//****found****

while(i>j)

{

ch=str2[i];str2[i]=str2[j];str2[j]=ch;

i++;j--;

}

while(*str1||*str2)

{

if(*str1){*str=*str1;str++;str1++;)

if(*str2){*str=*str2;str++;str2++;)

}

//****found****

*str=0:

}

voidmain

{

chars1[100],s2[100],t[200];

system("CLS");

printf("\nEnters1string:");

scanf("%s",sl);

printf("\nEnters2string:");

scanf("%s",s2);

proc(s1,s2,t);

printf("\nTheresultis:%s\n",t);

}六、程序设计题(1题)82.请编写一个函数,用来删除字符串中的所有*。例如,输入abc*de*f*gh,则输出为abcdefgh。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:

参考答案

1.D

2.B解析:—个函数可以带回—个整型值、字符值、实型值等,但也可以带回指针型数据,即地址。本题的定义中,包括括号和*号,由于()优先级高于*。故它是—个返回整型指针的函数。

3.AC语言中,函数声明的函数名、返回值类型和参数列表必须与函数定义相同。其中参数列表中可以省略参数名。题干中,fun函数返回整型,3个参数分别是:整型指针、整型指针、整型。选项A中,第1个参数应该是整型指针类型,第2个参数也应该是指针类型,错误;其他选项都正确。故本题答案为A选项。

4.C解析:程序首先定义了两个文件类型的指针fp1、fp2。为读打开文件filel,并让指针fp1指向该文件;为写打开文件file2,并让指针fp2指向该文件。循环执行从文件file1中读取一个字符,输出到文件file2中,直到文件file1结束。因此程序的功能是将文件file1中的内容复制到文件file2中。

5.B

6.B解析:本题考查函数调用时的参数传递。在执行函数func时,由于全局定义了一个变量b,所以在函数体中执行时b=2+1=3,最终t=2+3=5。

7.D在程序设计中,对于软件设计中的模块设计要保证高内聚和低耦合,源程序要有文档说明,同时对程序中数据的说明要规范化。而goto语句破坏程序的结构,要尽量避免使用。所以选项D不正确。

8.A解析:顺序存储结构就是用一组地址连续的存储单元依次存储该线性表中的各个元素,链式存储结构中各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致,所以选项A是正确的。两者都可以存储线性的、有序的逻辑结构,所以选项B、C不正确。顺序结构使用的是连续物理空间,链式结构可以使用零散的物理空间存储,链式结构更灵活,不存在谁节约空间的说法,所以选项D不正确。

9.D解析:在需求分析阶段中,根据可行性研究阶段所提交的文档,特别是从数据流图出发,对目标系统提出清晰、准确和具体的要求,即要明确系统必须做什么的问题。本题的正确答案为D。

10.C条件运算符(?:)是C语言中唯一的一个三目运算符,它是对第一个表达式做真/假检测,然后根据结果返回两个表达式中的一个作为运算的结果。<表达式1>?<表达式2>:<表达式3>。在运算中,首先对第一个表达式进行检验,如果为真,则返回表达式2的值;如果为假,则返回表达式3的值。

11.DD。【解析】软件需求分析中需要构造一个完全的系统逻辑模型,理解用户提出的每一功能与性能要求,使用户明确自己的任务。因此,需求分析应确定用户对软件的功能需求和非功能需求。

12.C【答案】C

【知识点】结构体成员变量的引用

【解析】结构体变量包括一个或多个成员变量,引用其成员变量的语法格式如下:

结构体变量.成员变量。通过结构体指针变量获得其结构体变量的成员变量的一般形式为:(*结构体指针变量).成员变量,也可以使用:结构体指针变量->成员变量来引用成员变量。

13.D

14.B用数组名作为函数参数时,数组名退化为指针,传递给形参的是数组的首地址。故本题答案为B选项。

15.D程序设计是一门技术,需要相应的理论、技术、方法和工具来支持。程序设计的任务包括选项A)、B)、c)等方面。

16.Cchar类型用于存储单个字符的简单变量类型,它可以被指定为一个字符常量或一个整数。

17.D

18.A

19.D执行第一次for循环时,用表达式p[i][J]!=\o来判断字符串数组指针P是否到达字符串的结尾,如果没有到达,继续执行while中的语句。if语句表示(p[i][j]-\o)除2的余数不为0时,即字符串所有奇数,执行后面的语句。所以退出第1次for的循环体时,输出为397,执行第2次循环体。对字符串“2584”进行处理,输出结果为5,因而最后输出结果为3975。

20.D

21.D

22.D

23.p->dataqp->data,q解析:本题考查的是链表这一数据结构对结构体变量中数据的引用。链表的特点是结构体变量中有两个域,一个是数据,另一个是指向该结构体变量类型的指针,用以指明链表的下一个结点。

24.float**zfloat*\r\n*z解析:C程序中可以通过传送地址的方式在被调用函数中直接改变被调用函数中变量的值,从而达到函数之间数据的传递。

25.43344334解析:程序将变量a,b的值传给函数swap的形参x,y,并在函数中对x,y的值进行交换,所以在函数swap中输出x,y的值4,3,由于c程序的函数是僧传递,实参a,b的值不会随形参x,y的改变而改变,所以在主函数中输出的a,b的值为3,4。

26.x+=1x+=1解析:本题考查“++”,“--”运算符。“++”、“--”只能作用于变量,不能用于表达式或常量;前缀形式是在使用变量之前先将其值增1或减1,后缀形式是先使用变量原来的值,使用完后再使其增1或减1。

27.28

28.503503解析:本题考查的是C语言中if语句的语句体。第一个if语句的语句体为t=a,第二个if语句的语句体为t=a。执行第一个if语句时,条件a<b不成立,所以不执行t=a,直接执行语句a=b和b=t得a=3、b=0,然后判断第二个if语句的条件a<c是否成立,即判断3<5是否成立,显然条件成立,执行语句t=a得t=3,接着执行a=c;c=t得a=5、c=3,所以a=5、c=3、b=0。

29.交换排序交换排序解析:常见的排序方法有插入排序(包括简单插入排序法和希尔排序法等)、交换排序(包括冒泡排序和快速排序法等)和选择排序(包括简单选择排序和堆排序等)。注意:常见的排序方法及其作用机制和区别。

30.软件生命周期软件生命周期解析:软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。

31.模块模块

32.物理独立性物理独立性

33.bb解析:本题实现的功能是把大写字母转换为小写字母。小写字母的ASCII码值比相应的大写字母的ASCII码值大32。

34.strlen(str)/2str[j-1]

35.空间复杂度和时间复杂度空间复杂度和时间复杂度解析:算法的复杂性是指对—个在有限步骤内终止算法和所需存储空间大小的估计。算法所需存储空间大小是算法的空间复杂性,算法的计算量是算法的时间复杂性。

36.1212解析:本题考查如何用指针引用数组元素。分析程序,首先定义了一个指向数组a的指针p,p指向数组的首地址,通过p++,将p指向a[1],p+2是将指针后移2位指向a[3],*(p+2)即是取a[3]的值12。

37.概念设计阶段(数据库概念设计阶段)概念设计阶段(数据库概念设计阶段)

38.484,8解析:C语言规定,共用体中各个成员变量在内存中占用同一段内存单元,即e.in.x、e.a、e.b占用同一段内存单元。执行语句e.b=2;后,e.in.x=e.a=e.b=2;执行语句e.in.x=e.a*e.b;时,e.a的值为2,e.b的值为2,所以运算得出e.in.x的值为4;执行语句e.in.y=e.a+e.b时,由于e.in.x和e.a、e.b占用的是同一段内存单元,所以此时的e.a、e.b的值为4,因此运算得出e.in.y的值为4+4=8。程序最后的输出结果为4,8。

39.数据存储数据存储

40.24

41.C解析:C语言源程序的最小单位是函数,所以本题选C。

42.D解析:常见的需求分析方法有结构化分析方法和面向对象的分析方法两类。其中结构化分析方法又包括面向数据流的结构化分析方法(SA-Structuredanalysis),面向数据结构的Jackson方法(JSD-Jacksonsystemdevelopmentmethod)和面向数据结构的结构化数据系统开发方法(DSSD-Datastructuredsystemdevelopmentmethod)。

43.C解析:fprintf函数工作时,多个数据间不会自动加分隔符,选项A错误;浮点数的搞出格式是“%5.0f”表明其小数部分输出0位,即没有输出,所以选项B也是错误的。

44.D解析:本题考查的重点是C语言中对字符串的理解。选项B是错误的,两个字符串不一定非要字符一样多才可以比较大小;选项C是错误的,不能用关系运算符来对字符串进行大小比较。因为空串只有一个null字符(其值为零),从而,它一定比空格打头的字符串小,所以选项D是正确的。

45.A解析:条件表达式的一般形式为:表达式1?表达式2:表达式3;先求解表达式1,若为真则求解表达式2;若表达式1的值为假,则求解表达式3。本题中先判断i==j,不等,执行j=7;然后执行x=7。故本题为A。

46.C解析:软件生命周期由软件定义、软件开发和软件维护三个时期组成,每个时期又进一步划分为若干个阶段。软件定义时期的基本任务是确定软件系统的工程需求。软件定义可分为软件系统的可行性研究和需求分析两个阶段。软件开发时期是具体设计和实现在前一时期定义的软件,它通常由下面五个阶段组成:概要设计、详细设计、编写代码、组装测试和确认测试。软件维护时期的主要任务是使软件持久地满足用户的需要。即当软件在使用过程中发现错误时应加以改正;当环境改变时应该修改软件,以适应新的环境;当用户有新要求时应该及时改进软件,以满足用户的新要求。根据上述对软件生命周期的介绍,可知选项C中的软件维护不是软件生命周期开发阶段的任务。因此,本题的正确答案是C。

47.B解析:子串的定位操作通常称作串的模式匹配,是各种串处理系统中最重要的操作之一,算法的基本思想是:从主串的开始字符起,与模式的第一个字符比较,若相等,则继续比较后续字符,否则从主串的下一个字符起再重新与模式的字符比较,依次类推,直至模式中的每一个字符依次和主串中的一个连续的字符序列相等,称匹配成功,否则称匹配不成功。

48.D解析:面向对象方法是一种运用对象、类、封装、继承、多态和消息等概念来构造、测试、重构软件的方法。面向对象方法从对象出发,发展出对象、类、消息、继承等概念。

49.D解析:选项A)应将*sp='right!';中的*叩改为sP,即把字符串'right!”的首地址赋给指针变量sp;选项B)中的s代表数组的首地址,不能给它赋字符串,只能在定义数组时,对其进行初始化;选项C)中的。s指的是数组的第一个元素,不能给它赋字符串。

50.C解析:C语言中如果逻辑与运算符左边的表达式为假,右边的表达式就不再运算了,(++a<0)=(0<0)=0,所以逻辑与右边的表达式就不参与运算,没有改变b的值。因此输出b=1,a=0。

51.C解析:考查栈和队列概念的掌握。栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种'后进先出'的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种'先进先出'的线性表。模块之间的耦合程度反映了模块的独立性,也反映了系统分解后的复杂程度。按照耦合程度从弱到强,可以将其分成5级,分别是:数据耦合、同构耦合、控制耦合、公用耦合和内容耦合。选项C),没有这种耦合方式。

52.BB.【解析】栈是一种特殊的线性表,其插入和删除运算都只在线性表的一端进行,而另一端是封闭的。进行插入、删除的一端称为栈顶,封闭的一端称为栈底。栈顶元索是最后被插入的元素,也是最后被删除的元素。栈是按先进后出的原则组织数据的。

【知识拓展】“栈”的形式如手枪的弹匣,最后压入的子弹总是最先被弹出,而最先压人的子弹最后才被弹出,也就是“先进后出”。

53.B解析:本题的关键是两个加数分别能被13和11整除。当k%11的值为0时,则退出循环,将执行j=k/11;语句,输出结果,所以该表达式合理的条件是k%11。

54.D

55.B解析:题目中fun()函数的返回表达式是*p,所以选项C、D不为所选,而应该是形参p所指内容的值,因为p为int型指针,所以该值是一个整数。故应该选择B。

56.B解析:C语言一种高级语言,C语言源程序经过C语言编译程序编译之后,生成一个后缀为.obj的二进制文件(称为目标文件),最后还要由称为“连接程序”(Link)的软件,把此.obj文件与C语言提供的各种库函数连接在一起,生成一个后缀.exe的可执行文件。显然C语言不能立即执行,故选项A错误;根据以上定义,选项C和选项D错误,所以,4个选项中选项B符合题意。

57.C解析:本题a[2][3]定义为一个具有两面行三列的元素的数组,malloc()函数的作用是开辟了一个长度为sizeof(int)的内存区,p为指向整型数据的指针变量,程序调用fut()函数,将第一行第一列对应的元素值赋给**s,由于数组中第一行第一列对应的元素为9,所以本题输出值9。

58.A解析:en[2]是结构体类型的数组,en[0].b/en[0].a*en[1].a=3/1*2=6。

59.A解析:在选项A中,“\\”后跟着三个数字,是表示一个ASCII码值等于这三位数字所组成的八进制数数值的字符,但是八进制数只能是由0-7这八个数字表示,而选项A中出现了数字8所以是不合法的。选项B是表示一个双引号的转义字符表示方法;选项C表示的是一个反斜杆;选项D表示一个ASCII值为十六进制值“的字符。故应该选择A。

60.D

61.B在Internet中,把域名翻译为IP地址的软件称为域名系统DNS,运行域名系统的主机称为域名服务器。域名服务器的主要功能是实现入网主机名字和IP地址的转换。

62.DC语言的数值常量中不能夹带空格,所以A错误。C语言中的变量都必须先定义再使用,对变量的定义通常放在函数体内的前部,但也可以放在函数外部或复合语句的开头。不能随便放置,所以8错误。在C语言中运算符两侧的运算数据类型可以不一致,且结果与精度较高的保持一致,所以C错误。

63.A

64.A%d输出整数,所以选择A)。

65.C

66.D解析:面向对象的世界是通过对象与对象间彼此的相互合作来推动的,对象间的这种相互合作需要一个机制协助进行,这样的机制称为消息。消息是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。

67.B【答案】:B

【知识点】:软件生命周期

【解析】:一个软件产品或软件系统要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生命周期。它把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。通常,软件生存周期包括可行性分析与开发项计划、需求分析、设计(概要设计和详细设计)、编码、测试、维护等活动,可以将这些活动以适当的方式分配到不同的阶段去完成。故选B。

68.A面向对象方法中将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论