1清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础乔 林计算机程序设计基础
Email,qiaolin@cic.tsinghua.edu.cn
Tel,62792961
2清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础第一章 C 语言的基本概念
学习目标
– 了解 C 语言的发展历史
– 了解 C 语言的特点
– 了解程序的基本概念
– 掌握 C 语言中定义标识符的方法
– 了解 C 语言的编译与执行过程
3清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.1 C 语言的发展与特点
C 语言的发展
– 1973:贝尔实验室的 Ritchie与 kernighan,为
UNIX操作系统设计
– 1989,ANSI/ISO标准 C,C89
– 1999:增加了部分与 C++兼容的特性,C99
C 语言的特点
– 中级语言;结构化程序设计语言;模块化程序设计语言;可移植性
4清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.2 几个基本概念一
程 序
– 一系列遵循一定规则并正确完成一定功能的代码或指令序列
– 通常包括数据结构与算法两部分
程序设计
– 按照任务需要,设计数据结构与算法,编写代码并测试其正确性,得到正确运行结果的过程
5清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.2 几个基本概念二
算 法
– 问题的求解方法与步骤
– 不允许存在二义性
– 算法设计过程是逐步求精的
– 常使用流程图描述算法
数据结构
– 数据对象、相互关系及构造方法
– 与算法关系密切
6清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.3 C 语言的基本标识符
字符集,ASCII字符集
– 大小写英文字母、数字、部分特殊符号
标识符
– 以下划线或字母开头,由下划线、字母、数字组成,表示常量、变量、函数、类型等名称
– 保留字:系统专用的具有特定意义的标识符
C89定义 31个,C99新增 5个
– 预定义标识符:编译命令与库函数名,具有特定意义,
一般不能重新定义
– 用户定义标识符:用户根据需要定义,主要是为了使程序容易阅读、理解与维护
7清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.4 C 语言程序示例一
编写显示字符串,Hello World!”的 C程序
#include <stdio.h>
int main()
{
printf(“Hello World! \n”);
return 0;
}
主函数的函数头,全局惟一预编译指令,包含标准头文件函数体,花括号内为语句序列标准库函数,在输出设备(一般为屏幕)上输出一行文本函数调用,需要了解该函数原型,即函数如何使用的细节信息; printf()函数原型位于,stdio.h”中,故需包含该头文件双引号内为字符串内容; ’\n’为转义字符,表示换行分号表示语句结束函数结束执行,程序退出
8清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.4 C 语言程序示例二
编写程序,计算三个实数的平均值
// Get the average value of three floats
#include <stdio.h>
int main()
{
float a,b,c,aver;
printf(“Please input three floats:\n”);
scanf(“%f,%f,%f”,&a,&b,&c);
/* Computing */
aver = (a + b + c) / 3;
printf(“\naverage = %f\n”,aver);
return 0;
}
包含标准 I/O头文件注释到行尾函数体主函数的函数头,全局惟一第二种注释格式定义实数类型的四个变量输出提示信息获取用户输入数据计算平均值输出计算结果函数结束执行,程序退出
9清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.4 C 语言程序示例三
编写程序,找出两个整数中的较小者
#include <stdio.h>
int xmin(int x,int y)
{
int m; if(x<y) m = x; else m = y; return m;
}
int main()
{
int a,b,a_b_min;
printf(“Please input two integers:\n”);
scanf(“%d %d”,&a,&b);
a_b_min = xmin(a,b);
printf(“\nThe min is %d.\n”,a_b_min);
return 0;}
包含标准 I/O头文件主函数自定义函数求两个整数较小值定义整数类型的三个变量输出提示信息获取用户输入数据计算平均值输出计算结果自定义函数体
10清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.5 C 语言程序的结构特点一
由一个或多个函数组成,且具有惟一一个主函数 main()
程序执行由主函数开始,其他函数由主函数调用或间接调用
程序执行流程与函数定义顺序无关
每个函数包含函数头与函数体两部分
11清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.5 C 语言程序的结构特点二
一般函数结构为数据类型标识符 函数名 ( 形式参数表 )
{
局部变量声明语句 ;
执行语句 ;
}
函数头说明函数名、函数返回值类型、函数属性、参数说明等;函数体为变量声明语句与执行语句
函数参数个数未强制规定,可以为 0
12清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.6 C 语言程序的编译与执行
编 辑
– 使用文本编辑器编辑源文件
– 源程序可能包含多个模块,多个源文件
编 译
– 编译程序将源文件编译为相对独立的目标文件
– 编译器检查程序错误,此阶段可进行程序调试
链 接
– 将各个目标文件、系统标准库函数装配成可执行文件
执 行
– 若发生执行错误,重复上述步骤
13清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础作 业
第 14页:第三题(编程题)
计算机程序设计基础乔 林计算机程序设计基础
Email,qiaolin@cic.tsinghua.edu.cn
Tel,62792961
2清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础第一章 C 语言的基本概念
学习目标
– 了解 C 语言的发展历史
– 了解 C 语言的特点
– 了解程序的基本概念
– 掌握 C 语言中定义标识符的方法
– 了解 C 语言的编译与执行过程
3清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.1 C 语言的发展与特点
C 语言的发展
– 1973:贝尔实验室的 Ritchie与 kernighan,为
UNIX操作系统设计
– 1989,ANSI/ISO标准 C,C89
– 1999:增加了部分与 C++兼容的特性,C99
C 语言的特点
– 中级语言;结构化程序设计语言;模块化程序设计语言;可移植性
4清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.2 几个基本概念一
程 序
– 一系列遵循一定规则并正确完成一定功能的代码或指令序列
– 通常包括数据结构与算法两部分
程序设计
– 按照任务需要,设计数据结构与算法,编写代码并测试其正确性,得到正确运行结果的过程
5清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.2 几个基本概念二
算 法
– 问题的求解方法与步骤
– 不允许存在二义性
– 算法设计过程是逐步求精的
– 常使用流程图描述算法
数据结构
– 数据对象、相互关系及构造方法
– 与算法关系密切
6清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.3 C 语言的基本标识符
字符集,ASCII字符集
– 大小写英文字母、数字、部分特殊符号
标识符
– 以下划线或字母开头,由下划线、字母、数字组成,表示常量、变量、函数、类型等名称
– 保留字:系统专用的具有特定意义的标识符
C89定义 31个,C99新增 5个
– 预定义标识符:编译命令与库函数名,具有特定意义,
一般不能重新定义
– 用户定义标识符:用户根据需要定义,主要是为了使程序容易阅读、理解与维护
7清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.4 C 语言程序示例一
编写显示字符串,Hello World!”的 C程序
#include <stdio.h>
int main()
{
printf(“Hello World! \n”);
return 0;
}
主函数的函数头,全局惟一预编译指令,包含标准头文件函数体,花括号内为语句序列标准库函数,在输出设备(一般为屏幕)上输出一行文本函数调用,需要了解该函数原型,即函数如何使用的细节信息; printf()函数原型位于,stdio.h”中,故需包含该头文件双引号内为字符串内容; ’\n’为转义字符,表示换行分号表示语句结束函数结束执行,程序退出
8清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.4 C 语言程序示例二
编写程序,计算三个实数的平均值
// Get the average value of three floats
#include <stdio.h>
int main()
{
float a,b,c,aver;
printf(“Please input three floats:\n”);
scanf(“%f,%f,%f”,&a,&b,&c);
/* Computing */
aver = (a + b + c) / 3;
printf(“\naverage = %f\n”,aver);
return 0;
}
包含标准 I/O头文件注释到行尾函数体主函数的函数头,全局惟一第二种注释格式定义实数类型的四个变量输出提示信息获取用户输入数据计算平均值输出计算结果函数结束执行,程序退出
9清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.4 C 语言程序示例三
编写程序,找出两个整数中的较小者
#include <stdio.h>
int xmin(int x,int y)
{
int m; if(x<y) m = x; else m = y; return m;
}
int main()
{
int a,b,a_b_min;
printf(“Please input two integers:\n”);
scanf(“%d %d”,&a,&b);
a_b_min = xmin(a,b);
printf(“\nThe min is %d.\n”,a_b_min);
return 0;}
包含标准 I/O头文件主函数自定义函数求两个整数较小值定义整数类型的三个变量输出提示信息获取用户输入数据计算平均值输出计算结果自定义函数体
10清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.5 C 语言程序的结构特点一
由一个或多个函数组成,且具有惟一一个主函数 main()
程序执行由主函数开始,其他函数由主函数调用或间接调用
程序执行流程与函数定义顺序无关
每个函数包含函数头与函数体两部分
11清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.5 C 语言程序的结构特点二
一般函数结构为数据类型标识符 函数名 ( 形式参数表 )
{
局部变量声明语句 ;
执行语句 ;
}
函数头说明函数名、函数返回值类型、函数属性、参数说明等;函数体为变量声明语句与执行语句
函数参数个数未强制规定,可以为 0
12清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础
1.6 C 语言程序的编译与执行
编 辑
– 使用文本编辑器编辑源文件
– 源程序可能包含多个模块,多个源文件
编 译
– 编译程序将源文件编译为相对独立的目标文件
– 编译器检查程序错误,此阶段可进行程序调试
链 接
– 将各个目标文件、系统标准库函数装配成可执行文件
执 行
– 若发生执行错误,重复上述步骤
13清华大学计算中心 http://learn.tsinghua.edu.cn
计算机程序设计基础作 业
第 14页:第三题(编程题)