清华c语言程序设计

上传人:油条 文档编号:20684139 上传时间:2017-09-11 格式:PDF 页数:345 大小:1.10MB
返回 下载 相关 举报
清华c语言程序设计_第1页
第1页 / 共345页
清华c语言程序设计_第2页
第2页 / 共345页
清华c语言程序设计_第3页
第3页 / 共345页
清华c语言程序设计_第4页
第4页 / 共345页
清华c语言程序设计_第5页
第5页 / 共345页
点击查看更多>>
资源描述

《清华c语言程序设计》由会员分享,可在线阅读,更多相关《清华c语言程序设计(345页珍藏版)》请在金锄头文库上搜索。

1、计算机软件技术基础C语言程序设计0、绪论1、预备知识2、C语言基础3、C语言程序基本控制结构4、数组的概念及应用5、函数6、指针7、查找与排序算法8、结构和联合9、位运算、枚举及类型定义和编译预处理10、文件11、数据结构基础(一)12、数据结构基础(二)13、非线性结构及数据结构应用实例作者:郑莉安颍莲欢迎学习“C语言程序设计 ”清华大学 郑莉 安颖莲参考教材y 王行言 郑莉等计算机程序设计基础 清华大学出版社y 谭浩强 C程序设计 清华大学出版社y 严蔚敏 吴伟民数据结构(C语言版) 清华大学出版社课程主要内容y绪论及预备知识 2学时yC语言结构化程序设计 18学时y数据结构 6学时预备知

2、识y 计算机的组成与工作原理y 高级语言上机过程C语言结构化程序设计y结构化程序设计方法yC语言的结构特点yC数据类型及其运算yC语言的基本语句y函数定义及调用y 指针及其应用y 文件操作y 编译预处理y 集成化开发环境的使用y 程序调试数据结构基础y 什么是数据结构y 线性结构y 非线性结构课时安排y大课2学时/周y有辅导上机2学时/周y自由上机(无辅导)2学时/周学习要求y课前预习,课后复习。y上机前应设计好算法,编好写程序。y每次作业在两周内完成,由辅导教师检查。检查内容包括:算法设计、运行正确的程序。Page 1C语言程序设计清华大学 郑莉 安颖莲第一讲 预备知识参考书:计算机程序设计

3、基础第1章Page 2C语言程序设计清华大学 郑莉 安颖莲本讲主要内容 计算机组成与工作原理 高级语言的上机过程Page 3C语言程序设计清华大学 郑莉 安颖莲计算机组成与工作原理 指令系统 计算机组成 硬件系统 程序的自动执行Page 4C语言程序设计清华大学 郑莉 安颖莲 指令系统是计算机软件和硬件的界面 指令的功能- 操作类指令- 转移类指令 指令的格式操作码OP 地址码AD计算机组成与工作原理指令系统Page 5C语言程序设计清华大学 郑莉 安颖莲计算机组成与工作原理硬件系统控制器外存储器内存储器运算器输入设备输出设备CPU主机数据、程序输出数据地址指令数据输入数据、程序Page 6C

4、语言程序设计清华大学 郑莉 安颖莲计算机组成与工作原理程序的执行过程启动地址PC取指PC地址寄存器指令IR指令译码?程序结束形成转移地址PC完成本条指令操作PC+1PC停机指令转移指令非转移指令Page 7C语言程序设计清华大学 郑莉 安颖莲高级语言上机过程 编辑源程序 编译:产生目标程序(.OBJ) 连接:产生可执行程序(.EXE) 运行调试Page 8C语言程序设计清华大学 郑莉 安颖莲作业 复习:计算机程序设计基础第1章 预习:C程序设计第一、二、三章 上机:熟悉一种C语言编译环境C语言程序设计清华大学 郑莉 安颖莲第二讲 C语言基础参考书:C程序设计第一、二、三、四章Page 1C语言

5、程序设计清华大学 郑莉 安颖莲本讲主要内容 C语言的程序格式及结构特点 数据类型 算术运算符与算术表达式 赋值运算符和赋值表达式 逗号运算和逗号表达式 逻辑运算与逻辑表达式 赋值语句 数据输入、输出 简单程序举例C语言程序设计清华大学 郑莉 安颖莲C语言的程序格式 实例main()int x, y, z;x=2;y=3;z=x+y;printf(x+y=%dn,z); 程序格式- 关键字及编译预处理命令用小写字母书写。- 由语句组成。- 以分号(;)作为语句的结束符,(不是分隔符)。- 没有行的概念,可任意书写。- 用大括号对表示程序的层次范围,一个完整的程序模块要用一对包括。- 不能在变量名

6、、函数名、关键字中插入空格和空行。Page 3C语言程序设计清华大学 郑莉 安颖莲C语言的结构特点 结构特点- 只有一个名字为main的函数,称主函数。- 除main函数外,其它函数都是在执行main函数时被调用执行的。 函数的一般形式函数名(参数)参数说明;数据说明部分;执行语句部分;Page 4C语言程序设计清华大学 郑莉 安颖莲数据类型 常量与变量 整型数据 实型数据 字符型数据 给变量赋初值 不同类型的混合运算Page 5C语言程序设计清华大学 郑莉 安颖莲数据类型常量与变量#define PRICE 30main()int num,total;float v ,r,h;num=10;

7、total=num*PRICE;printf(total=%d,tatal);r=2.5;h=3.2;v=3.14159*r*r*h;printf(v=%fn,v);常量常量变量名:以字母或下划线开头,由数字、字母、下划线构成。最多31个字符,多余不识别.一般小写。变量名:以字母或下划线开头,由数字、字母、下划线构成。最多31个字符,多余不识别.一般小写。变量变量变量先定义后使用变量先定义后使用符号常量符号常量名字常用大写名字常用大写Page 6C语言程序设计清华大学 郑莉 安颖莲#define PRICE 30main()int num,total;float v ,r,h;num=10;t

8、otal=num*PRICE;printf(total=%d,tatal);r=2.5;h=3.2;v=3.14159*r*r*h;printf(v=%fn,v);数据类型整型数据整型常量整型常量根据值的大小自动确定类型。无 unsigined型,但非负数可对unsigned变量赋值。十进制: 123, 456八进制: 0开头十六进制: 0x开头根据值的大小自动确定类型。无 型,但非负数可对变量赋值。十进制: ,八进制: 开头十六进制: 开头int、 unsigned int2字节shortunsigned short2字节longunsigned long4字节int、 i字节字节字节整型变

9、量整型变量整型变量定义整型变量定义Page 7C语言程序设计清华大学 郑莉 安颖莲数据类型整型数据的定义及取值范围类型 定义符 位数 数值范围 I/O格式符基本 int 16位 -32768 32767 %d 短整 short 16 同上 %hd长整 long 32 -231 (231-1) %ld无符号unsigned int 16 0 65535 %uunsigned short 16 同上 %huunsigned long 32 0 (232-1) %luC语言程序设计清华大学 郑莉 安颖莲数据类型实型数据#define PRICE 30main()int num,total;float

10、 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);十进制形式指数形式:123E3(123103 )不区分单、双精度,赋值时截取有效长度。如:float a;a=111111.111;十进制形式指数形式:123E33 不区分单、双精度,赋值时截取有效长度。如:实型常量实型常量7位有效数字float 4字节3.410387位有效数字double 8字节1.71030815位有效数字387位有效数字30815位有效数字实型变量实型变量Page 9C语言程序

11、设计清华大学 郑莉 安颖莲数据类型字符型数据(一) 字符常量- 单引号括起来的一个字符,如:a, D, ?, $ 字符变量- 用来存放字符常量例:char c1,c2;c1=a;c2=A; 字符数据在内存中的存储形式- 以ASCII码存储,占1字节,用7个二进制位Page 10C语言程序设计清华大学 郑莉 安颖莲 字符数据的使用方法- 字符数据和整型数据之间可以通用,可以按字符形式输出,也可以按整型输出。C H I N A 0a0aPage 11数据类型字符型数据(二)例 1例 3例 2- 字符数据与整型数据可以互相赋值。 字符串常量例:CHINAaa所以:char c;c=a;C语言程序设计

12、清华大学 郑莉 安颖莲例1 main()char c1,c2;c1=97;c2=98;printf(%c %cn,c1,c2);运行结果 :a bC语言程序设计清华大学 郑莉 安颖莲例2 运行结果 :97 98main()char c1,c2;c1=97;c2=98;printf(%d %dn,c1,c2);C语言程序设计清华大学 郑莉 安颖莲例3 运行结果 :a,97a,97main()int i;char c;i=a;c=97;printf(%c,%dn,c,c);printf(%c,%dn,i,i);C语言程序设计清华大学 郑莉 安颖莲数据类型变量赋初值 例:int a=3;float

13、f=3.56;char c=a;int a,b,c=5;Page 15C语言程序设计清华大学 郑莉 安颖莲数据类型不同类型数据混合运算时的类型转换 数据参加运算前必须进行下列转换:char,shortint,floatdouble 混合运算时,数据类型由低级高级:int unsigned long double低高 例: int i; float f; double d; long e;运算次序: 10+a + i*f - d/e10+97 转换为 double 转换为 double再相乘 再相除107double结果为doublePage 16C语言程序设计清华大学 郑莉 安颖莲算术运算符与

14、算术表达式 C运算符简介P22 基本算术运算符+ - * / %(取余)(若整数相除,结果取整) 优先级与结合性先乘除,后加减,同级自左至右 强制类型转换例:(double)a, (int)(x+y), (float)(5%3)变量本身未变化 +, - (P24)Page 17例 4例 5C语言程序设计清华大学 郑莉 安颖莲例4 运行结果 :x=3.600000, i=3main()float x;int i;x=3.6;i=(int)x;printf(x=%f,i=%dn,x,i);C语言程序设计清华大学 郑莉 安颖莲例5 main()int i,j,k1,k2,k3,k4,k5;i=3;k1=(i+)+(i+)+(i+);printf(k1=%d,%dn,k1,i);i=3;k2=(+i)+(+i)+(+i);printf(k2=%d,%dn,k2,i);i=3; j=4;C语言程序设计清华大学 郑莉 安颖莲例5 (续) k3=i+j;printf(k3=%dn,k3);i=3; j=4;k4=(i+)+j;printf(k4=%dn,k4);i=3; j=4;k5=i+(+j);printf(k5=%dn,k5);i=3;printf(%d,%dn,i,i+);运行结果 :k1=12

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号