本文参考C Primer Plus(第六版)2.6
程序由一个或多个函数组成,必须有main()函数。函数由函数头和函数体组成。函数头包括函数名、传入该函数的信息类型和函数的返回类型。函数体被花括号括起来,由一系列语句、声明组成。
程序清单2
//把2音寻转换成英寸
#include
int main(void)
{
int feet,fathoms;
fathoms=2;
feet=6*fathoms;
printf("There are %d feet in %d fathoms!\n",feet,fathoms);
printf("Yes,I said %d feet!\n",6*fathoms);
return 0;
}
1.多条声明
接下来程序在一条声明中声明了两个变量,而不是一个变量,为此要在声明中用逗号隔开两个变量(feet和fathoms)。 也就是说,
int feet,fathoms;
和
int feet;
int fathoms;
等价。
3.乘法
用*表示乘法。因此,语句
feet=6*fathoms;的意思是“查找fathoms的值,用6乘以该值,并把计算结果赋给变量feet”。
4.打印多个值
最后,程序以新的方式使用printf()函数,如果编译并运行该程序,输出应该是这样:
There are 12 feet in 2 fathoms!
Yes,I said 12 feet!
目前为止,介绍的几个程序只使用了printf()函数。下面程序中加入了自己的函数:
#include
void butler(void); //ANSI/ISO C函数原型
int main(void)
{
printf("I will summon the butler function.\n");
butler();
printf("Yes,Bring me some tea and writeable DVDS.\n");
return 0;
}
void butler(void); //函数定义开始
{
printf("You rang,sir?\n");
}
该程序的输出如下:
I will summon the butler function.
"You rang,sir?
"Yes,Bring me some tea and writeable DVDS.
butler()函数在程序中出现了3次。第1次是函数原型,告诉编译器在函数中要使用该函数;第2次是以函数调用的形式出现在main()中;最后一次出现在函数定义中,函数定义即是函数本身的源代码。
函数原型是一种声明形式,告诉编译器正在使用某函数,因此,函数原型也叫做函数声明。函数原型也指明了函数的属性。例如,butler()的函数原型中第1个void表明,butler()函数没有返回值。第2个void(butler(void)中的void)表明bulter()函数不带参数。因此,当编译器运行至此,会检查butler()是否使用得当。void在这里的意思是“空的”,而不是“无效”。
在main()函数中调用butler()很简单,写出函数名和圆括号就可以。butler()执行完后,继续执行main()下一条。
程序最后部分是butler()函数的定义,其形式和main()相同,都包括函数头和用花括号括起来的函数体。函数头重述了函数原型的信息:butler()不带任何参数,且没有返回值。
这里要注意,何时执行bulter()函数取决于它在main()中被调用的位置,而不是bulter()的定义在文件中的位置。例如,把bulter()函数的定义放在main()函数之前,不会改变程序的执行顺序,bulter()函数仍然在两次printf()调用之间被调用。记住,无论main()在程序文件处于什么位置,所有的C程序都从main()开始执行。但是,C的惯例是吧main()放在开头,因为它提供了程序的基本框架。
程序的错误通常叫做bug,找出并修正错误的过程叫做调试。
对该程序的错误进行分析:
#include
int main(void)
{
int n, int n2,int n3;
n=5;
n2=n*n;
n3=n2*n2;
printf("n=%d,n squared=%d,n cubed=%d\n",n,n2,n3);
return 0;
}
变量声明应该写为:
int n,n2,n3;
或者:
int n;
int n2;
int n3;
C程序由一个或多个C函数组成。每个C程序必须包含一个main()函数,这是C程序要调用的第
1个函数。简单的函数由函数头和后面的一对花括号组成,花括号中是由声明、语句组成的函数体。
在C语言中,大部分语句都以分号结尾。声明为变量创建变量名和标识该变量中储存的数据类型。变量名是一种标识符。赋值表达式语句把值赋给变量,或者更一般地说,把值赋给存储空间。函数表达式语向用于调用指定的已命名函数。调用函数执行完毕后,程序会返回到函数调用后面的语句继续执行。
printf()函数用于输出想要表达的内容和变量的值。
一门语言的语法是一套规则,用于管理语言中各有效语句组合在一起的方式。语句的语义是语句要表达的意思。编译器可以检测出语法错误,但是程序里的语义错误只有在编译完之后才能从程序的行为中表现出来。检查程序是否有语义错误要跟踪程序的状态,即程序每执行一步后所有变量的值。
最后,关键字是C语言的词汇。
例如:以上就是今天要讲的内容,明天通过相关练习题巩固之前所学内容。