关于爱国的简单代码编写
C语言是一个编译性的语言。我们写的代码并保存为.c格式,这个称其为源码,然后经过编译器生成可执行文件,也就是.exe文件,如下面的代码:我们保存为Happy.c ,然后在在命令行下输入:
gcc Happy.c -o Happy
即可完成编译任务,生成可执行文件,注意:键入上述命令时,首先你电脑上要有C编译器,并且在源码的文件路径下。
来向祖国道一声“生日快乐吧!”:
/*这是一个祝福祖国生日快乐的简单C程序*/#include
int main(void) //这是主函数,无论这个函数在文件的哪个位置,程序从这里开始
{int age = 69;
printf("Happy birthday to my motherland at the age of %d.\n", age);return 0;
}
#include :该语句的作用相当于你在文件中该行所在的位置键入了文件stdio.h的完整内容。实际上,它是一种剪切和粘贴的操作,这样可以方便地在多个程序间共享公用的信息。那么,这个stdio.件里包含了什么东东呢?由于上述程序中使用了printf()函数,可是我们并没用去定义这个函数,那这个函数怎么就可以把"Happy Birthty Day To Chian"输出到控制台的呢?那是因为,你没有定义函数,但是你复制粘贴了stdio.h这个文件了呀,这个文件里有定义了printf()这个函数,在这个文件中它说明了函数名以及该函数如何使用,但是函数的实际代码并不在这个文件了,而是在一个预编译代码的库文件中。那什么是预编译呢?#include语句是C预处理指令的一个例子,通常,C编译器在编译前要对源代码做一些准备工作,这就称为预处理。在C世界中,人们称出现在文件顶部的信息集合为头(header),C实现通常都带有许多头文件。
int main(void): main(),这是一个函数名为main的函数,也是C程序执行的起始函数,int 指这个函数处理后要返给操作系统一个int值。void: 表明这个主函数并不接受任何参数。
{}: 表示所有的C函数都使用花括号来表示函数体的开始和结束,花括号还可以用来把函数
中的语句聚集到一个单元或代码块中来。
int age = 69 : 生明并初始化变量age为69
;分号 -- 表明一个语句的结束
%d : int 类型变量的占位符
\n : 转义字符,表示光变换到下一行
return 0 表示,这个主函数结束,返回一个int类型的值 0
printf函数原型在什么头文件里
/* */ 注释,可以在/*和*/之间写多行注释
// 这是单行注释,在//之后的字符会被编译器忽略
age: 是int类型的变量名,给变量起名字尽量一眼就能看出其含义,方便阅读源代码。变量名的起名规则: 可供使用的字符有小写字母、大写字母、数字和下划线。第一个字符必须是字母或者下划线。
除了使用标准的printf()函数外,怎么把自己的函数加入到程序中呢?
#include
void question(void); //C 函数原型
void answer(void);void question(void)
{
printf("What's the date today?\n");
}int main(void)
{int age = 69;
printf("Happy birthday to my motherland at the age of %d.\n", age);
question();
answer();return 0;
}void answer(void)
{
printf("Today is October 1st National Day.\n");
}
answer()函数在上述程序中出现了3次。第一次是出现在原型中,通知编译器要用到的函数。第二次是在main()函数中以函数调用的形式出现的。最后,程序给出了函数的定义,既函数本身的源码。而在上述关于printf()函数的谈论,现在也可以进一步的解释,在文件stdio.h中,类似void answer(void);这样声明了函数的名字及参数,但函数本身的代码并不在stdio.件中,而在预编译代码库中。简单的理解,也就是stdio.件提供了printf()函数的接口。而,question()函数本身的代码却在main()函数的上面,这实际没有影响的,程序是从main()函数开始执行的,只要在main()函数之前有通知了编译器有question()这个函数了就行。