




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言入门与提高郝庆晋2023/7/251什么是程序?程序(Program)是一个精确说明如何进行计算的指令(Instruction)序列。人和计算机交换信息所用的语言,称为计算机语言。2023/7/2522023/7/253自然语言和形式语言什么是自然语言?什么是形式语言?两者区别和联系:歧义性冗余性与字面意思的一致性2023/7/254指令分类输入:从键盘、文件或者其它设备获取数据。输出:把数据显示到屏幕,或者存入一个文件,或者发送到其它设备。基本运算:执行最基本的数学运算(加减乘除)和数据存取。测试和分支:测试某个条件,然后根据不同的测试结果执行不同的后续指令。循环:重复执行一系列操作。2023/7/255编程的本质把复杂的任务分解成子任务,把子任务再分解成更简单的任务,层层分解,直到最后简单得可以用以上所述指令来完成。2023/7/256程序调试
编译时错误
运行时错误
逻辑错误和语义错误2023/7/257C语言的历史C语言是由UNIX的研制者丹尼斯·里奇(DennisRitchie)和肯·汤普逊(KenThompson)于1970年研制出的B语言的基础上发展和完善起来的。1973年,Unix操作系统的内核正式用C语言改写,这是C语言第一次应用在操作系统的内核编写上。目前,C语言编译器普遍存在于各种不同的操作系统中,例如UNIX、MS-DOS、MicrosoftWindows及Linux等。2023/7/258C语言的特点C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。2023/7/259C语言特点C语言是一个有结构化程序设计、具有变量作用域(variablescope)以及递归功能的过程式语言。传递参数是以值传递(Pass-by-value),也可以通过指针来传递参数(Pass-by-address)。不同的变量类型可以用结构体(struct)组合在一起。只有32个保留字(reservedkeywords),使变量、函数命名有更多弹性。部份的变量类型可以转换,例如整形和字符变量。通过指针(pointer),C语言可以容易的对存储器进行低级控制。编译预处理(preprocessor)让C语言的编译更具有弹性。2023/7/2510C语言的编译执行过程2023/7/2511第一个C语言程序#include<stdio.h>/*main:generatesomesimpleoutput*/intmain(void){printf("Hello,world.\n");return0;}2023/7/2512如何编译和运行?$gcc-otestmain.c$./a.outHello,world.2023/7/2513程序的结构
C程序由函数构成。一个函数由两个部分组成:
说明部分函数名、类型、参数及类型说明
函数体{……}变量的定义及执行部分书写格式自由:一般用小写字母,语句以分号结束,分号是语句的必要组成部分,一行上可以写几条语句,一条语句也可以写在几行上。2023/7/2514程序的结构
C程序总是从main函数开始执行,并且一定有且仅有一个主函数,主函数名必须是main。
C语言本身不带输入输出语句,必须通过调用库函数来实现输入输出。以/*……*/之间的内容是注释,不影响程序的执行,可增加程序的可读性。2023/7/2515代码风格好的代码风格要求缩进整齐,每个语句一行,适当留空行2023/7/2516常量、变量和数据类型2023/7/2517数据类型C语言里常用的数据类型有整型、实型、字符型、数组、结构体类型、指针类型等。数据类型丰富是C语言的特点之一。如:int整型 char字符型float单精度浮点型double双精度浮点型2023/7/2518常量和变量的概念常量:在程序运行过程中其值不能变的量。包括直接常量和符号常量。
符号常量的定义:
#define标识符常量变量:程序运行过程中其值可以改变的量,系统为程序中的每一个变量开辟一个存储单元2023/7/251920可编辑变量字母开头,后跟字母、数字和下划线组成。C语言中的关键字不能作为变量名注意:变量必须先定义后使用;变量中存放的只能是数据,而且只能是一个数据,往变量中存放数据的操作称为赋值;2023/7/2521变量变量的“名”和变量的“值”不同,变量的“名”是该变量所代表的存储单元的标志,而变量的“值”是指存储单元中的内容。2023/7/2522整型常量三种形式表示:十进制:如123600八进制:以0开始,如0123十六进制:以0x开始,如0x1232023/7/2523不同进制之间的换算十进制:123=1×102+2×101+3×100二进制:(A3A2A1A0)2=A3×23+A2×22+A1×21+A0×202023/7/2524字符型常量单引号括起来的一个字符。如:'a'字符常量的值是一个数字值。如字符常量'0',其ASCII为48,所以存储的实际值为48。字符常量可以象整数一样参与运算。 如:'a'+3 2023/7/2525字符常量另一种形式—转义字符形式转义字符功能ASCII记号转义字符功能ASCII记号
\a 响铃BEL\\反斜杠字?\
\b 退格BS\‘ 单引号字符 '
\f走纸换页FF\“ 双引号字符 "
\n 换行 NL\? 问号 ?
\r 回车 CR\ooo 1~3位8进制数ooo
\t横向跳格HT\xhh 1~2位16进制数hh
\v纵向跳格VT2023/7/2526字符串常量双引号括起来的字符序列。
如"Howareyou","0"等字符串在存储时末尾被自动加上字符‘\0’字符常量与只包含一个字符的字符串常量的区别?2023/7/2527字符型变量字符型变量中存放ASCII字符集中的任何一个字符,字符变量在内存中占一个字节。定义格式:
char变量名1,变量名2,…;
如:
chara,b;
a=97-32;b=a+2;2023/7/2528整数常量还可以在末尾加u或U表示“unsigned”,加l或L表示“long”,加ll或LL表示“longlong”,例如0x1234U,98765ULL等。2023/7/2529PC机上整数类型大小(bit)类型PC机上的Linux系统char8int32short16long32longlong642023/7/2530PC机上的Linux浮点数情况类型PC机上Linux系统float6位-37到38double15位-307到308Longdouble18位-4931到4932对于每种类型,上面的行代码数字位数,下面行代表指数的范围(以10为基数)2023/7/2531类型转换IntegerPromotion在一个表达式中,凡是可以使用int或unsignedint类型做右值的地方也都可以使用有符号或无符号的char型、short型和Bit-field。如果原始类型的取值范围都能用int型表示,则其类型被提升为int,如果原始类型的取值范围用int型表示不了,则提升为unsignedint型,这称为IntegerPromotion2023/7/2532类型转换UsualArithmeticConversion:如果有一边的类型是longdouble,则把另一边也转成longdouble。否则,如果有一边的类型是double,则把另一边也转成double。否则,如果有一边的类型是float,则把另一边也转成float。否则,两边应该都是整型,对a和b做IntegerPromotion2023/7/2533类型转换由赋值产生的类型转换:如果赋值或初始化时等号两边的类型不相同,则编译器会把等号右边的类型转换成等号左边的类型再做赋值2023/7/2534类型转换强制类型转换:程序员也可以通过类型转换运算符(CastOperator)自己规定某个表达式要转换成何种类型,这称为显式类型转换(ExplicitConversion)或强制类型转换(Type
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度园林树木种植、修剪、施肥、病虫害防治与销售服务协议
- 二零二五年度商铺租赁合同解除申请文件模板
- 二零二五年度网络游戏内购退款协议
- 二零二五年度知识产权保护基金合作合同约定
- 2025年度新能源汽车充电站管理雇佣司机专项协议
- 二零二五年度餐厅食品安全管理与风险防控合同
- 帐篷及配件租赁合同7篇
- 2025年度高新技术企业人才引进与培养人力资源劳动合同
- 二零二五年度交通事故人伤私了协议(责任免除条款)
- 二零二五年度劳动合同法培训与实施合同
- 2024年新疆维吾尔自治区招聘事业单位工作人员考试真题
- 2025年舞蹈培训机构学员培训合同范本
- 2025年保险销售业务人员岗位职业技能资格知识考试题(附答案)
- 儿科护理模拟考试题与参考答案
- 2025年南网数字集团公开选聘高频重点模拟试卷提升(共500题附带答案详解)
- 西门子S7-1200 PLC应用技术项目教程(第3版) 考试复习题
- 注意缺陷与多动障碍疾病科普幼儿心理健康教育课件
- 人工智能在招聘行业的应用
- 课件:《科学社会主义概论(第二版)》第一章
- 水利行业知识培训课件
- 区域临床检验中心
评论
0/150
提交评论