第一章 引言
1.1一个C语言
#include <stdio.h> //stdio是一个库文件
int factorial(int n);
int main(void){//所有程序有且只有一个main函数
int n;//变量都有类型 int 整数变量 占一定内存空间
scanf("%d",&n);//%d十进制整数
printf("%d\n",factorial(n));
return 0;
}
int factorial(int n){
int i,fact=1;
for(i=1;i<=n;i++){
fact=fact*i;
}
return fact;
}
1.2程序与程序设计语言
计算机程序是人们未解决某种问题用计算机可以识别的代码编排的一系列加工步骤。
计算机最基本的处理数据的单元应该就是计算机的指令了。
1.1.2 程序设计语言的功能
能力:数据表达和数据处理(控制)
1.1.2.1 数据表达式
数据类型
整型、实型(浮点型)、字符型(char)
数据形式
常量(Constant)
变量(Variable)
构造复杂类型
数组(Array)
结构(Structure)
文件(File)
指针(Pointer)
1.1.2.2 流程控制(Flow Control)
模块只有一个入口和一个出口。单入单出的结构为程序的调试(Debug)提供了良好的条件。
基本的控制结构
顺序控制结构(Sequential Control Structure)
分之控制结构(Branch Control Structure)
循环控制结构(Loop Control Structure)
1.1.3程序设计语言的语法
一般把程序设计语言编写的未经编译的程序成为源程序(Source Code 源代码)实际上是个字符序列
C语言的主要"单词"
-
标识符
字母,下划线和数字组成,第一个字母必须是字母或下划线
大小写是不同的标识符
-
常量
-
运算符
-
分隔符
C语言的主要语法单位
-
表达式
-
变量定义
-
语句
简单语句(表达式语句)
分支语句
循环语句
复合语句
函数定义与调用
输入与输出:C语言没有输入输出宇航员,它通过调用系统库函数中的有关函数实现数据的输入和输出
1.2.4程序的编译与编程环境
1.2.4.1程序的编译
需要软件将相应的程序转换成计算机能直接理解的指令序列(二进制)
1.2.4.2编程环境
编写程序需要做很多工作,包括编辑程序Edit,编译Compile,调试等过程
1.3C语言的发展历史和特点
不足之处:
1.数据类型检查不严格
2.表达式出现二义性
3.不能紫东检查数据越界
4.初学者较难掌握运算符的优先级与结核性的概念
5.C语言中大小写字母的表示的含义不同
1.4 实现问题求解的过程
- 问题分析和算法设计
- 算法(Algorithm)是一组明确的解决问题的步骤,它产生结果并可在有限时间内终止。
- 可用自然语言、伪代码(Pseudo Code)或者流程图(Flow Chart)
- 编辑程序
- 编译(指出语法错误)
- 运行和要调试
- 调试手段
- 设置断点(Break Point Setting)
- 观察变量(Variable Watching)
- 单步跟踪(Trace Step by Step)
- 调试手段