C语言四川省省级第32次考试题.docx

上传人:b****4 文档编号:2965368 上传时间:2022-11-16 格式:DOCX 页数:28 大小:33.73KB
下载 相关 举报
C语言四川省省级第32次考试题.docx_第1页
第1页 / 共28页
C语言四川省省级第32次考试题.docx_第2页
第2页 / 共28页
C语言四川省省级第32次考试题.docx_第3页
第3页 / 共28页
C语言四川省省级第32次考试题.docx_第4页
第4页 / 共28页
C语言四川省省级第32次考试题.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

C语言四川省省级第32次考试题.docx

《C语言四川省省级第32次考试题.docx》由会员分享,可在线阅读,更多相关《C语言四川省省级第32次考试题.docx(28页珍藏版)》请在冰豆网上搜索。

C语言四川省省级第32次考试题.docx

C语言四川省省级第32次考试题

四川省第32次等级考试笔试

二级(C与C++语言)笔试试卷

时间:

2010年4月17日

上午9:

00—11:

00

第一部分

软件技术基础

(共15分)

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

(判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B)

1.在程序设计中,常用一维数组来表示线性表的顺序存储空间。

(1)

2.软件测试的目的是为用户提供没有错误的程序。

(2)

3.栈顶的位置只能进行进栈操作不能进行退栈操作。

(3)

4.处于等待状态的进程,若其等待的事件已发生,就立即转入运行状态。

(4)

5.线性表若采用链式存储表示时其结点之间的存储单元地址可以不连续。

(5)

6.在进行插入排序时,其数据比较次数与数据的初始排列有关。

(6)

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

(7)

8.在操作系统中,进程最基本的特征是静态性和并发性。

(8)

9.软件危机是由于软件产品过多而产生的。

(9)

10.面向过程系统需求分析使用的主要工具是数据流图和数据字典。

(10)

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

1.进程从运行状态进入就绪状态的原因可能是(11)。

11(A)时间片用完(B)等待某一事件

(C)等待的事件已发生(D)被选中占有处理机

2.需求分析中开发人员主要从用户那里了解(12)。

12(A)软件怎样做(B)软件做什么

(C)输入的信息(D)软件的测试

3.队列的操作原则是(13)。

13(A)先进后出(B)先进先出

(C)只进不出(D)只出不进

4.在需要经常查找结点的前驱后后继的情况下,使用(14)比较合适。

14(A)单链表(B)循环链表

(C)双链表(D)顺序表

5.任何两个并发进程之间(15)。

15(A)一定存在互斥关系(B)一定存在同步关系

(C)一定彼此独立无关(D)可能存在同步或互斥关系

第二部分

C与C++语言程序设计

(共85分)

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

1.若x和y为double类型,则表达式x=1,y=x+3/2的值为(16)。

(考点:

数据类型、运算符)

16(A)1(B)2(C)2.0(D)2.5

2.如果a,b,c,x,y均为int型变量,x=5,y=10,则执行下面语句后,a,b,c的值分别为(17)。

a=(--y==x++)?

--y:

++x;(考点:

数据类型、运算符)

b=y++;

c=x;

17(A)a=7,b=9,c=7(B)a=7,b=9,c=6

(C)z=6,b=9,c=7(D)z=6,b=9,c=6

3.执行下面语句段的输出结果是(18)。

(考点:

逻辑运算符)

inti=1,j=1,k=2;

if((j++||k++)&&i++)

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

18(A)1,1,2(B)2,2,1(C)2,2,2(D)2,2,3

4.若要求表示“a不等于0”的关系,则不能正确表示这一关系的表达式为(19)。

(考点:

关系运算)

19(A)a<>0(B)a(C)a>0||a<0(D)a!

=0

5.若有说明inta,*p=&a;则scanf("%d",*p);语句不能正确为变量赋值的原因是(20)。

(考点:

指针)

20(A)*p表示的是指针变量p的地址

(B)*p表示的是变量a的值,而不是变量a的地址

(C)*p表示的是指针变量p的值

(D)*p只是用来说明p是一个指针变量

6.若有如下说明,则能使指针变量p的值增加的表达式是(21)。

(考点:

结构体指针)

structws

{inta;

int*b;

}*p;

21(A)++p->a(B)p->b++(C)p->a++(D)(p++)->a

7.以下能对二维数组a进行正确初始化的是(22)。

(考点:

二维数组)

22(A)inta[2][]={{1,0,1},{5,2,3}};(B)inta[][3]={{1,2,3},{4,5,6}};

(C)inta[2][4]={{1,2,3},{4,5},{6}};(D)inta[][3]={{1,0,1},{},{1,1}};

8.有以下结构体说明和变量定义:

(考点:

链表操作)

structnode

{intdata;

Structnode*next;

}*p,*q,*r;

建立如图所示的链表结构,指针变量p、q分别指向如图所示的结点,指针变量r指向一新结点,则可以实现将r指向的结点插入到p、q所指结点之间的语句组是(23)。

 

23(A)q=r;p->next=q->next;(B)p->next=r;r->next=p->next;

(C)r->next=q;p->next=r;(D)p=r;r->next=q;

9.以下程序的运行结果为(24)。

(考点:

宏定义)

#define

#definePT3.5

#defineS(x)PT*x*x

voidmain()

{inta=1,b=2;

printf("%4.1f\n",S(a+b));

}

24(A)14.0(B)31.5(C)7.5(D)10.5

10.下面程序段的运行结果为(25)。

(考点:

位运算)

inta=9,b=020;

printf("%o\n",~a&b<<1);

25(A)40(B)41(C)42(D)43

二、读程序回答问题(每个选择3分,共45分)

1.有如下程序:

(考点:

字符数组、函数(地址参数))

intcount(char*str,charsubstr[20])

{inti,j,k,num=0;

for(i=0;*(str+i)!

='\0';i++)

{j=i;

k=0;

while(substr[k]==str[j])

{k++;j++;

}

if(substr[k]=='\0')

num++;

}

returnnum;

}

voidmain()

{

charstr[80],substr[20];

gets(str);

gets(substr);

printf("%d\n",count(str,substr));

}

(1)若运行程序时输入abcdabad和ab两个字符串,则输出结果为(26)。

26(A)3(B)4(C)2(D)11

(2)该程序的功能是(27)。

27(A)比较两个字符串str和substr的大小

(B)统计子串substr在母串str中出现的次数

(C)将子串substr复制到母串str中

(D)统计两个字符串中字符的总个数

2.有下列程序(考点:

函数)

#include

intfun(inta,intb)

{staticintc=0;

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

elsec=c+b;

returnc;

}

voidmain()

{

inta=2,b=5,c=6,d;

d=fun(2*a,fun(b,c));

printf("%d",d);

}

(1)fun(2*a,fun(b,c))的函数调用中,实参的个数为(28)。

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

(2)程序的运行结果是(29)。

29(A)6(B)10(C)12(D)15

3.有下列程序(考点:

带参数的宏定义)

#include

#defineM(x,y)((x%y==1)?

1:

0)

intfun(int*a,intn)

{

inti,s=0;

for(i=0;i

if(M(a[i],2)&&M(a[i],3))s=s+a[i];

returns;

}

voidmain()

{

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

printf("%d\n",fun(a,7));

}

(1)宏调用M(a[i],2)&&M(a[i],3)为真时所要表达的是(30)。

30(A)判断a[i]是否能被2或3整除

(B)判断a[i]是否能被2和3整除

(C)判断a[i]被2或3整除时,是否至少有一种情况余1

(D)判断a[i]被2和3整除时,是否都余1

(2)程序的运行结果是(31)。

31(A)15(B)6(C)16(D)8

4.有下列程序(考点:

函数(地址参数)、指针运算)

#include"stdio.h"

voidprt(int*x,int*y,int*z)

{

printf("%d,%d,%d\n",++*x,++*y,*(z++));

}

voidmain()

{

inta=10,b=40,c=20;

prt(&a,&b,&c);

prt(&a,&b,&c);

}

(1)第一次调用函数prt的运行结果是(32)。

32(A)11,42,31(B)11,41,20(C)11,21,40(D)11,41,21

(2)第二次调用函数prt的运行结果是(33)。

33(A)12,42,20(B)12,22,41(C)11,21,41(D)12,42,22

5.有如下程序(考点:

全局变量和局部变量、函数(地址参数)、)

#include

intb=1;

intfun(int*a)

{

intb=0;

b=b+a[0];

returnb;

}

voidmain()

{

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

for(i=0;i<2;i++)

{

b=b+fun(a+i);

printf("%d",b);

}

}

(1)程序的运行结果是(34)。

34(A)24(B)412(C)23(D)410

(2)若将函数fun中的定义“intb=0;”去掉,则程序的运行结果为(35)。

35(A)24(B)412(C)23(D)410

6.有如下程序(考点:

字符数组、函数(地址参数)、逻辑表达式)

#include

voidfun(char*s,char*t1,char*t2)

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

当前位置:首页 > 医药卫生 > 基础医学

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

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