c选择题解答.docx

上传人:b****1 文档编号:15152231 上传时间:2023-07-01 格式:DOCX 页数:126 大小:150.86KB
下载 相关 举报
c选择题解答.docx_第1页
第1页 / 共126页
c选择题解答.docx_第2页
第2页 / 共126页
c选择题解答.docx_第3页
第3页 / 共126页
c选择题解答.docx_第4页
第4页 / 共126页
c选择题解答.docx_第5页
第5页 / 共126页
c选择题解答.docx_第6页
第6页 / 共126页
c选择题解答.docx_第7页
第7页 / 共126页
c选择题解答.docx_第8页
第8页 / 共126页
c选择题解答.docx_第9页
第9页 / 共126页
c选择题解答.docx_第10页
第10页 / 共126页
c选择题解答.docx_第11页
第11页 / 共126页
c选择题解答.docx_第12页
第12页 / 共126页
c选择题解答.docx_第13页
第13页 / 共126页
c选择题解答.docx_第14页
第14页 / 共126页
c选择题解答.docx_第15页
第15页 / 共126页
c选择题解答.docx_第16页
第16页 / 共126页
c选择题解答.docx_第17页
第17页 / 共126页
c选择题解答.docx_第18页
第18页 / 共126页
c选择题解答.docx_第19页
第19页 / 共126页
c选择题解答.docx_第20页
第20页 / 共126页
亲,该文档总共126页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c选择题解答.docx

《c选择题解答.docx》由会员分享,可在线阅读,更多相关《c选择题解答.docx(126页珍藏版)》请在冰点文库上搜索。

c选择题解答.docx

c选择题解答

目录

选择题1(081)-1-

选择题2(082)-14-

选择题3(091)-27-

选择题4(092)-39-

选择题5(101)-50-

选择题6(102)-64-

选择题7(111)-76-

选择题8(112)-89-

选择题1(081)

(1)程序流程图中有箭头的线段表示的是

A)图元关系B)数据流C)控制流D)调用关系

答案:

C

分析:

在程序流程图中常用的图形符号如图所示:

(2)结构化程序设计的基本原则不包括

A)多态性B)自顶向下C)模块化D)逐步求精

答案:

A

分析:

结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化,限制使用GOTO语句。

(3)软件设计中模块划分应遵循的准则是

A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合

答案:

B

分析:

一般来说,软件设计时应尽量做到高内聚,低藕合,即减弱模块之间的藕合性和提高模块内的内聚性,从而提高模块的独立性。

(4)在软件开发中,需求分析阶段产生的主要文档是

A)可行性分析报告B)软件需求规格说明书

C)概要设计说明书D)集成测试计划

答案:

B

软件需求规格说明书是需求分析阶段的最后成果,是软件开发中的重要文档之一。

(5)算法的有穷性是指

A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的

C)算法程序的长度是有限的D)算法只能被有限的用户使用

答案:

A

分析:

算法的有穷性是指一个算法应包含有限的操作步骤而不能是无限的。

算法的有穷性还应该包括合理的执行时间的含义。

因为,如果一个算法需要执行一百年,显然失去了实用价值。

 

(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是

A)快速排序B)冒泡排序C)直接插入排序D)堆排序

答案:

D

分析:

各种排序在最坏情况下的比较次数:

冒泡排序法:

n(n-1)/2

快速排序法:

n(n-1)/2

简单插入排序法:

n(n-1)/2

希尔排序法:

O(n1.5)

简单选择排序法:

n(n-1)/2

堆排序法:

O(nlog2n)

(7)下列关于栈的叙述正确的是

A)栈按“先进先出”组织数据B)栈按“先进后出”组织数据

C)只能在栈底插入数据D)不能删除数据

答案:

B

分析:

栈是一种特殊的线性表,它是限定仅在一端进行插入和删除运算的线性表。

(8)在数据库设计中,将E-R图转换成关系数据模型的过程属于

A)需求分析阶段B)概念设计阶段C)逻辑设计阶段D)物理设计阶段

答案:

C

分析:

数据库的逻辑设计主要工作是将E-R图转换成指定RDBMS中的关系模式。

(9)有三个关系R、S和T如下:

R:

B

C

D

a

0

k1

b

1

n1

S:

B

C

D

f

3

h2

a

0

k1

n

2

x1

T:

B

C

D

a

0

k1

有关系R和S通过运算得到关系T,则所使用的运算为

A)并B)自然连接C)笛卡尔积D)交

答案:

D

答案:

关系R与S经交运算后所得到的关系是由那些既在R内又在S内的有序组所组成,记为R∩S。

(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为

A)课号,成绩B)学号,成绩

C)学号,课号D)学号,姓名,成绩

答案:

C

分析:

关系模型中的一个重要概念是键(Key)或码。

键具有标识元组、建立元组间联系等重要作用。

在二维表中凡能惟一标识元组的最小属性集称为该表的键或码。

(11)以下叙述中正确的是

A)C程序中的注释只能出现在程序的开始位置和语句的后面

B)C程序书写格式严格,要求一行内只能写一个语句

C)C程序书写格式自由,一个语句可以写在多行上

D)用C语言编写的程序只能放在一个程序文件中

答案:

C

(12)以下选项中不合法的标识符是

A)printB)FORC)&aD)_00

答案:

C

分析:

C语言规定,合法的标识符由字母、数字和下划线组成,并且第一个字符必须为字母或下划线。

(13)以下选项中不属于字符常量的是

A)'C'B)"C"C)'\xCC0'D)'\072'

答案:

B

分析:

字符常量是指用一对单引号括起来的一个字符,包括转义字符。

转义字符形式上有多个字符或数字组成,但它表示的是一个字符常量。

(14)设变量已正确定义并赋值,以下正确的表达式是

A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0

答案:

C

分析:

赋值号=左端只能是变量,不能是表达式,选项A错;

强制类型转换符是(类型),选项B错,应为(int)15.8%5;

选项C对,是逗号表达式;

求余运算符%两端必须为整型,选项D错。

(15)以下定义语句中正确的是

A)inta=b=0;B)charA=65+1,b='b';

C)floata=1,*b=&a,*c=&b;D)doublea=0.0;b=1.1;

答案:

B

分析:

选项A错:

作为赋值语句可以写作a=b=0;,

作为定义语句只能不能写作inta=b=0;,可写作inta=0,b=0;

选项C错,由于变量b是指针变量,其地址不能赋给同类型的变量c。

选项D错,变量间用逗号分开,不能用分号分开。

(16)有以下程序段

charch;intk;

ch='a';k=12;

printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);

已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是

A)因变量类型与格式描述符的类型不匹配输出无定值

B)输出项与格式描述符个数不符,输出为零值或不定值

C)a,97,12k=12

D)a,97,k=12

答案:

D

(17)已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是

A)kk>='A'&&kk<='Z'B)!

(kk>='A'‖kk<='Z')

C)(kk+32)>='a'&&(kk+32)<='z'D)isalpha(kk)&&(kk<91)

答案:

B

分析:

由于小写字母的SACII码比对应的大写字母的ASCII大32,所以选项C正确;

函数isalpha(kk)判断kk是否为字母,而(kk<91)保证kk是大写字母,所以选项D正确。

(18)当变量c的值不为2、4、6时,值也为“真”的表达式是

A)(c==2)‖(c==4)‖(c==6)B)(c>=2&&c<=6)‖(c!

=3)‖(c!

=5)

C)(c>=2&&c<=6)&&!

(c%2)D)(c>=2&&c<=6)&&(c%2!

=1)

答案:

B

分析:

选项A,C,D都表示:

当c的值为2,4,6之一时为真,其他为假;选项B表示:

当c取任何值时都为真。

(19)若变量已正确定义,有以下程序段

inta=3,b=5,c=7;

if(a>b)a=b;c=a;

if(c!

=a)c=b;

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

其输出结果是

A)程序段有语法错B)3,5,3C)3,5,5D)3,5,7

答案:

B

分析:

注意第二行是两个语句:

if(a>b)a=b;

c=a;

(20)有以下程序

#include

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

case3:

a++;b++;

}

printf(“a=%d,b=%d\n”,a,b);

}

程序的运行结果是

A)a=1,b=0B)a=2,b=2C)a=1,b=1D)a=2,b=1

答案:

D

(21)有以下程序

#include

main()

{intx=8;

for(;x>0;x--)

{if(x%3){printf(“%d,”,x--);continue;}

printf(“%d,”,--x);

}

}

程序的运行结果是

A)7,4,2B)8,7,5,2C)9,7,6,4D)8,5,4,2

答案:

D

(22)以下不构成无限循环的语句或者语句组是

A)n=0;B)n=0;

do{++n;}while(n<=0);while

(1){n++;}

C)n=10;D)for(n=0,i=1;;i++)n+=i;

while(n);{n--;}

答案:

A

分析:

选项C中while的循环体为空语句;选项D中的for的循环条件省略,表示真。

(23)有以下程序

#include

main()

{inta[]={1,2,3,4},y,*p=&a[3];

--p;y=*p;printf(“y=%d\n”,y);

}

程序的运行结果是

A)y=0B)y=1C)y=2D)y=3

答案:

D

(24)以下错误的定义语句是

A)intx[][3]={{0},{1},{1,2,3}};

B)intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

C)intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

D)intx[][3]={1,2,3,4};

答案:

C

分析:

定义二维数组时,如果对全部元素都赋初值,则第一维的长度可不指定,但第二维长度不能省略。

(25)设有如下程序段

chars[20]=“Bejing”,*p;

p=s;

则执行p=s;语句后,以下叙述正确的是

A)可以用*p表示s[0]

B)s数组中元素的个数和p所指字符串长度相等

C)s和p都是指针变量

D)数组s中的内容和指针变量p中的内容相等

答案:

A

(26)若有定义:

inta[2][3];,以下选项中对a数组元素正确引用的是

A)a[2][!

1]B)a[2][3]C)a[0][3]D)a[1>2][!

1]

答案:

D

分析:

a[1>2][!

1]即a[0][0]

(27)有定义语句:

chars[10];,若要从终端给s输入5个字符,错误的输入语句是

A)gets(&s[0]);B)scanf(“%s”,s+1);C)gets(s);D)scanf(“%s”,s[1]);

答案:

D

(28)以下叙述中错误的是

A)在程序中凡是以“#”开始的语句行都是预处理命令行

B)预处理命令行的最后不能以分号表示结束

C)#defineMAX是合法的宏定义命令行

D)C程序对预处理命令行的处理是在程序执行的过程中进行的

答案:

D

分析:

无参数宏定义格式为

#define宏名字符串

其中字符串可以是空的。

(29)以下结构体类型说明和变量定义中正确的是

A)typedefstructB)structREC;

{intn;charc;}REC;{intn;charc;};

RECt1,t2;RECt1,t2;

C)typedefstructREC;D)struct

{intn=0;charc=’A’;}t1,t2;{intn;charc;}RECt1,t2;

答案:

A

(30)以下叙述中错误的是

A)gets函数用于从终端读入字符串

B)getchar函数用于从磁盘文件读入字符

C)fputs函数用于把字符串输出到文件

D)fwrite函数用于以二进制形式输出数据到文件

答案:

B

分析:

getchar函数用于从终端读入字符。

(31)有以下程序

#include

main()

{ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;

for(i=0;i<12;i++)c[s[i]]++;

for(i=1;i<5;i++)printf("%d",c[i]);

printf("\n");

}

程序的运行结果是

A)1234B)2344C)4332D)1123

答案:

C

分析:

第一个for循环的功能是使c[1]的值为数组s中1的个数,c[2]的值为数组s中2的个数,依次类推。

(32)有以下程序

#include

voidfun(int*s,intnl,intn2)

{inti,j,t;

i=nl;j=n2;

while(i

}

main()

{inta[10]={1,2,3,4,5,6,7,8,9,0},k;

fun(a,0,3);fun(a,4,9);fun(a,0,9);

for(k=0;k<10;k++)printf("%d",a[k]);printf("\n");

}

程序运行的结果是

A)0987654321B)4321098765C)5678901234D)0987651234

答案:

C

分析:

函数fun的功能是将数组中的元素值逆序存放,如

执行fun(a,0,3);后,数组a的元素为{4,3,2,1,5,6,7,8,9,0}。

执行fun(a,4,9);后,数组a的元素为{4,3,2,1,0,9,8,7,6,5}。

执行fun(a,0,9);后,数组a的元素为{5,6,7,8,9,0,1,2,3,4}。

(33)有以下程序

#include

#include

voidfun(char*s[],intn)

{char*t;inti,j;

for(i=0;i

for(j=i+1;j

if(strlen(s[i])>strlen(s[j])){t=s[i];s[i]=s[j];s[j]=t;}

}

main()

{char*ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};

fun(ss,5);printf("%s,%s\n",ss[0],ss[4]);

}

程序的运行结果是

A)xy,aaaaccB)aaaacc,xyC)bcc,aabccD)aabcc,bcc

答案:

A

分析:

函数fun的功能是按字符串的长度升序排序。

(34)有以下程序

#include

intf(intx)

{inty;

if(x==0||x==1)return(3);

y=x*x-f(x-2);

returny;

}

main()

{intz;

z=f(3);printf("%d\n",z);

}

程序的运行结果是

A)0B)9C)6D)8

答案:

C

分析:

递归函数的执行过程如下:

 

(35)有以下程序

#include

voidfun(char*a,char*b)

{while(*a==’*’)a++;

while(*b=*a){b++;a++;}

}

main()

{char*s=”****a*b****”,t[80];

fun(s,t);puts(t);

}

程序的运行结果是

A)*****a*bB)a*bC)a*b****D)ab

答案:

C

分析:

fun(s,t)的功能是将s中第一个非*号的字符开始的字符串赋给t。

(36)有以程序

#include

#include

typedefstruct{charname[9];charsex;floatscore[2];}STU;

voidf(STUa)

{STUb={“Zhao”,’m’,85.0,90.0};inti;

strcpy(a.name,b.name);

a.sex=b.sex;

for(i=0;i<2;i++)a.score[i]=b.score[i];

}

main()

{STUc={“Qian”,’p’,95.0,92.0};

f(c);printf(“%s,%c,%2.0f,%2.0f\n”,c.name,c.sex,c.score[0],c.score[1]);

}

程序的运行结果是

A)Qian,f,95,92B)Qian,m,85,90

C)Zhao,f,95,92D)Zhao,m,85,90

答案:

A

分析:

函数f的参数是数值,不是指针,不能改变主调函数中的变量的值。

(37)有以下程序

#include

main()

{FILE*fp;inta[10]={1,2,3},i,n;

fp=fopen(“dl.dat”,”w”);

for(i=0;i<3;i++)fprintf(fp,”%d”,a[i]);

fprintf(fp,”\n”);

fclose(fp);

fp=fopen(“dl.dat”,”r”);

fscanf(fp,”%d”,&n);

fclose(fp);

printf(“%d\n”,n);

}

程序的运行结果是

A)12300B)123C)1D)321

答案:

B

分析:

往文件写数据时用的格式说明符”%d”没有其他字符,所以三个整数写到一起,最后以换行符’\n’结束,所以读取数据时,作为一个数据读出。

(38)变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。

若要求将a的高4位取反,低4位不变,所要执行的运算是

A)a^bB)a|bC)a&bD)a<<4

答案:

A

分析:

选项A计算如下

0

1

0

1

1

1

0

1

^

1

1

1

1

0

0

0

0

1

0

1

0

1

1

0

1

 

(39)在C语言中,只有在使用时才占用内存单元的变量,其存储类型是

A)auto和registerB)extern和registerC)auto和staticD)static和register

答案:

A

(40)设有定义语句int(*f)(int);,则以下叙述正确的是

A)f是基类型为int的指针变量

B)f是指向函数的指针变量,该函数具有一个int类型的形参

C)f是指向int类型一维数组的指针变量

D)f是函数名,该函数的返回值是基类型为int类型的地址

答案:

B

选择题2(082)

(1)一个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是

A)12345ABCDEB)EDCBA54321

C)ABCDE12345D)54321EDCBA

答案:

B

分析:

栈是先进后出的线性表。

(2)下列叙述中正确的是

A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

B)在循环队列中,只需要队头指针就能反应队列中元素的动态变化情况

C)在循环队列中,只需要队尾指针就能反应队列中元素的动态变化情况

D)循环队列中元素的个数是由队头和队尾指针共同决定

答案:

D

分析:

在循环队列中,从队头指针front指向的位置直到队尾指针rear指向的前一个位置之间所有的元素均为队列中的元素。

(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是

A)O(N)B)O(n2)C)O(log2n)D)O(nlog2n)

答案:

C

分析:

可以证明,对于长度为n的有序线性表,在最坏情况下,二分查找只需要比较log2n次,顺序查找需要比较n次。

O(log2n)表示与log2n是同一个数量级,只相差一个常数系数。

(4)下列叙述中正确的是

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

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

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

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

答案:

A

(5)数据流图中带有箭头的线段表示的是

A)控制流B)事件驱动C)模块调用D)数据流

答案:

D

分析:

数据流图(DataFlowDiagram,DFD)是描述数据处理过程的工具,是从数据传递和加工的角度,以图形的方式描绘数据在系统中流动和处理的过程。

数据流图的基本图形元素有4种:

①圆形:

加工。

输入数据经加工变换产生输出。

②矩形:

表示数据的源点或终点。

是系统和环境的接口,属系统之外的实体。

③箭头:

数据流。

沿箭头方向传送数据的通道。

④双杠:

表示存储文件(数据源)。

即处理过程中存放各种数据文件。

(6)在软件开发中,需求分析阶段可以使用的工具是

A)N-S图B)DFD图C)PAD图D)程序流程图

答案:

B

分析:

需求分析阶段可以使用的工具有数据流图(DataFlowDiagram,DFD)、数据字典、判定表和判定树等。

(7)在面向对象方法中,不属于“对象”基本特点的是

A)一致性B)分类性C)多态性D)标识唯一性

答案:

A

分析:

对象有如下一些基本特点。

标识惟一性:

指对象是可区分的,并且由对象的内在本质来区分,而不是通过描述来区分。

分类性:

指可以将具有相同属性和操作的对象抽象成类。

多态性:

指同一个操作可以是不同对象的行为。

封装性:

指将一组数据和与之相关的操作放在一起,形成能动的实体——对象。

(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是

A)一对一B)一对多C)多对一D)多对多

答案:

B

(9)在数据管理技术发展的三个阶段中,数据共享最好的是

A)人工管理阶段B)文件系统阶段

C)数据库系统阶段D)三个阶段相同

答案:

C

(10)有三个关系R、S和T如下:

R

A

B

m

1

n

2

S

B

C

1

3

3

5

 

T

A

B

C

m

1

3

 

由关系R和S通过运算得到关系T,则所使用的运算为

A)笛卡尔积B)交C)并D)自然连接

答案:

D

分析:

自然连接满足下面的条件:

①两关系间有公共域;

②通过公共域的相等值进行连接。

(11)以下叙述中正确的是

A)C程序的基本组成单位是语句B)C程序中每一行只能写一条语句

C)简单C语句必须以分号结束D)C语句必须在一行内写完

答案:

C

(12)计算机能直接执行的程序是

A)源程序B)目标程序C)汇编程序D)可执行程序

答案:

D

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2