C语言复习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、选择题
1.C语言中形参的缺省存储类别是__A___。
A.自动(auto) B.静态(static)
C.寄存器(register) D.外部(extern)
2.已知
struct sk
{ int a;
float b;
}data,*p;
若有p=&data; 则对data中成员a的正确引用是__B__。
A.(*p).data B.(*p).a C.p->data.a D.p.data.a 3.以下对C语言函数的描述中,正确的是__A__。
A.C程序由一个或一个以上的函数组成
B.C函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.C程序中调用关系的所有函数必须放在同一个程序文件中
4.以下说法中正确的是__C_。
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
5.设有以下说明语句:
struct stu
{ int a;
float b;
}stutype ;
则下面的叙述不正确的是__C。
A.struct是定义结构体类型的关键字
B.struct stu是用户定义的结构体类型
C.stutype是用户定义的结构体类型
D.a和b都是结构体成员名
6.以下不正确的描述是__D。
A.在函数外部定义的变量是全局变量
B.在函数内部定义的变量是局部变量。
C.函数的形参是局部变量
D.局部变量不能与全局变量同名
7.已知学生记录描述为:
struct student
{ int no;
char name[20];
char sex;
struct
{ int year;
char month[15];
int day;
}birth;
};
struct student s;
设变量s中的生日是1984年11月11日,下列对生日的正确赋值方式是_D___。
A.s.birth.year = 1984; s.birth.month = "11"; s.birth.day = 11;
B.s.birth.year = 1984; s.birth.month = 11; s.birth.day = 11;
C.s.birth.year = 1984; strcpy(s.birth.month, "11"); s.birth.day = 11;
D.s.birth.year = 1984; strcpy(s.birth.month, 11); s.birth.day = 11;
8.有关以下函数的说法是正确的__B_。
int add( int x;int y)
{
z=x+y;
return z;
}
A.此函数能单独运行
B.此函数存在语法错误
C.此函数只能通过main函数能调用
D.此函数没有语法错误
9.定义FILE *fp; 则文件指针fp指向的是_B__。
A.文件在磁盘上的读写位置B.文件在缓冲区上的读写位置
C.整个磁盘文件D.文件类型结构体
10.当说明一个结构体变量时系统分配给它的内存是__A_。
A.各成员所需内存量的总和B.结构体中第一个成员所需内存量C.成员中占内存量最大者所需的容量D.结构体中最后一个成员所需内存量11.以下程序的输出结果是_D___。
fun(int a,int b,int c)
{c=a*b;}
main()
{int c;
fun(2,3,c);
printf(“%d\n”,c);
}
A.0 B.1 C.6 D.无法确定
12.以下说法中正确的是C__。
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
13.在C程序中,可以把整型数以二进制形式存放到文件中的函数是__C___。
A.fprintf函数B.fread函数C.fwrite函数D.fputc函数
14.缓冲文件系统的缓冲区位于_C___。
A.磁盘缓冲区中B.磁盘文件中
C.内存数据区中D.程序中
15.如果在一个函数中的复合语句中定义了一个变量,则该变量__A__。
A.只在该复合语句中有效B.在该函数中有效
C.在本程序范围内均有效D.为非法变量
三、写出下列程序的运行结果
1.#include
int fun(int x)
{
static int y = 0;
y += x;
return y;
}
main()
{
int x = 10, y = 0, k;
for(k=0; k<2; k++)
{
y = fun(x);
printf("y = %d\n", y);
}
}
运行结果是:
y=10
y=20
2.#include
int a=3,b=5;
int max(int a,int b)
{int c;
c=a>b?a:b;
return;
}
main()
{int a=8;
printf(“%d”,max(a,b));
}
运行结果是:
3.#include
struct date