设c语言中 一个int型数据库,最新真实全国二级C选择题真题第1套

1.下列叙述中正确的是

A.循环队列是顺序存储结构

B.循环队列是链式存储结构

C.循环队列是非线性结构

D.循环队列的插入运算不会发生溢出现象

2.下列叙述中正确的是

A.所有数据结构必须有根结点

B.所有数据结构必须有终端结点(即叶子结点)

C.只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构

D.没有根结点或没有叶子结点的数据结构一定是非线性结构

3.下列关于算法的描述中错误的是

A.算法强调动态的执行过程,不同于静态的计算公式

B.算法必须能在有限个步骤之后终止

C.算法设计必须考虑算法的复杂度

D.算法的优劣取决于运行算法程序的环境

4.在线性表的顺序存储结构中,其存储空间连续,各个元素所占的字节数

A.相同,元素的存储顺序与逻辑顺序一致

B.相同,但其元素的存储顺序可以与逻辑顺序不一致

C.不同,但元素的存储顺序与逻辑顺序一致

D.不同,且其元素的存储顺序可以与逻辑顺序不一致

5.

A.ABDEGCFH

B.DBGEAFHC

C.DGEBHFCA

D.ABCDEFGH

6.下面不属于软件需求分析阶段工作的是

A.需求获取

B.需求计划

C.需求分析

D.需求评审

7.下面不属于黑盒测试方法的是

A.边界值分析法

B.基本路径测试

C.等价类划分法

D.错误推测法

8.在数据库系统中,数据模型包括概念模型、逻辑模型和

A.物理模型

B.空间模型

C.时间模型

D.数据模型

9.若实体A和B是一对一的联系,实体B和C是多对一的联系,则实体A和C的联系是

A.多对一

B.一对多

C.一对一

D.多对多

10.某二叉树中共有935个结点,其中叶子结点有435个,则该二叉树中度为2的结点个数为

A.64

B.66

C.436

D.434

11.C语言整数不包括

A.无符号整数

B. 正整数

C.负整数

D.带小数点的整数

12.设a,b,c是整型变量,且已正确赋初值,以下选项中错误的赋值语句是

A.a = 2 = (b = 9) = 1;

B.a = (b = 3) * c;

C. a = b = c / 10;

D.a = 1 % (b = c = 2);

13.以下选项中,合法的实数是

A.1.5E2

B. E1.1

C.2.10E

D.1.9E1.4

14.关于程序设计基本概念,以下叙述错误的是

A.用任何一种计算机高级语言都可以把算法转换为程序

B.高级语言都有与之对应的编译程序或解释程序

C.计算机可以直接执行由任意高级语言编写的程序

D.结构化算法可以解决任何复杂的问题

15.以下不能用于实型数据的运算符是

A. /

B. %

C.*

D. +

16.C语言中,最基本的数据类型包括

A.整型、字符型、数组

B.整型、实型、字符型

C.整型、实型、逻辑型

D.整型、实型、结构体

17.若有定义:int a=0,b=0,c=0,d=0;,有C语言表达式(a++ && b++) ? c++ : d++,以下关于其执行顺序的叙述正确是

A.先执行a++,表达式a++的值为0,由此即可确定(a++&&b++)的值为0,因此执行d++

B.先执行a++,表达式a++的值为0;再执行b++,表达式b++的值为0,由此可确定(a++ && b++)值为0,因此执行d++

C.先执行a++,表确定(a++ && b++)值为1,因此执行c++达式a++的值为1;再执行b++,表达式b++的值为1,由此可

D.先执行b++,表达式b++的值为1;再执行a++,表达式a++的值为1,由此可确定(a++ && b++)值为1,因此执行c++

18. 有以下程序

#include

main( )

{

charch = 'B';

while (ch < 'E')

{

printf("%d", ch - 'A');

ch++;

}

printf("\n");

}

程序运行后的输出结果是

A.123

B. ABC

C.abc

D.012

19.以下关于指针的叙述,错误的是

A.一个指针变量可以通过不同的方式获得一个确定的地址值

B.可以通过对指针变量加上或减去一个整数来移动指针

C. 在关系表达式中可以对两个指针变量进行比较

D. 两个基类型相同的指针变量不能指向同一个对象

20. 对于函数声明

void fun(float array[], int *ptr);

下叙述正确的是

A.调用函数时,array数组的元素和ptr都是按值传送

B.函数声明有语法错误,参数 array 缺少数组大小定义

C. 调用函数时,array数组中将存储从实参中复制来的元素值

D.函数参数 array, ptr 都是指针变量

21. 有以下程序

#include

main( )

{

inti, k;

intarray[4][2] = {{1,0}, {0}, {2,9}, {3}};

for (i=0; i<2; i++)

for (k=0; k<3; k++)

{

printf("%d,", array[k][i]);

}

printf("\n");

}

程序运行后的输出结果是

A.1,0,2,0,0,9,

B. 1,2,4,9,6,0,

C.2,9,0,0,1,4,

D.1,2,0,1,4,1,

22. 要求定义一个具有6个元素的int型一维数组,以下选项中错误的是

A.int a[2*3] = {0};

B.int N = 6, a[N];

C. #define N 3

int a[N+N];

D.int a[] = {1,2,3,4,5,6};

23.有以下程序

#include

main( )

{char b[3][10],c;

int i;

for (i=0; i<2; i++) scanf("%s", b[i]);

i=0;

while ((c=getchar())!='\n') b[2][i++] = c;

b[2][i] = '\0';

printf("%s%s%s\n", b[0], b[1], b[2]);

}

执行时若输入以下字符串:

Peach flower is pink.

则输出结果是

A.Peach flower is pink.

B.Peachfloweris pink.

C.Peachflowerispink.

D.Peachflower is pink.

24. 有以下程序

#include

main( )

{char w[20], a[5][10] = {"abcdef", "ghijkl", "mnopq", "rstuv", "wxyz"};

int i, j;

for (i=0; i<5; i++)

{j = 0;

while (a[i][j] != '\0') j++;

w[i] = a[i][j-2];

}

w[5] = '\0';

puts(w);

}

程序运行后的输出结果是

A.ekpuy

B.agmrw

C.djotx

D.flqvz

25. 有以下程序

#include

#include

main( )

{

charname[9] = "c##line";

char*str = name;

printf("%d,%d,%d,%d\n", sizeof(name), strlen(name), sizeof(str), strlen(str));

}

程序运行后的输出结果是

A. 10,8,5,8

B.8,6,9,6

C.8,6,3,6

D. 9,7,4,7

26.有以下程序

#include

main( )

{

intpassword;

char*p, old_str[10] = "wind";

scanf("%d", &password);

p = old_str;

while (*p)

{

printf("#%c", *p + password);

p++;

}

printf("\n");

}

程序运行时,从键盘输入2,输出结果是

A.#y#k#p#f

B.#wi#nd#

C.#wi#nd#

D.#2222#

27.若有定义:char*ps[ ]={"aa","bb","cc","dd"};,则以下叙述正确的是

A.ps[0]是字符串"aa"

B.*ps[0]是字符串"aa"的首地址

C.ps[0]是字符串"aa"的首地址

D.*ps[0]是字符串"aa"

28.若有定义:

char *ps[ ] = {"aa", "bb", "cc", "dd"};,

则以下叙述正确的是

A.*ps[0]是字符'a'

B.*ps[0]是字符串"aa"

C. ps[0]是字符'a'

D. ps是字符串"aa"

29.以下合法的转义字符是

A.'\0X41'

B.'\0x41'

C. '\X41'

D.'\x41'

30. 在源程序的开始处加上

#include

进行文件引用的原因,以下叙述正确的是

A. stdio.h文件中包含标准输入输出函数的函数说明,通过引用此文件以便能正确使用printf、scanf等函数

B.将stdio.h中标准输入输出函数链接到编译生成的可执行文件中,以便能正确运行

C.将stdio.h中标准输入输出函数的源程序插入到引用处,以便进行编译链接

D.将stdio.h中标准输入输出函数的源程序插入到引用处,以便进行编译链接

31. 设有定义:inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a,i;,若0≤i≤9,则对a数组元素的引用错误的是

A.*(&a[i])

B.a[10]

C. p[i]

D.a[p-a]

32. 有以下程序

#include

main( )

{int c,d;

c = (13>>1)|1;

d = (13>1)||1;

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

}

程序运行后的输出结果是

A. 7,1

B.1,1

C.6,1

D.7,2

33. 有以下程序

#include

#include

struct S

{

char name[10];

};

main()

{

struct Ss1, s2;

strcpy(s1.name, "XXX");

strcpy(s2.name, "=");

s1 = s2;

printf("%s\n", s1.name);

}

程序运行后的输出结果是

A. X=

B.XXX

C. =XX

D.=

34.有以下程序

#include

main( )

{

inti, array[6] = {1, 5, 0, 4};

for (i=0; i<5; i++)

printf("%d,", array[i] & 4);

printf("\n");

}

程序运行后的输出结果是

A.0,4,0,4,0,

B.1,5,0,4,0,

C. 1,5,5,4,0,

D.1,2,1,2,0

35. 有以下程序

#include

#include

void fun(int **s, int x[2][3])

{**s=*(x[1]+1);}

main()

{int a[2][3] = {1,2,3,4,5,6}, *p;

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

fun(&p,a);

printf("%d\n",*p);

}

程序的运行结果是

A.5

B.2

C.6

D.3

36. 有如下定义:

struct

{intnum;

charname[10];

struct

{ inty; intm; intd;} birth;

} s,*ps=&s;

以下对内嵌结构体成员的引用形式错误的是

A. (*ps).birth.y

B.s.birth.y

C. ps->birth.y

D.ps.birth.y

37.有以下程序

#include

main( )

{FILE *fp;

int i, a[6] = {1,2,3,4,5,6}, k;

fp = fopen("data.dat", "w+");

fprintf(fp, "%d\n", a[0]);

for (i=1; i<6; i++)

{rewind(fp);

fprintf(fp, "%d\n", a[i]);

}

rewind(fp);

fscanf(fp, "%d", &k);

fclose(fp);

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

}

程序运行后的输出结果是

A. 6

B.21

C. 123456

D. 654321

38. 以下程序段中,与其他三个功能不同的程序段是

A.s=0;

for(i=1; i<=10; i++) {s+=i;}

B. s=0,i=1;

for( ; i<=10; ) {s+=i,i++;}

C. s=0;i=1;

for( ; ; ) {s+=i; i++; if(i<=10) break;}

D. for(s=0,i=1; i<=10; s+=i,i++) ;

39.设有定义:inta=0,b=1;,以下表达式中,会产生"短路"现象,致使变量b的值不变的是

A.a++ || ++b

B.a++ && b++

C. a++ && b++

D.+a || ++b

40.关于地址和指针,以下说法正确的是

A.通过强制类型转换可以将一种类型的指针变量赋值给另一种类型的指针变量

B.可以取一个常数的地址赋值给同类型的指针变量

C.可以取一个表达式的地址赋值给同类型的指针变量

D.可以取一个指针变量的地址赋值给基类型相同的指针变量

1.A2.D3.D4.A5.B6.B7.B8.A9.A10.D11.D12.A13.A14.C15.B16.B17.A18.A19.D20.D21.A22.B23.D24.A25.D26.A27.C28.A29.D30.A31.B32.A33.D34.A35.A36.D37.A38.C39.B40.A

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值