历年二级C语言笔试真题及答案(18)

2021-02-21 12:23

历年二级C语言笔试真题及答案

“读”方式打开文件d1.dat,将这100个整数读入另一个数组b中,并打印输出,请填空。

#include <stdio.h>

main()

{ FILE *fp;

int i,a[100],b[100];

fp=fopen("d1.dat","wb");

for(i=0;i<100;i++) a=i+1;

fwrite(a,sizeof(int),100,fp); fclose(fp); fp=fopen("d1.dat",【20】);

fread(b,sizeof(int),100,fp); fclose(fp); for(i=0;i<100;i++) printf("%d\n",b);} 2006年4月二级C语言笔试真题及答案

1)下列选项中不属于结构化程序设计方法的是A) 自顶向下B)逐步求精C)模块化D)可复用

2)两个或两个以上模块之间关联的紧密程度称为A)耦合度B)内聚度C)复杂度D)数据传输特性

3)下列叙述中正确的是

A)软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试

C)软件维护只包括对程序代码的维护D)以上三种说法都不对

4)按照“后进先出”原则组织数据的数据结构是A)队列B)栈C)双向链表D)二叉树

5)下列叙述中正确的是

A)线性链表是线性表的链式存储结构B)栈与队列是非线性结构

C)双向链表是非线性结构D)只有根结点的二叉树是线性结构

*****6)对如下二叉树进行后序遍历的结果为A) ABCDEF B) DBEAFC C) ABDECF D) DEBFCA

7)在深度为7的满二叉树中,叶子结点的个数为A)32 B)31 C)64 D)63 8)“商品”与“顾客”两个实体集之间的联系一般是A)一对一B)一对多C)多对一D)多对多

9)在E-R图中,用来表示实体的图形是A)矩形B)椭圆形C)菱形D)三角形10)数据库DB,数据库系统DBS,数据库管理系统DBMS之间的关系是

A)DB包含DBS和DBMS B)DBMS 包含DB和DBS C)DBS包含DB和DBMS D)没有任何关系

11)以下不合法的用户标识符是A)j2_KEY B)Double C) 4d D) _8_

12)以下不合法的数值常量是A)011 B)lel C) 8.0 E0.5 D) 0xabcd

13)以下不合法的字符常量是A)'\018'B '\”' C) '\\' D) …\xcc'

14)表达式3.6-5/2+1.2+5%2的值是A)4.3 B) 4.8 C) 3.3 D) 3.8 15)以下能正确定义字符串的语句是A)

char str[]={…\064'}; B) char str=”\x43”; C)

char str=”; D) char str[]=”\0”;

16)以下数组定义中错误的是

A) int x[][3]={0}; B) int

x[2][3]={{1,2},{3,4},{5,6}}; C) nt

x[][3]={{1,2,3},{4,5,6}}; D)int

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

17)若要求从键盘读入含有空格字符的字

符串,应使用函数A)getc() B) gets() C)

getchar() D) scanf()

18) 下四个程序中,完全正确的是

A)#include B)#include

C) #include D) include

main(); main()

main() main()

{/*programming*/

{/*/programming/*/

{/*/*programming*/*/

{/*programming*/

printf(“programming!\n”);}

printf(“programming!\n”);}

printf(“programming!\n”);}

printf(“programming!\n”);}

19)若有定义:float x=1.5; int a=1,b=3,c=2;

则正确的switch语句是

A)switch(x) B) switch((int)x);

C) switch(a+b) D) switch(a+b)

{case 1.0: printf(“*\n”); {case 1:

printf(“*\n”);{ case 1:

p rintf(“*\n”); {case 1: printf(*\n”);

Case 2.0: printf(“**\n”); }case 2:

printf(“**\n”);}case 2+1:

printf(“**\n”);} case c: printf(“**\n”);}

20)若各选项中所用变量已正确定义,函数

fun中通过return语句返回一个函数值,

以下选项中错误的程序是

A)main() B) float fun(int

a,int b){……} C)float fun(int,int); D)

main()

{……x=fun(2,10);……} main()

main() { float fun(int i,int j);

float fun(int a,int b){……}

{……x=fun(i,j);……}

{……x=fun(2,10);……} ……x=fun(

i,j);……}

float fun(int a,int b){……} float fun(int

a,int b){……}

21)在以下给出的表达式中,与while(E)

中的(E)不等价的表达式是A)(!E=0)

B) (E>0||E<0) C) (E==0 D) (E!=0)

22)要求通过while循环不断读入字符,当

读入字母N时结束循环。若变量已正确定

义,以下正确的程序段是

A)while((ch=getchar())!='N')

printf(“%c”,ch);B)while(ch=getchar()!='N')

printf(“%c”,ch);

C)while(ch=getchar()==N')

printf(“%c”,ch); D)

while((ch=getchar())=='N') printf(“%c”,ch);

23)已定义以下函数

int fun(int *p)

{return *p;}fun 函数返回值是A)不确

定的值B)一个整数C)形参p

中存放的值D)形参p的地址值

24)若有说明语句:double *p,a;则能通过

scanf语句正确给输入项读入数据的程序

段是

A)*p=&a; scanf(“%lf”,p);B)*p=&a;

scanf(“%f”,p); C) p=&a; scanf(“%lf”,*p);

D)p=&a; scanf(“%lf”,p);

25)现有以下结构体说明和变量定义,如图

所示,, 指针p,q,r分别指向一个链表中连

续的三个结点。

struct node

char data;

struct node *next;

}*p,*q,*r;

现要将q和r所指结点交换前后位置,同

时要保持链表的连续,以下不能完成此操

作的语句是

A)q->next=r->next; p->next=r; r->next=q;

B) p->next=r; q->next=r->next; r-.next=q;

C) q->next=r->next; r->next=q; p->next=r;

D) r->next=q; p-next=r; q-next=r->next;

26)有以下程序段

struct st

{ int x; int *y;}*pt:

int a[]={1,2},b[]={3,4};

struct st c[2]={10,a,20,b};

pt=c;以下选项中表达式的值为11的是

A) *pt->y B) pt->x C) ++pt->x D)

(pt++)->x

27)设fp为指向某二进制文件的指针,且

已读到此文件末尾,则函数feof(fp)的

返回值为

A)EOF B)非0值C) 0 D)NULL

28)设有以下语句

int a=1,b=2,c;c=a^(b<<2);执行后,c的值为

A)6 B)7 C)8 D)9

29)有以下程序

#include

main()

{char

c1,c2,c3,c4,c5,c6;scanf(“%c%c%c%c”,&c1,

&c2,&c3,&c4);c5=getchar();

c6=getchar();putchar(c1); putchar(c2);

18


历年二级C语言笔试真题及答案(18).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:零食与健康

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: