本站推出全站通,300元一年,500元终身,全站所有科目无限制使用。详情请联系在线客服垂询:QQ:1400212416
用户名:
密码:
记住我
[ 注册 ]
|
忘记密码?
| 客服:
学历考试
研究生入学考试
自学考试
成人高考
MBA / MPA
外语考试
大学英语四六级考试
新概念
从业资格考试
公务员考试
保险类考试
司法考试
银行从业
证券从业考试
导游考试
心理咨询师
期货从业
理财规划师
教师资格
报关员
报检员
招标师
企业法律顾问
驾照考试
教师招聘
财会考试
会计证
会计职称
注会CPA
经济师
税务师
资产评估师
计算机考试
等级考试
水平考试
医药考试
执业医师
执业药师
执业护士
工程类考试
一级建造师
二级建造师
监理师
咨询师
造价师
安全工程师
城市规划师
土地估价师
房地产估价师
房地产经纪人
Copyright © 2008 - 2011
www.51zuoti.com All Rights Reserved.
首 页
个人中心
推广计划
用户论坛
问题反馈
计算机二级C语言笔试模拟试题一
点此将开始本套试卷的模拟考试 »»
■单选
1.
假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为
n(n-l)/2
2.
算法分析的目的是
找出数据结构的合理性
找出算法中输入和输出之间的关系
分析算法的易懂性和可靠性
分析算法的效率以求改进
3.
线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是
每个元素都有一个直接前件和直接后件
线性表中至少要有一个元素
表中诸元素的排列顺序必须是由小到大或由大到小
除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件
4.
在单链表中,增加头结点的目的是
方便运算的实现
使单链表至少有一个结点
标识表结点中首结点的位置
说明单链表是线性表的链式存储实现
5.
软件工程的出现是由于
程序设计方法学的影响
软件产业化的需要
软件危机的出现
计算机的发展
6.
软件开发离不开系统环境资源的支持,其中必要的测试数据属于
硬件资源
通信资源
支持软件
辅助资源
7.
在数据流图(DFD)中,带有名字的箭头表示
模块之间的调用关系
程序的组成成分
控制程序的执行顺序
数据的流向
8.
分布式数据库系统不具有的特点是
数据分布性和逻辑整体性
位置透明性和复制透明性
分布性
数据冗余
9.
关系表中的每一横行称为一个
元组
字段
属性
码
10.
下列数据模型中,具有坚实理论基础的是
层次模型
网状模型
关系模型
以上3个都是
11.
下面四个选项中,均是不正确的8进制数或l6进制数的选项是
016 0x8f 018
0abc 017 0xa
010 -0x11 0x16
0al2 7ff -123
12.
设变量a是int型,f是float型,i是double型,则表达式l0+’a’+i*f值的数据类型为
int
float
double
不确定
13.
下列关于字符串的说法中错误的是
在c语言中,字符串是借助于字符型一维数组来存放的,并规定以字符’\0’作为字符串结束标志
’\0’作为标志占用存储空间,计入串的实际长度
在表示字符串常量的时候不需要人为在其末尾加入'\0'
在c语言中,字符串常量隐含处理成以'\0'结尾
14.
有以下程序
main()
{ int a[l0]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;
printf("%d\n",*p+*q);)
程序运行后的输出结果是
16
10
8
6
15.
对下述程序的判断中,正确的是
#include
void main()
{ char*p,s[128];
p=s;
while(strcmp(s,"End"))
{printf("Input a string:");
gets(s);
while(*p)
putchar(*p++);}}
此程序循环接收字符串并输出,直到接收字符串"End"为止
此程序循环接收字符串,接收到字符串"End"则输出,否则程序终止
此程序循环接收字符串并输出,直到接收字符串"End"为止,但因为代码有错误,程序不能正常工作
此程序循环接收字符串并将其连接在一起,直到接收字符串"End"为止,输出连接在一起的字符串
16.
若运行以下程序时,从键盘输入ADescriptor
(
表示回车),则下面程序的运行结果是
#include
main()
{char c;
int v0=1,v1=0,v2=0;
do{ switch(c=getchar())
{ case'a':case'A':
case'e':case'E':
case'i':case'I':
case'o':case'O':
case'u':case'U':v1+=1;
default:v0+=1;v2+=1;}}while(c!='\n');
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}
v0=7,v1=4,v2=7
v0=8,v1=4,v2=8
v0=11,v1=4,v2=11
v0=13,v1=4,v2=12
17.
函数的值通过retum语句返回,下面关于return语句的形式描述错误的是
return表达式;
return(表达式);
一个return语句可以返回多个函数值
一个retum语句只能返回一个函数值
18.
设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是
x&&y
x<=Y
x||++y&&y-z
!(x
19.
下列程序中不能正确赋值的是
char * p,ch;
p=&ch;
scanf("%c,&p")
char * p;
p=(char *)malloc(1);
scanf("%c",p);
char * p;
*p=getchar();
char * p,ch;
p=&ch;
*p=getchar();
20.
下列函数的运行结果是
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);}
-1
1
2
编译出错,无法运行
21.
现有格式化输入语句,scanf("x=%d_,sum_y=%d,line_z=%dL",&x,&y,&z);,现在已知在输入数据后,x,y,z的值分别是12,34,45,则下列数据是正确的输入格式的是
12,34,45
x=12,y=34,z=45
x=12C,sumy=34,z=45
x=12_,sum_y=34,line_z=45
[注]:“_"表示空格,
表示回车
22.
设有以下说明语句
struct ex
{int x ;float y;char z;}example;
则下面的叙述中不正确的是
struct结构体类型的关键字
example是结构体类型名
x,y,z都是结构体成员名
struct ex是结构体类型名
23.
运行下面程序,若从键盘输入字母“b",则输出结果是
char c;
c=getchar();
if{c>='a'&&c<='u')c=c+4;
else if(c>='v'&&c<='z')c=c-21;
else printf("input error!\n");
putchar(c);
g
w
f
d
24.
设有程序段
int k=10;
while(k=0)k=k-1;
则下面描述中正确的是
while循环执行l0次
循环是无限循环
循环体语句一次也不执行
循环体语句执行一次
25.
请阅读以下程序:
main()
{int a=5,b=0,c=0;
if(a=b+c)printf(“* * *\n");
else printf("$$$\n");}
以上程序
有语法错不能通过编译
可以通过编译但不能通过连接
输出* * *
输出$$$
26.
执行下面的程序后,a的值为
main()
{int a,b;
for(a=1,b=1;a<=100;a++)
{if(b>=20)break;
if(b%3==1)
{b+=3;
continue; }
b-=5;}}
7
8
9
10
27.
有以下程序:
fun(int i,int j)
{i++;j++,
return i+j;}
main()
{int a=1,b=2,c=3;
c+=fun(a,b)+a;
printf("%d,%ct,%d\n",a,b,c),}
1,2,9
2,3,10
1,2,10
2,3,9
28.
下列程序的输出结果是
#2nclude"stdio.h"
#define N 3
#define M 3
void fun(int a[M][N])
{printf("%d\n",*(a[1]+2));}
main()
{int a[M][N];
int i,j;
for(i=0;i
for(j=0;j
a[i][j]=i+j-(i-j);
fun(a);}
3
4
5
6
29.
对以下说明语句的正确理解是
int a[10]={6,7,8,9,10};
将5个初值依次赋给a[1]至a[5]
将5个初值依次赋给a[O]至a[4]
将5个初值依次赋给a[6]至a[10]
因为数组长度与初值的个数不相同,所以此语句不正确
30.
设p1和p2是指向一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是
k=*p1+*p2
p2=k;
p1=p2;
k=*pl*(*p2);
31.
以下程序有错,错误原因是
main()
{int *p,i;char*q,ch;
p=&i;
q=&ch;
*p=40;
*p=*q;
……}
p和q的类型不一致,不能执行*p=*q;语句
*p中存放的是地址值,因此不能执行*p=40;语句
q没有指向具体的存储单元,所以*q没有实际意义
q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
32.
有如下程序:
long fib(int n)
{if(n>2)return(fib(n-1)+fib(n-2));
else return(2);}
main()
{printf("%d\n",fib(3));}
该程序的输出结果是
2
4
6
8
33.
以下程序的输出结果是
#include
main()
{union un{int i;
long k;
char c;};
struct byte {
int a;
long b;
union un c;}r;
printf("%d\n",sizeof(r));}
10
13
7
8
34.
阅读下面程序,则执行后的结果是
#include"stdio.h"
main()
{ char str[]="tomeetme",*p;
for(p=str;p
printf("\n");}
tomeetme
tmem
oete
tome
35.
阅读以下程序及对程序功能的描述,其中正确的描述是
#include
main()
{ FILE*in,*out;
char ch,infile[10],outfile[10];
printf("Enter the infile name:\n");
scanf("%S",infile);
printf("Enter the outfile name:\n");
scanf("%s",outfile);
if((in=fopen(infile,"r"))==NULL)
{printf("cannot open infile\n");
exit(0);}
if((out=fopen(outfile,"w"))==NULL)
{printf("cannot open outfile\n");
exit(0);}
while(!feof(in))fputc(fgetc(in),out);
fclose(in);
fclose(out);}
程序完成将磁盘文件的信息在屏幕上显示的功能
程序完成将两个磁盘文件合二为一的功能
程序完成将一个磁盘文件复制到另一个磁盘文件中
程序完成将两个磁盘文件合并并在屏幕上输出
36.
以下叙述中正确的是
程序应尽可能短
为了编程的方便,应当根据编程人员的意图使程序的流程随意转移
虽然注释会占用较大篇幅,但程序中还是应有尽可能详细的注释
在TURBO C环境下,运行的程序就是源程序
37.
以下叙述不正确的是
一个c源程序可由一个或多个函数组成
一个c源程序必须包含一个main函数
c程序的基本组成单位是函数
在c程序中,注释说明只能位于一条语句的后面
38.
下面函数的功能是
char *fun(char *strl,char *str2)
{while((*str1)&&(*str2++=*str1++));
return str2;}
求字符串的长度
比较两个字符串的大小
将字符串str1复制到字符串str2中
将字符串str1接续到字符串str2中
39.
已知各变量的类型说明如下:
int k,a,b;
unsigned long w=5;
double x=1.42;
则以下不符合c语言语法的表达式是
x%(-3)
w+=-2
k=(a=2,b=3,a+b)
a+=a-=(b=4)*(a=3)
40.
设有如下定义:
struct sk
{int n;
float x;}data,*p;
若要使p指向data中的n域,正确的赋值语句是
p=&data.n;
*p=data.n;
p=(struct sk*)&data.n;
p=(stnlct sk*)data.n;
■填空
41.
在算法正确的前提下,评价一个算法的两个标准是________。
42.
将代数式
转换成程序设计中的表达式为________。
43.
软件危机出现于60年代末,为了解决软件危机,人们提出了________的原理来设计软件,这就是软件工程诞生的基础。
44.
填空:________是数据库设计的核心。
45.
在关系模型中,把数据看成一个二维表,每一个二维表称为一个 ________ 。
46.
下列程序的输出结果是________。
#define PR(a)printf("%d\t,(int)(a))
#define PRINT(a)PR(a);printf("ok!")
main()
{int i,a=1;
for(i=0;i<3;i++)
PRINT(a+i);
printf("\n");}
47.
下面程序的功能是将一个字符串sir的内容颠倒过来,请填空。
#include
main()
{int i,j,________;char str[]={“l234567"};
for(i=0,j=strlen(str)________;i
{k=str[i];str[i]=str[j];str[j]=k;}
printf(“%s\n",str);}
48.
以下函数用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。请填空。
#include
#include
int fun(int *s,int t,int *k)
{int i;
*k=0;
________5
if(s[*k]
return ________;}
main()
{int a[10]={876,675
49.
下列程序的运行结果是________。
#include
main
{ int k=4,m=3,p;
p=func(k,m);
printf("%d",p);
p=func(k,m);
printf("%d\n",p);}
func(a,b)
int a,b;
{static int m=0,i=2;
i+=m+1;
m
50.
以下程序运行结果是________。
#include
main()
{int fun();fun();}
fun()
{statLc int a[3]={0,1,2};
int i;
for(i=0;i<3,i++)a[i]+=a[i];
for(i=0;i<3;i++)printf("%d,",a[i]);
printf("\n");}
51.
若用0至9之间不同的三个数构成一个三位数,下面程序将统计出共有多少种方法。请填空。
#include
main()
{int i,j,k,count=0;
for(i=0;i<=9;i++)
for(j=0;i<=9;j++)
if(________)continue;
else for(k=0;k<=9;k++)
if(________1)count;++;
print
52.
以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针,请将定义补充完整。
struct node
{int info;
________ link;};
«« 感觉很多题目不会?那就先进行章节练习吧!