C语言概述
简单的C程序示例
#include <stdio.h>
int main(void) /* 一个简单的C程序 */
{
int num; /* 定义一个名为num的变量 */
num = 1; /* 为num赋一个值 */
printf("I am a simple "); /* 使用printf()函数 */
printf("computer.\n");
printf("My favorite number is %d because it is first.\n",num);
return 0;
}
该程序的输出是:
I am a simple computer.
My favorite number is 1 because it is first.
示例解释
我们分析一下刚才的程序
下图总结了组成C程序的几个部分:
#include<stdio.h> ←包含另一个文件
该行告诉编译器把stdio.h中的内容包含在当前程序中。stdio.h是C编译器软件包的标准部分,它提供键盘输入和屏幕输出的支持。
int main(void) ←函数名
/* 注释 内容 */ ←多行注释
// 注释内容 ←单行注释
{ ←函数体开始
printf("I am a simple "); ←调用printf函数
return 0; ←return语句
} ←函数定义结束
#include <stdio.h>的作用相当于把stdio.h文件中的所有内容都输入该行所在的位置。实际上,这是一种“拷贝-粘贴”的操作。include 文件提供了一种方便的途径共享许多程序共有的信息。
#include这行代码是一条C预处理器指令。通常,C编译器在编译前会对源代码做一些准备工作,即预处理。
在大多数情况下,头文件包含了编译器创建最终可执行程序要用到的信息。
main()函数:C程序一定从main()函数开始执行。除了main()函数,你可以任意命名其他函数,而且main()函数必须是开始的函数。
圆括号():用来识别main()是一个函数。
花括号{}:一般而言,所有的C函数都使用花括号标记函数体的
开始和结束。这是规定,不能省略。花括号还可用于把函数中的多条语句合并为一个单元或块。
声明:例如:”int num;“。声明是C语言最重要的特性之一。在该例中,声明完成了两件事。其一,在函数中有一个名为num的变量(variable)。其二,int表明num是一个整数。
标识符名:可以用小写字母、大写字母、数字和下划线(_)来命名。而且,名称的第1个字符必须是字符或下划线,不能是数字。
C语言的名称区分大小写,即把一个字母的大写和小写视为两个不同的字符。
有效的名称 | 无效的名称 |
---|---|
wiggles | ¥Z}** |
cat 2 | 2cat |
hot_tub | hot-tub |
taxRate | tax rate |
_kcab | don’t |
赋值:num=1;赋值是C语言的基本操作之一。该行代码的意思
是“把值1赋给变量num”。该赋值表达式语句从右侧把值赋到左侧,不能颠倒。
printf("My favorite number is %d because it is first.\n", num);
printf()函数函数会查看双引号中的内容,并将其打印在屏幕上。\n的意思是换行。%d相当于是一个占位符,其作用是指明输出num值的位置。
简单程序的结构
程序由一个或多个函数组成,必须有 main()函数。函数由函数头和函数体组成。函数头包括函数名、传入该函数的信息类型和函数的返回类型。通过函数名后的圆括号可识别出函数,圆括号里可能为空,可能有参数。函数体被花括号括起来,由一系列语句、声明组成。
提高程序可读性的技巧
- 选择有意义的函数名
- 写注释
- 在函数中用空行分隔概念上的多个部分
- 每条语句各占一行
调试程序
程序的错误通常叫做 bug,找出并修正错误的过程叫做调试(debug)。
- 语法错误:不遵循 C 语言的规则。
- 语义错误:语义错误是指意思上的错误。
关键字和保留标识
关键字是C语言的词汇。它们对C而言比较特殊,不能用它们作为标识符。如果使用关键字不当(如,用关键字作为变量名),编译器会将其视为语法错误。
小结
C程序由一个或多个C函数组成。每个C程序必须包含一个main()函数,这是C程序要调用的第1个函数。简单的函数由函数头和后面的一对花括号组成,花括号中是由声明、语句组成的函数体。
在C语言中,大部分语句都以分号结尾。声明为变量创建变量名和标识该变量中储存的数据类型。变量名是一种标识符。赋值表达式语句把值赋给变量,或者更一般地说,把值赋给存储空间。函数表达式语句用于调用指定的已命名函数。调用函数执行完毕后,程序会返回到函数调用后面的语句继续执行。printf()函数用于输出想要表达的内容和变量的值。
复习题
- C语言的基本模块是什么?
答:函数 - 什么是语法错误?写出一个英语例子和C语言例子。
答:不遵循 C 语言的规则,例如:“I love you";。 - 什么是语义错误?写出一个英语例子和C语言例子。
答:语义错误是指意思上的错误,例如:
int num;
3=num+n;
- 在main、int、function、char、=中,哪些是C语言的关键字?
答:int、char;