第01章、c语言初步(理论课)_第1页
第01章、c语言初步(理论课)_第2页
第01章、c语言初步(理论课)_第3页
第01章、c语言初步(理论课)_第4页
第01章、c语言初步(理论课)_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用C语言开发简单应用,课程介绍,2/38,课程体系,3/38,本课程内容,变量,流程图和文档,三种程序结构,函数,数组,指针,结构体,文件,排序和堆栈、队列,数据类型和变量定义输入/输出变量的生存期和作用域,顺序选择循环,BoundsChecker,配置管理VSS,字符数组和字符指针,代码编写规范编程常见错误测试常见问题,使用C语言开发简单应用,第一章 C语言初步,5/38,了解计算机语言了解C工程文件/文件结构掌握编制简单的C语言程序理解常量和变量理解整型变量的存储方式理解各种整型数据的定义和使用了解C语言的语法和书写规则了解IDE环境VC,本章学习目标,6/38,计算机语言C语言的诞生和发展简单的C语言程序常量变量数据溢出C语言语法和书写规则VC开发环境介绍,内容进度,7/38,牛奶,草莓,搅拌器,草莓奶昔的制作方法:1.牛奶倒入搅拌器;2.掺一些草莓汁;3.盖上盖子;4.打开开关;5.停止搅拌;6.完全混合后停止搅拌;7.倒入碗中,放入冰箱;8.隔一段时间取出。,计算机语言,8/38,计算机语言,计算机语言与自然语言的比较,9/38,CPU指令系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减,用助记符号描述的指令系统如 ADD A, B,低级语言,程序设计是数据被加工的过程,客观世界可以分类,对象是类的实例,对象是数据和方法的封装,对象间通过发送和接受消息发生联系。,程序设计关键是定义类,并由类派生对象,计算机语言,计算机语言的分类,10/38,语言简洁、紧凑、灵活运算符和数据类型丰富程序设计结构化、模块化生成目标代码质量高可移植性好,中级语言,C语言的特点,11/38,计算机语言C语言的诞生和发展简单的C语言程序常量变量数据溢出C语言语法和书写规则VC开发环境介绍,内容进度,12/38,C Dennis Ritchie,B Ken Thompson,BCPL Martin Richards,C语言的起源,13/38,C语言的诞生UNIX操作系统C发展的三个阶段1978年,Dennis Ritchie和Brain Kernighan合作编写了The C Programming Language;The C Programming Language第二版主要描述的是ANSI C版本,由ISO于1989年颁布,称为“C89”,在这个版本中,将函数库标准化,推动了C语言的研究和应用;1999年,ISO根据C与C+并存局面和未纳入标准的习惯用法,制订并颁布了ISO 9899标准,简称为“C99”;C99于2000年3月被ANSI采纳。,C语言的诞生和发展,14/38,计算机语言C语言的诞生和发展简单的C语言程序常量变量数据溢出C语言语法和书写规则VC开发环境介绍,内容进度,15/38,本程序的作用是输出以下一行信息:,文件包含命令,.h文件称为头文件,主函数名,有且只有一个,函数体由一对大括弧括起来,printf函数的功能是把要输出的内容显示在显示器上,#include int main() printf(学员们,大家好!n); return 0;,最简单的C程序,例1:,16/38,计算机语言C语言的诞生和发展简单的C语言程序常量变量数据溢出C语言语法和书写规则VC开发环境介绍,内容进度,17/38,常量其值在程序运行过程中保持不变举例220057770XAE41A,常量,18/38,计算机语言C语言的诞生和发展简单的C语言程序常量变量数据溢出C语言语法和书写规则VC开发环境介绍,内容进度,19/38,变量,定义: 在程序运行过程中,其值可以改变的量。要求: 先定义后使用。变量说明形式: 类型 ; 其中,变量表是一个或多个标识符。,20/38,标识符,定义: 用来标识变量名、符号常量名、函数名、数组名、类型名、文件名等的有效字符序列,被称为标识符。C语言标准规定:由字母、数字和下划线组成第一个字符必须是字母或下划线不能使用保留字合法的标识符: sum, i_area, _total, year, i1, J2, _1_one不合法的标识符: M.John, w1, #sum, 3d, a-b, float变量命名规则(见教材P5),21/38,变量定义、初始化、赋值,变量定义: int i_sum; int i_area,i_length,i_width;可同时初始化:int i_sum=0; int i_area=0,i_length=0,i_width=0;变量赋值: i_sum100;,22/38,内存中实际存储情况,11,二进制形式存储长度根据所处环境不同而不同举例int i_sum=11;,变量的存储,23/38,变量的存储,数值以补码表示正数的补码与其原码相同负数的补码:该数的绝对值二进制形式按位取反加1举例:求-11的补码取-11的绝对值为1111的二进制形式为:00000000000000000000000000001011取反: 11111111111111111111111111110100加1: 11111111111111111111111111110101例2演示,24/38,整型变量,整型变量分类,25/38,整型变量,ANSI C标准规定的整型数据的长度和取值范围 注意:在windows平台上长度与上表不同,我们通常利用运算符 sizeof 得到不同系统下数据类型的长度。,26/38,#include int main()int a,b,c,d; unsigned uf; a=10;b=-20;uf=15;c=a+uf;d=b+uf; printf(a+uf =%d,b+uf=%dn,c,d);return 0;,变量使用,例3:,27/38,计算机语言C语言的诞生和发展简单的C语言程序常量变量数据溢出C语言语法和书写规则VC开发环境介绍,内容进度,28/38,#include int main() int a,b,c,d; /*定义a,b,c,d四个变量*/ unsigned uf;/*指定uf为无符号整型常量*/ a= 2147483645; b=-20; uf=5; c=a+uf; d=b+uf; printf(“ a+uf =%d,b+uf=%dn”,c,d); return 0;,例4:,数据溢出,29/38,计算机中计算a+uf的过程: 0111 1111 1111 1111 1111 1111 1111 1101 0000 0000 0000 0000 0000 0000 0000 0101 1000 0000 0000 0000 0000 0000 0000 0010运算结果正好是- 2147483646的二进制存储形式。- 2147483646求补码的反过程: 1000 0000 0000 0000 0000 0000 0000 0010 0000 0000 0000 0000 0000 0000 0000 0001 1000 0000 0000 0000 0000 0000 0000 0001取反: 0111 1111 1111 1111 1111 1111 1111 1110运算结果正好是-2147483646绝对值的存储形式。,溢出分析,30/38,整型数据的溢出,从上面的例子可以看到不同的整型数据可以进行算术运算。但是,不管是相同类型的整型数据运算还是不同类型的整型数据运算,运算结果超出该类型数据的表示范围时,将造成数据溢出,使运算不正确。,31/38,计算机语言C语言的诞生和发展简单的C语言程序常量变量数据溢出C语言语法和书写规则VC开发环境介绍,内容进度,32/38,#include int main()int u;int a,b,c;printf(请先输入u);scanf(%d,风格缺陷,一行中有多条语句;函数体是用括号扩起来了,但很难找到对应关系;代码没有缩进;没有注释;,C语言语法和书写规则,例5:,33/38,C语言语法和书写规则,书写程序时应遵循的基本规则:一行代码只做一件事情,一个说明或一个语句占一行;代码行最大长度宜控制在70 至80 个字符以内;尽可能在定义变量的同时初始化该变量(就近原则);在函数变量定义结束之后在处理语句之间要加空行;用括起来的部分,通常表示了程序的某一层次结构;低一层次的语句或说明比高一层次的语句或说明缩进一个Tab键(默认为4个空格)书写;在程序重要的地方,添加注释。,34/38,#include void main()int u;int a,b,c;printf(请先输入u);scanf(%d,#include void main()int u;int a,b,c;printf(请先输入u);scanf(%d,例5调整前后比较,35/38,计算机语言C语言的诞生和发展简

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论