资源描述
,研究式学习,C,程序设计(第一章),*,研究式学习,C,程序设计(第一章),1,研究式学习,-C,程序设计,研究式学习,C,程序设计(第一章),2,第一章,C,程序入门,研究式学习,C,程序设计(第一章),3,本讲,主要内容,程序的概念,简单,C,程序,程序操作的对象,数据,变量和常量,数据类型,研究式学习,C,程序设计(第一章),4,程序,程序就是做一件事情的,先后步骤,植树程序,:,挖坑 在坑中放入树苗 添土到坑中 浇水,操作对象:坑,树苗,土,水(数据),操作:挖,放,添,浇(运算符等),次序不能颠倒,研究式学习,C,程序设计(第一章),5,计算机程序,(,1,)计算机程序,计算机程序 算法 数据结构计算机程序设计 算法 数据结构 程序设计方法学算法,-,就是解决问题的方法。,(,2,)算法的特征,有穷性,如:,Sin x=x/1-x,3,/3!+x,5,/5!-x,7,/7!+,不是算法。,N!=1,2,3,N,是算法。,确定性,如:菜谱中说,“,加少许盐,”,不严格,不是算法。,可执行性,0,个或多个输入,1,个或多个输出,(,3,)算法描述工具:流程图、,N,S,图、,PDL,语言 等,研究式学习,C,程序设计(第一章),6,程序,流程图表述,算法举例:输入两个数,输出其中的大者。,用计算机语言实现算法!,Y,N,ab,?,max=a,max=b,开始,结束,输入两个整数到,a,b,变量,输入,max,判断框,处理框,起止框,流程线,输入,/,输出框,研究式学习,C,程序设计(第一章),7,简单,C,程序,例,1_1,在显示器上输出:,hello world,首先要编辑该程序(可用任何编辑文本的软件):,#include,“,stdio.h,”,void main() /*,主函数*,/,printf(,“,hello world,”,);/*,调用输出函数*,/,C,程序的基本形式为:,void main(),C,程序都有且仅有一个主函数。,任何程序都从,main,函数开始执行程序,语句用于描述对象以及作用在这些,对象上的操作,语句写在函数体中(函数名后的一对花括号中),语句以分号结尾。,关键字及编译预处理命令用小写字母书写,不能在变量名、函数名、关键字中插入空格和空行。,没有行的概念,可任意书写。,研究式学习,C,程序设计(第一章),8,C,程序的实现,程序的实现要经过以下步骤:,编辑,:是将写在纸上的源程序,(,.C,),输入计算机中,并以文件的形式存放。,编译,:经过,C,语言编译(编译程序)器将源程序编译成目标程序,(,扩展名为,.OBJ,),,并改正编译中出现的语法错误。,连接,:对目标程序进行连接生成可执行文件,(,扩展名为,.EXE,),。,运行,:,运行可执行文件得到运行结果。,研究式学习,C,程序设计(第一章),9,C,程序的上机执行过程,执,行,编,辑,编,译,连,接,编辑,程序,C,源,程序,.C,编译,程序,连接,程序,目标,程序,.obj,可执行,程序,.exe,用,户,结,果,C,编译,系统,其它目,标文件,C,语言,函数库,研究式学习,C,程序设计(第一章),10,C,程序格式及结构特点,程序格式,编写,输出两个整数之和,的,C,程序,必须有,#include stdio.h,void main(),/*,求两数之和,*,/,int a,b,sum;,a=123;,b=456,;,sum=a+b;,printf(,“,a+b=%dn,sum),;,输出是:,a+b=579,定义三个整型变量,给变量赋值,计算处理,输出结果,研究式学习,C,程序设计(第一章),11,C,程序格式及结构特点,程序格式,从键盘输入,任意两个整数,求它们的积。,#include,“,stdio.h,”,void main(),int a,b,sum;,printf(,“,请输入两个整数,:n,”,);,scanf(,“,%d,%d,”,sum=a*b;,printf(,“,sum =%dn,”,sum);,等待用户从键盘输入两个整数,程序运行结果:,请输入两个整数,:12,2,sum =24,研究式学习,C,程序设计(第一章),12,程序操作的对象,数据,常量,:,如,34,,,3.5,a,“,ok,”,具有固定值,其值不能改变。,变量,:,其值可以改变,变量名字与内存空间相联系。,345,sum,变量值,变量名,变量的命名规则与标识符的命名规则:(详见课本),标识符,是编程者在程序中给所使用的常量、变量、函数、语句标号、类型定义等所取的名字,。,数据,程序处理的对象,数据类型,数据在计算机内部的存储形式(占用的,内存单元数量,、,编码方式,、,取值范围,等),研究式学习,C,程序设计(第一章),13,“,=,”,运算符改变变量的值,:,int a,b; a=8; b=9;,/*a,的值为8,,b,的值为9,*/,a=b+1;,/*a,的值变为10,*/,a=b;,/*a,的值变为9,*/,a=a+1;8=a;5=8;,?,变量的动态特性,存储器的存取特点是:取之不尽,一存就变。,因此,变量中的值可以反复读取,其值不会改变。而把一个新值赋给变量时,变量中原来的值就被新值所替代。,研究式学习,C,程序设计(第一章),14,常量与变量,#include,“,stdio.h,”,#define PRICE 30,main(),int num,total;,float v ,r,h;,num=10;,total=num*,PRICE,;,printf(total=%d,tatal);,r=2.5;,h=3.2;,v=3.14159*r*r*h;,printf(,“,v=%fn,”,v);,常量,变量名,:,以字母或下划线开头,由数字、字母、下划线构成。最多,31,个字符,多余不识别,一般小写。,变量,变量先定,义后使用,符号常量,名字常用大写,常量:,是指在程序执行中其值不会改变的量,变量:,是指在程序执行中其值可改变的量,研究式学习,C,程序设计(第一章),15,下列是合法的标识符:,a str2 add100 student area class_5 a_1,下列是非法的标识符,:,3th #xyz,“,m+n,”,person-name int,变量名区分大小写,,a,和,A,,,p,和,P,是不同的变量 。,不能使用系统保留字(关键字)作为标识符。,变量要先声明(定义),后使用,定义的任务包括:变量的类型(,int ,float),变量的名字以及初值。,THANK YOU,SUCCESS,2024/11/28,16,可编辑,研究式学习,C,程序设计(第一章),17,关键字:,是指在,C,语言中已预先定义具有特定含义的标识符,通常也称为保留字,编程者不得再重新命名另作他用。,标识类型的关键字,(int char float double long short unsigned struct union enum auto extern static register typedef void),标识控制流的关键字,(goto return break continue if else do while switch case default),标识预处理的关键字,(define include undef ifdef ifndef endif),其他关键字,(,sizeof asm fortran ada pascal),研究式学习,C,程序设计(第一章),18,数据类型,数据类型就像商店出售的衣服有不同的尺寸,以供不同身材的人享用,,C,系统也根据数据存在的不同形式,将其分为不同的类型,,各种数据类型具有,不同的存储长度,、取值范围及允许的操作。,C,数据类型如右图所示:,数,据,类,型,基本类型,构造类型,指针类型,整型,int,字符型,char,浮点型,float,(,实型,) double,数组,结构体,共用体,枚举,指数据的内在表现形式,本讲只介绍基本类型,研究式学习,C,程序设计(第一章),19,数据类型,-,整型常量,有三种形式的整型常量:,(1),与习惯相同的十进制整数。如:,46, -23, 0,。,(2),以数字,0,开头的八进制整数。如:,0456,表示八进制数,456,即,(456),8,=4*8,2,+5*8,1,+6*8,0,等于十进制的,302,。,(3),以数字,0,和,x,开头的十六进制整数。如:,0x456,表示十六进制整数,456,,即,(456),16,=4*16,2,+5*16,1,+6*16,0,等于十进制的,1110,整型变量的定义 :用,基本数据类型,说明符,int,及,类型修饰符:,short,long,unsigned,可定义,不同大小的整型变量),研究式学习,C,程序设计(第一章),20,数据与数据类型:,int,int,型数的表示范围:,二进制,16,bit,(,2,Byte,),0,0 0 0 0 0 0 0 0 0 0 0 0 0 0 1,0,0 0 0 0 0 0 0 0 0 0 0 0 0 1 1,0,1 1 1 1 1 1 1 1 1 1 1 1 1 1 1,=1,=3,int,型整数的最,大,值,int,型表示数的范围,:,- 32768 32767,1,1 1 1 1 1 1 1 1 1 1 1 1 1 1 1,注意:使用中要防止数据溢出,=-1,int,型整数的最,小,值,1,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,=2,15,-1=32767,=-2,15,=-32768,返回,研究式学习,C,程序设计(第一章),21,数据类型,-,整型数据的定义及取值范围,加,修饰符,数据类型的,数据存储格式,和,取值范围,:,short int, int short,signed int short int short,类型 占用内存单元 取值范围,unsigned int 2,字节,0,65535,long int 4,字节,-2147483648,2147483647,unsigned long 4,字节,0,4294967295,-2,31,2,31,-1,2,16,-1,2,32,-1,研究式学习,C,程序设计(第一章),22,数据的存储形式,有符号整数,12,与,-12,和存储形式,(,补码形式,):,0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0,12:,1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0,-12:,#include,“,stdio.h,”,void main(),int x=-1;,printf(,“,x=%d,”,x);,printf(,“,x=%u,”,x);,运行结果:,x=-1,x=65535,研究式学习,C,程序设计(第一章),23,数据类型,-,实型常量,实型常量只有,十进制,但有,2,种形式:,定点:,符号,、,整数,、,小数点,和,小数,如:,1.0 1. +12.0 -12.0 0.0,指数,:,1e3 1.8e-3 -123e-6,-.1,e-3 .1E10,等价于:,1000 1.8*10,-3,-123*10,-6,-0.1*10,-3,0.1*10,10,注意,e(E),前必须有数,,e(E),后的指数必须为整数,如:,e2,、,2.1e3.5,、,.e3,、,e,等都是非法的实数 。,实型变量的定义:,float f,r;double area;,float 4,字节,double 8,字节,研究式学习,C,程序设计(第一章),24,C,语言基本数据类型有,四种:,字符型,整型,单精度浮点型,双精度浮点型,char,int,float,double,类型说明符,C,语言的基本数据类型,C,语言有,四种,类型修饰符,:,短,长,有符号,无符号,short,long,signed,unsigned,类型修饰符,注意:,类型修饰符,不能单独使用,必须与,类型说明符,配合在一起使用,(int,型可缺省),C,语言采用,类型说明符,说明不同的数据类型,研究式学习,C,程序设计(第一章),25,数据类型,-,字符型数据,(,一,),字符常量,:,一对,单引号,括起来的,一个字符,(,大小写有区别,),,如:,a,D,?,$,。,以,”,”,开头的特殊字符,(,转义字符,),,如:,n,343,x41,见,p8,表,1-3,字符变量,:,用来存放字符常量,例:,char,c1,c2; c1=,a,; c2=,A,;,字符数据在内存中的存储形式,以,ASCII,码存储,占,1,字节,用,7,个二进制位,97,65,研究式学习,C,程序设计(第一章),26,转义字符,字符形式 功能 使用举例,0,字符串结束标志,n,换行,(,ASCII,码为,10),printf(,”,n,”,);,t,横向跳格,printf(,”,t,”,);,b,退格,r,回车,(,ASCII,码为,13),f,走纸换页,字符,(,ASCII,码为,92),表示字符,单引号,表示字符,”,双引号,”,表示字符,”,ddd,用,8,进制表示字符,a,=,141,A,=,101,换行符,12,x,hh,用,16,进制表示字符,a,=,x61,A,=,x41,换行符,xa,研究式学习,C,程序设计(第一章),27,字符数据的使用方法,字符数据和整型数据之间可以通用,可以按字符形式输出,也可以按整型输出。,字符数据与整型数据可以互相赋值。,数据类型,-,字符型数据,(,二,),字符串常量,用一对,双引号,括起来的,一串,字符(字母大小写的,ASCII,值不同),如:,“,C Program,”,,,”,a,”,“,3304035,”,,,“,”,,,“,YES & NO,”,。,研究式学习,C,程序设计(第一章),28,字符串常数,字符串常量:用,双引号,括起来的字符,序列,实例:,”,This is C string.,”,”,a,”,”,”,(1个,空格),”,(,不含空格),串定界符:,双引号,”,字符串长度,:字符串中包含的,字符数量,。,串长,=,17,串长,=,1,串长,=,1,串长,=,0,tNameAddressn,串长,=,15,空串,实例:,C is very easy.,串长,=,17,注意: 字符串,a,与 字符,a,的区别,He saidok.n,串长,=,13,研究式学习,C,程序设计(第一章),29,字符数据的存储形式,67 72 73 78 65 0,例,:CHINA a,a,97,所以,:,char c; c=a;,字符串后有,“,串结束标志,”,,字符后没有。,C H I N A 0,a,0,a,是,ASCII,值为,0,的字符、,是空操作符,、,是非显示字符,数据类型,-,字符型数据,(,三,),研究式学习,C,程序设计(第一章),30,变量必须先定义后使用,定义,格式:,类型修饰符,类型说明符,变量列表,;,C,语言允许在定义变量时对变量进行,初始化,,即对变量赋初值。,例:,int,a,=3; float f=3.56,,,x=1.0; char c=,a,; int b,c,d=5,a,;,int x=y=0;,b=c=8;,不能重复定义,定义并初始化,不能连写,数据类型,-,变量赋初值,赋值时可以,连写,定义(声明)变量后:确定了该变量占用,内存,单元的数量,数据在内存的,表示方式,,数据的,取值范围,。,THANK YOU,SUCCESS,2024/11/28,31,可编辑,
展开阅读全文