C语言是一种广泛应用于软件开发的编程语言,其程序由一系列函数组成。在C语言中,主函数`main()`是程序的入口点,根据题目描述,正确的选项是C) `main()`函数必须在其他函数之前,函数内不可以嵌套定义函数。这意味着C语言的程序执行始于`main()`函数,并且函数不能定义在其他函数内部。
题目中提到了一些关于函数调用和定义的知识点。C语言程序中,函数的调用并不需要在`main()`中定义,选项B是错误的,因为函数可以在任何位置定义,只要在调用前完成定义即可。函数的返回值类型是在定义函数时指定的,不是由`return`语句的表达式类型决定,也不是临时决定的,因此选项A和C错误,选项D是正确的。
函数调用时,形参(形式参数)和实参(实际参数)的类型应该匹配,选项B和D是错误的,选项A是正确的,实参可以是常量、变量或表达式,而形参则在函数定义时指定类型。如果函数没有`return`语句,它不会返回一个确定的值,所以选项A是正确的,返回值是不确定的。
函数调用时,无须给出函数原型(即函数声明)的情况包括:无参函数、无返回值的函数,以及当函数定义位于调用之前。选项C符合这一条件。`void`关键字表示函数没有返回值,如题目中的`void abc()`定义。
C语言中函数的定义不可以嵌套,但函数的调用可以嵌套,选项B描述正确。正确的函数形式需要包含返回类型、函数名、括号内的参数列表,例如选项D所示。
函数调用`func((exp1,exp2),(exp3,exp4,exp5))`含有两个实参,每个都是一个元组,所以答案是B) 2。数组名作为函数参数时,传递的是数组的首地址,不是单个元素的值或所有元素的值,选项A正确。如果使用一维数组名作为实参,形参数组的大小可以不必在被调函数中声明,但实参数组名与形参数组名必须一致,选项C正确。对于二维数组作为函数参数,形参数组的尺寸应该匹配实参,选项C是正确的定义方式。
不进行初始化的全局变量和静态局部变量会自动获得初值0,选项D正确。
在填空题部分,C语言规定可执行代码必须以某种形式的语句开始,如声明、表达式或控制结构等。这部分未给出具体填空内容,但通常涉及的可能是关于程序的起始行、函数的定义或者语句的结构等。
综上所述,C语言程序设计中涉及函数的部分包括函数的定义、调用、返回值、形参和实参的匹配、函数原型的使用、数组作为参数传递、以及未初始化变量的特性等多个核心概念。这些知识点对于理解和编写C语言程序至关重要。