首页>计算机等级考试>模拟试题>正文
2007年计算机二级C语言模拟试题(7)

www.zige365.com 2007-10-26 11:47:13 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

一 、选择题
(1)下列叙述中正确的是
A)线性表是线性结构    B)栈与队列是非线性结构
C)线性链表是非线性结构   D)二叉树是线性结构
正确答案:  A

(2)非空的循环单链表head的尾结点(由p所指向),满足
A)p->next==NULL    B)p==NULL
C)p->next=head     D)p=head
正确答案:  C

(3)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是
A)堆排序      B)直接插入排序
C)快速排序      D)直接选择排序
正确答案:  B

(4)对建立良好的程序设计风格,下面描述正确的是
A)程序应简单、清晰、可读性好
B)符号名的命名只要符合语法
C)充分考虑程序的执行效率
D)程序的注释可有可无
正确答案:  A

(5)下列不属于结构化分析的常用工具的是
A)数据流图      B)数据字典
C)判定树      D)PAD图
正确答案:  A

(6)在软件生产过程中,需求信息的给出是
A)程序员     B)项目管理者
C)软件分析设计人员    D)软件用户
正确答案:  D

(7)下列工具中为需求分析常用工具的是
A)PAD        B)PFD
C)N-S        D)DFD
正确答案:  D

(8)NULL是指
A)0      B)空格
C)未知的值或无任何值    D)空字符串
正确答案:  C

(9)数据库的故障恢复一般是由
A)数据流图完成的     B)数据字典完成的
C)DBA完成的      D)PAD图完成的
正确答案:  C

(10)下列说法中,不属于数据模型所描述的内容的是
A)数据结构      B)数据操作
C)数据查询      D)数据约束
正确答案:  C

(11)C语言程序的基本单位是
A)程序行
B)语句
C)函数
D)字符
正确答案:  C

(12)下面四个选项中,均是合法整型常量的选项是
A)160  -0xffff   011
B)-0xcdf   01a   0xe
C)-01  986,012   0668
D)-0x48a   2e5   0x
正确答案:  A

(13)以下选项中合法的用户标识符是
A)long
B)_2Test
C)3Dmax
D)A.dat
正确答案:  B

(14)假定x和y为double型,则表达式x=2,y=x+3/2的值是
A)3.500000
B)3
C)2.000000
D)3.000000
正确答案:  D

(15)以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z的C语言表达式是
A)x/y*z
B)x*(1/(y*z))
C)x/y*1/z
D)x/y/z
正确答案:  A

(16)设x,y,t均为int型变量,执行语句:
x=y=3;
t=++x||++y;
完成后,y的值为
A)不确定
B)4
C)3
D)1
正确答案:  C

(17)已知i,j,k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是
A)scanf("%2d,%2d,%2d", i, j, k);
B)scanf("%d %d %d",&i,&j,&k);
C)scanf("%d,%d,%d",&i,&j,&k);
D)scanf("i=%d,j=%d,k=%d",&i,&j,&k);
正确答案:  C

(18)若变量已正确定义并赋值,下面符合C语言语法的表达式是
A)m∶=5
B)c=b=a=1
C)float 8%5
D)x+5=y+2
正确答案:  B

(19)下列程序运行的结果是
main()
{float x;
int i;
x=3.6;
i=(int)x;
printf("x=%f,i=%d ",x,i);
}
A)x=3.600000,i=3
B)x=3.6,i=3
C)x=3,i=3
D)x=3.600000,i=3.000000
正确答案:  A

(20)若执行下面的程序时,从键盘上输入5和2,则输出结果是
main()
{ int a,b,k;
scanf("%d,%d ",&a,&b);
k=a;
if(a<b)k=a%b;
else k=b%a;
printf("%d\n ",k);
}
A)5
B)3
C)2
D)0
正确答案:  C

(21)C语言中 while 和do-while循环的主要区别是
A)do-while的循环体至少无条件执行一次
B)while的循环控制条件比do-while的循环控制条件更严格
C)do-while允许从外部转到循环体内
D)do-while 的循环体不能是复合语句
正确答案:  A

(22)以下程序的输出结果是
main()
{ int x=1,y=3;
printf("%d,",x++);
{ int x=0;x+=y*2;
printf("%d,%d, ",x,y);
}
printf("%d,%d\n",x,y);
}
A)1,6,3,1,3
B)1,6,3,6,3
C)1,6,3,2,3
D)1,7,3,2,3
正确答案:  C

(23)下面程序输出的结果是
main()
{ int i;
int a[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf("%d ",a[2-i][i]);
}
A)1 5 9
B)7 5 3
C)3 5 7
D)5 9 1
正确答案:  B

(24)请阅读以下程序:
main()
{ int a=5,b=0,c=0;
if(a=b+c)printf("***\n");
else printf("$$$\n");
}
以上程序
A)有语法错不能通过编译
B)可以通过编译但不能通过连接
C)输出***
D)输出$$$
正确答案:  D

(25)以下程序的输出结果是
main()
{ char c=′z′;
printf("%c",c-25);
}
A)a
B)Z
C)z-25
D)y
正确答案:  A

(26)下面函数的功能是
char *fun(char *str1,char*str2)
{while((*str1)&&(*str2++=*str1++));
return str2;
}
A)求字符串的长度
B)比较两个字符串的大小
C)将字符串str1复制到字符串str2中
D)将字符串str1接续到字符串str2中
正确答案:  C

(27)下面函数调用语句含有实参的个数为
func((exp1,exp2),(exp3,exp4,exp5));
A)1
B)2
C)4
D)5
正确答案:  B

(28)下面程序段的运行结果是
char *s="abcde";
s+=2;printf("%d",s);
A)cde
B)字符′c′
C)字符′c′的地址
D)无确定的输出结果
正确答案:  C

(29)已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的正确输出结果是
void print_value(int *x)
{printf("%d\n",++*x);}
A)23
B)24
C)25
D)26
正确答案:  D

(30)当顺利执行了文件关闭操作时,fclose函数的返回值是
A)-1
B)TRUE
C)0
D)1
正确答案:  C

(31)设有如下定义
char *s[2]={ "abcd","ABCD"};
则下列说法错误的是
A)s数组元素的值分别是"abcd"和"ABCD"两个字符串的首地址
B)s是指针数组名,它含有两个元素分别指向字符型一维数组
C)s数组的两个元素分别存放的是含有4个字符的一维字符数组中的元素
D)s数组的两个元素中分别存放了字符′a′和′A′的地址
正确答案:  C

(32)以下不能对二维数组a进行正确初始化的语句是
A)int a[2][3]={0};
B)int a[][3]={{1,2},{0}};
C)int a[2][3]={{1,2},{3,4},{5,6}};
D)int a[][3]={1,2,3,4,5,6};
正确答案:  C

(33)有以下程序
struct STU
{ char num[10]; float score[3]; };
main()
{struct STU s[3]={{"20021",90,95,85},
{"20022",95,80,75},
{ "20023",100,95,90},
},*p=s;
int i; float sum=0;
for(i=0;i<3;i++)
sum=sum+p->score[i];
printf("%6.2f\n",sum);
}
程序运行后的输出结果是
A)260.00
B)270.00
C)280.00
D)285.00
正确答案:  B

(34)若有说明:int a[10];则对a数组元素的正确引用是
A)a[10]
B)a[3,5]
C)a(5)
D)a[10-10]
正确答案:  D

(35)下面程序段中,输出*的个数是
char *s="\ta\018bc";
for(;*s!=′\0′;s++)printf("*");
A)9
B)5
C)6
D)7
正确答案:  C

(36)设有如下函数
fun (float x)
{
printf("\n%d",x*x);}
则函数的类型是
A)与参数x的类型相同
B)是void
C)是int型
D)无法确定
正确答案:  C

(37)有如下定义
#define D 2
int x=5;float y=3.83;
char c=′D′;
则下面选项中错误的是
A)x++;
B)y++;
C)c++;
D)D++;
正确答案:  D

(38)以下程序段的执行结果为
#define PLUS(X,Y)X+Y
main()
{ int x=1,y=2,z=3,sum;
sum=PLUS(x+y,z)*PLUS(y,z);
printf("SUM=%d",sum);
}
A)SUM=9
B)SUM=12
C)SUM=18
D)SUM=28
正确答案:  B

(39)C语言规定,函数返回值的类型是由
A)return语句中的表达式类型所决定
B)调用该函数时的主调函数类型所决定
C)调用该函数时系统临时决定
D)在定义该函数时所指定的函数类型所决定
正确答案:  D

(40)下列程序的运行结果是
void fun(int *a,int *b)
{ int *k;
k=a;a=b;b=k;
}
main()
{ int a=2004, b=9,*x=&a,*y=&b;
fun(x,y);
printf("%d%d",a,b);
}
A)2004 9
B)9 2004
C)0 0
D)编译时出错
正确答案:  A

本新闻共2页,当前在第1页  1  2  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
2007年计算机二级VB模拟试题及答案(12)
2007年计算机二级VB模拟试题及答案(3)
2007年计算机等级考试二级C++模拟试题(1)
2007年计算机二级C语言模拟试题(8)
2007年计算机二级C语言模拟试题(6)