一、在屏幕上输出一行信息
要求:在屏幕上输出 Hello World
,编写程序如下:
1. #include <stdio.h> // 预编译处理指令
2. int main() //定义主函数
3. {
4. printf("Hello World! \n"); //输出指定的一行信息,\n代表换行
5. return 0; // 函数结束的标志
6. }
程序段的分析和认识:
- main: 是函数的名字,表示“主函数”,main前面的int表示此函数的类型是int类型(整型),这也意味着函数必须返回(return)一个整形的值,在程序的第5行可以看到返回了一个整形值0。
- 函数体必须由花括号
{}
括起来。如示例程序的第3行和第6行,语句段必须以分号;
结尾,表示语句结束。 - 程序第4行为一个输出语句,
printf
是C编译系统提供的函数库(stdio.h)中的输出函数。\n是换行符。 stdio.h
是系统提供的一个文件名,stdio是 standard input and output 的缩写,文件.h
后缀的意思是该文件为头文件(head file),因为这些文件都是放在程序各文件模块的开头的,且在程序预编译阶段进行处理。- 在旧的标准中(C90),如果main前面不写int,其函数类型默认为int类型,但是C99和C11标准不允许这样写。
二、注释
/* 一个简单的程序 */
在程序中,被/* */
两个符号括起来的部分是程序的注释,良好的注释风格能够让他人(包括自己)更容易读懂你所写的程序。/* */
之间的内容都会被编译器忽略掉。下面列举一些有效的注释示例:
/* A code block */
/* A code block
A code block */
/*
A code block
*/
C99新增了另一种注释风格,普遍用于C++和Java。即://
符号创建注释,但是这类注释仅限于单行。
int num; // 注释有效
int num; // 如果注释换行
则换行的注释无效
三、函数体、花括号、块
{
...
}
类似上面用花括号括起来的可称为一个块,函数必须用花括号括起来,不能省略。
四、声明
在C语言中,所有变量必须先声明才能使用。
int num; //声明了一个整形的变量num;
声明是C语言最重要的特性之一,在上面代码段中,声明完成了两件事:
- 在函数中有一个名为num的变量(也可称为标志符);
- int表明num是一个整型变量(整数);
C90和C91、C11的规定有所差异:
C90规定必须把所有的变量声明在块的顶部,其他语句不能在任何声明前面:
int main() //旧规则
{
int dogs;
int cats;
dogs = 3;
cats = 5;
//其他语句
}
而C99、C11遵循C++的惯例,可以把声明放在块中的任何位置:
int main() //目前的C规则
{
int dogs;
dogs = 3;
int cats;
cats = 5;
//其他语句
}
五、命名
在程序中,给变量、函数命名不是随意的,需要遵循规则:
- 目前规则中编译器只识别63个字符,因此命名应避免过长。
- 名称的开头不能以数字开头。
- 名称可以包含:大小写字母、数字、下划线命名。
- 不能以系统关键字命名(例如:int、float、double等)。
- C语言的名称区分大小写,即把一个字母的大写和小写视为两个不同的字符,因此stars 和Stars、STARS是三个不同的字符。
下面给出一些示例:
有效的命名 | 无效的命名 |
---|---|
number | $Z]**文本居右 |
dogs2 | 5test |
hello_2word | hello-2word |
_taxi | first blood |
六、赋值
num = 1; // 赋值表达式
赋值是C语言最常见的基本操作之一,该行代码的含义是:把整数1赋给变量num。注意赋值表达式语句是从右向左侧传递。另外,该语句以分号结尾。举个稍微复杂的例子:
int a = 0;
int b = 0;
int c = 3;
a = b = c + 1;
此时输出a和b的值分别是多少呢?我们分析一下:
- 根据赋值表达式从右往左传递的顺序进行分析,首先是c+1赋值给b,则b = 4。
- 再执行a=b的赋值,此时a = 4。
- 因此最终a和b的值均为4。
七、输出函数
printf()
函数是C语言的一个标准输出函数,在屏幕上打印想要输出的内容,例如:
int num = 3;
printf("I am a student.");
printf("Hello \n World!");
printf("The price of apple is %d.", num);
其输出如下:
I am a student.
Hello
World!
The price of apple is 3.
- 第一行的
printf()
表示了C语言中如何调用函数,只需要输入函数名,把所需要输出的参数填入圆括号()
中即可。 - 第二行中多了一个
\n
符号,这个符号代表换行的意思,也就是说打印换行符的效果相当于在键盘上按下Enter
键相同。 - 第三行中输出了一个变量num,其实质上是在双引号中参数用
%d
替代了,%d
相当于一个占位符,其作用是指明输出num值的位置。例如再看一个例子:
int a = 3;
int b = 4;
printf("a = %d, b = %d", a, b);
其输出如下:
a = 3, b = 4
这就很好的解释了%d
的作用,两个%d
分别指明了a和b的位置。