计算机二级C语言精彩试题库Word文件下载.docx

上传人:b****4 文档编号:17110173 上传时间:2022-11-28 格式:DOCX 页数:47 大小:45.60KB
下载 相关 举报
计算机二级C语言精彩试题库Word文件下载.docx_第1页
第1页 / 共47页
计算机二级C语言精彩试题库Word文件下载.docx_第2页
第2页 / 共47页
计算机二级C语言精彩试题库Word文件下载.docx_第3页
第3页 / 共47页
计算机二级C语言精彩试题库Word文件下载.docx_第4页
第4页 / 共47页
计算机二级C语言精彩试题库Word文件下载.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

计算机二级C语言精彩试题库Word文件下载.docx

《计算机二级C语言精彩试题库Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言精彩试题库Word文件下载.docx(47页珍藏版)》请在冰豆网上搜索。

计算机二级C语言精彩试题库Word文件下载.docx

for(;

n{n++;

if(n%3!

=0)continue;

k--;

}

k,n);

A〕1,1B〕2,2C〕3,3D〕4,4

6有以下程序

fun(inta,intb)

{if(a>

b)return(a);

elsereturn(b);

{intx=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

r);

A〕3B〕6C〕8D〕12

7有以下程序

int*f(int*x,int*y)

{if(*x<

*y)

returnx;

returny;

{inta=7,b=8,*p,*q,*r;

p=&

a;

q=&

b;

r=f(p,q);

%d,%d,%d\n"

*p,*q,*r);

A〕7,8,8B〕7,8,7C〕8,7,7D〕8,7,8

8以下能正确地定义整型变量a,b和c并为其赋初值5的语句是

A)inta=b=c=5;

B)inta,b,c=5;

C)a=5,b=5,c=5;

D)a=c=b=5;

9假如二维数组a有m列,如此在a[i][j]前的元素个数为

A〕j*m+iB)i*m+jC)i*m+j-1D)i*m+j+1

10下面程序段是输出两个字符串中对应相等的字符。

请选择填空

charx[]=〞programming〞;

chary[]=〞Fortran〞;

inti=0;

while(x[i]!

=’\0’&

&

y[i]!

=’\0’)

if(x[i]==y[i])printf(“%c〞,[]);

elsei++;

A)x[i++]B)y[++i]C)x[i]D)y[i]

11假如使用一维数组名作函数实参,如此以下正确的说法是

A〕必须在主调函数中说明次数组的大小

B实参数组类型与形参数组类型可以不匹配

C在被调函数中,不需要考虑形参数组的大小

D实参数组名与形参数组名必须一致

12以下程序的正确运行结果是

#inclued

{intk=4,m=1,p;

p=func(k,m);

printf(“%d〞,p);

printf(“%d\n〞,p);

func(inta,intb)

{staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);

A)8,17B)8,16C)8,20D)8,8

13假如有说明:

int*p,m=5,n;

以下正确的程序段是

A)p=&

n;

scanf(“%d〞,&

p);

B)p=&

scanf(“%d〞,*p);

C)scanf(“%d〞,&

n);

*p=n;

D)p=&

*p=m;

14执行以下程序后,a和b的值为

{inta,b,k=4,m=6,*p1=&

k,*p2=&

m;

a=p1==&

b=(-*p1)/(*p2)+7;

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

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

A)-1,5B)1,6C)0,7D)4,10

15假如要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,如此文件方式字符串应是

A)〞ab+〞B)〞wb+〞C)〞rb+〞D〞ab〞

16根据定义和数据的输入方式,输入语句的正确形式为

已有定义:

floatf1,f2;

数据的输入方式:

4.52

3.5

A)scanf(“%f,%f〞,&

f1,&

f2);

B)scanf(“%f%f〞,&

C)scanf(“%3.2f%2.1f〞,&

D)scanf(“%3.2f%2.1f〞,&

17分析以下程序运行结果

#include

intfunc(intn){

if(n==1)

return1;

return(n*func(n-1));

voidmain(){

intx;

x=func(5);

printf(“%d\n〞,x);

A)100B)5C)1D)120

18分析以下程序运行结果

inty=2,a=1;

while(y--!

=-1){

do{

a*=y;

a++;

}while(y--);

printf(“%d,%d\n〞,a,y);

A)1,-2B)2,1C)1,0D)2,-1

19下面程序段的运行结果是

chara[7]=〞abcdef〞;

charb[4]=〞ABC〞;

strcpy(a,b);

printf(“%c〞,a[5]);

A)空格B)\0C)eD)f

20下面是对s的初始化,其中不正确的答案是

A)chars[5]={“abc〞};

B)chars[5]={‘a’,’b’,’c’};

C)chars[5]=〞〞;

D)chars[5]=〞abcdef〞;

21执行语句for(i=1;

i++<

4;

);

后变量i的值是

A)3B)4C)5D)不定

22以下程序段

x=-1;

do

{x=x*x;

while(!

x);

A)是死循环B)循环执行二次

C)循环执行一次D)有语法错误

23假如有以下定义和语句:

iniondata

{inti;

charc;

floatf;

}a;

intn;

如此以下语句正确的答案是

A)a=5;

B)a={2,’a’,1.2};

C)printf(“%d\n〞,a);

D)n=a;

24下面程序的运行结果是

{

structcmplx{intx;

inty;

}um[2]={1,3,2,7};

printf(“%d\n〞,um[0].y/um[0].x*cunm[1].x);

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

25以下程序的运行结果是

{intk=4,a=3,b=2,c=1;

printf(“\n%d\n〞,k}

A)4B)3C)2D)1

二填空

1假如有以下定义,如此计算表达式y+=y-=m*=以后y的值是_____

intm=5,y=2;

2假如有定义:

intb=7;

floata=2.5,c=4.7;

:

如此下面表达式的值为_____

a+(int)(b/3*(int)(a+c)/2)%4

3有inta=3,b=4,c=5;

如此以下表达式的值为_____

!

(a+b)+c-1&

b+c/2

4条件〞2或x<

-10〞的c语言表达式是_____

5以下程序的功能是判断输入的年份是否是闰年.请在[]内填入正确内容

{inty,f;

y);

if(y%400==0)f=1;

elseif([5])f=1;

else[6];

if(f)printf(“%dis〞,y);

elseprintf(“%disnot〞,y);

printf(“aleapyear\n〞);

6下面程序的功能是计算100至1000之间有多少个数其各位数字之和是5。

请填空

main(0

{inti,s,k,count=0;

for(i=100;

i<

=1000;

i++)

{s=0;

k=i;

while([7]){s=s+k%10;

k=[8];

if(s!

=5)[9];

elsecount++;

printf(“%d〞,count);

7下面程序将二维数组a的行和列元素呼唤后存到另一个二维数组b中。

{inta[2][3]={{1,2,3},{4,5,6}};

intb[3][2],I,j;

printf(“arraya:

\n〞);

for(i=0;

=1;

{for(j=0;

[10];

j++)

{printf(“%5d〞,a[i][j]);

[11];

printf(“\n〞);

printf(“arrayb:

[12];

j<

printf(“%5d〞,b[i][j]);

8以下search函数的功能是利用顺序查找法从数组a的10个元素中对关键字m进展查找。

顺序查找法的思路是:

从第一个元素开始,从前向后依次与关键字你叫,直到找到此元素或查找到数组尾部时完毕。

假如找到,返回此元素的下标;

假如仍未找到,如此返回值-1。

intsearch(inta[10],intm)

{intI;

=9;

i++)if([1])return(i);

return(-1);

{inta[13],m,i,no;

……

no=search([14]);

if([15])printf(“\nOKFOUND!

%d〞,no+1);

elseprintf(“\nSorryNotFound!

〞);

9假如有定义:

inta[]={2,4,6,8,10,12},*p=a;

如此*(p+1)的值是[16],*(a+5)的值是[17]

10将任意输入的一个偶数n分解为两个素数之和,并给出各种分解方法

intn,i;

intcheck(intx);

}while(n%2!

=0);

for(i=3;

=n/2;

if(check(i)&

[18])

printf(“%d=%d+%d\n〞,n,i,n-i);

intcheck(intx)

inti;

for(i=2;

iif([19])return(0);

return

(1);

11函数调用语句:

fgets〔buf,n,fp〕;

从fp指向的文件中读入[20]个字符放到buf字符数组中。

函数值为[21]

12设数组a包括10个整型元素。

下面程序的功能是求出a中各相邻元素的和,并将这些和存在数组b中,按每行3个元素的形式输出。

{inta[10],b[10],i;

10;

a[i]);

for([22];

[23]

for(i=1;

{printf(“%3d〞,b[i]);

if([24]==0)printf(“\n〞);

13如果以下程序输入的是wearestudents,如此输出的结果是[25]

#include“stdio.h〞

voidmain()

{chars[81],*p;

printf(“Inputasentence:

gets(s);

for(p=s;

*p;

p++)

if(*p==32)//空格键的ASCII值是32

{if(*(p+1)!

=32)printf(“\n〞);

elseputchar(*p);

}

05年9月等级考试二级C语言考前密卷2

选择题

(1)~(10)每一小题2分,(11)-(50)每一小题1分,共60分)

  

  如下各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

  

(1)算法分析的目的是________。

  A)找出数据结构的合理性   B)找出算法中输入和输出之间的关系

  C)分析算法的易懂性和可靠性 D)分析算法的效率以求改良

  答案:

D

  评析:

算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数掌级,常用时间复杂度和空间复杂度表示。

分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。

  

(2)n个顶点的强连通图的边数至少有________。

  A)n-1  B)n(n-1)  C)n   D)n+l

C

在有向图中,假如任意两个顶点都连通,如此称该图是强连通图,这样的有向图的形状是环状,因而至少应有n条边。

  (3)数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是________。

  A)堆排序  B)直接插入排序 C)快速排序 D)直接选择排序

B

当数据表A中每个元素距其最终位置不远,说明数据表A按关键字值根本有序,在待排序序列根本有序的情况.下,采用插入排序所用时间最少,故答案为选项B。

  (4)用链表表示线性表的优点是________。

  A)便于插入和删除操作     B)数据元素的物理顺序与逻辑顺序一样

  C)花费的存储空间较顺序存储少 D)便于随机存取

A

链式存储结构克制了顺序存储结构的缺点:

它的结点空间可以动态申请和释放;

它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。

故链式存储结构下的线性表便于插入和删除操作。

  (5)如下不属于结构化分析的常用工具的是________。

  A)数据流图  B)数据字典  C)判定树  D)PAD图

结构化分析的常用工具有数据流图、数据字典、判定树和判定表。

而PAD图是常见的过程设计工具中的图形设计。

  (6)软件开发的结构化生命周期方法将软件生命周期划分成________。

  A)定义、开发、运行维护

  B)设计阶段、编程阶段、测试阶段

  C)总体设计、详细设计、编程调试

  D)需求分析、功能定义、系统设计

通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。

它可以分为软件定义、软件开发与软件运行维护三个阶段。

  (7)在软件工程中,白盒测试法可用于测试程序的内部结构。

此方法将程序看做是________。

  A)循环的集合 B)地址的集合 C)路径的集合 D)目标的集合

软件的白盒测试方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构与有关信息,设计或选择测试用例,对程序所有逻辑路径进展测试。

  (8)在数据管理技术开展过程中,文件系统与数据库系统的主要区别是数据库系统具有________。

  A)数据无冗余    B)数据可共享

  C)专门的数据管理软件  D)特定的数据模型

在文件系统中,相互独立的记录其内部结构的最简单形式是等长同格式记录的集合,易造成存储空间大量浪费,不方便使用。

而在数据库系统中,数据是结构化的,这种结构化要求在描述数据时不仅描速数据本身,还要描述数据间的关系,这正是通过采用特定的数据模型来实现的。

  (9)分布式数据库系统不具有的特点是________。

  A)分布式          B)数据冗余

  C)数据分布性和逻辑整体性  D)位置透明性和复制透明性

分布式数据库系统具有数据分布性、逻辑整体性、位置透明性和复制透明性的特点,其数据也是分布的;

但分布式数据库系统中数据经常重复存储,数据也并非必须重复存储,主要视数据的分配模式而定。

假如分配模式是一对多,即一个片段分配到多个场地存放,如此是冗余的数据库,否如此是非冗余的数据库。

  (10)如下说法中,不属于数据模型所描述的内容的是________。

  A)数据结构 B)数据操作  C)数据查询  D)数据约束

数据模型所描述的内容有3个局部,它们是数据结构、数据操作和数据约束。

数据操作主要是描述在相应数据结构上的操作类型与操作方式;

数据模型中的数据约束主要描述数据结构内数据间的语法、语义联系,它们之间的制约与依存关系,以与数据动态变化的规如此,以保证数据的正确、有效与胡容。

  (11)在结构化程序设计中,限制使用goto语句的原因是________。

  A)提高程序的执行效率

  B)提高程序的清晰性和可靠性

  C)便于程序的合成

  D)该语句对任何结构的程序都不适用

在c语言中,限制使用goto语句,其目的是为了提高程序的清晰性与可靠性,一般来说,除了从多重循环中跳出,一般不使用goto语句。

  (12)以下选项中合法的实型常数是________。

  A)5E2.0  B)E-3  C).2E0  D)1.3E

以指数形式表示实数时,字母e(或E)之前必须有数字,且e后面指数必须为整数。

  (13)如下表示中,正确的答案是________。

  A)C语言中既有逻辑类型也有集合类型

  B)c语言中没有逻辑类型但有集合类型

  B)C语言中有逻辑类型但没有集合类型

  B)C语言中没有逻辑类型也没有集合类型

在c语言中只提供了整型、浮点型、字符型这几种根本类型,c语言没有提供逻辑类型,在c中一般用整型来表示逻辑类型。

在自定义类型中,c提供了struct,enum与union类型,但没有提供集合类型,在pascal中提供了集合类型set。

  (14)大写字母A的ASCII码是65,小写字母a的ASCII码是97,如此用八进制表示的字符常量’\10l’是________。

  A)字符A  B)字符a  C)字符e  D)非法的常量

八进制101转换为十进制即为65,而字母A的ASCII码是65,所以用八进制表示的字符常量’\101’是A。

  (15)设a和b均为double型常量,且a=5.5、b=2.5,如此表达式(int)a+b/b的值是________。

  A)6.500000 B)6  C)5.500000  D)6.000000

各类数值型数据在进展混合运算时,不同类型的数据要先转换成同一类型,然后进展运算。

转换的规如此为:

总是转换为精度更大的数据类型,字符数据转换为整数,short型转为int型,float型数据在运算时转换成双精度型,以提高运算精度。

  (16)以下四个选项中不能看作一条语句的是________。

  A){;

}  B)a=0,b:

0,c=0;

 C)if(a>

0);

  D)if(b==0)m=l;

n=2;

选项A为空语句,选项B是一个由逗号运算符表达式形成的语句,选项c为一个条件语句,选项D有两个分号,是由两个语句构成,不能看成一条语句。

  (17)i、j、k为int型变量,假如从键盘输入:

1,2,3↙,使i的值为l、j的值为2、k的值为3,以下选项中正确的输入语句是________。

  A)scanf("

%2d%2d%2dtt,&

i,&j,&

k);

  B)scanf("

%d %d %d"

,&

i,&j,&k);

  C)scanf("

%d,%d,%dfI,&i,&j,&k);

  D)scanf("

i=%d,j=%d,k=%d-t,&

i,&

j,&

如果在"

格式控制"

字符串中除了格式说明以外还有其它字符,如此在输入数据时应输入与这些字符一样的字符。

  (18)关于goto语句的使用,下面正确的答案是________。

  A)goto2;

   B)gotog;

  C)gotog:

   D)goto2;

  2:

exit(0);

  g:

exit(O);

  2exit(0);

在c中,goto语句后面的标号的命名规如此与c语言中标识符的命名规如此一样,在goto语句后面的标号后不要加"

"

号,在某一行上添加标号时,在标号的后面要添加"

号。

  (19)假如有以下程序:

  main()

  {intk=2,i=2,m;

  m=(k+=I*=k);

  printf("

%d,%d、n"

,m,i);

  }

  执行后的输出结果是__________。

  A)8,6  B)8,3  C)6,4  D)7,4

在赋值符"

="

之前加上其它运算符,可以构成复合的运算符。

此运算为右结合性,即从右往左计算。

I*=k即i=i*k=2*2=4,k=k+i=2

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

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1