感谢您使用《我要做题》www.51zuoti.com,这是一个提供各类考试在线做题的网站,由于采用了艾宾浩斯脑外记忆管理功能,所以大大节省了记忆时间和提高了记忆效率。同时非常环保,可完全替代传统纸质习题集。
您现在正在查看的为试题存档,如要进入做题界面请回到章节列表,如要登录网站请回到首页
计算机二级C语言笔试模拟试题一
假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为- #[log_{2}n]#
- #[n^{2}]#
- #[O(n^{1.5})]#
- n(n-l)/2
▶查看答案及解析请进入章节练习,点击章节名称进入。
算法分析的目的是- 找出数据结构的合理性
- 找出算法中输入和输出之间的关系
- 分析算法的易懂性和可靠性
- 分析算法的效率以求改进
▶查看答案及解析请进入章节练习,点击章节名称进入。
线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是- 每个元素都有一个直接前件和直接后件
- 线性表中至少要有一个元素
- 表中诸元素的排列顺序必须是由小到大或由大到小
- 除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件
▶查看答案及解析请进入章节练习,点击章节名称进入。
在单链表中,增加头结点的目的是- 方便运算的实现
- 使单链表至少有一个结点
- 标识表结点中首结点的位置
- 说明单链表是线性表的链式存储实现
▶查看答案及解析请进入章节练习,点击章节名称进入。
软件工程的出现是由于- 程序设计方法学的影响
- 软件产业化的需要
- 软件危机的出现
- 计算机的发展
▶查看答案及解析请进入章节练习,点击章节名称进入。
软件开发离不开系统环境资源的支持,其中必要的测试数据属于▶查看答案及解析请进入章节练习,点击章节名称进入。
在数据流图(DFD)中,带有名字的箭头表示- 模块之间的调用关系
- 程序的组成成分
- 控制程序的执行顺序
- 数据的流向
▶查看答案及解析请进入章节练习,点击章节名称进入。
分布式数据库系统不具有的特点是- 数据分布性和逻辑整体性
- 位置透明性和复制透明性
- 分布性
- 数据冗余
▶查看答案及解析请进入章节练习,点击章节名称进入。
关系表中的每一横行称为一个▶查看答案及解析请进入章节练习,点击章节名称进入。
下列数据模型中,具有坚实理论基础的是▶查看答案及解析请进入章节练习,点击章节名称进入。
下面四个选项中,均是不正确的8进制数或l6进制数的选项是- 016 0x8f 018
- 0abc 017 0xa
- 010 -0x11 0x16
- 0al2 7ff -123
▶查看答案及解析请进入章节练习,点击章节名称进入。
设变量a是int型,f是float型,i是double型,则表达式l0+’a’+i*f值的数据类型为▶查看答案及解析请进入章节练习,点击章节名称进入。
下列关于字符串的说法中错误的是- 在c语言中,字符串是借助于字符型一维数组来存放的,并规定以字符’\0’作为字符串结束标志
- ’\0’作为标志占用存储空间,计入串的实际长度
- 在表示字符串常量的时候不需要人为在其末尾加入'\0'
- 在c语言中,字符串常量隐含处理成以'\0'结尾
▶查看答案及解析请进入章节练习,点击章节名称进入。
有以下程序
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);)
程序运行后的输出结果是▶查看答案及解析请进入章节练习,点击章节名称进入。
对下述程序的判断中,正确的是
#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"为止,输出连接在一起的字符串
▶查看答案及解析请进入章节练习,点击章节名称进入。
若运行以下程序时,从键盘输入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
▶查看答案及解析请进入章节练习,点击章节名称进入。
函数的值通过retum语句返回,下面关于return语句的形式描述错误的是- return表达式;
- return(表达式);
- 一个return语句可以返回多个函数值
- 一个retum语句只能返回一个函数值
▶查看答案及解析请进入章节练习,点击章节名称进入。
设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是▶查看答案及解析请进入章节练习,点击章节名称进入。
下列程序中不能正确赋值的是- 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();
▶查看答案及解析请进入章节练习,点击章节名称进入。
下列函数的运行结果是
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);}▶查看答案及解析请进入章节练习,点击章节名称进入。
现有格式化输入语句,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
[注]:“_"表示空格,表示回车
▶查看答案及解析请进入章节练习,点击章节名称进入。
设有以下说明语句
struct ex
{int x ;float y;char z;}example;
则下面的叙述中不正确的是- struct结构体类型的关键字
- example是结构体类型名
- x,y,z都是结构体成员名
- struct ex是结构体类型名
▶查看答案及解析请进入章节练习,点击章节名称进入。
运行下面程序,若从键盘输入字母“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);▶查看答案及解析请进入章节练习,点击章节名称进入。
设有程序段
int k=10;
while(k=0)k=k-1;
则下面描述中正确的是- while循环执行l0次
- 循环是无限循环
- 循环体语句一次也不执行
- 循环体语句执行一次
▶查看答案及解析请进入章节练习,点击章节名称进入。
请阅读以下程序:
main()
{int a=5,b=0,c=0;
if(a=b+c)printf(“* * *\n");
else printf("$$$\n");}
以上程序- 有语法错不能通过编译
- 可以通过编译但不能通过连接
- 输出* * *
- 输出$$$
▶查看答案及解析请进入章节练习,点击章节名称进入。
执行下面的程序后,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;}}▶查看答案及解析请进入章节练习,点击章节名称进入。
有以下程序:
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),}▶查看答案及解析请进入章节练习,点击章节名称进入。
下列程序的输出结果是
#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);}▶查看答案及解析请进入章节练习,点击章节名称进入。
对以下说明语句的正确理解是
int a[10]={6,7,8,9,10};- 将5个初值依次赋给a[1]至a[5]
- 将5个初值依次赋给a[O]至a[4]
- 将5个初值依次赋给a[6]至a[10]
- 因为数组长度与初值的个数不相同,所以此语句不正确
▶查看答案及解析请进入章节练习,点击章节名称进入。
设p1和p2是指向一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是- k=*p1+*p2
- p2=k;
- p1=p2;
- k=*pl*(*p2);
▶查看答案及解析请进入章节练习,点击章节名称进入。
以下程序有错,错误原因是
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;没有意义,可能会影响后面语句的执行结果
▶查看答案及解析请进入章节练习,点击章节名称进入。
有如下程序:
long fib(int n)
{if(n>2)return(fib(n-1)+fib(n-2));
else return(2);}
main()
{printf("%d\n",fib(3));}
该程序的输出结果是▶查看答案及解析请进入章节练习,点击章节名称进入。
以下程序的输出结果是
#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));}▶查看答案及解析请进入章节练习,点击章节名称进入。
阅读下面程序,则执行后的结果是
#include"stdio.h"
main()
{ char str[]="tomeetme",*p;
for(p=str;p printf("\n");}▶查看答案及解析请进入章节练习,点击章节名称进入。
阅读以下程序及对程序功能的描述,其中正确的描述是
#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);}- 程序完成将磁盘文件的信息在屏幕上显示的功能
- 程序完成将两个磁盘文件合二为一的功能
- 程序完成将一个磁盘文件复制到另一个磁盘文件中
- 程序完成将两个磁盘文件合并并在屏幕上输出
▶查看答案及解析请进入章节练习,点击章节名称进入。
以下叙述中正确的是- 程序应尽可能短
- 为了编程的方便,应当根据编程人员的意图使程序的流程随意转移
- 虽然注释会占用较大篇幅,但程序中还是应有尽可能详细的注释
- 在TURBO C环境下,运行的程序就是源程序
▶查看答案及解析请进入章节练习,点击章节名称进入。
以下叙述不正确的是- 一个c源程序可由一个或多个函数组成
- 一个c源程序必须包含一个main函数
- c程序的基本组成单位是函数
- 在c程序中,注释说明只能位于一条语句的后面
▶查看答案及解析请进入章节练习,点击章节名称进入。
下面函数的功能是
char *fun(char *strl,char *str2)
{while((*str1)&&(*str2++=*str1++));
return str2;}- 求字符串的长度
- 比较两个字符串的大小
- 将字符串str1复制到字符串str2中
- 将字符串str1接续到字符串str2中
▶查看答案及解析请进入章节练习,点击章节名称进入。
已知各变量的类型说明如下:
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)
▶查看答案及解析请进入章节练习,点击章节名称进入。
设有如下定义:
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;
▶查看答案及解析请进入章节练习,点击章节名称进入。
在算法正确的前提下,评价一个算法的两个标准是#_9。时间复杂度和空间复杂度
▶查看答案及解析请进入章节练习,点击章节名称进入。
将代数式#[z=\sqrt{\frac{x^{2}+y{2}^}{a+b}}]#转换成程序设计中的表达式为#_9。SQRT(X^2+Y^2)/(A+B)
▶查看答案及解析请进入章节练习,点击章节名称进入。
软件危机出现于60年代末,为了解决软件危机,人们提出了#_5的原理来设计软件,这就是软件工程诞生的基础。软件工程学
▶查看答案及解析请进入章节练习,点击章节名称进入。
填空:#_4是数据库设计的核心。数据模型
▶查看答案及解析请进入章节练习,点击章节名称进入。
在关系模型中,把数据看成一个二维表,每一个二维表称为一个 #_2 。关系
▶查看答案及解析请进入章节练习,点击章节名称进入。
下列程序的输出结果是#_9。
#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");}1 2 3 OK!
▶查看答案及解析请进入章节练习,点击章节名称进入。
下面程序的功能是将一个字符串sir的内容颠倒过来,请填空。
#include
main()
{int i,j,#_1;char str[]={“l234567"};
for(i=0,j=strlen(str)#_2;i {k=str[i];str[i]=str[j];str[j]=k;}
printf(“%s\n",str);}K,-1
▶查看答案及解析请进入章节练习,点击章节名称进入。
以下函数用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。请填空。
#include
#include
int fun(int *s,int t,int *k)
{int i;
*k=0;
#_15
if(s[*k] return #_1;}
main()
{int a[10]={876,675FOR(I=0;I▶查看答案及解析请进入章节练习,点击章节名称进入。
下列程序的运行结果是#_4。
#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;
m1021
▶查看答案及解析请进入章节练习,点击章节名称进入。
以下程序运行结果是#_9。
#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");}0,2,4
0,4,8
▶查看答案及解析请进入章节练习,点击章节名称进入。
若用0至9之间不同的三个数构成一个三位数,下面程序将统计出共有多少种方法。请填空。
#include
main()
{int i,j,k,count=0;
for(i=0;i<=9;i++)
for(j=0;i<=9;j++)
if(#_4)continue;
else for(k=0;k<=9;k++)
if(#_11)count;++;
printI==J,K! I&&K! J
▶查看答案及解析请进入章节练习,点击章节名称进入。
以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针,请将定义补充完整。
struct node
{int info;
#_8 link;};STRUCT NODE *
▶查看答案及解析请进入章节练习,点击章节名称进入。