C语言计算机基础知识答案,计算机二级C语言笔试试题及答案

0192a8cd38f84ddea8d8d869f4e9c696.png

一、选择题

(1)下列关于栈的叙述正确的是

A)栈是非线性结构  B)栈是一种树状结构

C)栈具有先进先出的特征  D)栈具有后进先出的特征

(2)结构化程序设计所规定的三种基本控制结构是

A)输入、处理、输出  B)树形、网形、环形

C)顺序、选择、循环  D)主程序、子程序、函数

(3)结构化程序设计的一种基本方法是

A)筛选法  B)递归法  C)归纳法  D)逐步求精法

(4)如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是:A)选择  B)投影  C)连接  D)并

二、填空题

1.对于输入为N个数进行快速排序算法的平均时间复杂度是(   )

2.在面向对象方法学中,直接反映了用户对目标系统的要求的模型是(  )

3.软件测试方法中,黑盒测试个白盒测试法是常用的方法,其中黑盒测试法主要是用于测试(  )

4.关系型数据库管理系统中存储与管理数据的基本形式是(  )

C语言程序设计

一、选择题

(1)以下程序的输入结果是

main( )

{  int i=010,j=10,k=x10;

printf("%d,%d,%d\n",i,j,k);

}

A)8,10,16 B)8,10,10 C)10,10,10 D)10,10,16

(2)指针s所指字符串的长度

char *s="\t\ "Name\ \ Address \n";

A)说法不合法 B)19 C)18 D)15

(3)C语言中最简单的数据类型包括

A)整型、实型、逻辑型 B)整型、实型、字符型

C)整型、字符型、逻辑型 D)整型、实型、逻辑型、字符型

(4)为表示关系x大于等于y大于等于z,应使用C语言表达式

A)(x>=Y)&&(Y>=z) B)(x>=Y)AND(y>=z) C)(x>=Y>=z) D)(x>=Y)&(Y>=z)

(5)下列对C语言字符数组的描述中错误的是

A)字符数组可以存放字符串 B)字符数组中的字符串可以整体输入、输出

C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D)不可以用关系运算符对字符数组中的字符串进行比较

(6)以下说法中正确的是

A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,要调用的函数必须在main()函数中定义

C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分

(7)以下程序段的输出结果是

int x=3;

do

{  printf("%3d",x-=2); }

while(!(- -x));

A)1 B)30 C)1 -2 D)死循环

(8)设有如下定义:

char *aa[2]={"abcd","ABCD"};

则以下说法中正确的是

A)aa数组元素的值分别是"abcd"和"ABCD"

B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

D)aa数组的两个元素中各自存放了字符’a’和’A’的地址  (9)设有以下定义:

int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};

int (*prt)[3]=a, * p=a[0];

则下列能够正确表示数组元素a[1][2]的表达式是

A)*((* prt + 1)[2]) B)*(*(p+5)) C)(* prt + 1)+2 D)*(*(a+1)+2)

(10)以下程序的输出结果是

fut( int * *s,int p[2][3])

{ * *s=p[1][1]; }

main( )

{  int a[2][3]={1,3,5,7,9,11},*P;

p=(int * )malloc(sizeof(int));

fut(&p,a);

print("%\n",*p);

}

A)1 B)7 C)9 D)11

二、填空题

(1)表示条件:10  (2)下列程序的输出结果是( )

#include

main( )

{  char b[ ]="ABCDEFG";

char *chp=&b[7];

while(- -chp>&b[0])

putchar(*chp);

putchar("\n");

}

(3)下列程序的输出结果是(  )

int ast( int x,int Y,int * cp,int * dp)

{  * cp=x+y;

* dp=x-y;

}

main( )

{  int a,b,c,d;

a=4;b=3;

ast(a,b,&c,&d);

print("% d % d \ n",c,d);

}

(4)阅读程序:

main( )

{  char str1[ ]="how do you do",str2[10];

char *p1=str1,*p2=str2;

scanf("% s",p2);

printf("%s",p2);

printf("%s\n",p1);

}

运行上面的程序,输入字符串 HOW DO YOU DO 则程序的输出结果是( )

(5)以下程序由终端键盘输入一个文件名,然后把从终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志。请填空。

#include

main( )

{  FILE * fp;

char ch,fname [10 ];

printf("Input the name of file\n");

gets(fname);

gets(fname);

if((fp=[5])= =NULL)

{  printf("Cannot open\n"); exit(0); }

printf("Enter data\n");

while((ch=getchar())!=’#’)

fputc([6],fp);

fclose(fp);

} 三、上机*作题

1.改错题

下列给定程序中,函数fun的功能是:逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c数组中,形成一个新的字符串。例如:若a中的字符串为:aBCDeFgH,b中的字符串为:ABcd,则c中的字符串应为:aBcdeFgH.请改正程序中的错误,使它能得到正确结果,注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

#include

#include

void fun (char *p, char *q, char *c)

{  int k=1;

while(*p! = *q)

{  if ( *p!< *q) c[k]= *q;

else c[k]= *p;

if(*p) p++;

if(*q) q++;

k++;

}

}

main( )

{  char a[10]="aBCDeFfH",b[10]="ABcd",c[80]={"\ 0"};

fun (a,b,c);

printf("The string a:");puts (a);

ptintf("The string b:");puts (b);

printf("The result :");puts(c);

2.编程题

请编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

# include < conio.h>

# include < stdio.h>

void fun ( int *a, int *n)

{

}

main( )

{  int aa[1000],n,k;

clrscr( );

fun (aa,&n);

for (k=0;k      if((k+1)%10= = 0) printf ("\n");

else printf("%5d",aa[k]);

}

二级(C语言程序设计)模拟题参考答案

公共基础知识

一、选择题

(1)D (2)C (3)D (4)B

二、填空题

(1)[1]O(Nlog2 N)

(2)[2]功能模型

(3)[3]软件外部功能

(4)[4]二维表

C语言程序设计

一、选择题

(1)A (2)D (3)B (4)A (5)C (6)C (7)C (8)D (9)D (10)C

二、填空题

(1)[1] (x>10&&x<100)//x<0

或(10  或x<0//(x>10&&x<100)

或0>x//(10  (并且括号有无都可以)

(2)[2]GFEDCB

(3)[3] 7 1

(4)[4]HOW how do you do (说明:HOW和how之间有无空格均可)

(5)[5]fopen(fname,"w")

(说明:"w"内以w开头的字符串均可)

[6] ch  (7)以下程序段的输出结果是

int x=3;

do

{  printf("%3d",x-=2); }

while(!(- -x));

A)1 B)30 C)1 -2 D)死循环

(8)设有如下定义:

char *aa[2]={"abcd","ABCD"};

则以下说法中正确的是

A)aa数组元素的值分别是"abcd"和"ABCD"

B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

D)aa数组的两个元素中各自存放了字符’a’和’A’的地址

(9)设有以下定义:

int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};

int (*prt)[3]=a, * p=a[0];

则下列能够正确表示数组元素a[1][2]的表达式是

A)*((* prt + 1)[2]) B)*(*(p+5)) C)(* prt + 1)+2 D)*(*(a+1)+2)

(10)以下程序的输出结果是

fut( int * *s,int p[2][3])

{ * *s=p[1][1]; }

main( )

{  int a[2][3]={1,3,5,7,9,11},*P;

p=(int * )malloc(sizeof(int));

fut(&p,a);

print("%\n",*p);

}

A)1 B)7 C)9 D)11

二、填空题

(1)表示条件:10  (2)下列程序的输出结果是( )

#include

main( )

{  char b[ ]="ABCDEFG";

char *chp=&b[7];

while(- -chp>&b[0])

putchar(*chp);

putchar("\n");

}

(3)下列程序的输出结果是(  )

int ast( int x,int Y,int * cp,int * dp)

{  * cp=x+y;

* dp=x-y;

}

main( )

{  int a,b,c,d;

a=4;b=3;

ast(a,b,&c,&d);

print("% d % d \ n",c,d);

}   2.编程题

请编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

# include < conio.h>

# include < stdio.h>

void fun ( int *a, int *n)

{

}

main( )

{  int aa[1000],n,k;

clrscr( );

fun (aa,&n);

for (k=0;k      if((k+1)%10= = 0) printf ("\n");

else printf("%5d",aa[k]);

}

二级(C语言程序设计)模拟题参考答案

公共基础知识

一、选择题

(1)D (2)C (3)D (4)B

二、填空题

(1)[1]O(Nlog2 N)

(2)[2]功能模型

(3)[3]软件外部功能

(4)[4]二维表

C语言程序设计

一、选择题

(1)A (2)D (3)B (4)A (5)C (6)C (7)C (8)D (9)D (10)C

二、填空题

(1)[1] (x>10&&x<100)//x<0

或(10  或x<0//(x>10&&x<100)

或0>x//(10  (并且括号有无都可以)

(2)[2]GFEDCB

(3)[3] 7 1

(4)[4]HOW how do you do (说明:HOW和how之间有无空格均可)

(5)[5]fopen(fname,"w")

(说明:"w"内以w开头的字符串均可)

[6] c

2829f2ca24f0d0090cbba57f30759f23.png

计算机二级C语言笔试试题及答案.doc

下载Word文档到电脑,方便收藏和打印[全文共4794字]

编辑推荐:

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

下载Word文档

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值