C语言程序设计(第1章-C语言学习基础)_第1页
C语言程序设计(第1章-C语言学习基础)_第2页
C语言程序设计(第1章-C语言学习基础)_第3页
C语言程序设计(第1章-C语言学习基础)_第4页
C语言程序设计(第1章-C语言学习基础)_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程邮箱课程邮箱 : gylj_主讲主讲 : 刘刘 军(副教授)军(副教授)电话电话/QQ :539171158为什么要学习为什么要学习C语言程序设计语言程序设计?n计算机语言与程序设计的计算机语言与程序设计的入门课程入门课程;n数据结构、数据结构、Java等核心课程的等核心课程的前导课程前导课程;n经济管理类专业硕士研究生的经济管理类专业硕士研究生的招考课程招考课程;n诸多系统软件主要的诸多系统软件主要的底层开发工具底层开发工具。如何学好如何学好C语言?语言?n多读多读(例题例题)n多写多写(程序程序)n多实践多实践(上机调试上机调试)教材教材实验指导实验指导预习与

2、复习习题册预习与复习习题册C C语言库函数大全语言库函数大全互联网资源互联网资源学习与参考资料学习与参考资料教学组织方式教学组织方式n实行实行学习小组制度学习小组制度,以每,以每7人为一组成立学习小组,人为一组成立学习小组,每组委派或推选一名组长,每组委派或推选一名组长,负责课前检查和评价小负责课前检查和评价小组成员的实验预习情况组成员的实验预习情况 ,组织小组成员完成本组,组织小组成员完成本组的的实训任务实训任务。n实行实验报告实行实验报告组内轮流助教批改制度组内轮流助教批改制度,每次实验每,每次实验每组指派一位同学担任助教组指派一位同学担任助教(组长不承担助教工作组长不承担助教工作),由由

3、助教批改组内其他同学的实验报告助教批改组内其他同学的实验报告,助教的实验,助教的实验报告由老师批改。报告由老师批改。n总评总评=平时成绩平时成绩 (10%)+实验成绩实验成绩 (40%)+考试考试(50%)n平时成绩平时成绩q课堂互动课堂互动参与参与(每次加每次加1分分);q课后习题完成情况;课后习题完成情况;n实验成绩实验成绩q助教工作助教工作(10%):按照要求及时批改并上报成绩:按照要求及时批改并上报成绩q实验报告实验报告(30%)q小组实训小组实训(30%)q上机考试上机考试(30%)学习效果评价与考核学习效果评价与考核课程主要内容课程主要内容第第1章章 C语言学习基础语言学习基础主要

4、内容主要内容计算机程序与计算机语言计算机程序与计算机语言计算机的工作原理计算机的工作原理C语言概述及程序结构语言概述及程序结构C语言程序调试与运行语言程序调试与运行算法的表示算法的表示做口述笔记键入信函的内容发送传真 口述2.信函_3.3.传真程序员老板秘书计算机程序计算机程序:为了让计算机执行某些操作或解决某个问:为了让计算机执行某些操作或解决某个问题而编写的一系列题而编写的一系列有序指令的集合有序指令的集合。一组要执行的指令一组要执行的指令什么是计算机程序?什么是计算机程序?实质:用于编制计算机程序的实质:用于编制计算机程序的指令系统指令系统。问题:让计算机求解问题:让计算机求解1+1.1

5、+1.机器语言机器语言 汇编语言汇编语言 高级语言高级语言二进制指令二进制指令101110000000000000000001000001010000000000000001什么是计算机语言?什么是计算机语言?种类:机器语言、汇编语言、高级语言种类:机器语言、汇编语言、高级语言MOV AX, 1ADD AX, 1以以C C语言为例:语言为例:#include void main() printf(%dn, 1+1); 符号化指令符号化指令类自然语言指令类自然语言指令汇编汇编 编译编译 汇编和高级语汇编和高级语言编写的程序言编写的程序计算机能直接计算机能直接执行否?执行否?机器相关机器相关性性第

6、第1章章 C语言学习基础语言学习基础主要内容主要内容计算机程序与计算机语言计算机程序与计算机语言计算机的工作原理计算机的工作原理C语言概述及程序结构语言概述及程序结构C语言程序调试与运行语言程序调试与运行算法的表示算法的表示实质:存储程序原理实质:存储程序原理 (冯冯诺依曼原理诺依曼原理)输入设备输入设备输出设备输出设备CPU20000200018004080041内存地址内存地址.内存单元内存单元0001101011111000.指指令令0100100011001011.数数据据计算机的工作原理计算机的工作原理程序程序+ +数据数据数据数据指指令令数据数据内存内存需要牢记的程序设计思想需要牢

7、记的程序设计思想1n程序程序指令指令和和数据数据都必须存入都必须存入内存内存才能被才能被CPU处理;处理;n内存是由大量的内存是由大量的存储单元存储单元(字节:字节:byte)构成的,每构成的,每个存储单元包含个存储单元包含8个个二进制二进制数位,且具有一个数位,且具有一个唯一唯一且且固定固定的的地址编号地址编号,单元中存放的数据可以任意。,单元中存放的数据可以任意。n一个数据一个数据可以存放到可以存放到连续的一到多个存储单元连续的一到多个存储单元中,中,数据被分配的内存单元个数由数据被分配的内存单元个数由数据的类型数据的类型决定。决定。n由于存储单元由于存储单元存储数位的有限性存储数位的有限

8、性,程序中的数据可,程序中的数据可能出现能出现“截尾截尾”或或“溢出溢出”等失真现象。等失真现象。第第1章章 C语言学习基础语言学习基础主要内容主要内容计算机程序与计算机语言计算机程序与计算机语言计算机的工作原理计算机的工作原理C语言概述及程序结构语言概述及程序结构C语言程序调试与运行语言程序调试与运行算法的表示算法的表示编程语言低级高级C 语言是贝尔实验室的 Dennis Ritchie 在1973 年设计的。主要版本:ANSI C(1983)、 ANSI C(1989)、ISO C(1999)C语言概述语言概述-C语言的历史语言的历史在微机上,有许多性能良好的C语言系统可用。包括Turbo

9、 C、Borland C/C+;Microsoft Visual C/C+ 等。 C语言概述语言概述-C语言的特点语言的特点n语言语言简洁简洁、紧凑,使用方便、灵活。、紧凑,使用方便、灵活。37(32:C89)个关键字,个关键字,9种控制语句种控制语句n运算符运算符丰富丰富。 34种运算符种运算符(将括号、赋值、强制类型转换等作将括号、赋值、强制类型转换等作为运算符为运算符)。n数据结构数据结构丰富丰富,具有现代化语言的各种数据结构。标准类型、,具有现代化语言的各种数据结构。标准类型、构造类型、指针类型。构造类型、指针类型。n语法限制不太严格,程序设计语法限制不太严格,程序设计自由自由度大。例

10、如:整型数据与度大。例如:整型数据与字符型数据可以通用。字符型数据可以通用。nC语言可以直接访问物理地址。能实现汇编语言的大部分功能,语言可以直接访问物理地址。能实现汇编语言的大部分功能,可以直接对硬件进行操作可以直接对硬件进行操作-功能功能强大强大。n目标代码质量高,程序执行效率高目标代码质量高,程序执行效率高-高效高效。n程序可移植性好程序可移植性好-易移植易移植。printf(“Programming is fun.n”); /调用库函数调用库函数printf(“The first C Program!”); /输出字符串输出字符串return 0; /函数返回函数返回0n例题:在屏幕上

11、显示例题:在屏幕上显示: : Programming is fun. The first C Program!/ /* * 文件名:文件名:ex2.c ex2.c * */ / #include int main() C 程序的基本结构程序的基本结构编译预处理命令编译预处理命令主函数首部主函数首部主函数体主函数体, ,内含内含3 3条语句条语句块注释块注释单行注释单行注释换行符换行符#include “stdio.h”void main( ) /无返回值无返回值 int a,b,sum; /* 变量定义变量定义*/ a = 3; /* 变量使用变量使用*/ b = 2; sum = a+b;

12、printf(“The sum is %d n”, sum ); /*输出结果输出结果*/The sum is 5 = 赋值运算符赋值运算符 %d 输入输出函数中的输入输出函数中的“格式字符串格式字符串”,表示以十进制整数,表示以十进制整数的的 形式形式在在%d的位置输出的位置输出sum的值。的值。例题:计算并显示两个数的和例题:计算并显示两个数的和编译预处理命令编译预处理命令#include int main(void) int a,b,sum; /* 变量定义变量定义*/ a=3; b=2; /* 变量使用变量使用*/ sum=a+b; printf(“The sum is %dn”,su

13、m); /*输出结果输出结果*/ return 0;3+2=5The sum is 5 printf(“%d+%d=%dn”,a,b,sum );例题:计算两个数的和例题:计算两个数的和,以算式形式显示以算式形式显示能否为:能否为:printf(“a+b=sumn”);a+b=sumNO#include #include void main(void) double x,s; /*定义定义 x,s 为双精度型变量为双精度型变量*/ printf(“请输入请输入x的值的值:”); scanf(“%lf”,&x); s = sin(x); /*调用调用 sin 函数函数 */ printf

14、(“sin(%lf)=%lfn”,x,s); 使用库函数,需用使用库函数,需用include把对应的头文件包含在程序前面。把对应的头文件包含在程序前面。例题:编程序计算一个数的正弦值。例题:编程序计算一个数的正弦值。例题:求两个整数中的较大者。例题:求两个整数中的较大者。#include void main( ) int max(int x,int y); /max函数声明函数声明 int a,b,c; scanf(%d,%d,&a,&b); /输入变量输入变量a,b的值的值 c = max(a,b); /调用调用max函数求函数求a,b间的教大者间的教大者 printf(ma

15、x=%dn, c); /输出结果输出结果 int max(int x, int y) /定义定义max函数函数,2个个int型形式参数型形式参数,返回返回int int z; /型运行结果型运行结果 if (x y) z = x; /如果如果xy else z = y; /否则否则 return(z); /返回返回z的值的值例题:求两个整数中的较大者。例题:求两个整数中的较大者。n函数定义函数定义q函数首部函数首部 int max ( int x, int y )函数的第函数的第1 1行行函数返回值函数返回值类型类型函数名函数名参数类型参数类型参数名参数名说明说明:若函数无返回值,则使用若函数

16、无返回值,则使用void表示;表示; 若函数无参数,在括弧中写若函数无参数,在括弧中写voidvoid或空括弧或空括弧int main(void) 或或 int main()void main(.)例题:求两个整数中的较大者。例题:求两个整数中的较大者。q函数体函数体n由由 括起的括起的0到多条语句构成,到多条语句构成, 不能省略不能省略;n语句以语句以;作为结束标志作为结束标志,标点符号为标点符号为英文半角英文半角形式。形式。n一条语句可以一条语句可以分写在多行分写在多行,一行内也可写一行内也可写0到多条语句到多条语句;n若函数返回值类型若函数返回值类型不为不为void,则函数内需使用则函数

17、内需使用return语语句句返回指定类型的运算结果。返回指定类型的运算结果。int max(int x, int y) int z; if (x y) z = x; else z = y; return(z); int max(int x, int y) int z; if (x y) z = x; else z = y; return(z); #include void main( ) int max(int x,int y); int a,b,c; scanf(%d,%d,&a,&b); c = max(a,b); printf(max=%dn,c); int max(in

18、t x,int y) int z; if (x y) z = x; else z = y; return( z );将将x x和和y y中较大者值中较大者值返回给调用函数返回给调用函数例题:求两个整数中的较大者。例题:求两个整数中的较大者。a,b的地址的地址输入格式输入格式调用调用max函数函数8588例题:求两个整数中的较大者。例题:求两个整数中的较大者。#include void main( ) int a,b,c; scanf(%d,%d,&a,&b); /输入变量输入变量a,b的值的值 if(ab) /如果如果ab c=a; else /否则否则 c=b; printf

19、(max=%dn, c); /输出结果输出结果 能否不定义能否不定义max函数呢?函数呢?C语言程序的语法成分语言程序的语法成分n关键字关键字(保留字保留字)qC语言规定的具有特殊意义的词汇语言规定的具有特殊意义的词汇(见见P22表表1-2)n运算符运算符n常量常量n注释注释n分隔符分隔符q逗号和空格逗号和空格n标识符标识符标识符标识符n概念概念q用来对用来对符号常量符号常量、变量变量、函数函数、数组数组、类型类型等命名的字符等命名的字符序列。序列。n组成组成q字母字母、数字数字、下划线下划线组成,且组成,且首字符不能为数字首字符不能为数字符号。符号。q不能使用不能使用关键字关键字,严格区分严

20、格区分大小写大小写。n命名原则命名原则q见名识义见名识义例如例如: :判断下列标识符号合法性判断下列标识符号合法性sum Sum M.D.John Int Date 3days student_name #33 lotus_1_2_3 char ab _above $123M.D.John3days#33char$123abC语言程序的结构特点语言程序的结构特点n函数是函数是构成构成C语言程序的语言程序的基本单位基本单位,一个,一个C语言程序由语言程序由一到多个函数组成;一到多个函数组成;n每个函数都可实现一个特定功能每个函数都可实现一个特定功能,一个函数内可以一个函数内可以调用调用另一个函数

21、另一个函数(函数之间通过相互调用建立联系)(函数之间通过相互调用建立联系);n被调用函数可以是被调用函数可以是自定义函数自定义函数,也可以是,也可以是库函数库函数;n在一个在一个C语言程序中语言程序中当且仅当当且仅当可包含一个可包含一个main函数函数(又又称主函数称主函数),程序总是,程序总是从从main函数开始执行函数开始执行,最终,最终在在main函数中结束函数中结束,main函数在程序中的函数在程序中的位置任意位置任意;nC语言程序的源代码需保存在语言程序的源代码需保存在.c或或.cpp源程序文件源程序文件中,中,一个文件中可以包含一个文件中可以包含0到多个函数到多个函数。#inclu

22、de void main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j 0?显示显示“输入错误输入错误”否是N-S结构化流程图结构化流程图 完全去掉带箭头的流程线,全部算法写在一个矩形完全去掉带箭头的流程线,全部算法写在一个矩形框内。主要的流程图符号(框内。主要的流程图符号(3 3种基本结构)种基本结构)顺序结构顺序结构真假真假选择结构选择结构AB等价于等价于AB条件P P真真假假等价于等价于N-S结构化流程图结构化流程图 完全去掉带箭头的流程线,全部算法写在一个矩形完全去掉带箭头的流程线,全部算法写在一个矩形框内。主要的流程图符号

23、(框内。主要的流程图符号(3 3种基本结构):种基本结构):当为当为“真真”循环结构循环结构(while型型)A条件P P真真假假等价于等价于理论证明:理论证明:任何复杂的算法都可以使用这三任何复杂的算法都可以使用这三种基本结构及其组合形式来描述种基本结构及其组合形式来描述例题:求例题:求3个数中最大值个数中最大值N-S流程图举例流程图举例输入输入a、b、c的值的值max=amax=bmaxb?真真假假maxc?max=c真真假假输出输出max的值的值思考题:思考题:若需要将若需要将三个数按三个数按照从小到照从小到大的顺序大的顺序显示出来显示出来呢?呢?例题:求例题:求3个数中最大值个数中最大值N-S流程图举例流程图举例nC语言实现的程序:语言实现的程序:#include void main( ) int a,b,c,max; scanf(%d%d%d,&a,&b,&c); max=a; if ( maxb ) max=b; if ( maxc ) max=c; printf(%d,%d,%d,max=%dn,a,b,c,max); 输入输入 3 5 7 输出输出 3,5,7,max=7 if (maxb) max

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论