【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷20及答案解析.doc

上传人:hopesteam270 文档编号:1332061 上传时间:2019-10-17 格式:DOC 页数:10 大小:63.50KB
下载 相关 举报
【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷20及答案解析.doc_第1页
第1页 / 共10页
【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷20及答案解析.doc_第2页
第2页 / 共10页
【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷20及答案解析.doc_第3页
第3页 / 共10页
【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷20及答案解析.doc_第4页
第4页 / 共10页
【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷20及答案解析.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、国家二级 C语言机试(函数和数组)模拟试卷 20及答案解析(总分:58.00,做题时间:90 分钟)一、选择题(总题数:29,分数:58.00)1.以下选项中叙述错误的是(分数:2.00)A.在 C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内B.C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值C.C程序函数中定义的自动变量,系统不自动赋确定的初值D.C程序函数的形参不可以说明为 static型变量2.有以下程序 int flint x); main()int n=1,m; m=f(f(f(n); printf(“n“,m); int f(int x) r

2、eturn x*2; 程序运行后的输出结果是(分数:2.00)A.1B.2C.4D.83.有以下程序 #includestdioh int fun(int x,int y) main() if(x=y)return(x); int a=4,b=5,c=6; else return(x+y)2);printf(“dn“,fun(2*a,fun(b,c); 程序运行后的输出结果是(分数:2.00)A.3B.6C.8D.124.有以下程序 #include main() int flint x,int y) int a=3,b=4,c=5,d; return(y-x)*x);) d=f(f(a,b)

3、,f(a,c); printf(“dn“,d); 程序运行后的输出结果是(分数:2.00)A.10B.8C.9D.75.有以下程序 #include double f(double x); main()double f(double x) double a=0;int i; return x*x+1; for(i=0;iA.401B.500C.503D.14046.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是(分数:2.00)A.形参只是形式上的存在,不占用具体存储单元B.函数的形参和实参分别占用不同的存储单元C.同名的实参和形参占同一存储单元D.函数的实参和其对应的形参

4、共占同一存储单元7.有以下程序 void fun(int a,int b,int c) a=b;b=c;c=a; main()int a=10,b=20,c=30; fun(a,b,c); printf(“d,d,d“,c,b,a); 程序运行后的输出结果是(分数:2.00)A.10,20,30B.20,30,10C.30,20,10D.0,0,08.有以下程序 #include int flint x); main() int f(int x) int a,b=0; return x*x+1; for(a=0;aA.BCDB.BDIC.ABED.BCF9.若有以下程序 void flint

5、x) main()int z=123456; if(x=10) f(z); printf(“d-“,x10);f(x10); else printf(“d“,x);则程序的输出结果是(分数:2.00)A.6-5-4-3-2-1B.6-5-4-3-2-1-C.1-2-3-4-5-6D.1-2-3-4-5-6-10.以下与函数 fseek(fp,OL,SEEK SET)有相同作用的是(分数:2.00)A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)11.以下程序的功能是:给 r输入数据后计算半径为 r的圆面积 s。程序在编译时出错 main() *Begin

6、ning* int r;float s; scanf(“d“,r); s=*r*r;printf(“s=fn“,s); 出错的原因是(分数:2.00)A.注释语句书写位置错误B.存放圆半径的变量 r不应该定义为整型C.输出语句中格式描述非法D.计算圆面积的赋值语句使用了非法变量12.以下程序函数 f的功能是:当 flag为 1时,进行由小到大排序:当 flag为 0时,进行由大到小排序 void flint b,int n,int flag) main() int i,j,t; int a10=5,4,3,2,1,6,7,8,9,10,i; for(i=0;iblj:biA.1,2,3,4,5

7、,6,7,8,9,10,B.3,4,5,6,7,2,1,8,9,10,C.5,4,3,2,1,6,7,8,9,10,D.10,9,8,7,6,5,4,3,2,1,13.有以下程序,其中 k的初值为八进制数 #include main() int k=011; printf(“dn“,k+); 程序运行后的输出结果是(分数:2.00)A.12B.11C.10D.914.有以下程序 #include int fun(int x)int p; if(x=0 x=1)return(3); p=x-fun(x-2);return(p); main()printf(“dn“,fun(9); 程序运行后的输

8、出结果是(分数:2.00)A.5B.9C.4D.715.有以下程序 #include int fun(int n)int a; main() if(n=1)return 1; a=n+fun(n-1);printf(“dn“,fun(5); return(a); j 程序的输出结果是(分数:2.00)A.14B.10C.15D.916.有以下程序 #include int fun(int a,int b)return a+b; main()int x=6,y=7,z=8,r; r=fun(fun(x,y),z-); printf(“dn“,r); 程序运行后的输出结果是(分数:2.00)A.1

9、5B.21C.20D.3117.以下选项中函数形参不是指针的是(分数:2.00)A.fun(int&p)B.fun(int a10)C.fun(int*a)D.fun(int P)18.设有如下函数定义 int fun(int k) if(kA.2B.4C.3D.519.有以下程序 #include int f(int x) main() int y; int z; if(x=0x=1)return(3); z=f(3);printf(“dn“,z); y=x*x-f(x-2); return y; 程序的运行结果是(分数:2.00)A.9B.0C.6D.820.有以下程序(strcat 函数

10、用以连接两个字符串) #include #include main() char a20=“ABCD0EFG0“,b=“IJK“; strcat(a,b);printf(“sn“,a); 程序运行后的输出结果是(分数:2.00)A.ABCDE0FG0IJKB.ABCDIJKC.IJKD.EFGIJK21.有以下程序 int fun(int n) main() if(n=1)return 1; int x; Else scanf(“d”,&x);x=fun(x); return(n+fun(n1); printf(“dn“,x); 执行程序时,给变量 x输入 10,程序的输出结果是(分数:2.0

11、0)A.54B.65C.45D.5522.有以下程序 fun(int x) main() int p; if(x=0 x=1)return(3);printf(“dn“,fun(7);p=x-fun(x-2); return p; 执行后的输出结果是(分数:2.00)A.3B.7C.0D.223.若有以下程序 int f(int a,int n) main() if(n1) int a=8,2,9,1,3,6,4,7,5; int t;t=f(a,n1); printf(“dn“,f(a,9);return tan-1?t:an-1; else return a01;则程序的输出结果是(分数:

12、2.00)A.9B.1C.8D.524.在一个 C源程序中所定义的伞局变量。其作用域为(分数:2.00)A.所在文件的全部范围B.所存程序的全部范围C.所在函数的全部范围D.由具体定义位置和 extern说明来决定范围25.以下叙述中正确的是(分数:2.00)A.只有全局变量才有自己的作用域,函数中的局部变量没有作用域B.只要是用户定义的标识符,都有一个有效的作用域C.只有在函数内部定义的变量才是局部变量D.局部变量不能被说明为 static26.以下叙述中正确的是(分数:2.00)A.对于变量而言,“定义”和“说明”这两个词实际上是同一个意思B.在复合语句中不能定义变量C.全局变量的存储类别

13、可以是静态类D.函数的形式参数不属于局部变量27.有以下程序 int d=1; void fun(int p) main()int a=3; int d=5; fun(a); d+=p+; d+=a+; printf(“d“,d);) printf(“dn“,d); 程序的输出结果是(分数:2.00)A.9 6B.9 4C.8 4D.8 528.有以下程序 #include int a=1,b=2; void fun1(int a,int b) main() printf(“dd“,a,b);)。 fun1(5,6);fun2(); void fun2() printf(“ddn“,a,b);

14、 a=3;b=4; 程序运行后的输出结果是(分数:2.00)A.1 2 5 6B.5 6 l 2C.5 6 3 429.在一个 C源程序文件中所定义的全局变量,其作用域为(分数:2.00)A.由具体定义位置和 extern说明来决定范围B.所在程序的全部范围C.所在函数的全部范围D.所在文件的全部范围国家二级 C语言机试(函数和数组)模拟试卷 20答案解析(总分:58.00,做题时间:90 分钟)一、选择题(总题数:29,分数:58.00)1.以下选项中叙述错误的是(分数:2.00)A.在 C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内B.C程序函数中定义的赋有初值的静

15、态变量,每调用一次函数,赋一次初值 C.C程序函数中定义的自动变量,系统不自动赋确定的初值D.C程序函数的形参不可以说明为 static型变量解析:解析:在函数定义的静态变量,只需要赋值 1次,即可保存初始值,不需要每次调用时都赋初始值。2.有以下程序 int flint x); main()int n=1,m; m=f(f(f(n); printf(“n“,m); int f(int x) return x*2; 程序运行后的输出结果是(分数:2.00)A.1B.2C.4D.8 解析:解析:程序考查了函数的调用。对于 m=f(f(f(n);首先计算最内层的函数调用 f(n),执行 f函数,得

16、到返回值 2,然后计算 f(2),得到返回值为 4,最后计算 f(4),得到计算结果为 8。3.有以下程序 #includestdioh int fun(int x,int y) main() if(x=y)return(x); int a=4,b=5,c=6; else return(x+y)2);printf(“dn“,fun(2*a,fun(b,c); 程序运行后的输出结果是(分数:2.00)A.3B.6 C.8D.12解析:解析:fun(b,c)即 fun(5,6),5!=6,所以返回(5+6)2=5;fun(2*a,5)即 fun(8,5),8!=5,所以返回(8+5)2=6。4.有

17、以下程序 #include main() int flint x,int y) int a=3,b=4,c=5,d; return(y-x)*x);) d=f(f(a,b),f(a,c); printf(“dn“,d); 程序运行后的输出结果是(分数:2.00)A.10B.8C.9 D.7解析:解析:本题考查函数的嵌套调用。首先计算 f(a,b)与 f(a,c),f(a,b)=(b-a)*a=3,f(a,c)=(c-a)*a=6,然后计算 f(3,6)=(6-3)*3=9。5.有以下程序 #include double f(double x); main()double f(double x)

18、 double a=0;int i; return x*x+1; for(i=0;iA.401B.500C.503 D.1404解析:解析:由于函数 f的作用是对形参 x求平方再加 1,所以在主函数中,循环第一次执行后变量 a的值等于 1,第二次执行后,变量 a的值等于 102,第三次执行后,变量 a的值等于 503。6.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是(分数:2.00)A.形参只是形式上的存在,不占用具体存储单元B.函数的形参和实参分别占用不同的存储单元 C.同名的实参和形参占同一存储单元D.函数的实参和其对应的形参共占同一存储单元解析:解析:在 C语言中,

19、函数的实参单元与形参单元在内存中分配不同的存储单元。在调用函数时,给形参分配临时存储单元,并将实参对应的值传递给形参,在被调用函数中对形参存储单元中的值进行运算,最后通过 return语句把函数值返回调用函数。当调用结束后,形参单元被释放,实参单元仍保留并维持原值。7.有以下程序 void fun(int a,int b,int c) a=b;b=c;c=a; main()int a=10,b=20,c=30; fun(a,b,c); printf(“d,d,d“,c,b,a); 程序运行后的输出结果是(分数:2.00)A.10,20,30B.20,30,10C.30,20,10 D.0,0,

20、0解析:解析:函数 fun中采用了变量作为参数,那么参数传递以后,形参 a,b,c 的变化对于实参a,b,c 是没有影响的,因此主函数中 a,b,c 的值经过 fun调用以后,值没有变化。8.有以下程序 #include int flint x); main() int f(int x) int a,b=0; return x*x+1; for(a=0;aA.BCDB.BDI C.ABED.BCF解析:解析:在函数 main()中,第一次执行 for循环时,b 的值等于 1,此时输出字母 B;第二次执行for循环时,b 的值等于 3,此时输出字母 D;第三次执行 for循环时,b 的值等于 8

21、,此时输出字母 I。9.若有以下程序 void flint x) main()int z=123456; if(x=10) f(z); printf(“d-“,x10);f(x10); else printf(“d“,x);则程序的输出结果是(分数:2.00)A.6-5-4-3-2-1 B.6-5-4-3-2-1-C.1-2-3-4-5-6D.1-2-3-4-5-6-解析:解析:函数 f的主要功能为逆置输出整数 x的每一位数据,如果 z的值为 123456,逆置输出的结果为 6-5-4-3-2-1。10.以下与函数 fseek(fp,OL,SEEK SET)有相同作用的是(分数:2.00)A.

22、feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp) 解析:解析:本题主要考查文件系 IO函数的使用,fseek 函数用于设置文件指针的位置,feof 函数用于判断是否已经到了文件结束,ftell 函数返回文件指针的当前位置,fgetc 从文件读取一个字符,rewind函数将文件指针重新指向文件开始。题目当中 fseek(fp,OL,SEEK_SET)表示把文件指针移动到文件的开始位置 0,和 rewind函数功能一致。11.以下程序的功能是:给 r输入数据后计算半径为 r的圆面积 s。程序在编译时出错 main() *Beginning* int r;floa

23、t s; scanf(“d“,r); s=*r*r;printf(“s=fn“,s); 出错的原因是(分数:2.00)A.注释语句书写位置错误B.存放圆半径的变量 r不应该定义为整型C.输出语句中格式描述非法D.计算圆面积的赋值语句使用了非法变量 解析:解析:本题考查了 C语言的基本输入输出函数。选项 A错误,代码里面的注释是正确的,“*”和“*”配对;选项 B错误,r 变量定义为整型是可以的;选项 C输出语句格式正确;选项 D正确,计算 s的时候 s=*r*r 使用了未定义变量 。12.以下程序函数 f的功能是:当 flag为 1时,进行由小到大排序:当 flag为 0时,进行由大到小排序

24、void flint b,int n,int flag) main() int i,j,t; int a10=5,4,3,2,1,6,7,8,9,10,i; for(i=0;iblj:biA.1,2,3,4,5,6,7,8,9,10,B.3,4,5,6,7,2,1,8,9,10, C.5,4,3,2,1,6,7,8,9,10,D.10,9,8,7,6,5,4,3,2,1,解析:解析:本题主要考查函数的调用。在 min函数中,两次调用 f函数进行排序,f 函数有三个参数,第一个参数是数组地址,第二个参数是需要排序的数据个数,第三个参数指定排序依据。第一次调用 f函数的时候,从第三个元素开始对 5

25、个元素进行从大到小的排序,因此调用 f函数转换数组 a的值分别为:5,4,7,6,3,2,1,8,9,10;第二次调用 f函数对数组 a的前 5个元素进行从小到大的排序,因此排序完成后数组 a的值变成:3,4,5,6,7,2,1,8,9,10。13.有以下程序,其中 k的初值为八进制数 #include main() int k=011; printf(“dn“,k+); 程序运行后的输出结果是(分数:2.00)A.12B.11C.10D.9 解析:解析:本题主要考查基本数据类型和格式化输出函数 printf。变量 k的初值为 011,表示 8进制的11,十进制值为 9,printf 输出 k

26、+的值,+在 k的后面表示先使用后自增,因此输出的值为 9。14.有以下程序 #include int fun(int x)int p; if(x=0 x=1)return(3); p=x-fun(x-2);return(p); main()printf(“dn“,fun(9); 程序运行后的输出结果是(分数:2.00)A.5B.9C.4D.7 解析:解析:函数 fun的主要功能是:15.有以下程序 #include int fun(int n)int a; main() if(n=1)return 1; a=n+fun(n-1);printf(“dn“,fun(5); return(a);

27、j 程序的输出结果是(分数:2.00)A.14B.10C.15 D.9解析:解析:函数劬为递归定义的函数,当调用 fun(5)5+fun(4)5+4+fun(3)5+4+3+fun(2)5+4+3+2+fun(1),因此最后的结果为 15。16.有以下程序 #include int fun(int a,int b)return a+b; main()int x=6,y=7,z=8,r; r=fun(fun(x,y),z-); printf(“dn“,r); 程序运行后的输出结果是(分数:2.00)A.15B.21 C.20D.31解析:解析:本题考查函数的调用,函数 fun功能为求两个数据的和

28、。主函数中表达式 r=fun(funlx,y),z-),首先计算内层调用。fun(x,y),计算结果为 13,然后外层调用 rune(13,8),结果为 21。17.以下选项中函数形参不是指针的是(分数:2.00)A.fun(int&p) B.fun(int a10)C.fun(int*a)D.fun(int P)解析:解析:C 语言中形参数组是指针变量,其数组中元素的个数由传递的实参数组决定,因此可以在定义的时候,不给出元素个数的说明,因此选项 B和 D)形参均为指针变量,选项 A的定义在 C语言中不存在的。18.设有如下函数定义 int fun(int k) if(kA.2B.4C.3 D

29、.5解析:解析:这道题目考查了函数的递归调用,当执行调用语句 n=fun(3)时,返回 n=fun(2)+1,再执行fun(2),返回 n=fun(1)+1+1,而 fun(1)等于 1,所以最后 n的值等于 3。而函数 fun总共被调用了 3次。即 fun(3),funt2),fun(1)。19.有以下程序 #include int f(int x) main() int y; int z; if(x=0x=1)return(3); z=f(3);printf(“dn“,z); y=x*x-f(x-2); return y; 程序的运行结果是(分数:2.00)A.9B.0C.6 D.8解析:

30、解析:主函数调用目)函数,将实参 3传递给 x,进行 if条件语句的判断不成立,接着执行 y=3*3-f(1),再执行 f(1),而 f(1)满足 if条件语句,所以 f(1)的值为 3,代入 y=3*3-f(1)=9-3=6。20.有以下程序(strcat 函数用以连接两个字符串) #include #include main() char a20=“ABCD0EFG0“,b=“IJK“; strcat(a,b);printf(“sn“,a); 程序运行后的输出结果是(分数:2.00)A.ABCDE0FG0IJKB.ABCDIJK C.IJKD.EFGIJK解析:解析:在字符串中字符0表示字

31、符串的结束标志,所以字符串 a和 b相连接的结果为ABCDIJK。21.有以下程序 int fun(int n) main() if(n=1)return 1; int x; Else scanf(“d”,&x);x=fun(x); return(n+fun(n1); printf(“dn“,x); 执行程序时,给变量 x输入 10,程序的输出结果是(分数:2.00)A.54B.65C.45D.55 解析:解析:在 C语言中函数可以递归调用,即直接或间接地自己调用自己。本题在函数 int fun(int n)的定义中又出现了对函数 fun的调用,所以函数 fun是递归函数。因而在主函数中调用

32、x=fun(x)时,当输入 10赋给变量 x时,递归调用的过程为: fun(10)=10+fun(9)=10+9+fun(8)=10+9+8+fun(7)=10+9+8+7+fun(6) =10+9+8+7+6+fun(6)=10+9+8+7+6+5+fun(4)=10+9+8+7+6+5+4+fun(3) =10+9+8+7+6+5+4+3+fun(2)=10+9+8+7+6+5+4+3+2+fun(1) =10+9+8+7+6+5+4+3+2+1=5522.有以下程序 fun(int x) main() int p; if(x=0 x=1)return(3);printf(“dn“,fun

33、(7);p=x-fun(x-2); return p; 执行后的输出结果是(分数:2.00)A.3B.7C.0D.2 解析:解析:因为在函数 fun(int x)中,如果参数 x等于 0或等于 1时,返回值为“3”。否则“p=x-fun(x-2)”这是一个递归函数,所以在主函数调用 fun(7)的时候,其过程为:“fun(7)=7-fun(5)=7-(5-fun(3)=7-(5-(3-fun(1)=7-(5-(33)=75=2”,所以最后的输出结果为 2。23.若有以下程序 int f(int a,int n) main() if(n1) int a=8,2,9,1,3,6,4,7,5; in

34、t t;t=f(a,n1); printf(“dn“,f(a,9);return tan-1?t:an-1; else return a01;则程序的输出结果是(分数:2.00)A.9 B.1C.8D.5解析:解析:主函数中调用 f(a,9),递归函数的调用过程如下:f(a,9)f(a,8)f(a,7)f(a,6)f(a,5)f(a,4)f(a,3)f(a,2)f(a,1),f(a,1)得到返回值为 a0,值为 8,递归过程开始回归,回归过程描述如下: 8a1,返回 88a2不成立,返回 a2的值为 9因此函数 f的主要功能为计算数组中的最大值。主函数中输出最大值为 9。24.在一个 C源程序

35、中所定义的伞局变量。其作用域为(分数:2.00)A.所在文件的全部范围B.所存程序的全部范围C.所在函数的全部范围D.由具体定义位置和 extern说明来决定范围 解析:解析:本题考查 C语言的作用域规则。在 C语言中,全局变量的有效范围从定义变量的位置开始到本源文件结束。如果需要在其他源文件中使用该全局变量,则可以在其他源文件中使用 extem关键字来声明该全局变量,这样该全局变量的作用域就被扩展到以 extem声明了该全局变量的位置开始到此源文件结束。25.以下叙述中正确的是(分数:2.00)A.只有全局变量才有自己的作用域,函数中的局部变量没有作用域B.只要是用户定义的标识符,都有一个有

36、效的作用域 C.只有在函数内部定义的变量才是局部变量D.局部变量不能被说明为 static解析:解析:在函数内定义的变量是局部变量,而在函数之外定义的变量称为外部变量,也是全局变量。全局变量可以为源文件中其他函数所共用,其作用域为从定义变量的位置开始到源文件结束。因此只要用户定义的标识符,全部都有作用域。局部变量可以说明为 auto、register 以及 static。26.以下叙述中正确的是(分数:2.00)A.对于变量而言,“定义”和“说明”这两个词实际上是同一个意思B.在复合语句中不能定义变量C.全局变量的存储类别可以是静态类 D.函数的形式参数不属于局部变量解析:解析:用 stati

37、c说明符说明全局变量时,此变量可称作静态全局变量。静态全局变量只限于本编译单位使用,不能被其他编译单位所引用。在一个函数内部定义的变量(包括形参)是局部变量,它只在本函数范围内有效。不同函数中可以使用相同名字的局部变量,它们代表不同的对象,互不影响。在函数内部复合语句中也可以定义变量,这些变量都是局部变量,只在本复合语句中有效。27.有以下程序 int d=1; void fun(int p) main()int a=3; int d=5; fun(a); d+=p+; d+=a+; printf(“d“,d);) printf(“dn“,d); 程序的输出结果是(分数:2.00)A.9 6B

38、.9 4C.8 4 D.8 5解析:解析:代码考查点为全局变量和局部变量的同名问题,若全局变量和某个函数中的局部变量同名,则在该函数中,此全局变量被屏蔽,在该函数内,访问的是局部变量,与同名的全局变量不发生任何关系。主函数执行。fun(3)时候,执行调用函数 fun,使用局部变量 d=5,执行 d+=p+,相当于 d=d+(p+),得到 d的值为 8,输出。函数调用结束,转到主函数,继续执行 d+=a+,此时 d为全局变量,执行语句以后,d值为 4。28.有以下程序 #include int a=1,b=2; void fun1(int a,int b) main() printf(“dd“,

39、a,b);)。 fun1(5,6);fun2(); void fun2() printf(“ddn“,a,b); a=3;b=4; 程序运行后的输出结果是(分数:2.00)A.1 2 5 6B.5 6 l 2C.5 6 3 4解析:解析:函数 fun1()的作用是输出局部变量 a和 b的值,在主函数中执行 fun1(5,6)的结果是输出5,6:函数 fun2()的作用是给变量 a和 b分别赋值 3,4;执行 fun2()的作用是输出 3,4。29.在一个 C源程序文件中所定义的全局变量,其作用域为(分数:2.00)A.由具体定义位置和 extern说明来决定范围 B.所在程序的全部范围C.所在

40、函数的全部范围D.所在文件的全部范围解析:解析:全局变量是在函数外部任意位置上定义的变量,它的作用域是从变量定义的位置开始,到整个源文件结束止。在同一编译单位内用 extern说明符扩展全局变量的作用域(当全局变量定义在后,引用它的函数在前时,应该在引用它的函数中用 extern对此全局变量进行说明,以便通知编译程序:该变量是一个已在外部定义了的全局变量,已经分配了存储单元,不需要再为它分配存储单元。这时全局变量的作用域从 extern说明处起,延伸到该函数末尾)。当一个程序由多个编译单位构成,并且在每个文件中均需要引用同一个全局变量,这时只在其中一个文件中定义所有的全局变量,而在其他用到这些全局变量的文件中用 extem对这些变量进行说明。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1