欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    第2章-C语言简介.ppt

    • 资源ID:3423324       资源大小:1.58MB        全文页数:31页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第2章-C语言简介.ppt

    1,1.6 C语言简介,一个简单的C程序 数据类型 算数和逻辑运算 流程结构 指针、数组的定义和访问 函数的定义、声明、调用 结构体与共用体,2,1.6 C语言简介:一个简单的C语言程序,main() printf(“Hello wold.n”); 每个C程序都有一个主函数main; C程序是由函数构成的; “和”内的部分是函数体; 每个语句以分号“;”结束; printf是C的库函数一个函数。,3,1.6 C语言简介:数据类型与变量定义,常量 直接常量 circle_a=3.1416*r*r; 符号常量 #define PI 3.1416 /*定义符号常数*/ circle_a=PI*r*r 基本变量类型 int i1,i2; /*定义i1,i2为整型变量*/ short s1,s2; /*定义s1,s2为短整型变量*/ long l1,l2 /*定义l1,l2为长整型变量*/ unsigned 放在int, short, long之前说明为无符号类型,4,1.6 C语言简介:数据类型与变量定义,char 字符型 floatdouble 单精度实型双精度实型(浮点型) enum 枚举类型 (在构造类型里介绍) 构造类型 结构体 共用体 指针 空类型 在C语言中,使用一个变量之前必须先定义变量的类型,编译时会根据指定类型分配存储空间,并决定数据的存储方式和允许操作的方式。,5,1.6 C语言简介:变量的赋值,变量 = 表达式 说明: “=”是赋值符号; 赋值运算的方向由右向左。先计算表达式的值再给变量赋值; “变量 = 表达式”在C语言中称为赋值表达式,它等于被赋值变量的值 b=a=3+5; /*赋值后a,b都是8*/ 课外学习:如果赋值符号“=”两边的类型不一致会是什么结果?,6,1.6 C语言简介:标识符命名,标识符是给程序中的实体变量、常量、函数、数组、结构体以及文件起名字。 命名原则 以字母或下划线开头,由字母、数字或下划线组成的字符序列。 Number-of-move, piece flag, 5_7_9 都是不合法的 C语言定义的关键字有专门含义,不能在用来命名实体 长度因系统而异,7,1.6 C语言简介:算术运算,5个双元运算 +, -, *, /, % 自反算术运算 a = a+b; 可以简写成 a += b; 另外还有 a -= b; a *= b; a/=b; a %= b; 自加和自减运算 i = i+1;可以用 i += 1; 用i+表示 i = i-1; 可以用 i -= 1; 用i- -表示 课后阅读:+i,和- -i和上面有什么区别 一元运算、优先级问题,8,1.6 C语言简介:关系运算和逻辑运算,关系运算是指对两个运算量之间的大小比较 (大于), = (大于等于), (小于), = (小于等于),!= (不等于) 关系运算的返回值只有两个:“真”或“假” 3种逻辑运算 &&(逻辑与) | (逻辑或) !(逻辑非),9,1.6 C语言简介:C语言的语句,表达式语句 赋值语句; 如:i=1;i=a+b;x=sin(y) 函数调用语句 Printf(“hello worldn”); 空语句 流程控制语句 ifelse语句 switch语句 for语句 while语句 dowhile语句 Continue,break语句,10,1.6 C语言简介:C语言的语句,选择结构 (1)if(条件表达式) 语句块 /*如果只有一个语句 花括号可以去掉;*/ ,11,1.6 C语言简介:C语言的语句,选择结构 (2)if(条件表达式) 语句块 /*如果只有一个语句花括号可 以去掉;*/ else 语句块 /*如果只有一个语句花括号可 以去掉;*/ ,12,1.6 C语言简介:C语言的语句,选择结构 (3)if(条件表达式) 语句块 /*如果只有一个语句花括号可 以去掉;*/ else if(条件表达式) 语句块 /*如果只有一个语句花括号可 以去掉;*/ else 语句块 /*如果只有一个语句花括号可 以去掉;*/ ,13,1.6 C语言简介:C语言的语句,选择结构 (4)swith (表达式) case 常值表达式1:语句块1 case常值表达式 2:语句块2 . . defaut :语句块n 注意:每个语句块的最后一条语句通常是break语句(跳到多路选择或循环结构之后),14,1.6 C语言简介:C语言的语句,循环结构 (1)while(条件表达式) 循环体 /*如果只有一个语句 花括号可以去掉;*/ ,15,1.6 C语言简介:C语言的语句,循环结构 (2) do 循环体 /*如果只有一个语句 花括号可以去掉;*/ while(条件表达式) 至少要执行一次循环体,与fortran语言的do while语句不一样,16,1.6 C语言简介:C语言的语句,循环结构 (3)for(初始化表达式;条件表达式;修正表达式) 循环体 /*如果只有一个语句 花括号可以去掉;*/ 相当于: 初始化表达式; while(条件表达式) 循环体 修正表达式; /for 中每个分句多个表达式是否可以?,17,1.6 C语言简介:指针(1),凡是在程序中定义的变量,在编译时都分配相应的存储单元。 例如,一般微机的C系统给整型变量分配2个字节,实型分配4个字节。每个变量所占的存储单元都有确定的地址。例如 int a=3,b=4; float c=4.5,b=8.6; char e=x, f=y; 其在内存情况如下图所示,18,1.6 C语言简介:指针(2),编译时每个变量名对应一个地址,在内存中不再出现变量名而只有地址。 通过变量名或地址访问一个变量的方式称为“直接”访问,19,1.6 C语言简介:指针(2),变量的“间接访问”方式,就是把一个变量的地址放在另一个变量中。 所谓指针就是地址,20,1.6 C语言简介:指针变量的定义与访问,类型说明符 *变量名; 例如 int *p; p是一个指针变量,它指向一个整型变量。换句话说p中存放一个整型变量的地址。 float *p1; double *p2; char *p3; 指针也可以指向自定义的数据类型,int i, *i_pointer i_pointer = 第4个语句的含义是将3赋给指针变量i_pointer所指向的变量。 所以第3句和第4句的作用一样,21,1.6 C语言简介:数组,一维数组 定义 类型标识 数组名常量表达式; 例如:int a5; /*定义一个数组a,它包含5个元素,每个元素都是整型的*/ 数组元素的访问 数组名下标; 数组元素的下标是从0开始的 对数组a,其包含的5个元素是a0,a1,a2,a3,a4,22,1.6 C语言简介:数组,二维及多维数组 定义 类型标识 数组名常量表达式常量表达式; 例如:int a22; /*定义一个数组a,它是一个两行两列的数组,每个元素都是整型的*/ 二维及多维数组的定义 数组名下标下标; 同样,每一维也是从0开始,23,1.6 C语言简介:数组计算机内存储示例,24,1.6 C语言简介:指针与数组,一个数组的名是代表它的起始地址 如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素。 引入指针变量后,就可以用两种方法来访问数组元素了。 如果p的初值为&a0,则:p+i和a+i就是ai的地址,或者说它们指向a数组的第i个元素。 *(p+i)或*(a+i)就是p+i或a+i所指向的数组元素,即ai。例如,*(p+5)或*(a+5)就是a5。 指向数组的指针变量也可以带下标,如pi与*(p+i)等价。,因此可以动态申请数组 例如 int *a; a = (int *)malloc(sizeof(int)*n); n是数组长度,可以在程序运行时确定n的值,而不像数组定义那样需要常值表达式。,25,1.6 C语言简介:指针与数组,用指针动态建立二维数组 例如,m x n的矩阵,int m, n, *a, i, j; a = (int*)malloc(sizeof(int*)*m); for(j=0; j m; j+) aj = (int*)malloc(sizeof(int)*n);,26,1.6 C语言简介:结构体,某些量可能是由不同的类型量组成,C语言中引入了“结构体”类型。 例如 struct person char name10; int age; char sex; struct person *next; /*有些编译环境此处struct可以不 写*/ 定义这种类型变量 struct person s1, *s2; 结构体变量的访问 s1.name; s1.sex; 动态申请 s2 = (struct person *)malloc(sizeof(struct person); 对s2指向的结构体的访问 s2-name;s2-age; 共用体的概念(自学),27,1.6 C语言简介:函数,函数式的程序结构。程序整体由一个或多个函数组成。每个函数都具有各自独立的功能和明显的界面。,28,1.6 C语言简介:函数,函数的定义包括 函数类型(即函数值类型) 函数名 形式参数的数目、类型 函数体内容 函数定义形式如下 类型标识符 函数名(形式参数表列) 声明部分 语句 例如 double add(double a, double b) return (a+b); ,29,1.6 C语言简介:函数,在函数调用之前往往进行声明 例如 int max(int a,int b) /*函数声明*/ main() int max(int a,int b); int x,y,z; printf(“input two numbers:n“); scanf(“%d%d“, ,30,1.6 C语言简介:函数调用,函数的传值调用 形参与实参各占一个独立的存储空间 形参的存储空间在函数调用时才分配,然后将实参的值传递给形参,这时形参得到了实参的值。这种虚实结合方式称为“值结合”。,例如 swap(int x, int y) main() int a =3, b=5; swap(a,b); cout(a,b); swap(int x, int y) int temp; temp =x; x=y; y=temp; cout(x,y) 执行结果: x=5, y=3 a=3,b=5,例如 swap(int *x, int *y) main() int a =3, b=5; swap( cout(*x, *y) 执行结果: x=5, y=3 a=5,b=3,31,1.6 C语言简介:函数,递归调用 【例8.5】用递归法计算n! 用递归法计算n!可用下述公式表示: n!=1 (n=0,1) n×(n-1)! (n1) 按公式可编程如下: long ff(int n) long f; if(n0) printf(“n0,input error“); else if(n=0|n=1) f=1; else f=ff(n-1)*n; return(f); ,

    注意事项

    本文(第2章-C语言简介.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开