第一题:C
创新互联建站于2013年开始,先为桥东等服务建站,桥东等地企业,进行企业商务咨询服务。为桥东企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
A.明显错误
B.那是pascal
D.明显错误
第二题:D
bool和setc++才有
第三题:A
第四题:D
因为
C语言编译时要检查语法,所以A不对;
C语言没有过程,只有函数,所以B不对;
C语言函数内不能定义函数,既不能嵌套定义,所以C不对。
排除法也知道是D了。当然由“函数内不能定义函数”也可以推出所有函数都是外部函数。
—— 其实这种说法对外部函数的理解也还值得商榷。但其它的是完全不对,也就选它吧。
有两种理解.(1)库函数是C语言的内部函数或自带函数,外部函数即程序员自定函数.
(2)凡加写了extern 的函数是外部函数.
第一种理解好懂:
C语言的内部函数指的是C语言自带的函数,无论是动态链接的或静态链接的. 这些函数通过C语言的头文件定义了.
例如, sin(),cos()等数学函数,在math.h中定义了,输入输出函数 printf(),fgetc()在stdio.h中定义了,时间函数表time(),ctime()等在time.h中定义了.还有许多其他内部函数.编程时,只要用#include 库名.h写在编程头部,程序中就可调用.
自定义函数,就是用户自己写的函数.
第二种凡加写了extern 的函数是外部函数:
自定义函数可以与程序的main()写在同一个文件中,也可以写在另一个文件中,这时你可能还另写自己的头文件或者写extern....,告诉编译器,main中用到的某某函数是"外部函数".
例如,main()在a.c中,自定义函数my_func()在a2.c中
a.c内容:
#include stdio.h
extern float my_func(float a);
main()
{
printf("result=%f\n",my_func(2.0));
}
a2.c 内容:
float my_func(float a)
{
return a;
}
编译:
cl -c a.c [得到a.obj]
cl -c a2.c [得到a2.obj]
cl a.obj a2.obj [链接成a.exe]
运行:
a.exe
得
result=2.000000
extern float my_func() 是外部说明,告诉编译,main()里的my_func是外部函数,要通过链接(.obj)得到.
如果把my_func写在a.c里:
#include stdio.h
float my_func(float a){
retun a;
}
main()
{
printf("result=%f\n",my_func(2.0));
}
my_func() 就不是外部函数.
编译:
cl a.c [得a.exe]
运行:
a.exe
得
result=2.000000
D
A. 任何编译器都要进行语法检查和语义检查。即使如HTML这种边解释边执行得语言也需要检查语义动作。相信您学过编译原理后悔对此更加理解。这就好比人类语言,总是有语法存在的。
B. 过程和函数是典型的PASCAL风格,二者的区别是:函数据有返回值,过程没有。C语言统一了二者,用返回值为void的函数代替了过程。因此C中没有函数
C. 这也是PASCAL的风格。可能是为了强调程序的结构化,C语言不支持这点。这也使得C的编译时间大大加快。
D. 与C相反,C错,D当然就对了
注:对于这些细节的区别很重要,它们是基石。希望我这样不厌其烦的解释,能够给你一些帮助。