本站推出全站通,300元一年,500元终身,全站所有科目无限制使用。详情请联系在线客服垂询:QQ:1400212416
用户名:
密码:
记住我
[ 注册 ]
|
忘记密码?
| 客服:
学历考试
研究生入学考试
自学考试
成人高考
MBA / MPA
外语考试
大学英语四六级考试
新概念
从业资格考试
公务员考试
保险类考试
司法考试
银行从业
证券从业考试
导游考试
心理咨询师
期货从业
理财规划师
教师资格
报关员
报检员
招标师
企业法律顾问
驾照考试
教师招聘
财会考试
会计证
会计职称
注会CPA
经济师
税务师
资产评估师
计算机考试
等级考试
水平考试
医药考试
执业医师
执业药师
执业护士
工程类考试
一级建造师
二级建造师
监理师
咨询师
造价师
安全工程师
城市规划师
土地估价师
房地产估价师
房地产经纪人
Copyright © 2008 - 2011
www.51zuoti.com All Rights Reserved.
首 页
个人中心
推广计划
用户论坛
问题反馈
计算机二级C语言笔试模拟试题二
点此将开始本套试卷的模拟考试 »»
■单选
1.
算法的空间复杂度是指
算法程序的长度
算法程序中的指令条数
算法程序所占的存储空间
执行算法需要的内存空间
2.
用链表表示线性表的优点是
便于随机存取
花费的存储空间较顺序存储少
便于插入和删除操作
数据元素的物理顺序与逻辑顺序相同
3.
数据结构中,与所使用的计算机无关的是数据的
存储结构
物理结构
逻辑结构
物理和存储结构
4.
结构化程序设计主要强调的是
程序的规模
程序的效率
程序设计语言的先进性
程序易读性
5.
软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指
模块间的关系
系统结构部件转换成软件的过程描述
软件层次结构
软件开发过程
6.
检查软件产品是否符合需求定义的过程称为
确认测试
集成测试
验证测试
验收测试
7.
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是
控制流
加工
数据存储
源和潭
8.
应用数据库的主要目的是
解决数据保密问题
解决数据完整性问题
解决数据共享问题
解决数据量大的问题
9.
在数据库设计中,将E-R图转换成关系数据模型的过程属于
需求分析阶段
逻辑设计阶段
概念设计阶段
物理设计阶段
10.
在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是
数据库系统
文件系统
人工管理
数据项管理
11.
下面四个选项中,均是不合法的用户标识符的选项是
A P_0 do
float la0_A
b-a goto int
_123 temp int
12.
以下4个选项中,不能看作一条语句的是
;
a=5,b=2.5,c=3.6;
if(a<5);
if(b!=5)x=2;y=6;
13.
执行下列程序时输入:123<空格>456<空格>789<回车>输出结果是
main()
{char s[100];int c,i;
scanf("%c",&c);scanf("%d",&i);scanf("%s",s);
prinnf("%c,%d,%s\n",c,i,s);}
123,456,789
1,456,789
1,23,456,789
1,23,456
14.
下列说法错误的是
函数调用时,函数名必须与所调用的函数名字完全相同
实参的个数必须与形式参数的个数一致
实参可以是表达式,在类型上必须与形参一一对应匹配
C语言规定,函数必须先定义,后调用(函数的返回值类型为int或char时除外)
15.
有说明char *c[]={"European","Asian","American","African"};则下列叙述中正确的是
*(c+1)=’A’
c是?个字符型指针数组,所包含4个元素的初值分别为
c[3]表示字符串
c是包含4个元素的字符型指针数组,每个元素都是一个字符串的首地址
16.
当把以下4个表达式用作if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是
k%2
k%2==1
(k%2)!=0
!k%2==1
17.
若变量已正确定义并赋值,以下符合C语言语法的表达式是
a:=b+1
a=b=c+2
int l8.5%3
a=a+7=c+b
18.
以下叙述中正确的是
构成C程序的基本单位是函数
可以在一个函数中定义另一个函数
main()函数必须放在其他函数之前
所有被调用的函数一定要在调用之前进行定义
19.
设有:
int a=1,b=2,c=3,d=4,m=2,n=2;
执行(m=a>b)&&(n=c>d)后n的值是
1
2
3
4
20.
设x,y,z,t均为整型变量,现有如下语句x=y=z=1;t=++x||++y&&++z;,则执行这个语句后t的值为
2
1
不定值
21.
若有定义语句:int x=3,y=2,z=1;,表达式:z*=(x>y?++x:y+)的值是
4
1
3
22.
有一堆零件(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);)
i%9=5
i%9!=5
(i-5)%9!=0
(i-5)%9==0
23.
以下描述中正确的是
由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
在do-while循环体中,是先执行一次循环,再进行判断
do-while循环中,根据情况可以省略while
24.
阅读如下程序段
#include "stdio.h"
main()
{int x,a,b;
scanf("%d",&x);
a=b=x;
for(;x!=0;)
{if(x
if(x>a)a=x;
scanf("%d",&x);}
printf("a=%d,b=%d\n",a,b);}
现输入如下。[注]:“_"表示空格
34_56_23_45_5_56_7_12_365_49_48_57_87_7_6_7569_789_0
输入后输出结果是
a=7569,b=789
a=5,b=365
a=7,b=789
a=7569,b=5
25.
执行以下程序后,a,b的值分别为
main()
{ int a,b,k=4,m=6,*pl=&k,*p2=&m;
a=p1==&m;
b=(*p1)/(*p2)+7;
printf("a=%d\n",a);
printf("b=%d\n",b);}
-1,5
1,6
0,7
4,10
26.
下面说明不正确的是
char a[10]="china";
char a[10],*p=a;p="china"’
char *a;a="china";
char a[10],*p;p=a="china"
27.
阅读下列程序段,则程序的输出结果为
#include "stdio.h"
#define M(x,y)(x)*(y)
#define N(x,y)(x)/(y)
main()
{int a=5,b=6,c=8,k;
k=N(M(a,b),c);
printf(“%d\n",k);}
3
5
6
8
28.
假定x和y为double型,则表达式x=2,y=x+3/2的值是
3.500000
3
2.000000
3.000000
29.
若变量已正确定义,以下while循环不断输出读入的字符,当读入回车换行符时结束循环。正确的程序段是
while(ch=getehar()==’\N’)putchar(ch);
while(ch=getehar())==’\N’)putchar(ch);
while((ch=getehar())!=’\N’)putchar(ch);
while((ch=getchar())!=’\N’)putehar(ch);
30.
以下函数返回a所指数组中最小的值所在的下标值
fun(int *a,int n)
{int i,j=0,p;
p=j;
for(i=j;i
if(a[i]
return(p);}
在下划线处应填入的是
i=p
a[p]=a[i]
p=j
p=i
31.
下面程序的运行结果是
#include
main()
{char a[]="morning",t;
int i,j=0;
for(i=1;i<7;i++) if(a[j]
t=a[j]; a[j]=a[7];
a[7]=a[j];puts[a];}
mrgninr
mo
moring
morning
32.
以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序
void sort(int a[],int n)
{ int i,j,t;
for(i=0;i
for(j=i+1;j
if(a[i]
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&aa[3],5);
for(i=0;i<10;i++)printf("%d,",aa[i]);
printf("\n");}
程序运行后的输出结果是
1,2,3,4,5,6,7,8,9,10,
10,9,8,7,6,5,4,3,2,1,
1,2,3,8,7,6,5,4,9,10,
1,2,10,9,8,7,6,5,4,3,
33.
请阅读以下程序:
#include
void fun(int s[])
{ static int j=0;
do
s[j]+=s[j+1];
while(++j<2);}
main()
{int k,a[10]={1,2,3,4,5};
for(k=1;k<3;k++)fun(a);
for(k=0 ;k<5;k++)printf("%d",a[k]);}
上面程序的输出是
34756
23445
35745
12345
34.
下面程序的输出结果是
#include
#include
main()
{char *p1="abc",*p2="ABC",str[50]="xyz";
strcpy(str+2,strcat(p1,p2));
printf("%s\n",str);)
xyzabeABC
zabeABC
xyabcABC
yzabeABC
35.
下列程序的运行结果为
#include
void abc(char *str)
{ int a,b;
for(a=b=0;str[a]!=’\0’;a++)
if(str[a]!=’c’)
str[b++]=str[a];
str[b]=’\0’;}
void main()
{ char str[]="abcdef";
abc(str);
printf(str[]=%s",str);}
str[]=abdef
sir[]=abcdef
str[]=a
str[]=ab
36.
不合法的main函数命令行参数表示形式是
main(int a,char *c[])
main(int arc,char **arv)
main(int argc,char *argv)
main(int argv,char *argc[])
37.
阅读下列程序,则运行结果为
#include " stdio.h"
fun()
{ static int x=5;
x++;
return x;}
main()
{ int i,x;
for(i=0;i<3;i++)
x=fun();
printf("%d\n",x);)
5
6
7
8
38.
在16位IBM-PC机上使用C语言,若有如下定义
struct data
{int i;
char ch;
double f;
}b;
则结构变量b占用内存的字节数是
1
2
7
11
39.
若有以下定义和语句
struct a
{int n,m;};
struct a st[3]={{1,20},{2,19),{3,21)};
struct a*p=st;
则以下错误的引用是
(p++)->n;
st[0].n;
(*p).n;
P=&st.m,
40.
已知int a=1,b=3则a^b的值为
3
1
2
4
■填空
41.
数据的逻辑结构有线性结构和________两大类。
42.
顺序存储方法是把逻辑上相邻的结点存储在物理位置________的存储单元中。
43.
一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的________。
44.
软件工程研究的内容主要包括:________技术和软件工程管理。
45.
关系操作的特点是________操作。
46.
现有如下定义:struct aa {int a;float b;char c;}*p;现需用malloc函数动态的申请一个struct aa类型大小的空间(由p指向),则定义的语句为:________ 。
47.
下列程序的输出结果是l6.00,请填空。
main()
{ int a=9,b=2;
float x=________,y=1.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n",z);}
48.
下面程序的功能是:计算1-10之间的奇数之和与偶数之和,请填空。
#include
main()
{ int a,b,c,i;
a=c=0;
for(i=0;i<=10;i+=2)
{a+=i;
________;
c+=b;}
printf("偶数之和=%d\n",a);
printf("奇数之和=%d\n",c-11);}
49.
下面程序的运行结果是________。
#include
#define SIZE 12
main()
{char s[SIZE];int i;for(i=0;i
sub(s,7,SIZE-1);
for(i=0;i
printf("\n");}
sub(char *a,int
50.
下面函数的功能是将一个字符串的内容颠倒过来,请填空。
void fun(char str[])
{ int i,j,k;
for(i=0,j=________;i
{ k=str[i];
str[i]=str[j];
str[j]=k;}}
51.
阅读下面程序,则程序的执行结果为________ 。
#include"stdio.h"
fun(int k,int *p)
{ int a,b;
if(k==1|| k==2)
*p=1;
else{fun(k-1,&a);
fun(k-2,&b);
*p=a+b;}}
main()
{ int x;
fun(6,&x);
printf("%d\
52.
设有定义“struct{int a;float b;char c;}abc,* p_abe=&abc;",则对结构体成员a的引用方法可以是abc.a和p_abc________a。
53.
以下程序是求矩阵a,b的和,结果存入矩阵c中,并按矩阵形式输出,请填空。
#include
main()
{int a[3][4]={{3,-2,7,5),{1,0,4,-3),{6,8,0,2}};
int b[3][4]={{-2,0,1,4},{5,-1,7,6},{6,8,0,2)};
int i,j,c[3][4];
for(i=0;i<3;i++)
for(j=0;j<4;
54.
以下涵数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。
#define N 4
void rotade(int a[][N],int b[][N])
{int i,j;
for(i=0;i
{b[i][N-1]=________; ________=a[N-1][i];}}
«« 感觉很多题目不会?那就先进行章节练习吧!