《第1章 程序设计和C语言 - 副本.ppt》由会员分享,可在线阅读,更多相关《第1章 程序设计和C语言 - 副本.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、教师:裴彩燕教材C程序设计 谭浩强 清华大学出版社参考书全国计算机等级考试二级教程C语言程序设计C高级实用程序设计 王士元 清华大学出版社课时安排授课 :25学时上机 :25学时教材、参考书与课时安排教材、参考书与课时安排第第1章章 程序设计和程序设计和C语言语言1.1 什么是计算机程序什么是计算机程序1.2 什么是计算机语言什么是计算机语言1.3 C语言的发展及其特点语言的发展及其特点1.4 最简单的最简单的C语言程序语言程序1.5 运行运行C程序的步骤与方法程序的步骤与方法1.6 程序设计的任务程序设计的任务1.4 1.4 最简单的最简单的最简单的最简单的C C语言程序语言程序语言程序语言
2、程序1.4.1 最简单的最简单的C语言程序举例语言程序举例1.4.2 C语言程序的结构语言程序的结构1.4.1 1.4.1 最简单的最简单的最简单的最简单的C C语言程序举例语言程序举例语言程序举例语言程序举例例例1.1 要求在屏幕上输出以下一行信息。要求在屏幕上输出以下一行信息。This is a C program.解题思路:解题思路:在主函数中用在主函数中用printf函数原样输出以函数原样输出以上文字。上文字。1.4.1 1.4.1 最简单的最简单的最简单的最简单的C C语言程序举例语言程序举例语言程序举例语言程序举例#include int main()printf(”This is
3、 a C program.n”);return 0;函数的名字,表示函数的名字,表示主函数主函数C程序必须有一个程序必须有一个 main 函数函数1.4.1 1.4.1 最简单的最简单的最简单的最简单的C C语言程序举例语言程序举例语言程序举例语言程序举例#include int main()printf(”This is a C program.n”);return 0;主函数主函数类型类型1.4.1 1.4.1 最简单的最简单的最简单的最简单的C C语言程序举例语言程序举例语言程序举例语言程序举例#include int main()printf(”This is a C program.
4、n”);return 0;函数体函数体1.4.1 1.4.1 最简单的最简单的最简单的最简单的C C语言程序举例语言程序举例语言程序举例语言程序举例#include int main()printf(”This is a C program.n”);return 0;输出函数输出函数输出语句输出语句1.4.1 1.4.1 最简单的最简单的最简单的最简单的C C语言程序举例语言程序举例语言程序举例语言程序举例#include int main()printf(”This is a C program.n”);return 0;输出语句输出语句1.4.1 1.4.1 最简单的最简单的最简单的最简单
5、的C C语言程序举例语言程序举例语言程序举例语言程序举例#include int main()printf(”This is a C program.n”);return 0;换行符换行符1.4.1 1.4.1 最简单的最简单的最简单的最简单的C C语言程序举例语言程序举例语言程序举例语言程序举例#include int main()printf(”This is a C program.n”);return 0;当当main函数执行结束前函数执行结束前将整数将整数0作为函数值作为函数值1.4.1 1.4.1 最简单的最简单的最简单的最简单的C C语言程序举例语言程序举例语言程序举例语言程序举
6、例#include int main()printf(”This is a C program.n”);return 0;表示语句结束表示语句结束用到函数库中的输入输出函数用到函数库中的输入输出函数时时1.4.1 1.4.1 最简单的最简单的最简单的最简单的C C语言程序举例语言程序举例语言程序举例语言程序举例C语言允许用两种注释方式:语言允许用两种注释方式:/:单行注释单行注释u可单独占一行可单独占一行u可可出现在一行中其他内容的右侧出现在一行中其他内容的右侧/*/:块式注释块式注释u可包含多行可包含多行例例1.2 求两个整数之和求两个整数之和。解题思路:解题思路:u设置设置3个变量个变量u
7、a和和b用来存放两个整数用来存放两个整数usum用来存放和数用来存放和数u用赋值运算符用赋值运算符“=”把结果传送给把结果传送给sum#include int main()int a,b,sum;a=123;b=456;sum=a+b;printf(”sum is%dn”,sum);return 0;定义整型变量定义整型变量a,b,sum对变量对变量a,b赋值赋值将将a与与b的的和赋给和赋给sum#include int main()int a,b,sum;a=123;b=456;sum=a+b;printf(”sum is%dn”,sum);return 0;用用sum的值的值替代替代希望输
8、出的字符希望输出的字符例例1.3求两个整数中的较大者。求两个整数中的较大者。解题思路:解题思路:u用一个函数实现求两个整数中的较大者用一个函数实现求两个整数中的较大者u在主函数中调用此函数并输出结果在主函数中调用此函数并输出结果#include int main()int max(int x,int y);int a,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf(max=%dn,c);return 0;int max(int x,int y)int z;if(x y)z=x;else z=y;return(z);主函数主函数max函数函数#include
9、 int main()int max(int x,int y);int a,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf(max=%dn,c);return 0;int max(int x,int y)int z;if(x y)z=x;else z=y;return(z);将将x和和y中较大者中较大者值值返回给主函数返回给主函数#include int main()int max(int x,int y);int a,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf(max=%dn,c);return 0;int ma
10、x(int x,int y)int z;if(x y)z=x;else z=y;return(z);#include int main()int max(int x,int y);int a,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf(max=%dn,c);return 0;int max(int x,int y)int z;if(x y)z=x;else z=y;return(z);因因max函数的定义函数的定义在在main函数之后函数之后,需声明,需声明#include int main()int max(int x,int y);int a,b,
11、c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf(max=%dn,c);return 0;int max(int x,int y)int z;if(x y)z=x;else z=y;return(z);输入函数输入函数#include int main()int max(int x,int y);int a,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf(max=%dn,c);return 0;int max(int x,int y)int z;if(x y)z=x;else z=y;return(z);输入语句输入语句#i
12、nclude int main()int max(int x,int y);int a,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf(max=%dn,c);return 0;int max(int x,int y)int z;if(x y)z=x;else z=y;return(z);输入的数据输入的数据放到放到a,b中中输入格式输入格式a的地址的地址#include int main()int max(int x,int y);int a,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf(max=%dn,c);ret
13、urn 0;int max(int x,int y)int z;if(x y)z=x;else z=y;return(z);调用调用max函数函数#include int main()int max(int x,int y);int a,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf(max=%dn,c);return 0;int max(int x,int y)int z;if(x y)z=x;else z=y;return(z);8588#include int main()int max(int x,int y);int a,b,c;scanf(”%
14、d,%d”,&a,&b);c=max(a,b);printf(max=%dn,c);return 0;int max(int x,int y)int z;if(x y)z=x;else z=y;return(z);8588#include int main()int max(int x,int y);int a,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf(max=%dn,c);return 0;int max(int x,int y)int z;if(x y)z=x;else z=y;return(z);实际参数实际参数形式参数形式参数1.4.2 C1
15、.4.2 C语言程序的结构语言程序的结构语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:1.一个程序由一个或多个源程序文件组成一个程序由一个或多个源程序文件组成.c文件文件一个源程序文件中可以包括三个部分:一个源程序文件中可以包括三个部分:u预处理指令预处理指令u全局声明全局声明u函数定义函数定义#include 等等在函数之外进行的数据声明在函数之外进行的数据声明每个函数用来实现一定的功能每个函数用来实现一定的功能C语言程序的结构特点:语言程序的结构特点:2.函数函数是是C程序的主要组成部分程序的主要组成部分u一个一个C程序是由一个或多个函数组成的程序是由一个或多个函数
16、组成的u必须包含一个必须包含一个main函数函数(只能有一个)(只能有一个)u每个函数都用来实现一个或几个特定功能每个函数都用来实现一个或几个特定功能u被调用的函数可以是库函数被调用的函数可以是库函数,也可以也可以是是自己编自己编制设计的函数制设计的函数1.4.2 C1.4.2 C语言程序的结构语言程序的结构语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:3.一个函数包括两个部分:一个函数包括两个部分:u函数首部函数首部int max (int x,int y)函数的第函数的第1行行函数类型函数类型函数名函数名参数类型参数类型参数参数名名1.4.2 C1.4.2 C语言程
17、序的结构语言程序的结构语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:3.一个函数包括两个部分:一个函数包括两个部分:u函数首部函数首部int max (int x,int y)若若函数函数无无参,在括弧中写参,在括弧中写void或或空括弧空括弧int main(void)或或 int main()1.4.2 C1.4.2 C语言程序的结构语言程序的结构语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:3.一个函数包括两个部分:一个函数包括两个部分:u函数函数体体:用用 括起来的部分括起来的部分l声明部分声明部分定义在本函数中所用到的变量定义在本函数中
18、所用到的变量对本函数所调用函数进行声明对本函数所调用函数进行声明l执行部分执行部分:由若干个语句组成,指定在由若干个语句组成,指定在函数中所进行的操作函数中所进行的操作可以没有声明部分可以没有声明部分1.4.2 C1.4.2 C语言程序的结构语言程序的结构语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:3.一个函数包括两个部分:一个函数包括两个部分:u函数函数体体void dump()可以是空函数可以是空函数1.4.2 C1.4.2 C语言程序的结构语言程序的结构语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:4.程序总是从程序总是从main函数开始
19、执行函数开始执行5.C程序对计算机的操作由程序对计算机的操作由C语句完成语句完成uC程序书写格式是比较自由的程序书写格式是比较自由的l一行内可以写几个语句一行内可以写几个语句l一个语句可以分写在多行上一个语句可以分写在多行上u为清晰起见,习惯上每行只写一个语句为清晰起见,习惯上每行只写一个语句1.4.2 C1.4.2 C语言程序的结构语言程序的结构语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:4.程序总是从程序总是从main函数开始执行函数开始执行5.C程序对计算机的操作由程序对计算机的操作由C语句完成语句完成6.数据声明和语句最后必须有分号数据声明和语句最后必须有分号
20、7.C语言本身不提供输入输出语句语言本身不提供输入输出语句8.程序应当包含注释程序应当包含注释,增加可读性增加可读性1.5 运行运行C程序的步骤与方法程序的步骤与方法1.上机输入和编辑源程序上机输入和编辑源程序(.c文件)文件)2.对源程序进行编译对源程序进行编译(.obj文件)文件)转化为二进制的程序,计算机不能直接执行转化为二进制的程序,计算机不能直接执行3.进行连接处理进行连接处理,生成可执行程序(,生成可执行程序(.exe文件)文件)4.运行可执行程序,得到运行结果运行可执行程序,得到运行结果1.6 程序设计的任务程序设计的任务1.问题分析问题分析对于接手的任务要进行认真的分析对于接手
21、的任务要进行认真的分析研究所给定的条件研究所给定的条件分析最后应达到的目标分析最后应达到的目标找出解决问题的规律找出解决问题的规律选择解题的方法选择解题的方法1.6 程序设计的任务程序设计的任务1.问题分析问题分析2.设计算法设计算法设计出解题的方法和具体步骤设计出解题的方法和具体步骤1.6 程序设计的任务程序设计的任务1.问题分析问题分析2.设计算法设计算法3.编写程序编写程序4.对源程序进行编辑、编译和连接对源程序进行编辑、编译和连接5.运行程序,分析结果运行程序,分析结果u结果错了,程序肯定错结果错了,程序肯定错u结果对了,程序未必对结果对了,程序未必对1.6 程序设计的任务程序设计的任
22、务1.问题分析问题分析2.设计算法设计算法3.编写程序编写程序4.对源程序进行编辑、编译和连接对源程序进行编辑、编译和连接5.运行程序,分析结果运行程序,分析结果6.编写程序文档编写程序文档1、以下叙述正确的是、以下叙述正确的是A)C语言程序是由过程和函数组成的语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:语言函数可以嵌套调用,例如:fun(fun(x)C)C语言函数不可以单独编译语言函数不可以单独编译D)C语言中除了语言中除了main函数,其他函数不可作为单函数,其他函数不可作为单独文件形式存在独文件形式存在B2、以下叙述中正确的是、以下叙述中正确的是 A)程序设计的任务就是
23、编写程序代码并上机调试)程序设计的任务就是编写程序代码并上机调试 B)程序设计的任务就是确定所用数据结构)程序设计的任务就是确定所用数据结构 C)程序设计的任务就是确定所用算法)程序设计的任务就是确定所用算法 D)以上三种说法都不完整)以上三种说法都不完整DD3、下列叙述中错误的是、下列叙述中错误的是 A)计算机不能直接执行用)计算机不能直接执行用C语言编写的源程序语言编写的源程序B)C程序经程序经C编译后,生成后缀为编译后,生成后缀为.obj的文件是一个的文件是一个二进制文件二进制文件C)后缀为)后缀为.obj的文件,经连接程序生成后缀为的文件,经连接程序生成后缀为.exe的文件是一个二进制
24、文件的文件是一个二进制文件D)后缀为)后缀为.obj和和.exe的二进制文件都可以直接运行的二进制文件都可以直接运行4、以下叙述中正确的是(、以下叙述中正确的是()。)。A)C 程序的基本组成单位是语句程序的基本组成单位是语句 B)C 程序中的每一行只能写一条语句程序中的每一行只能写一条语句C)简单)简单C 语句必须以分号结束语句必须以分号结束 D)C 语句必须在一行内写完语句必须在一行内写完5、计算机能直接执行的程序是(、计算机能直接执行的程序是()。)。A)源程序)源程序 B)目标程序)目标程序 C)汇编程序)汇编程序 D)可执行程序)可执行程序 DC6、以下叙述中正确的是、以下叙述中正确
25、的是 A)C程序中的注释只能出现在程序的开始位置和语程序中的注释只能出现在程序的开始位置和语句的后面句的后面 B)C程序书写格式严格,要求一行内只能写一个语程序书写格式严格,要求一行内只能写一个语句句 C)C程序书写格式自由,一个语句可以写在多行上程序书写格式自由,一个语句可以写在多行上 D)用用C语言编写的程序只能放在一个程序文件中语言编写的程序只能放在一个程序文件中 C7、C语言源程序名的后缀是语言源程序名的后缀是A).exe B).C C).obj D).cp 8、以下叙述中正确的是、以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行语言程序将从源程序中第一个函数开始执行B)
26、可以在程序中由用户指定任意一个函数作为主函)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行数,程序将从此开始执行C)C语言规定必须用语言规定必须用main作为主函数名,程序将作为主函数名,程序将从此开始执行,在此结束从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函可作为用户标识符,用以命名任意一个函数作为主函数数作为主函数BC9、对于一个正常运行的、对于一个正常运行的C程序,以下叙述中正确的是程序,以下叙述中正确的是 A)程序的执行总是从)程序的执行总是从main函数开始,在函数开始,在main函数函数结束结束B)程序的执行总是从程序的第一个函数开始,在)程序的执行总是从程序的第一个函数开始,在main函数结束函数结束C)程序的执行总是从)程序的执行总是从main函数开始,在程序的最后函数开始,在程序的最后一个函数中结束一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束序的最后一个函数中结束A