二、多项选择题(本大题共5小题,每小题2分,共10分)
在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。
21.存储在下列哪些设备中的信息可以长期保存?( )
A.RAM
B.ROM
C.硬盘
D.软盘
E.光盘
22.下列语句中正确的有( )
A.if(x>y);
B.if(x=y)&&(x!=0)x+=y;
C.if(x! =y)scanf(“%d,&x);else scanf(“%d”,&y);
D.if(x<y){x+ +;y+ +;}
E.if(x<y)x+ +;y+ +;else x――;y――;
23.下列循环将会产生死循环的有( )
A.while(1);
B.do{ }while(0);
C.do{ }while(1);
D.for(k=1;k>―10;k+ +);
E.for(k=1;k=10;k+ +,k――);
24.设有二维数组int a[4][3];下列表示数组元素a[0][2]地址的有( )
A.a[2]
B.*a
C.*a+2
D.a[0]+2
E.&a[0][2]
25.设有关于结构体类型的定义:( )
struct data
{
int num;
struct data *next;
} *p,* head=NULL;
下列语句中正确的有
A.p=(struct data *)malloc(sizeof(struct data));
B.p=(struct data )malloc(sizeof(struct data));
C.p=(struct data *)malloc(sizeof(data));
D.p->next=head;
E.p.next=head;
三、简答题(本大题共4小题,每小题4分,共16分)
26.C语言中的运算符“=”与数学中的“=”的意义相同吗?为什么?
27.简述C语言标准库函数strcpy 的格式(或函数原型)与功能。
28.请按照下列要求写出相应的C语句。
假设float类型的变量x1和x2已经定义过,且x1已经初始化为7.3。
(1)定义指向float类型变量的指针变量fpt;
(2)使fptr指向x1;
(3)利用fptr,将fptr指向变量的值赋给x2;
(4)利用fptr,输出fptr指向变量的值。
29. fread(stu,size,n,fp);中stu、size、n和fp的含义各是什么?