资源预览内容
第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
第9页 / 共29页
第10页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
研究式学习C程序设计(第一章),1,研究式学习-C程序设计,研究式学习C程序设计(第一章),2,第一章,C程序入门,研究式学习C程序设计(第一章),3,本讲主要内容,程序的概念 简单C程序 程序操作的对象数据 变量和常量 数据类型,研究式学习C程序设计(第一章),4,程序,程序就是做一件事情的先后步骤 植树程序: 挖坑 在坑中放入树苗 添土到坑中 浇水,操作对象:坑,树苗,土,水(数据) 操作:挖,放,添,浇(运算符等) 次序不能颠倒,研究式学习C程序设计(第一章),5,计算机程序,(1)计算机程序 计算机程序 算法 数据结构 计算机程序设计 算法 数据结构 程序设计方法学 算法-就是解决问题的方法。 (2)算法的特征 有穷性 如:Sin x=x/1-x3/3!+x5/5!-x7/7!+ 不是算法。 N!=123N 是算法。 确定性 如:菜谱中说“加少许盐”不严格,不是算法。 可执行性 0个或多个输入 1个或多个输出 (3)算法描述工具:流程图、NS图、PDL 语言 等,研究式学习C程序设计(第一章),6,程序,流程图表述算法举例:输入两个数,输出其中的大者。,用计算机语言实现算法!,研究式学习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”,程序运行结果: 请输入两个整数:12,2 sum =24,研究式学习C程序设计(第一章),12,程序操作的对象数据,常量:如34,3.5,a, “ok” 具有固定值,其值不能改变。 变量 : 其值可以改变,变量名字与内存空间相联系。,变量的命名规则与标识符的命名规则:(详见课本) 标识符是编程者在程序中给所使用的常量、变量、函数、语句标号、类型定义等所取的名字。,数据,程序处理的对象,数据类型 数据在计算机内部的存储形式(占用的内存单元数量、编码方式、取值范围等),研究式学习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),变量的名字以及初值。,研究式学习C程序设计(第一章),16,关键字:是指在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程序设计(第一章),17,数据类型,数据类型就像商店出售的衣服有不同的尺寸,以供不同身材的人享用,C系统也根据数据存在的不同形式,将其分为不同的类型, 各种数据类型具有不同的存储长度、取值范围及允许的操作。C 数据类型如右图所示:,本讲只介绍基本类型,研究式学习C程序设计(第一章),18,数据类型-整型常量,有三种形式的整型常量: (1) 与习惯相同的十进制整数。如:46, -23, 0。 (2) 以数字0开头的八进制整数。如:0456表示八进制数456,即(456)8=4*82+5*81+6*80,等于十进制的302。 (3)以数字0和x开头的十六进制整数。如:0x456表示十六进制整数456,即(456)16=4*162+5*161+6*160, 等于十进制的1110,整型变量的定义 :用基本数据类型说明符int 及类型修饰符:short,long,unsigned 可定义不同大小的整型变量),研究式学习C程序设计(第一章),19,数据与数据类型:int,int型数的表示范围:二进制 16bit (2Byte),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,=215-1=32767,=-215=-32768,返回,研究式学习C程序设计(第一章),20,数据类型-整型数据的定义及取值范围,加修饰符数据类型的数据存储格式和取值范围: short int int short signed int short int short 类型 占用内存单元 取值范围 unsigned int 2字节 0 65535 long int 4字节 -2147483648 2147483647 unsigned long 4字节 0 4294967295,-231,231-1,216-1,232-1,研究式学习C程序设计(第一章),21,数据的存储形式,有符号整数12与-12和存储形式(补码形式):,#include “stdio.h” void main() int x=-1; printf(“x=%d”,x); printf(“x=%u”,x); ,运行结果: x=-1 x=65535,研究式学习C程序设计(第一章),22,数据类型-实型常量,实型常量只有十进制,但有2种形式: 定点:符号、整数、小数点和小数,如: 1.0 1. +12.0 -12.0 0.0 指数:1e3 1.8e-3 -123e-6 -.1e-3 .1E10 等价于:1000 1.8*10-3 -123*10-6 -0.1*10-3 0.1*1010,注意e(E)前必须有数,e(E)后的指数必须为整数,如: e2、 2.1e3.5 、.e3 、e等都是非法的实数 。,实型变量的定义:float f,r;double area; float 4字节 double 8字节,研究式学习C程序设计(第一章),23,C语言基本数据类型有四种: 字符型 整型 单精度浮点型 双精度浮点型,char int float double,类型说明符,C语言的基本数据类型,C语言有四种类型修饰符: 短 长 有符号 无符号,short long signed unsigned,类型修饰符,注意:类型修饰符不能单独使用,必须与类型说明符配合在一起使用(int型可缺省),C语言采用类型说明符说明不同的数据类型,研究式学习C程序设计(第一章),24,数据类型-字符型数据(一),字符常量:一对单引号括起来的一个字符(大小写有区别),如:a, D, ?, $, 。以”开头的特殊字符(转义字符),如:n,343, x41见p8表1-3 字符变量:用来存放字符常量 例:char c1,c2; c1=a; c2=A; 字符数据在内存中的存储形式 以ASCII码存储,占1字节,用7个二进制位,97,65,研究式学习C程序设计(第一章),25,转义字符,字符形式 功能 使用举例 0 字符串结束标志 n 换行(ASCII码为10) printf(”n”); t 横向跳格 printf(”t”); b 退格 r 回车(ASCII码为13) f 走纸换页 字符(ASCII码为92) 表示字符 单引号 表示字符 ” 双引号 ”
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号