logo资料库

C语言专项精讲课程讲义.pdf

第1页 / 共78页
第2页 / 共78页
第3页 / 共78页
第4页 / 共78页
第5页 / 共78页
第6页 / 共78页
第7页 / 共78页
第8页 / 共78页
资料共78页,剩余部分请下载后查看
新东方在线 计算机专项精讲课程讲义 C语言 计算机硕士专业基础班—C语言 赵海英赵海英 http://t.qq.com/flytianshan2012 章节 第一章 标题 内容 适用课程 例题/习题 基础知识 数制及转换 计算机字长 内存与地址 计算机组成 计算机网络 操作系统 考研真题 第二章 C语言组成 C数据组成、 数据及数据 类型 类型 数据结构 计算机组成 操作系统 操作系统 考研真题 C语言考研 第三章 第四章 顺序结构程序设计 框架 语句 输入、输出 选择结构程序设计 if---else switch(){… } C语言考研 C语言考研 数据结构 C语言考研 章节 标题 内容 适用课程 例题/习题 第五章 循环结构程序 设计 第六章 数组 3种结构 双循环 break continue 数据结构 操作系统 计算机组成 考研真题 C语言考研 一维数组 数据结构 操作系统 二维数组 计算机组成 字符串 考研真题 C语言考研 第七章 函数与预编译 定义/调用/ 原型 分析过程 传值 数据结构 操作系统 考研真题 C语言考研 章节 标题 内容 适用课程 例题/习题 第八章 指针 第九章 第九章 结构体 结构体 列指针 行指针 函数指针等 sturct类型 sturct类型 typedef 构造-定义-使用 数据结构 链表 C语言考研 数据结构 数据结构 计算机组成 考研真题 考研真题 C语言考研 第十章 位运算/文件 打开/关闭 数据结构 C语言考研 读写 指针定位/测试  第一章 基础知识 一、数制及转换 1、四种数制:二进制 十进制 八进制 十六进制 2、四种数制互相转换 二、习题练习 二、习题练习 1、ASCII码 2、内存 3、原码 4、地址映射 5、IP地址 第一章 基础知识 一、数制及转换 1、四种数制:二进制 十进制 八进制 十六进制 (1)十进制定义 (1)十进制定义 0 1 2 3… 9二种编码符号 逢十进一 例如:1234 34561 348758 23e9a1 09111 1 www.xztxxw.com QQ:159740804
新东方在线 计算机专项精讲课程讲义 C语言 第一章 基础知识 一、数制及转换 第一章 基础知识 一、数制及转换 1、四种数制:二进制 十进制 八进制 十六进制 1、四种数制:二进制 十进制 八进制 十六进制 (2)二进制定义 (2)二进制定义 0 1 二种编码符号 逢二进一 (3)八进制定义 (3)八进制定义 0 1 …7 八种编码符号 逢八进一 例如:10001 1001111 1000201 111111171 例如:123451 10678 20740 09341 07323 第一章 基础知识 一、数制及转换  第一章 基础知识 一、数制及转换 2、四种数制转换: 1、四种数制:二进制 十进制 八进制 十 二进制 十进制 八进制 十六进制 六进制六进制 (4)十六进制定义 0 1…9 A B C D E F 十六种编码符号 逢十六进一 例如:1abc1 0945dej5 9002fa1 78z823 (1)十->二进制 (25)10=(?)2 (25)10=(011001)2 口诀:除2取余倒排 例题(65)10=(?)2 (255)10=(?)2 第一章 基础知识 一、数制及转换 2、四种数制转换: 二进制 十进制 八进制 十六进制 (2)二->十进制 (11001)2=(?)10 口诀:按位乘权相加 例题(101111)2=(?)10 (1111 1111)2=(?)10 (3)二->八进制 (11001)2=(?)8 口诀:三位压成一位 二 八 000 -> 0 001 -> 1 010 -> 2 011 -> 3 100 -> 4 101 -> 5 110 -> 6 111 -> 7 例题(101111)2=(?)8 (1111 1111)2=(?)8 2 www.xztxxw.com QQ:159740804
新东方在线 计算机专项精讲课程讲义 C语言 (4)八->二进制 (721)8=(?)2 口诀:一位展成三位 八 二 0 -> 000 1 -> 001 2 ->010 3 -> 011 4 -> 100 5 -> 101 6 -> 110 7 -> 111 (5)二->十六进制 (1100111)2=(?)16 口诀:四位压成一位 二 十六 二 十六 0000 -> 0 1000 -> 8 0001 -> 1 1001 -> 9 0010 -> 2 1010 -> A 0011 -> 3 1011 -> B 0100 -> 4 1100 -> C 0101 -> 5 1101 -> D 0110 -> 6 1110 -> E 0111 -> 7 1111 -> F 例题(363)8=(?)2 (3871)8=(?)2 例题(101111)2=(?)16 (1111 1111)2=(?)16 (6)十六->二进制 (7aB1)16=(?)2 口诀:一位展成四位 十六 二 0 -> 0000 8 -> 1000 1 -> 0001 9 -> 1001 2 -> 0010 A -> 1010 3 -> 0011 B -> 1011 4 -> 0100 C -> 1100 5 -> 0101 D -> 1101 6 -> 0110 E -> 1110 7 -> 0111 F -> 1111 例题(3f9)16=(?)2 (a8f1)16=(?)2 二、数制应用 1、ASCII码 2、内存 3、机器码 3 机 4、地址映射 5、IP地址 1、ASCII码 A a B b $↙ ! 二进制存储? 唯一的二进制编码 结论:由美国A制定的标准S信息Ⅰ交换Ⅰ码C 结论:由美国A制定的标准S信息Ⅰ交换Ⅰ码C A-> 10000165 B->66 a->97 b->98 2、内存 78 23 内容值 地址 1001 1002 1003 1004 1004 1005 3 www.xztxxw.com QQ:159740804
新东方在线 计算机专项精讲课程讲义 C语言 3、机器码 真值->机器码(3种) 十进制-> 二进制 78=? 23=? 78 23 内容值 地址 1001 1002 1003 1004 1004 1005 4、地址映射 地址 1001 1002 78 23 内容值 1003 内容值 1003 1004 1005 题1:16位的逻辑地址,逻辑地址空间是多大? 物理内存32K,地址多少位? 216=64K 32K->15位 题2:假设逻辑地址32位,页面大小4K,逻辑地址 分成多少个页面? 4K=212 4K=212 232/212=220,页面数220,页号是20位 232/212=220,页面数220,页号是20位 题3:4个2K存储芯片,每个2K存储空间起始地址 是多少? 2K->11位 第一个2K:十六进制 000… 0 -> 0000H 111….1 -> 07FFH 第二个2K地址? 地址 1001 1002 1003 1004 1005 78 23 内容值 题3:4个2K存储芯片,每个2K存储空间起始地址 是多少?考研 2K->11位 第一个2K: 十六进制 000… 0 -> 0000H 111….1 -> 07FFH 第二个2K地址 0800H -0FFFH 第三个2K地址 1000H-17FFH 第4个地始是1800H-1FFFH 78 23 内容值 地址 1001 1002 1003 1004 1005 5、IP地址 题1:某主机IP地址为180.80.77.55,子网掩码为 255.255.252.0,问主机号部分多少位? 提示:IPV4地址是32位,对应二进制1的是网络号 ,对应0的倍数是主机号倍数 题2:求IP分组到达时,经过多少个路由器? 提示:两个十六进制的差 5、IP地址 题1:某主机IP地址为180.80.77.55,子网掩码为 255.255.252.0,问主机号部分多少位? 提示:IPV4地址是32位,对应二进制1的是网络号 ,对应0的倍数是主机号倍数 255->1111 1111 252->1111 1100 255.255.252.0 -> 11111111.11111111.11111100.0000 0000 题2:求IP分组到达时,经过多少个路由器? 40H-31H=? 40H-31H=0FH=15个 4 www.xztxxw.com QQ:159740804
新东方在线 计算机专项精讲课程讲义 C语言 题3:某主机IP地址为180.80.77.55,子网掩码为 地址 255.255.252.0,问主机号部分多少位? 255->1111 1111 252->1111 1100 255.255.252.0 -> 11111111.11111111.11111100.0000 0000 1001 1002 78 23 内容值 1003 内容值 1003 1004 1005 第二章 C语言组成及数据 一、C语言组成 二、数据与数据类型 三、C语言上机运行环境 、 语言上机运行环境 第二章 C语言组成及数据 一、C语言组成 main() int tmp1,tmp2,count; count=1; tmp1=count; tmp1++; count=tmp1; tmp2=count; tmp2=tmp2+2; count=tmp2; { } 组成结构 组成:若干文件 文件:若干函数 函数:函数头+函数尾 函数头:四部分‐>函数名+() 函数体:{}+语句 语句:三类语句 类型1/*     */ 类型2定义语句; 类型3执行语句; main() { int tmp1,tmp2,count; count=1; tmp1=count; tmp1++; count=tmp1; tmp2=count; tmp2=tmp2+2; count=tmp2; }     多少执行语句? int count=1; void fun1() {   int tmp1; tmp1=count; tmp1++; count=tmp1; }   void fun2() int tmp2; { tmp2=count; tmp2=tmp2+2; count=tmp2; } main() { /*int count=1;*/ fun1(); fun2(); } 多少执行语句? 第二章 C语言组成及数据 一、C语言组成 二、数据与数据类型 5 www.xztxxw.com QQ:159740804
新东方在线 计算机专项精讲课程讲义 C语言  二、数据与数据类型 数据四类:常量 变量 表达式 函数 常量:值不发生变化的量 变量:值随时随地改变的量 变量:值随时随地改变的量 表达式:用运算符将数据连接起来的合法式子 函数:调用具有一定功能的函数作为运行量  二、数据与数据类型 数据类型四大类:基本类型、构造类型、指针类 型、空类型 1、基本类型:整型 int 、字符型 char 、浮点型 1、基本类型:整型 int 、字符型 char 、浮点型 (单精度型 float 、双精度型 double) 、枚举 类型 enum 2、构造类型:数组型、结构体类型 struct 、共 用体类型 union 3、指针类型 4、空类型 void 标识符(三类) 1、保留字(关键字):共32个,固定含义,不能再做为它用。 如:int float char if else for 2、预定义标识符:在C语言中预先定义并具有特定含义的标识符。 scanf printf include 3、用户自定义标识符:由用户根据需要定义的标识符。如:变量名 、数组名、函数名等。 注:(1)用户自定义标识符, 注:(1)用户自定义标识符, 是字母或下划线 标识符只能由字母、数字、下划线组成,而且第一个字符必须 标识符只能由字母、数字、下划线组成,而且第一个字符必须 (2)在C程序中大小写字母是严格区分的。如int INT sum SUM ,C语言程序中主要使用小写。 标识符合法性判断: a_12 a12 3m do if IF aa.txt _12 c#bc Do  二、数据与数据类型 数据四类:常量 变量 表达式 函数 常量四类: 整型常量 实型常量 字符型常量 字符串常量 常量——整型常量 常量——实型常量 1、整型常量:三种形式(十进制、八进制、十六进制) 第一形式-> 十进制:是用一串连续的0…9数字 如32767,-32768,9,0,-7 第二形式-> 八进制:用数字0开头的一串连续合法八进制 第二形式-> 八进制:用数字0开头的一串连续合法八进制 如: 013,05,0777,089(出错) 第三形式-> 十六进制:用0x或0X 开头的一串连续合法的十六 进制 如:0x12,0xfff 若表示长整型常量则必须后加字母l或L,如0L、34l、0x123L 2、实型常量:两种形式(小数、指数) 第一形式 -> 小数形式:由数字和小数点组成。 如:123.456 123. .456 0.456 都是合法的实型常量 第二形式->指数形式:用“E”或“e”后紧跟一个整数表示以10为底幂 数 数 如:1.23E-5 注:(1)字母E或e之前之后必须都有数字,且后必是整数。 (2)字母E或e的前后及各数字之间不能有空格。 如:判断合法性 1.23e4 5.4e0.5 .23e5 4E 3E2 3.E2 6 www.xztxxw.com QQ:159740804
新东方在线 计算机专项精讲课程讲义 C语言 常量——字符型常量 常量——字符型常量 'A' '@' '9' 3、字符型常量:四种形式(常规、转义、八进制、十六进制) 第一形式-> 一对单引号括一个字符。 如:'a' 第二形式->转义字符常量:必须以一个反斜杠“\”开头 常用的转义字符有: 常用的转义字符有: \n 表示换行符 \n 表示换行符 \t 表示制表符 \b 表示退格符 \r 表示回车符 问题‘\’合法? 3、字符型常量:四种形式(常规、转义、八进制、十六进制) 第一形式-> 一对单引号括一个字符。 第二形式->转义字符常量:必须以一个反斜杠“\”开头 第三形式 -> \ddd 最多以有三位八进制数 第三形式 -> \ddd 最多以有三位八进制数 第四形式 -> \xhh 最多可以有两位十六进制数 常量——字符串常量 变量 4、字符串常量:一种形式 定义:用一对双引号(双撇号)括起来若干个字符 如:“abcdefgh” "1234567“ "a1b2c3d4" 注:(1)每一个字符串尾都有一个字符串结束符’\0’, (2)C语言中没有字符串变量。 一定要区分字符常量和字符串常量 变量使用规则:先定义后使用 定义格式:数据类型名 比如: (1) int i; int j; int k; 变量名列表 ; (2) int i,j,k; (3) int i=1,j=1,k=9; /*赋初值*/ 注:(1)变量必须先定义后使用。 注:(1)变量必须先定义后使用。 int long float double char (与常量类型一致) (2)变量名属于用户标识符,遵守用户标识符命名规则。 (3)在同一“函数体”{}中不能定义同名变量 (4)同时定义多变量,必用逗号分隔 (5)变量可赋初值(初始化),无初值是随机值 777 函数 函数(标准函数 自定义函数) #include 表达式 定义:表达式:用运算符将数据连接起来的合法式子 运算符:三个属性:功能、优先级、结合性(运算方向) 如:3.5+1/2   1+2+3   3.5+(1/2) (3.5*1)/2=1.75 可以参与运算: sqrt(7)/9+abs(-5) 1.0/2=? 1/2=? 7 www.xztxxw.com QQ:159740804
新东方在线 计算机专项精讲课程讲义 C语言 表达式 1、算术运算符及算术表达式: + - * / % 求余(%): (1) 两边运算对象必须是整型 (1) 两边运算对象必须是整型 如:7.0%3 、 4%3. 不合法的表达式 表达式 求余(%): (2)求值方法:先忽略负号不计求出余数,再将所得余数的符 号定成与被除数相同的符号即可。 如: 如: 17%3 17%3 17%-3 -17%3 -17%-3 结果为:-2 结果为:2 结果为:2 结果为:2 结果为:-2 注:(1)单独的常量、变量或函数调用都是C语言合法表达式 (2)凡是表达式都有一个确定的值 隐式转换 double float long unsigned 表达式 2、赋值运算符及赋值表达 赋值运算符:= 格式: 变量名=表达式 赋值运算符的功能:将表达式的值赋给“=”左边的变量 int char 例如:A=5+8 表达式 注:(1)赋值运算符左边只能是一个变量 如:a+b=3 4=3 非法表达式 a=6 a+(b=3) 合法的表达式 (2)赋值运算符右边可以合法表达式 如: a=b=20 如: a=b=20 a=(b=10)/(c=2) a=(b=10)/(c=2) (3)赋值表达式的值就是赋值运算符左边变量值。 (4)实型数据赋给整型变量时,实型小数舍去;整型数据 赋给实型变量时系统自动将整型数据转成实型数据 表达式 复合赋值运算符: += 、-=、*=、/=、%=、&=、|=、^=、>>=、<<= 注:复合赋值运算符的两个运算符中间不能有空格。 如: a+=3   a=a+3 a=5,b=8;则下列表达式的值是多少?用完表达 例1.若有int a=5,b=8;则下列表达式的值是多少?用完表达 例1.若有int 式后变量a 和 b的值分别为多少? a+=b/=a 表达式的值: A的值: B 的值: 例2.若有int a=5,b=9;float c;则表达式c=b/a+1.2的值多少? 8 www.xztxxw.com QQ:159740804
分享到:
收藏