C语言导航 4.1语法基础
第四章 顺序结构程序设计
第一节 语法基础
-
语句概念
-
语句详解
-
程序详解
4.1.1语句概念
说明:构成高级语言源程序的基本单位。
特征:在C语言中语句以分号作为结束标志。
分类:
(1)简单语句:空语句、表达式语句、return语句、break语句、continue语句、goto语句、函数调用语句。
(2)结构语句:复合语句、选择语句、循环语句。
4.1.2语句详解
1.简单语句
(1)空语句:只有一个分号的语句。
(2)表达式语句:用表达式进行计算的语句,是程序中最常用的语句。
(3)return语句:用于函数的返回。
(4)break语句:用于退出循环或switch结构。
(5)continue语句:用于结束本次循环。
(6)goto语句:将程序控制转向标号处,极不推荐使用。
(7)函数调用语句:用于函数调用。
2.结构语句
(1)复合语句:用“{”、若干语句、“}”组合起来的语句,在逻辑上是一条语句。
(2)选择与循环语句:与选择结构与循环结构有关的语句。
4.1.3程序详解
说明:程序的编写如同写作,无硬性要求,情况多变,但最基本的简单程序如[程序现场]4-1-3所示,对于分支结构、循环结构、函数的调用等复杂行为不作描述。
1.预处理指令
位置:[程序现场]4-1-3中第1行。
作用:指示编译器在编译之前准备需准备的内容,主要为编译时将人为简化的内容转换成标准的内容,因此仅参与编译,不参与执行。
内容:
指令 | 作用 |
---|---|
#define | 宏定义,可以定义符号常量、运算符 |
#include | 包含,包含一个源代码文件 |
#undef | 取消已定义的宏 |
#ifdef | 如果宏已经定义,则返回真 |
#ifndef | 如果宏没有定义,则返回真 |
#if | 如果给定条件为真,则编译下面代码 |
#else | 当前一个#if条件未执行,则执行本指令下的代码 |
#endif | 结束一个#if……#else条件编译的块 |
#error | 当遇到标准错误时,输出错误消息 |
#pragma | 使用标准化方法,向编译器发布特殊的命令到编译器中 |
说明:该程序预处理了包含指令,其中包含指令包含的内容为stdio.h文件。
2.主函数名
位置:[程序现场]4-1-3中第2行。
说明:主函数为C程序入口和出口,程序中有且仅有一个,其中函数名定义了输入数据类型与输出类型。
输入:主函数参数列表完整为( int argc , char *argv[] ),其中argc存放的为命令行参数argv的个数,argv存放的内容为程序名称、所在文件夹地址等信息。
输出:采用数据类型定义函数即定义返回值类型。
3.主函数体
位置:[程序现场]4-1-3中第3行至第12行。
说明:是程序最先开始及最后执行的部分。
4.定义
位置:[程序现场]4-1-3中第4行。
说明:在C语言中任何变量都应定义,表明其存在性后才能使用。
5.函数
位置:[程序现场]4-1-3中第5行至第6行和第9行。
说明:调用函数以简化程序的编写,该函数为系统函数,是stdio.h文件中的内容。
6.注释
位置:[程序现场]4-1-3中第5行和第7行。
说明:为方便看懂程序而写下的内容,其内容不参与编译,有两种注释形式。
分类:
形式 | 作用 |
---|---|
// | 用于单行注释,注释后的内容不参与编译。 |
/* …… */ | 用于多行注释,注释里的内容不参与编译。 |
7.算法
位置:[程序现场]4-1-3中第8行。
说明:完成程序任务的主要内容,其变化多样,但有可行性、确定性、有穷性、可输入/输出性这几个特征。
8.返回值
位置:[程序现场]4-1-3中第11行。
说明:在完成程序任务后,向调用者提供的运算结果,需要更具函数名类型选择返回类型。
【程序现场】4-1-3
#include<stdio.h> int main() { int a,b; printf("Input a b:"); //提示 scanf("%d%d",&a,&b); /*计算过程*/ int t=a<b?b-a:a-b; printf("The difference between a and b is %d",t); return 0; }