C程序是有一个或多个C函数组成。在C语言中,大部分语句以分号结尾。
声明为变量创建变量名 和 标识该变量中存储的数据类型。变量名是一种便是福,赋值表达式把值赋给变量。更一般,把值赋给存储空间
目录
概要:
运算符:=
函数 main(),printf()
编写一个简单的C程序
创建整型变量,为其赋值并在屏幕上显示其值
换行字符
如何在程序中写注释,创建包含多个函数的程序,发现程序的错误
什么是关键字
2.1 简单的C程序实例
#include <stdio.h> //包含另一个文件
int main(void){ //函数调用
int num = 1;
printf("I am a simple.\n"); //函数调用
printf("My favorite number is %d because it is firtst.\n",num); //函数调用
return 0;
}
2.2 示例解释
2.2.1 第1遍:快速概要
2.2.2 第2遍:程序细节
#include <stdio.h>
把stdio.h文件中的所有内容都输入该行所在的位置,实际上是一种“拷贝-粘贴”的操作。
是C预处理指令(preprocessor directive)。C编译器在编译前会对源代码做一些准备,即预处理(preprocessing),#include指令包含ANSI/ISO标准制定的头文件。#表明C预处理接手之前处理这条指令。
stdoio.h文件(标准输入/输出头文件),包含了供编译器使用的输入和输出函数(printf)等。这些在c程序顶部的信息被称为头文件(header)。
为什么不内置输入输出在语言中,原因是并非所有的程序都用到I/O包,轻装上阵是c语言的哲学。
别的就是注释 // 或者 /**/
花括号标记函数体
int num ;
num = 1 ;
声明(declaration)
int为关键字(keyword)是C语言定义的单词,不能用作其他用途。
num为标识符(identifier)可以为变量、函数、其他实体名称,声明把特定标识符与计算机内存中的特定位置联系起来,同时也确定存储在某位置的信息类型或数据类型。
编译器在计算内存中为变量num预留了空间,然后在执行赋值表达式语句时,把值存储在之前预留的位置。可以给num赋不同的值,这也是num被称为变量(varible)的原因。
printf("My favorite number is %d because it is firtst.\n",num); //函数调用
printf()为C语言的标准函数,上述“My...”里面的信息是函数的实际参数(实参)(actual argument)。形式参数(形参)是函数中用于存储值的变量。printf函数会查看双引号的内容,并将其打印在屏幕上。
主调函数(calling function)为main()函数,当程序运行到已命名的函数结束之后,控制权返回给主调函数。
\n为换行符(newline character)= Enter,换行符仅会影响程序输出的显示格式。为什么不直接用ENTER,如果用ENTER,编辑器会退出当前行并开始新的一行,但是转义字符仅仅会影响程序的输出格式。又称转义序列(escape sequence),如\t代表Tab键,\b代表Backspace键。
%d是一个占位符,其作用是指明输出num值的位置,提醒程序,要在该处打印一个变量,其中d表示把变量作为十进制整数打印。
printf()中的f表示这是一种格式化打印函数。int main(void)是从标准C要求做的,在C语言中,return语句是一种跳转语句。
2.3 简单程序的结构
2.4 提高程序可读性的技巧
2.5 进一步使用C
2.5.1 程序说明
2.5.2 多条声明
2.5.3 乘法
2.5.4 打印多个值
2.6 多个函数
#include <stdio.h>
void butler(void); //函数原型(prototype)
int main(void){
int num = 1;
printf("I am a simple.\n");
butler(); //函数调用(function call)
printf("My favorite number is %d because it is firtst.\n",num);
return 0;
}
void butler(void) //函数定义(function definition)
{
printf("You rang, sir?\n");
}
2.7 调试程序
2.7.1 语法错误
2.7.2 语义错误
2.7.3 程序状态
定位语义错误的方法,是在程序中的关键点插入额外的printf()语句。
使用调试器(debugger)