收藏 分享(赏)

第1章C语言基础知识.ppt

上传人:hyngb9260 文档编号:8159685 上传时间:2019-06-11 格式:PPT 页数:79 大小:1.40MB
下载 相关 举报
第1章C语言基础知识.ppt_第1页
第1页 / 共79页
第1章C语言基础知识.ppt_第2页
第2页 / 共79页
第1章C语言基础知识.ppt_第3页
第3页 / 共79页
第1章C语言基础知识.ppt_第4页
第4页 / 共79页
第1章C语言基础知识.ppt_第5页
第5页 / 共79页
点击查看更多>>
资源描述

1、C程序设计教程(第3版),崔武子 李青 李红豫 鞠慧敏 编著,第1章 C语言基础知识,1.1 C语言概述 1.2 简单C程序及其上机步骤 1.3 数据类型 1.4 常量与变量 1.5 运算符和表达式 1.6 提高部分,P1,1.1.1 C语言与程序设计 1.1.2 C程序形式和程序执行过程,1.1 C语言概述,P2,人与人之间交换信息借助语言工具 人与计算机交换信息同样要用语言工具这一工具就是计算机语言用计算机语言编写的代码叫程序 所谓程序,就是一系列的指令集合 计算机的一切操作都是由程序控制的,在运行程序时,程序中的指令集决定计算机如何对用户的输入进行处理。,1.1.1 C语言与程序设计,P

2、2,最初使用的计算机语言是机器语言 后来采用汇编语言这两种计算机语言是低级语言 现在使用最广的计算机语言是高级语言C语言是高级语言 用高级语言编写的程序叫做源程序,1.1.1 C语言与程序设计,P2,C语言是是一种用途广泛、功能强大、使用灵活的面向过程的语言 C语言不仅具有高级语言的功能,还具有低级语言的许多功能 C语言是国际上广泛流行的计算机语言 Windows、Linux和UNIX等操作系统都是用C语言编写的,1.1.1 C语言与程序设计,P2,C语言的主要特点有: 语言简洁,使用方便,编程自由度大 具有结构化的控制语句 运算符和数据类型丰富 能访问物理地址,能实现汇编语言的多数功能,可以

3、直接对硬件进行操作 用C语言编写的程序可移植性好,生成目标代码质量高,程序执行效率高,1.1.1 C语言与程序设计,P2,要得到C语言程序的运行结果,需要经过: 编辑编译连接运行,e1.c,编辑,编译,e1.obj,连接,e1.exe,运行,输出结果,1.1.1 C语言与程序设计,P2,程序设计的步骤大体上分为: 问题定义 算法设计 流程图设计 编写程序代码 测试与调试 整理文档 系统维护,1.1.1 C语言与程序设计,本书重点,P2,1.1.2 C程序形式和程序执行过程,【例1.1】编写一个完整的C语言程序示例。 程序如下:#include #include int mysum(int m,

4、 int n);,P3,main( ) int a,b,x;double c,y,z;c=4.0;y=sqrt(c);a=10; b=20; x=mysum(a,b);z=x+y;printf(“z=%lfn“,z);,int mysum(int m, int n) int k;k=m+n;return k;, c=4.0; y=sqrt(c); a=10; b=20; x=mysum(a,b); z=x+y; ,main函数,学完本课程能够实现如下功能,演示: gcslB_文件.c,1.2 简单C程序及其上机步骤,1.2.1 简单C程序和编程风格 1.2.2 上机步骤,P4,1.2.1 简单

5、C程序和编程风格,【例1.2】编写在屏幕上显示一行句子“Lets study the C language.”的程序。 #include main( ) printf(“Lets study the C language. “) ; ,main是主函数名,有且仅有 一个主函数,函数体,本函数体有一条输出语句,不能丢!,命令行,注意:区分大小写,P4,【例1.3】编写输出两行句子 “Lets study the C language.”和“Its interesting.”的程序。 #include main( ) printf(“Lets study the C language. n“);/

6、 输出字符串后换行printf(“Its interesting.n“); ,换行符,注意书写格式,小结,(1)C程序一定有且仅有一个主函数,主函数名必须是main,其后的圆括号内可以是空的,但圆括号不能省略。 (2)函数体中可以有多条语句,每条语句都以分号结束。,小结,(3)C程序的书写格式比较自由。 但养成良好的编程风格 良好的编程风格能提高程序的可读性、可维护性,也能促进技术交流,便于团队合作,小结,合理安排各成分的位置 一般#include命令行在最前面 接着依次为#define命令行、类型声明(如结构体类型声明)、函数原型说明、各函数定义等。,小结,适当加注释 在程序的开头加注释,解

7、释本程序的功能和一些说明 在函数或程序段的开头加注释,解释其要实现的功能、算法、参数等 在变量的定义行后面加注释,解释该变量的用途等,小结,在程序中适当加上空行 在命令行和类型声明之间、类型声明和函数原型之间、函数原型与函数定义之间、函数内部变量定义与其下执行语句之间均空一行 有些地方视情况可空两行,小结,采用缩进格式 一般用Tab键将某些行向右缩进,这样可使程序的逻辑结构更加清晰,层次分明,显著提高程序的可读性,小结,main( ) int i=0,n=0,s=0;for(i=1; i10; i+) if(i%3=0) n+; s=s+i; printf(“s=%d,n=%dn“,s,n);

8、 ,小结,标识符要见名知意 可用英文单词、拼音或缩写作为标识符的一部分,一般标识符的第一个字符用字母,其余字符用字母、数字或下划线。,小结,一行写一条语句 算法简单明了 尽量采用简单易懂的算法,不使用过分复杂的算法。,小结,用户界面友好 一般使用计算机解决问题时,采用人机对话形式 当要求用户输入数据时,给出提示信息,而且输入格式要一致 使程序具有健壮性 输出数据时数据清晰、美观,1.2.2 上机步骤,例1.2的上机步骤,P6,安装,如果已经安装,则跳过此步 启动Visual C+6.0 新建C源程序:选择【文件】|【新建】,1,2,3,4,注.c,5,安装,如果已经安装,则跳过此步 启动Vis

9、ual C+6.0 新建C源程序:选择【文件】|【新建】 编辑源程序,安装,如果已经安装,则跳过此步 启动Visual C+6.0 新建C源程序:选择【文件】|【新建】 编辑源程序 保存文件 编译和连接程序,1,2,3,1.3 数据类型,【例1.4】编写输出5和6的和与平均值的程序。#include main( ) int a, b, sum; double ave; a=5; b=6; sum=a+b; ave=sum/2; printf(“%d, %lfn” , sum, ave); ,sum=,11,?,ave=,?,5.5?,5,运行结果:11,5.000000,P9,说 明,常用数据

10、类型:整型、实型、字符型、数组、结构体类型、指针类型等 一定要选择合适的数据类型 使用正确的输出格式说明符,1.4 常量与变量,1.4.1 常量与变量的概念 1.4.2 整型常量与变量 1.4.3 实型常量与变量 1.4.4 字符型常量与变量,P10,1.4.1 常量与变量的概念,【例1.5】编写输出1000与50的和、1000的两倍的程序。 #include #define TMP 1000 main( ) int s; s= TMP+50; printf(“First:%dn“ , s);s=2*TMP; printf(“Second:%dn“ , s); ,变量,s=1050,s=200

11、0,将用TMP 代替1000,P10,变量的命名规则,由az、AZ、09、_ 组成 变量名的第一个字符不能是数字 关键字不能作为变量名,注意:区分大小写,【例1.6】下面变量名中哪些是合法的,哪些是不合法的?Int double _123 9k qbasic printfa.b year business,(),(),(),(),(),(),(),(),(),(),变量名要简单明了、见名知意,不提倡用函数名,变 量 必 须 先 定 义 后 使 用,main( ) int a, b; a=5; b=6; int sum; sum=a+b; printf(“%dn” , sum); ,下面程序是错

12、误的。,定义变量,int a;,制造容器,变量的定义、多次赋值以及输出的全过程,不定值,a=5;,5,a=6;,6,printf(“a=%d”,a);,输出 a=6,注意:a代表存储单元 6是存储单元中的内容,1.4.2 整型常量与变量,1整型常量 整型常量不能带小数点,P12,【例1.7】编写程序,将一个整型常量按%d和%lf格式说明符输出,并观察其结果。 #include main( ) printf(“%d,%lfn“,21,21); ,不能输出整型数据,2整型变量,整型变量中只能存放整型数据 整型变量的常用类型有基本型(int型)和长整型(long型) VC+6.0中,int和long

13、型都占4个字节 定义变量时必须根据需要给出其类型,【例1.8】编写一个整型变量的定义、赋值和输出的程序。,#include main( ) int a,b; a=2147483647;b=a+1;printf(“%d,%dn“,a,b); ,注意:数据溢出,3变量初始化,在定义变量的同时给变量赋值,不能,b 没有定义,1.4.3 实型常量与变量,1实型常量 【例1.9】编写程序,将实型常量按小数形式和指数形式输出。#include main( ) printf(“%lfn“,123451234512345.1);printf(“%len“,12345.6788885);printf(“%len

14、“,0.0);,按小数形式输出,P14,P14,1.4.3 实型常量与变量,1实型常量 【例1.9】编写程序,将实型常量按小数形式和指数形式输出。#include main( ) printf(“%lfn“,123451234512345.1);printf(“%len“,12345.6788885);printf(“%len“,0.0);,按指数形式输出,2实型变量,实型变量中只能存放实型数据单精度型 float 占4个字节 有效位6双精度型 double 占8个字节 有效位15 实型变量无法精确地存放数据,会有误差,【例1.10】编写一个实型变量的定义、赋值和输出的程序。,#include

15、 main( ) float a=12.3,b=0; double c=12345.67; b=12345.67; printf(“%fn“,a);printf(“%fn“,b);printf(“%lfn“,c); ,12.300000,12345.669922,12345.670000,按双精度形式输出,1.4.4 字符型常量与变量,1字符型常量 常规字符 用单引号括起来的单个字符转义字符 用开头的字符序列 字符常量按其ASCII码值参加整数运算,P15,【例1.11】将常规字符按不同格式输出。 #include main( ) printf(“%c-%d,%c-%dn“,a,a ,A, A

16、); printf(“%d,%cn“,a+1,A+1);printf(“%dn“,a-A); ,a-97,A-65,98,B,2字符型变量,字符型变量 char 占一个字节 存放ASCII字符集中的任何一个字符,【例1.12】编写一个字符型变量的定义、赋值和输出程序。,#include main( ) char ch=a; int s=0; ch=ch-32; s=5-0; printf(“ch=%c,s=%dn“,ch,s); ,小写转换成大写字母,数字字符转换成数字,1.5 运算符和表达式,1.5.1 算术运算符和表达式 1.5.2 赋值运算符和表达式 1.5.3 逗号运算符和表达式,P1

17、7,1.5.1 算术运算符和表达式,+(加) -(减) *(乘) /(除) %(求余) -(求负),表达式2+3.5的值?,5.5,表达式1/2的值?,0,0.5,表达式1/2.0的值?,表达式5%2的值?,1,表达式2%5的值?,2,P17,说明:,“%”:两侧运算量必须是整型 其它:若运算量都是整型,则按整型计算结果为整型 若至少有一个为实型,则先转化为双精度型后计算 结果为双精度型 数据类型的转换规则如下:,float,long,double,转,换,方,向,float,int,2算术表达式,假设a的值为5 ,写出表达式a*(6+sqrt(9.0)/2)的求解过程,注意:,数学中的“ ”

18、、“ ”用多层“( )” 代替 算术表达式中出现的变量必须有确定的值,【例1.13】将代数式改写成C语言算术表达式。,3.14159 * ( r * r ) / ( a+b ),1.5.2 赋值运算符和表达式,1赋值运算符 =+=-=*=/=%=,P19,2赋值表达式,i = 3*2是赋值表达式,32=6,赋值表达式的一般形式是: 变量 = 表达式,赋值表达式的值:,b = 5,b = b + 2,5,得到7,7,当a的值为1,b的值为2时 赋值表达式a=b的值是多少?,2,当a的值为1,b的值为2时 赋值表达式b=a的值是多少?,1,赋值表达式x=(y=8)+1的值是多少?,9,赋值表达式x

19、=y=5的值是多少?,5,赋值表达式的值:,注意:,赋值运算符的两边数据类型不一致时:,例如,int a; a=(int)4.5;,4赋给a,例如,int a; a=4.5;,系统可自动转换:,可人为地转换:,4赋给a,1.5.3 逗号运算符和表达式,1逗号运算符 在所有运算符中优先级最低,,,P20,【例1.15】逗号表达式的示例。 #include main( ) int a=0,b=0,x=0,y=0;a=(x=8,x%5); b=x=8,x%5;printf(“%d,%d,%d“,a,b,(y=2,y*3); ,2逗号表达式,运行结果3,8,6,a的值变为3,b的值变为8,1.6 提高

20、部分,1.6.1 赋值运算符的进一步讨论 1.6.2 数据类型的进一步讨论,P21,1.6.1 赋值运算符的进一步讨论,【例1.16】写出下面程序的执行结果。 #include main( ) int a=1,b=0,c=0;a+=a*=a+(b=2);printf(“a=%d,b=%d,c=%dn“,a,b,c=a); ,2,2,P21,1.6.1 赋值运算符的进一步讨论,【例1.16】写出下面程序的执行结果。 #include main( ) int a=1,b=0,c=0;a+=a*=a+ ;printf(“a=%d,b=%d,c=%dn“,a,b,c=a); ,2,3,2,P21,1.

21、6.1 赋值运算符的进一步讨论,【例1.16】写出下面程序的执行结果。 #include main( ) int a=1,b=0,c=0;a+=a*= ;printf(“a=%d,b=%d,c=%dn“,a,b,c=a); ,3,a=a*3,a=1*3,2,P21,1.6.1 赋值运算符的进一步讨论,【例1.16】写出下面程序的执行结果。 #include main( ) int a=1,b=0,c=0;a+= ;printf(“a=%d,b=%d,c=%dn“,a,b,c=a); ,3,a=a+3,a=3+3,6,2,6,P21,1.6.2 数据类型的进一步讨论,【例1.17】编写程序,用十

22、进制、八进制、十六进制表示的一个整型常量按不同形式输出。,P23,1.6.2 数据类型的进一步讨论,#include main( ) printf(“%d-%o-%xn“,21,21,21);printf(“%d-%o-%xn“,035,035,035); printf(“%d-%o-%x“,0x1a,0x1a,0x1a); ,八进制整型常量,十六进制整型常量,P23,1.6.2 数据类型的进一步讨论,【例1.18】编写程序,在屏幕上显示特殊字符。,P23,P23,1.6.2 数据类型的进一步讨论,#include main( ) char c1=0,c2=0;c1=1; c2=x1; printf(“%c-%cn“,c1,c2);printf(“%c-%cn“,25,x15);printf(“I am “OK“n“); ,用八进制表示的转义字符,用十六进制表示的转义字符,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报