首页>计算机等级考试>历年真题>正文
2006年4月全国计算机等级考试二级C语言笔试试题及答案

www.zige365.com 2008-4-14 11:25:48 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

(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("%1f",p); 
B.*p=&a; scanf("%f",p);
C.p=&a; scanf("%1f",*p); 
D.p=&a; scanf("%1f",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[]={l,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 <stdio.h>
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);
printf("%c%c\n",c5,c6);
}
程序运行后,若从键盘输入(从第1列开始)
123<回车>
45678<回车>
则输出结果是
A.1267
B.1256 
C.1278
D.1245

(30)有以下程序
main()
{int y=10;
while(y--);printf("y=%d\n",y);
}
程序执行后的输出结果是
A.y=0 
B.y=-1 
C.y=1 
D.while构成无限循环

本新闻共8页,当前在第3页  1  2  3  4  5  6  7  8  

我要投稿 新闻来源: 编辑: 作者:
相关新闻