




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言入门与提高,郝庆晋,2020/5/22,1,1,2020/5/22,什么是程序?,程序(Program)是一个精确说明如何进行计算的指令(Instruction)序列。人和计算机交换信息所用的语言,称为计算机语言。,2020/5/22,2,2,2020/5/22,2020/5/22,3,3,2020/5/22,自然语言和形式语言,什么是自然语言?什么是形式语言?两者区别和联系:歧义性冗余性与字面意思的一致性,2020/5/22,4,4,2020/5/22,指令分类,输入:从键盘、文件或者其它设备获取数据。输出:把数据显示到屏幕,或者存入一个文件,或者发送到其它设备。基本运算:执行最基本的数学运算(加减乘除)和数据存取。测试和分支:测试某个条件,然后根据不同的测试结果执行不同的后续指令。循环:重复执行一系列操作。,2020/5/22,5,5,2020/5/22,编程的本质,把复杂的任务分解成子任务,把子任务再分解成更简单的任务,层层分解,直到最后简单得可以用以上所述指令来完成。,2020/5/22,6,6,2020/5/22,程序调试,编译时错误运行时错误逻辑错误和语义错误,2020/5/22,7,7,2020/5/22,C语言的历史,C语言是由UNIX的研制者丹尼斯里奇(DennisRitchie)和肯汤普逊(KenThompson)于1970年研制出的B语言的基础上发展和完善起来的。1973年,Unix操作系统的内核正式用C语言改写,这是C语言第一次应用在操作系统的内核编写上。目前,C语言编译器普遍存在于各种不同的操作系统中,例如UNIX、MS-DOS、MicrosoftWindows及Linux等。,2020/5/22,8,8,2020/5/22,C语言的特点,C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。,2020/5/22,9,9,2020/5/22,C语言特点,C语言是一个有结构化程序设计、具有变量作用域(variablescope)以及递归功能的过程式语言。传递参数是以值传递(Pass-by-value),也可以通过指针来传递参数(Pass-by-address)。不同的变量类型可以用结构体(struct)组合在一起。只有32个保留字(reservedkeywords),使变量、函数命名有更多弹性。部份的变量类型可以转换,例如整形和字符变量。通过指针(pointer),C语言可以容易的对存储器进行低级控制。编译预处理(preprocessor)让C语言的编译更具有弹性。,2020/5/22,10,10,2020/5/22,C语言的编译执行过程,2020/5/22,11,11,2020/5/22,第一个C语言程序,#include/*main:generatesomesimpleoutput*/intmain(void)printf(Hello,world.n);return0;,2020/5/22,12,12,2020/5/22,如何编译和运行?,$gcc-otestmain.c$./a.outHello,world.,2020/5/22,13,13,2020/5/22,程序的结构,C程序由函数构成。一个函数由两个部分组成:说明部分函数名、类型、参数及类型说明函数体变量的定义及执行部分书写格式自由:一般用小写字母,语句以分号结束,分号是语句的必要组成部分,一行上可以写几条语句,一条语句也可以写在几行上。,2020/5/22,14,14,2020/5/22,程序的结构,C程序总是从main函数开始执行,并且一定有且仅有一个主函数,主函数名必须是main。C语言本身不带输入输出语句,必须通过调用库函数来实现输入输出。以/*/之间的内容是注释,不影响程序的执行,可增加程序的可读性。,2020/5/22,15,15,2020/5/22,代码风格,好的代码风格要求缩进整齐,每个语句一行,适当留空行,2020/5/22,16,16,2020/5/22,常量、变量和数据类型,2020/5/22,17,17,2020/5/22,数据类型,C语言里常用的数据类型有整型、实型、字符型、数组、结构体类型、指针类型等。数据类型丰富是C语言的特点之一。如:int整型char字符型float单精度浮点型double双精度浮点型,2020/5/22,18,18,2020/5/22,常量和变量的概念,常量:在程序运行过程中其值不能变的量。包括直接常量和符号常量。符号常量的定义:#define标识符常量变量:程序运行过程中其值可以改变的量,系统为程序中的每一个变量开辟一个存储单元,2020/5/22,19,19,2020/5/22,变量,字母开头,后跟字母、数字和下划线组成。C语言中的关键字不能作为变量名注意:变量必须先定义后使用;变量中存放的只能是数据,而且只能是一个数据,往变量中存放数据的操作称为赋值;,2020/5/22,20,20,2020/5/22,变量,变量的“名”和变量的“值”不同,变量的“名”是该变量所代表的存储单元的标志,而变量的“值”是指存储单元中的内容。,2020/5/22,21,21,2020/5/22,整型常量,三种形式表示:十进制:如123600八进制:以0开始,如0123十六进制:以0 x开始,如0 x123,2020/5/22,22,22,2020/5/22,不同进制之间的换算,十进制:123=1102+2101+3100二进制:(A3A2A1A0)2=A323+A222+A121+A020,2020/5/22,23,23,2020/5/22,字符型常量,单引号括起来的一个字符。如:a字符常量的值是一个数字值。如字符常量0,其ASCII为48,所以存储的实际值为48。字符常量可以象整数一样参与运算。如:a+3,2020/5/22,24,24,2020/5/22,字符常量另一种形式转义字符形式,转义字符功能ASCII记号转义字符功能ASCII记号a响铃BEL反斜杠字?b退格BS单引号字符f走纸换页FF“双引号字符n换行NL?问号?r回车CRooo13位8进制数ooot横向跳格HTxhh12位16进制数hhv纵向跳格VT,2020/5/22,25,25,2020/5/22,字符串常量,双引号括起来的字符序列。如Howareyou,0等字符串在存储时末尾被自动加上字符0字符常量与只包含一个字符的字符串常量的区别?,2020/5/22,26,26,2020/5/22,字符型变量,字符型变量中存放ASCII字符集中的任何一个字符,字符变量在内存中占一个字节。定义格式:char变量名1,变量名2,;如:chara,b;a=97-32;b=a+2;,2020/5/22,27,27,2020/5/22,整数常量还可以在末尾加u或U表示“unsigned”,加l或L表示“long”,加ll或LL表示“longlong”,例如0 x1234U,98765ULL等。,2020/5/22,28,28,2020/5/22,PC机上整数类型大小(bit),2020/5/22,29,29,2020/5/22,PC机上的Linux浮点数情况,对于每种类型,上面的行代码数字位数,下面行代表指数的范围(以10为基数),2020/5/22,30,30,2020/5/22,类型转换,IntegerPromotion在一个表达式中,凡是可以使用int或unsignedint类型做右值的地方也都可以使用有符号或无符号的char型、short型和Bit-field。如果原始类型的取值范围都能用int型表示,则其类型被提升为int,如果原始类型的取值范围用int型表示不了,则提升为unsignedint型,这称为IntegerPromotion,2020/5/22,31,31,2020/5/22,类型转换,UsualArithmeticConversion:如果有一边的类型是longdouble,则把另一边也转成longdouble。否则,如果有一边的类型是double,则把另一边也转成double。否则,如果有一边的类型是float,则把另一边也转成float。否则,两边应该都是整型,对a和b做IntegerPromotion,2020/5/22,32,32,2020/5/22,类型转换,由赋值产生的类型转换:如果赋值或初始化时等号两边的类型不相同,则编译器会把等号右边的类型转换成等号左边的类型再做赋值,2020/5/22,33,33,2020/5/22,类型转换,强制类型转换:程序员也可以通过类型转换运算符(CastOperator)自己规定某个表达式要转换成何种类型,这称为显式类型转换(ExplicitConversion)或强制类型转换(TypeCast),2020/5/22,34,34,2020/5/22,变量的作用域,文件作用域函数作用域代码块作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 编程理论考试题库及答案
- 民歌简介课件
- 知识产权与新质生产力的互动关系
- 中国新质生产力产业布局
- 新质生产力与农业发展关联
- 《统计学-SPSS和Excel实现》(第9版)课件 第2章 用图表展示数据
- 科研成果转化:新质生产力的路径
- 民族歌剧鉴赏课课件
- 新质生产力的发展速度与趋势
- 校园社团学习部招新模板
- 帕金森病患者吞咽障碍康复中国专家共识 2025版解读
- 现代农业产业园的信息化管理平台建设
- 全套电子课件:网络信息编辑实务
- 《网店色彩设计》课件
- 《铁路技术管理规程》(普速铁路部分)
- 《中国汽车产业格局》课件
- 老年女性子宫颈癌筛查中国专家共识(2024版)解读
- CNAS-GL025:2023 校准和测量能力(CMC)表述指南
- 船用齿轮箱基础知识培训讲义
- 古建筑屋面瓦拆除与修复方案
- DB22T 2091-2014 国境空港口岸检验检疫设施建设规范
评论
0/150
提交评论