首页>计算机等级考试>模拟试题>正文
计算机二级C语言模拟试题及答案(4)

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

一、选择题(每题2分,共计70分)
1.在深度为5的满二叉树中,叶子结点的个数为
A)32
B)31
C)16
D)15 2.若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是
A)bdgcefha
B)gdbecfha
C)bdgaechf
D)gdbehfca
3.一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归
调用中的存储分配通常用
A)栈
B)堆
C)数组
D)链表 4.软件工程的理论和技术性研究的内容主要包括软件开发技术和
A)消除软件危机
B)软件工程管理
C)程序设计自动化
D)实现软件可重用 5.开发软件时对提高开发人员工作效率至关重要的是
A)操作系统的资源管理功能
B)先进的软件开发工具和环境
C)程序人员的数量
D)计算机的并行处理能力
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)软件工程 11.C语言规定,在一个源程序中,main函数的位置
A)必须在最开始
B)必须在系统调用的库函数的后面
C)可以任意
D)必须在最后
12.下列数据中,不合法的C语言实型数据的是
A)0.123
B)123e3
C)2.1e3.5
D)789.0
13.下面4个选项中,均是不合法的用户标识符的选项是
A)AP_0do
B)floatla0_A
C)b-agotoint
D)_123tempint 14.设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为
A)int
B)float
C)double
D)不确定
15.能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是
A)a>=10 or a<=0
B)a>=0|a<=10
C)a>=10 &&a<=0
D)a>=10‖a<=0

16.设以下变量均为int类型,表达式的值不为7的是
A)(x=y=6,x+y,x+1)
B)(x=y=6,x+y,y+1)
C)(x=6,x+1,y=6,x+y)
D)(y=6,y+1,x=y,x+1) 17.若有说明:int *p,m=5,n;以下正确的程序段是
A)p=&n;scanf("%d",&p);
B)p=&n;scanf("%d",*p)
C)scanf("%d",&n);*p=n;
D)p=&n;*p=m;
18.若变量a是int类型,并执行了语句:a=′A′+1.6;,则正确的叙述是
A)a的值是字符C
B)a的值是浮点型
C)不允许字符型和浮点型相加
D)a的值是字符′A′的ASCII值加上1
19.有如下程序
main()
{
int a=2,b=-1,c=2;
if(aif(b<0)c=0;
else c++;
printf("%d\n",c);
}
该程序的输出结果是
A)0
B)1
C)2
D)3
20.有如下程序
main()
{
int x=23;
do
{ printf("%d",x--);} while(!x);
}
该程序的执行结果是
A)321
B)23
C)不输出任何内容
D)陷入死循环
21.有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。下面程序是求这堆零件总数,在划线处应填入的选项是
#include
main()
{
int i;
for(i=100;i<200;i++)
if((i-2)%4==0)
if(!((i-3)%7))
if()
printf("%d",i);
}
A)i%9=5
B)i%9!=5
C)(i-5)%9!=0
D)(i-5)%9==0
22.若变量c为char类型,能正确判断出c为小写字母的表达式是
A)′a′<=c<=′z′
B)(c>=′a′)||(c<=′z′)
C)(′a′<=c)and(′z′>=c)
D)(c>=′a′)&&(c<=′z′)
23.下面程序段的运行结果是
char a[]="lanuage",*p;
p=a;
while(*p!=′u′){printf("%c",*p-32);p++;}
A)LANGUAGE
B)language
C)LAN
D)langUAGE
24.下面程序段的运行结果是
char str[]="ABC",*p=str;
printf("%d\n",*(p+3));
A)67
B)0
C)字符′C′的地址
D)字符′C′
25.以下不正确的定义语句是
A)double x[5]={2.0,4.0,6.0,8.0,10.0};
B)int y[5.3]={0,1,3,5,7,9};
C)char c1[]={′1′, ′2′, ′3′, ′4′, ′5′};
D)char c2[]={′\x10′, ′\xa′, ′\x8′};
26.有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)
int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A)a[p-a]
B)*(&a[i])
C)p[i]
D)*(*(a+i))
27.当说明一个结构体变量时系统分配给它的内存是
A)各成员所需内存量的总和
B)结构中第一个成员所需内存量
C)成员中占内存量最大者所需的容量
D)结构中最后一个成员所需内存量
28.有以下程序
fun(int x,int y,int z)
{ z=x*y;}
main()
{
int a=4,b=2,c=6;
fun(a,b,c);
printf("%d",c);
}
程序运行后的输出结果是
A)16
B)6
C)8
D)12 29.函数fun的返回值是
fun(char *a,char *b)
{
int num=0,n=0;
while(*(a+num)!=′\0′)num++;
while(b[n]){*(a+num)=b[n];num++;n++;}
return num;
}
A)字符串a的长度
B)字符串b的长度
C)字符串a和b的长度之差
D)字符串a 和b的长度之和
30.以下叙述中不正确的是
A)预处理命令行都必须以#号开始
B)在程序中凡是以#号开始的语句行都是预处理命令行
C)宏替换不占用运行时间,只占编译时间
D)在以下定义是正确的: #define PI 3.1415926;

31.下列程序的输出结果是
main()
{
int a[5]={2,4,6,8,10},*p,**k;
p=a;
k=&p;
printf("%d",*(p++));
printf("%d\n",**k);
}
A)4
B)22
C)24
D)46
32.下面程序段的运行结果是
char *p="abcdefgh";
p+=3;
printf("%d\n",strlen(strcpy(p,"ABCD")));
A)8
B)12
C)4
D)7
33.下列函数的运行结果是
main()
{
int i=2,p;
int j,k;
j=i;
k=++i;
p=f(j,k);
printf("%d",p);
}
int f(int a,int b)
{
int c;
if(a>b)c=1;
else if(a==b)c=0;
else c=-1;
return(c);
}
A)-1
B)1
C)2
D)编译出错,无法运行
34.已知函数的调用形式:fread(buf,size,count,fp),参数buf的含义是
A)一个整型变量,代表要读入的数据项总数
B)一个文件指针,指向要读的文件
C)一个指针,指向要读入数据的存放地址
D)一个存储区,存放要读的数据项
35.有如下程序
#define N2
#define MN+1
#define NUM2*M+1
main()
{
int i;
for(i=1;i<=NUM;i++)printf("%d\n",i);
}
该程序中的for循环执行的次数是
A)5
B)6
C)7
D)8

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

我要投稿 新闻来源: 编辑: 作者:
相关新闻