




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章 C语言基础知识一、C语言简介:C语言是国内外广泛使用的一种计算机语言。特点:语法简洁、紧凑、功能丰富、使用方便灵活、目标程序效率高、可移植性好。二、学好C语言的要求:1、多想。编写实际应用的程序就是一个做应用题的过程。首先,仔细研究实际问题的整个过程的变化规律(这就是一个读题的过程);其次,根据变化规律,抽象出数学模型(列出数学表达式);最后,用C语言将其实现(解答)。2、多读。大量阅读程序,不仅可以增强你对基础知识的把握,而且可以从中学会很多编程技巧和算法,进而加强你解决问题的能力。3、学会调试。调试是编程过程中非常关键的一步。三、上课要求:1、课前认真预习,上课认真听讲,课后认真复习。2.、在PC机上安装VC6.0,课余时间自己学习编写程序。四、本章学习内容:1、C程序的构成和格式2、标识符的概念和命名规则3、常量与变量4、二进制、八进制、十进制、十六进制之间的转换5、常用数据类型6、运算符与表达式-1.1 C语言的基本格式例1.1 #include”stdio.h” /*第一行是命令行,以#开头,后面不加分号,因为他不是程序语句*/ main() /*程序中有且仅有一个main函数,函数执行都是从main函数开始*/ /*大括号要成对出现,且外面不要加分号*/ int a, b, c; /*int表示整形数据,任何变量使用前都要先定义后使用*/ a=1; /*注意这里的=不是等于的意思,而是赋值。C语言中的等于是=*/ b=2; /*注意函数内部语句后面要加分号*/ c=a+b; printf(“%d”,c); /*输出语句 */总结:P 2 C语言严格区分大小写,即A和a在程序中表示不同的值; C语言中的符号都必须是英文输入下的符号; 变量定义后必须先初始化,再使用。课后习题:P19 选择题 1、2、-1.2 标识符、常量和变量1、标识符标识符定义:标识符命名规则: 标识符必须由数字、字母和下划线组成; 标识符的首字符必须是字母或下划线注意:标识符的命名必须同时满足!例题:选出正确的标识符8a、a8、aaa、_a、_8、a_b、a&b、no?、12C、课后习题:P19 选择题 4、5、6、10、20、标识符分类: 关键字: 预先规定的一批具有特定含义的,专门用来说明C语言成分的标识符。附录P203 预定义标识符:在C语言中预先定义并使用了的标识符,具有特定含义。 用户标识符:用户根据自己需要定义的标识符。2、 常量 常量定义:在程序运行过程中,其值不能改变的量。 常量分类: 整型常量、实型常量、字符常量、字符串常量、符号常量 分析例1.23、 变量 变量定义:在程序运行过程中,其值可以随程序要求而随时改变的量。-1.3 整形数据1、 整形数据的表示 十进制整数 用09十个数字表示。 八进制整数 用07八个数字表,但是前面必须加个0。在C语言中144到底是八进制还是十进制,为了区别,在八进制数钱加0。int a=100; /*100是十进制 */int a=0100; /*0100是八进制 */ 十六进制整数 用09以及af或AF表示,但是前面必须加0x和0X。int a=100; /*100是十进制 */int a=0x100; /*0x100是十六进制 */注意:C程序中没有直接用二进制表示的整型常量;八进制和十六进制前面加的是0不是o;二进制、八进制和十六进制的读法和十进制不同;十六进制中的字母不区分大小写,但是不能大小写混用。2、 二进制、八进制、十进制和十六进制之间转换 提问: 为什么计算机内部只用二进制表示?答:高低电平,便于物理实现。 为什么需要八进制和十六进制?答:进制越大,数的表示长度越短 为什么偏偏需要八进制和十六进制,而不需要九进制或五进制?答:2、8、16正好是2的1次方,2的3次方,2的4次方。这点可以使进制之间相互转化。八进制和十六进制相当于缩短了的二进制,但是保持了二进制的表达方式。二进制和十进制之间转化 例: 101100110转化为十进制数是358 29转化为二进制数是11101八进制和十进制之间转化 例: 八进制数01507转化为十进制数是839 十进制数474转化为八进制数是732十六进制和十进制之间转化 例: 十六进制数0xf4转化为八进制数是244十进制数474转化为十六进制数是0x1da二进制和八进制之间转化例:八进制数0732转化为二进制数是111011010二进制数10110011转化为八进制数是0263二进制和十六进制之间转化例:十六进制数0x7d转化为二进制数是01111101二进制数10110011转化为十六进制数是0xb33、 整型数据整型变量分类 数据在内存中是以二进制的形式存放。位bit是计算机内存机器中最小存储单位,每一位存放0或1,所以称为二进位。一个字节包含8个二进制位,并且给每一个字节分配一个地址。一般把字节中最右边一位称为低位,最左边的为高位。 表1-2 整数类型表 各种数据类型在内存中的字节数。整型数据在内存中的存放形式对于有符号的整型变量,最高位是0表示正整数;最高位是1表示负整数。有符号正整数以原码的形式存放。以short型为例,占8个字节,即16个bit位,存放有符号的正整数时,最高位是0,即0111111111111111,即为最大存储的整数。原码:负整数以补码的形式存放。例:求-10的补码 求10的原码 0000000000001010 求原码的反码 1111111111110101 补码=反码+1 1111111111110110例:求1111 1111 1111 1101的相应的负整数 结果:-3补充习题:求下列的数的补码(每次存储一个字节数据)。0、-1、+1、-128、-127、+127-1.4 实型数据1、实型常量 十进制小数形式 由数字和小数点组成的一种实数表示方法。 注意: 当一个十进制小数在它前面或后面的数据时0时,0可以省略,但同时为0只能省略一个0。 例:0.245可以写成 .245。0.0可以写成0.或.0。245.0可以写成245. 十进制指数形式 e或E后加一个整数表示以10为底的幂数。 注意:e前e后必有数,e后必须是整数。 例 1.32、实型变量 实型变量分为单精度(float)和双精度(double)两类。 float的存储单元是4个字节,double是8个字节。 例1.4 补充:十进制小数和二进制之间的转化-1.5 算术表达式和赋值表达式1、算术运算符和算术表达式 运算符的优先级 a同级运算,从左到右; b 不同级运算,按照优先级从高到低。 P204 附录2 补充: sizeof运算符:用于计算操作数类型或表达式的值占用内存的字节数。格式为: sizeof() 举例: sizeof(int) /4 目就是参与运算的元素,单目,双目,三目 +、*、/、% a /(除法)运算的运算结果与精度高的对象的类型相一致; b %(求余)运算中参与运算的对象必须是整形; 例 1.52、强制类型转换 (类型名)表达式类型名就是强制转换的类型,他可以将表达式的值转换成括号里相应的类型。注意: 强制转化的类型名必须用括号括起来; 强制转化作用的对象是最靠近类型名的元素或表达式。例题 (int)3.9+3.8, (int) (3.9+3.8) 3、赋值和赋值表达式 变量名 = 表达式 注意:P 14 例:a=6;b=7;c=9;a=b;b=c;c=a;求a、b、c。 4、复合赋值表达式 n+=a - n=n+a n -=a - n=n-a n*=a - n=n*a n /=a - n=n/a n%=a- n=n%a 例 1.7 -1.6 逗号运算符和自加、自减运算符1、逗号运算符和逗号表达式 “,”是C语言中一种特殊的运算符,用逗号连接表达式: 表达式1,表达式2,表达式3,表达式n 逗号运算符的优先级最低。 逗号运算符的结合性是从左到右,但最终整个逗号表达式的值是最后一个表达式的值。注意:并非所有的逗号都构成逗号表达式。例如,max(a+b,c+d)中,逗号只是一个分隔符。例:a=(i=1,b=2,c=4) 求a的值例:1.82、自加和自减运算符 自加和自减运算符都做加一或减一的操作,但是位置不同,计算的顺序也不相同。 注意: 增量运算符的运算对象只能是变量; 前置的+(或-)表示先将变量的值增1(或减1),再把变量的值参加运算;后置的+(或-)表示先把变量的值参加运算,然后再将变量的值增1(或减1)。 例:设有 int a=1, x=7, y; y=x+ + +a; 结果为 x=8,a=2,y=9(不为10) 讲解: +i(或-i),先把i的值代入程序中计算,然后再做“加一或减一”运算;i+(或i-),先做“加一或减一”运算,然后再把i的值代入程序中计算。 例1.9-1.7 位运算和位运算符1、位运算符位运算是对二进制数中的每一位数据进行操作的运算符,那么位运算操作对象是二进制数。如果运算的对象不是二进制数,那么将操作数转化为二进制进行计算。本节主要介绍六种位运算符:取反、左移、右移、按位与、按位异或、按位与。表1-5 重点关注优先级求反运算符为单目运算符,优先级最高,结合性是自右到左;其他为双目运算符,结合性为自左到右。位运算符的运算对象只能是整数或字符型数据。2、取反 格式: a运算功能:把a的各个二进制位取反运算实例: 1的值是0; 0的值是13、左移(1) 格式:a 位数(2) 规则:使操作数的各位左移,低位补0,高位溢出:a=15,则a=a位数(2)规则:使操作数的各位右移,移出的低位舍弃;高位:1)对无符号数和有符号中的正数,补0;2)有符号数中的负数,取决于所使用的系统:补0的称为“逻辑右移”,补1的称为“算术右移”。 例如: a=017: 00001111 a2为:00 000011又如a: 10101111a2: 00 101011 (逻辑右移)a2: 11 101011 (算术右移)5、按位与 (1) 格式:a&b(2) 规则:对应位均为1时才为1,否则为0:3&5=1。例如,3&5=1: 0 0 1 1 & 0 1 0 1 0 0 0 1=1 (3) 主要用途:取(或保留)1个数的某(些)位,其余各位置0。 注意:两个同时为1才为16、按位异或 (1)格式:ab(2)规则:对应位相同时为0,不同时为1:5742=19。 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 0 0 0 0 1 0 0 1 1(3)主要用途:使1个数的某(些)位翻转(即原来为1的位变为0,为0的变为1),其余各位不变。注意:异为1,同为07、按位或 (1)格式:x|y (2)规则:对应位均为0时才为0,否则为1:3|9=11。例如,3|9=11: 0 0 1 1 | 1 0 0 1 1 0 1 1=11 (3)主要用途:将1个数的某(些)位置1,其余各位不变。 注意
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025城镇公益性岗位人员招聘26人模拟试卷及1套参考答案详解
- 2025贵州罗甸县第一医共体板庚分院招聘合同制专业技术人员考前自测高频考点模拟试题带答案详解
- 2025湖南株洲市工业中等专业学校招聘第一批高层次人才13人模拟试卷及答案详解(有一套)
- 2025年压裂设备专用件项目合作计划书
- 2025年广元市贵商村镇银行科技人才招聘考前自测高频考点模拟试题及参考答案详解
- 2025年注射剂类药品项目发展计划
- 2025年春季中国诚通控股集团有限公司校园招聘49人考前自测高频考点模拟试题带答案详解
- 广播剧《撒野》课件
- IDO1-IN-27-生命科学试剂-MCE
- 2025黑龙江东北林业大学土木与交通学院派遣人才招聘1人考前自测高频考点模拟试题附答案详解(考试直接用)
- 设备保管协议书
- 退役士兵求职简历模板+自荐书
- 控制阀培训课件
- 湘菜湖南美食文化介绍PPT
- 外科学外科休克PPT
- 三年级上册语文人教版《练习册》答案
- 浙人美2011版四年级美术上册《水资源》教案及教学反思
- 全桥LLC自动计算表格
- 露天矿土石方剥离施工方案
- 魔芋怎么种?魔芋的种植技术
- GB/T 26766-2011城市公共交通调度车载信息终端
评论
0/150
提交评论