2017计算机二级考试C语言考前密卷九

2017计算机二级考试C语言考前密卷九
日期:02-11 12:30:25| 计算机等级考试|45教学网| http://www.45sw.com

2017计算机二级考试C语言考前密卷九是关于计算机等级考试方面的资料,

(1)根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成

A)动态结构和静态结构 B)紧凑结构和非紧凑结构

C)线性结构和非线性结构 D)内部结构和外部结构

(2)设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为

A)12 B)13

C)14 D)15

(3)在下列几种排序方法中,要求内存量最大的是

A)插入排序

B)选择排序

C)快速排序

D)归并排序

(4)下列叙述中,不属于结构化程序设计方法的主要原则的是

A)自顶向下

B)由底向上

C)模块化

D)限制使用goto语句

(5)下列不属于软件调试技术的是

A)强行排错法

B)集成测试法

C)回溯法

D)原因排除法

(6)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为

A)PAD图 B)N-S图

C)结构图 D)数据流图

(7)软件复杂性度量的参数包括

A)效率

B)规模

C)完整性

D)容错性

(8)下列叙述中,不属于数据库系统的是

A)数据库

B)数据库管理系统

C)数据库管理员

D)数据库应用系统

(9)数据库系统的核心是

A)数据库

B)数据库管理系统

C)数据模型

D)软件工具

(10)视图设计一般有3种设计次序,下列不属于视图设计的是

A)自顶向下 B)由外向内

C)由内向外 D)自底向上

(11)下列常数中不能作为C语言常量的是

A)0xabc

B)2.5e-0.2

C)32

D)0747

(12)设int型的数据长度为2个字节,则unsigned int 类型数据的取值范围是

A)-127~128

B)0~255

C)0~65535

D)0~32768

(13)已知int t=6,s;则执行语句s=(++t)+(t++);后,s的值是

A)12

B)13

C)14

D)15

(14)已知int x=6,y=2,z;则执行表达式z=x=x》y后,变量z的值为

A)0

B)1

C)4

D)5

www.45sw.com

(15)已知int i,a;执行语句i=(a=3,a++,--a,a+4,a+5,++a);后,变量i的值为

A)2

B)3

C)4

D)5

(16)下列说法中正确的是

A)一个C程序是从命令行开始执行的

B)C程序中有些执行语句不用分号(;)结束

C)分号不是C语句的一部分,是C语句之间的分隔符

D)命令行必须用“#”开头,最后不能加“;”号,命令行不是C程序中的语句

(17)已知int x=2;执行语句x*=x+=++x;后,x的值是

A)16

B)26

C)36

D)46

(18)已知int a=20,b=5;则执行以下语句后的输出结果是

printf(“%d\n”,a%=(b%=2));

A)0

B)1

C)2

D)3

(19)现有以下程序段

#include 《stdio.h》

main()

{ int a,b,c;

scanf(“a=%*d%d,b=%d%*d,c=%d”,&a,&b,&c);

printf(“a=%d,b=%d,c=%d\n”,a,b,c); }

若输出的结果为a=20,b=30,c=40,则以下能够正确输入数据的是

A)a=10]20,b=20]30,c=40《CR》

B)20,30,40《CR》

C)a=20,b=30,c=40《CR》

D)a=10]20,b=30]20,c=40《CR》

[注]: “]”表示空格,《CR》表示回车

(20)已知int x=5,y=3;则表达式(x||y)&&78的结果为

A)1

B)0

C)5

D)78

(21)有如下程序段

#include “stdio.h”

main()

{int a=10,b=50,c=30;

a=a》30?1:2;

b=b》30?1:2;

c=c》30?1:2;

printf(“%d,%d,%d\n”,a,b,c);}

则执行结果为

A)2,1,2

B)1,2,1

C)1,1,2

D)2,1,1

(22)阅读如下程序段

#include “stdio.h”

main()

{ int a=45,b=40,c=50,d;

d=a》30?b:c;

switch(d)

{ case 30 : printf(“%d,”,a);

case 40 : printf(“%d,”,b);

case 50 : printf(“%d,”,c);

default : printf(“#”);}}

则输出的结果是

A)40,50,

B)50,#

C)40,#

D)40,50,#

(23)若有定义int k=10;则下列程序的输出结果为

do{

printf(“%d”,k--); } while(!k);

A)9

B)10

C)10987654321

D)没有输出

(24)阅读下列程序段,则程序的输出结果是

#include “stdio.h”

main()

{ int a=10,b=10,k;

for(k=0;a》8;b=++k)

printf(“%d,%d,”,a--,--b);

printf(“\n”);}

A)10,10,10,0,

www.45sw.com

B)10,9,9,0,

C)10,10,9,1,

D)9,9,9,1,

(25)下列程序的运行结果是

#include “stdio.h”

main()

{int a,b,m;

for(a=5;a》=1;a--)

{ m=0;

for(b=a;b《=5;b++)

m=m+a*b;}

printf(“%d\n”,m);}

A)30

B)15

C)20

D)10

(26)有字符串如下,“\n\\\407as1\”\xabc“,则字符串的长度为

A)6

B)7

C)8

D)9

(27)阅读下面程序段

#include ”stdio.h“

main()

{ char c;

c=(′z′-′a′)/2+′A′;

putchar(c);}

输出结果为

A)M

B)N

C)O

D)Q

(28)下列说法中不正确的是

A)C语言规定,不能在一个函数的内部再定义函数

B)在没有声明函数返回值类型的情况下,C默认的函数返回值类型为int型

C)函数的类型可以是整型、实型、字符型,但不能是指针型

D)函数可以没有形参,但函数名后的一对圆括号不能省略

(29)现有如下程序,则程序的输出结果为

#include ”stdio.h“

int f(int a,int b)

{int c;

if(a》0&&a《10)c=(a+b)/2;

else c=a*b/2;

return c;}

main()

{ int a=8,b=20,c;

c=f(a,b);

printf(”%d\n“,c);}

A)随机数

B)80

C)28

D)14

(30)阅读如下程序段,则程序段的执行后的输出结果为

#include ”stdio.h“

main()

{ char c;

int i;

char count();

int p(char);

for(i=0;i《30;i++)c=count();

p(c);}

char count()

{ char str=′A′;

str+=1;

return(str);}

p(char c)

{putchar(c);

putchar(′\n′);}

A)A

B)B

C)a

D)b

(31)阅读如下程序段,则执行后的结果为

#include ”stdio.h“

main()

{int a,*p,*q,**w;

p=&a;

q=&a;

w=&p;

*p=5%6;

*q=5;

**w=3;

printf(”%d\n“,a);}

A)无确定值

B)1

C)5

D)3

(32)现有定义int a=10,*p=&a;则不能使a的内容增1的语句是

A)*p++;

B)*p=*p+1;

C)++*p;

D)*p+=1;

(33)现有下列程序段

#include ”stdio.h“

void JFT(int *a,int *b,int *c,int *d,int *e)

{int i,j,k,m;

for(i=0;i《*a;i++)

for(j=0;j《*b;j++)

for(k=0;k《*c;k++)

for(m=0;m《*d;m++)*e++;}

main()

{int a=10,b=10,c=10,d=10,e=0;

JFT(&a,&b,&c,&d,&e);

printf(”%d\n“,e);}

则程序段的输出结果是

A)10000

B)1000

C)10001

D)0

(34)已知:int c[5][6];则对数组元素引用不正确的是

A)c[0+2][2*1]

B)c[1][3]

C)c[4-2][0]

D)c[5][2]

(35)以下能对二维数组c进行正确的初始化的语句是

A)int c[3][]={{3},{3},{4}};

B)int c[][3]={{3},{3},{4}};

C)int c[3][2]={{3},{3},{4},{5}};

D)int c[][3]={{3},{},{3}};

(36)阅读下列程序段,则程序段实现的功能是

#include ”stdio.h“

main()

{ int k[10];

int j;

for(j=0;j《10;j++)

scanf(”%d“,&k[j]);

for(j=9;j》=0;j--)

printf(”%d,“,k[j]);}

A)输入10个数据的顺序输入并输出

B)输入10个数据的逆序存放

C)输入10个数据的逆序输出

D)以上叙述均错误

(37)阅读程序,则执行后的结果为

#include ”stdio.h“

main()

{int i,m,n;

for(i=0;i《3;i++)

{m=test1();

n=test2();}

printf(”%d,%d\n“,m,n);}

test1()

{ int x=0;

x++;

return x;}

test2()

{static int x=0;

x++;

return x;}

A)1,1

B)1,3

C)3,1

D)3,3

(38)以下关于宏替换叙述中,错误的是

A)宏替换占用编译时间

B)替换文本中可以包含已定义过的宏名

C)宏名可以由+号组成

D)宏替换只能是字符替换

(39)阅读下面程序,则程序的输出结果为

#include ”stdio.h“

main()

{ int c[]={1,2,3,4,5,6};

int *p;

p=c;

printf(”%d,“,*p);

printf(”%d\n“,*++p);}

A)1,2

B)2,1

C)1,1

D)2,2

(40)有如下定义,则函数fun的首部可以是

#define N 5

#define M 6

main()

{doublec[M][N];

fun(c); }

A)fun(double a)

B)fun(double a[M][])

C)fun(double *a)

D)fun(double (*a)[N])

(41)下面关于字符串的说明中,错误的是

A)char a[15]= ”jft“;

B)char a[]=”jft“;

C)char *a=:”jft“;

D)char a[]={′j′,′f′,′t′};

(42)已知:char a[20]= ”abc“,b[20]= ”defghi“;则执行下列语句后的输出结果为

www.45sw.com

printf(”%d“,strlen(strcpy(a,b)));

A)11

B)6

C)5

D)以上答案都不正确

(43)阅读如下程序段,则程序在先后输入love和china后,输出结果是

#include 《stdio.h》

#include 《string.h》

main()

{char a[30],b[30];

int k;

gets(a);

gets(b);

k=strcmp(a,b);

if(k》0)puts(a);

else if(k《0)puts(b);}

A)love

B)china

C)lovechina

D)没有输出结果

(44)阅读下面程序,则执行后的结果为

#include ”stdio.h“

#include ”string.h“

#define N 10

#define M 10

char *find(char (*a)[M],int n)

{char *q; int i;

q=a[0];

for(i=0;i《n;i++)

if(strcmp(a[i],q)《0)q=a[i];

return q;}

main()

{char s[N][M]={”tomeetme“,”you“,”and“,”he“,”china“};

char *p;

int n=5,i;

p=find(s,n);

puts(p);}

A)he

B)and

C)you

D)tomeetme

(45)当定义一个结构变量时系统分配给它的内存是

A)各个成员占用内存的总和

B)成员中占内存量最大者所需的容量

C)定义的同时并不分配空间

D)结构中最后一个成员所需内存量

(46)有以下说明语句

struct a{ char x;

double y; } ptype;

则下列选项中错误的是

A)a是用户定义的结构体标识

B)struct a是用户定义的结构类型

C)ptype是用户定义的结构类型名

D)x和y都是结构成员名

(47)已知有如下定义:struct a{char x; double y;}data,*t;,若有t=&data,则对data中的成员的正确引用是

A)(*t).data.x

B)(*t).x

C)t-》data.x

D)t.data.x

(48)若有以下程序段,则选项中值为2的是

struct a{int n,*next;};

int x=1,y=2,z=3;

struct a s[3],*p=s;

s[0].next=&x;s[1].next=&y;s[2].next=&2;

A)*(p++)-》next

B)*(++p)-》next

C)(*p).next

D)(p++)-》next

(49)下面程序段的输出为

#include ”stdio.h“

main()

{ int a=8,b;

b=a|1;

b》》=1;

printf(”%d,%d\n“,a,b);}

A)4,4

B)4,0

C)8,4

D)8,0

(50)阅读下面程序,此程序的功能为

#include ”stdio.h“

main(int argc,char *argv[])

{ FILE *p1,*p2;

int c;

p1=fopen(argv[1],”r“);

p2=fopen(argv[2],”a“);

c=fseek(p2,0L,2);

while((c=fgetc(p1))!=EOF)fputc(c,p2);

fclose(p1);

fclose(p2);}

A)实现将p1打开的文件中的内容复制到p2打开的文件

B)实现将p2打开的文件中的内容复制到p1打开的文件

C)实现将p1打开的文件中的内容追加到p2打开的文件内容之后

D)实现将p2打开的文件中的内容追加到p1打开的文件内容之后


觉得2017计算机二级考试C语言考前密卷九这篇文章不错,记得收藏哦。

Tags:计算机等级考试   ,计算机等级考试试题,全国计算机等级考试试题,计算机等级考试真题