首师大852c语言真题2005,2005年上半年全国计算机二级C语言笔试真题

本文主要讨论了C语言的一些基本概念和程序设计技巧。包括数组、指针、结构体、预处理命令、字符串处理函数等核心知识点,并通过实例解析了它们在实际编程中的应用。同时,还涉及到了函数调用、循环控制、字符串比较和文件操作等常见编程任务。
摘要由CSDN通过智能技术生成

2005年上半年全国计算机二级C语言笔试真题

点击查看试题参考答案

(33)有以下程序

prt(int *m,int n)

{ int i;

for(i=0;i

}

main()

{

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

prt(a,5);

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

printf("%d,",a[i]);

}

程序运行后的输出结果是______。

A.1,2,3,4,5,

B.2,3,4,5,6,

C.3,4,5,6,7,

D.2,3,4,5,1,

(34)有以下程序

main()

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

for(p=a;p

}

程序运行后的输出结果是______。

A.1,2,3,4,5,6,7,8,9,0,

B.2,3,4,5,6,7,8,9,10,1,

C.0,1,2,3,4,5,6,7,8,9,

D.1,1,1,1,1,1,1,1,1,1,

(35)有以下程序

#define P 3

void F(int x){return(P*x*x);}

main()

{printf("%d\n",F(3+5));}

程序运行后的输出结果是______。

A.192

B.29

C.25

D.编译出错

(36)有以下程序

main()

{int c=35;printf("%d\n",c&c);}

程序运行后的输出结果是______。

A.0

B.70

C.35

D.1

(37)以下叙述中正确的是______。

A.预处理命令行必须位于源文件的开头

B.在源文件的一行上可以有多条预处理命令

C.宏名必须用大写字母表示

D.宏替换不占用程序的运行时间

(38)若有以下说明和定义

union dt

{int a;char b;double c;}data;

以下叙述中错误的是______。

A.data的每个成员起始地址都相同

B.变量data所占的内存字节数与成员c所占字节数相等

C.程序段:data.a=5;printf("%f\n",data.c);输出结果为5.000000

D.data可以作为函数的实参

(39)以下语句或语句组中,能正确进行字符串赋值的是______。

A.char *sp;*sp="right!";

B.char s[10];s="right!";

C.char s[10];*s="right!";

D.char *sp="right!";

(40)设有如下说明

typedef struct ST

{long a;int b;char c[2];}NEW;

则下面叙述中正确的是______。

A.以上的说明形式非法

B.ST是一个结构体类型

C.NEW是一个结构体类型

D.NEW是一个结构体变量

(41)有以下程序

main()

{ int a=1,b;

for(b=1;b<=10;b++)

{ if(a>=8)break;

if(a%2==1){a+=5;continue;}

a-=3;

}

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

}

程序运行后的输出结果是______。

A.3

B.4

C.5

D.6

(42)有以下程序

main()

{ char s[]="159",*p;

p=s;

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

}

程序运行后的输出结果是______。

A.15

B.16

C.12

D.59

(43)有以下函数

fun(char *a,char *b)

{ while((*a!='\0')&&(*b!='\0')&&(*a==*b))

{ a++;b++; }

return(*a-*b);

}

该函数的功能是______。

A.计算a和b所指字符串的长度之差

B.将b所指字符串连接到a所指字符串中

C.将b所指字符串连接到a所指字符串后面

D.比较a和b所指字符串的大小

(44)有以下程序

main()

{ int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;

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

{ for(j=0;j<=i;j++) printf("L",' ');

for(j=_____;j<4;j++) printf("M",num[i][j]);

printf("\n");

}

}

若要按以下形式输出数组右上半三角

1 2 3 4

6 7 8

11 12

16

则在程序下划线处应填入的是______。

A.i-1

B.i

C.i+1

D.4-i

(45)有以下程序

point(char *p){p+=3;}

main()

{ char b[4]={'a','b','c','d'},*p=b;

point(p);printf("%c\n",*p);

}

程序运行后的输出结果是______。

A.a

B.b

C.c

D.d

(46)程序中若有如下说明和定义语句

char fun(char *);

main()

{

char *s="one",a[5]={0},(*f1)()=fun,ch;

......

}

以下选项中对函数fun的正确调用语句是______。

A.(*f1)(a);

B.*f1(*s);

C.fun(&a);

D.ch=*f1(s);

(47)有以下结构体说明和变量定义,如图所示:

struct node

{int data; struct node *next;} *p,*q,*r;

data next data next data next

p q r

现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能完成指定操作的语句是______。

A.P->next=q->next;

B.p->next=p->next->next;

C.p->next=r;

D.p=q->next;

(48)以下对结构体类型变量td的定义中,错误的是______。

A.typedef struct aa

B.struct aa

{ int n; { int n;

float m; float m;

}AA; }td;

AA td; struct aa td;

C.struct

D.struct

{ int n; { int n;

float m; float m;

}aa; }td;

struct aa td;

(49)以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是______。

A.feof(fp)

B.ftell(fp)

C.fgetc(fp)

D.rewind(fp)

(50)有以下程序

#include

void WriteStr(char *fn,char *str)

{ FILE *fp;

fp=fopen(fn,"w");fputs(str,fp);fclose(fp);

}

main()

{

WriteStr("t1.dat","start");

WriteStr("t1.dat","end");

}

程序运行后,文件t1.dat中的内容是______。

A.start

B.end

C.startend

D.endrt

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值