c语言学习框架.docx
- 文档编号:5064413
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:24
- 大小:102.44KB
c语言学习框架.docx
《c语言学习框架.docx》由会员分享,可在线阅读,更多相关《c语言学习框架.docx(24页珍藏版)》请在冰豆网上搜索。
c语言学习框架
C语言基础知识
(一)
内容说明
主要1.c语言出现的历史背景
内容2.c语言的特点
3.c语言的基本词法—标识符
4.c语言的基本数据类型
重点1.标识符的概念
2.整型数据类型
难点1.标识符的概念
2.常量与变量的区别
问题什么是C语言?
为什么会出现C语言?
提出
通过对c语言的介绍,自然引入各部分内容
一.C语言概述
1.介绍C语言出现的历史背景
2.介绍C语言的特点
3.C语言的基本结构及程序设计风格
举例:
分析以下程序的结构
#include
程序入口
函数体
部分
main()/*主函数*/
{inta,b,sum;/*声明部分,定义变量*/
a=123;b=456;
sum=a+b;
printf(“sumis%d\n”,sum);/*输出c的值*/
}
结合实例讲解
总结:
C程序的主要结构特点如下:
所有的c程序都是由一个或多个函数组成的程序模块构成的。
在程序中,可以包含任意多个不同名的函数,但必须有且仅
有一个main()主函数。
c程序总是从主函数main()开始
执行的。
c语言程序是由语句组成,使用“;”作为语句的中止符或分
隔符。
一行中可以有多个语句,一条语句也可以占用任意多行
c语言程序中用{}将函数体括起来。
c语言中注释的格式:
/*注释内容*/。
二.c语言的基础知识
1.标识符
概念用来作变量、符号、函数和数组、文件等的名字。
举例说明
规定标识符的命名原则:
由字母、数字和下划线组成,并且第一
个字符必须为字母或下划线。
分类
关键字参考附录一int、if…
标识符预定义标识符printf…
用户标识符注意做到见名知义_in、a23b…
【注意】标识符区分大小写。
标识符的长度为8个字符,长于8个的字符不被识别。
2.常量
如整型常量:
12,0,-34
实型常量:
4.6,-1.45
字符常量:
‘a’,‘d’
概念在程序运行过程中,其值不能被改变的量。
①数值常量
②符号常量--用一个标识符代表一个常量,如:
#definePRICE30/*命令行定义*/
main()
{
intnum,total;
通过程序说明符号常量的使用
num=10;
total=num*PRICE;
printf(“total=%d”,total);
}
如上题中加入赋值语句PRICE=40;是不对的。
【注意】符号常量的值在其作用域内不能改变,也不能再被赋值。
习惯上,符号常量名用大写,变量名用小写。
改变符号常量值须在命令行中修改,“一改全改”。
3.变量
概念其值可以改变的量称为变量。
遵守标识符的命名规则。
深化变量的实质:
介绍变量存储单元的关系。
注意区分变量名与变量值概念
例如:
a=3;其存储为:
变量名
a
3
变量值
存储单元
【总结】常量与变量的区别:
取值是否固定。
讲述三.整型数据
1.整型常量的表示
0123
123,0,-32
十进制整数。
0x123
②八进制整数。
以0开头。
③十六进制整数。
以0x开头。
介绍8进制和16进制与10进制的转化
⑵整型变量
①整型数据在内存中的存放形式
数据在内存中以二进制形式存放,占用2个字节,数值以
补码表示。
如定义整型变量i的值为10,在内存中存放形式为:
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
如不加限制,最高位为符号位,最大正整数为32767。
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
举例介绍负数求补方法
求负数的补码方法如下:
将该数的绝对值的二进制形式,按位
取反再加一。
②整型变量的分类。
见下表:
类型
字节数
使用表格对比的说明
数的范围
[signed]int
2
-2
~(2
-1)
Unsignedint
2
0~(2
-1)
[signed]short[int]
2
-2
~(2
-1)
Unsignedint
2
0~(2
-1)
Long[int]
4
-2
~(2
-1)
Unsignedlong[int]
4
0~(2
-1)
【注意】无符号整数,因其最高位不再用来存放整数符号,因此无符号
整数不可能是负数。
如:
inta,b;定义两整型变量a,b
③整型变量的定义
格式整型类型标识符变量名
【说明】数据类型的选择要注意避免数据的溢出。
长整型常量与长整型无符号整数常量用后缀l或L和lu或
LU标识
C语言基础知识
(二)
内容说明
主要1.实型数据类型的基本知识
内容2.字符型数据类型的基本知识
3.变量定义时赋初值
4.各数值型数据间的混合运算
重点1.实型数据类型的基本知识
2.字符型数据类型的基本知识
难点1.字符型数据与整型数据的相互转化
2.变量定义时赋初值
介绍一.实型变量
1.实型数据在内存中的存放形式
实型数据在内存中占4个字节(32)位。
按照指数形式存贮。
系统把实型数据分成小数部分和指数部分。
如实数3.6547的
存放形式如图所示:
+
.36547
1
数符小数部分指数
+.36547*10
3.6547
2.实型变量的分类。
见下表:
类型
字节数
有效数字
数值范围
float(单精度)
32
6~7
10
~10
double(双精度)
64
15~16
10
~10
longdouble(长双精度)
80
18~19
例如:
floatx,y;
doublez;
10
~10
3.定义实型数据:
类型标识符变量名
例:
如下程序
出现舍入误差
main()
{floata,b;
a=123456.78e5;
b=a+20;
printf(“%f”,b);}
【注意】避免将一个很大的数和一个很小的数直接相加或相减。
4.实型常量的类型
【说明】在常量的后面加f或F,编译系统会按单精度常量进行计算。
在实型常量符值时,要注意常量类型与有效数字的关系。
二.字符型数据
1.字符常量
注意:
‘a’和‘A’是不同的。
概念用单引号括起来的一个字符。
有如下形式:
①‘a’,‘D’,‘?
’,‘#’等。
②转义字符----以“\”开头的字符序列,常见的有:
\n----换行\t----水平制表
\b----退\r----回车
\f----换页\\----反斜杠字符“\”
例如:
\101代表ASCII码为65的字符A,\012代表换行
\’----单引号字符\”----双引号字符
\ddd----1到3位8进制数所代表的字符
\xhh----1到2位16进制数所代表的字符
【注意】‘\0’或‘\000’代表ASCII码为0的“空操作”。
举例转义字符的使用
main()
{printf(“abc\tde\rf\tg\n”);
printf(“h\ti\b\bjk”);}
结果为:
fgde
hjk
2.字符变量
概念用来存放字符常量,注意只能放一个字符
①字符变量的定义形式如下:
charc1,c2;
②字符变量的赋值形式如下:
c1=’a’;c2=’b’;
③字符数据在内存中的存储形式及其使用方法
讲解一个字符变量在内存中占一个字节,字符型数据与整型数
据可以相互转化。
也可以互相赋值。
如下例:
注意字符变量与整型变量的相互转化。
常用这个特点解决大小写字母转换问题。
main()
{charc1;
intc2;
c1=97;
c2=’b’;
prntf(“%c%c\n”,c1,c2);/*以字符形式输出*/
printf(“%d%d\n”,c1,c2);}/*转换为整数形式输出*/
运行结果如下:
ab
9798
字符串常量可以输出:
printf(“howdoyoudo.”);
④字符串常量
概念字符串常量是一对双引号括起来的字符序列。
如:
“howdoyoudo.”,“CHINA”,“$23.34”等。
区分⑤字符常量与字符串常量的区别:
a
‘a’----字符常量,在内存中占一个字节,存储形式为:
“a”----字符串常量,在字符串结尾加字符串结束
标志’\0’。
a
\0
因此存储形式为:
如:
charc;
c=”CHINA”;是不对的
【注意】不能把一个字符串赋给一个字符变量
三.变量定义时赋初值
1.单独赋初值
inta=3;<=>inta;
a=3;
2.定义变量的一部分赋初值
inta,b,c=5;<=>inta,b,c;
c=5;
【注意】在定义变量赋初值时不能使用连等。
如下语句错误:
inta=b=c=3;
四.各类数值型数据间的混合运算
整型、实型、字符型数据间可以混合运算,进行运算时,
不同类型数据要先转换成同一类型,然后进行运算。
转化规则
如图所示:
doublefloat
高
long
unsigned
低intchar,short
【规律】字符型数据向整型数据转换,短字节类型向长字节类型转换。
C语言基础知识(三)
内容说明
主要1.运算符和表达式
内容2.算法与N-S图
重点算术运算中的取余和整除
难点1.自增、自减运算符
2.复合算术运算符
引入c语言包括多种运算,这里重点讲授算术运算符,其他运算
符如:
关系运算符,逻辑运算符,条件运算符等,在以后各章
中结合有关内容将陆续介绍其他运算符。
介绍双目单目运算概念
一.基本的算术运算符
类型
运算符
说明
双目或单目
+(加)
如5/3的结果为1,17%-3的结果为2,-19%4的结果为-3。
参加运算的两个数中有一个数为实数,则结果为double型。
两个整数相除的结果为整数,如果除数或被除数中有一个为负值,多采取“向零取整”法
-(减)
双目
*(乘)
/(除)
%(取余)
运算量必须为整数。
当运算量为负数时,符号与被除数相同
【说明】双目运算符运算数的类型必须一致,否则先进行类型转换。
所有实型数的运算均以双精度方式进行。
二.运算符的优先级、结合性和算术表达式
1.优先级
()、+、-、*、/、%、+、-
单目双目
高低
2.结合性
单目运算符“-”和“+”的结合性是从右到左,其余运算
符的结合性都是从左到右。
运算对象可以是常量、变量和函数等
三.算术表达式
【注意】在算术表达式中使用多层圆括号时,圆括号要成对出现。
运算时从内往外依次计算。
不同优先级按优先级由高到低顺序进行,同级按运算符的结
合方向进行。
强制类型转换得到一个所需类型的中间变量,原来变量的类型不发生变化。
四.强制类型转换运算符
形式(类型名)(表达式)
如:
(int)x%3
(float)(5%3)
【注意】表达式应用括号括起来。
五.自增、自减运算符
++i,--i(在使用i之前,先使i的值加1或减1)
i++,i--(在使用i之后,使i的值加1或减1)
举例说明
区分以下两条语句:
i的初值为3
j=++i;(i的值先变成4,再赋给j,j的值为4)
j=i++;(先将i的值3赋给j,j的值为3,然后i变为4)
说明不宜使用自增自减运算情况:
输出语句,一个表达式同一个变量多次自增自减运算。
【注意】对于形如i+++j的表达式,应理解为(i++)+j的形式。
自增、自减运算符只适用于变量,不能用于常量和表达式。
++和—的结合方向是“自右至左”。
i++相当于-(i++)。
六.赋值运算符和赋值表达式
1.赋值运算符“=”
2.赋值表达式的一般形式:
变量名=表达式
【说明】赋值运算符的优先级别只高于逗号运算符。
具有自右向左的
介绍“截断法”和“补足法”
比如:
a=b=c+2;
a=(b=10)/(c=2)
结合性。
如果赋值运算符两侧的类型不一致,要进行类型转换。
赋值号右边的表达式也可以是一个赋值表达式,按照自右
向左的结合顺序。
七.复合的赋值运算符
名称
运算符
运算规则
运算对象
例如:
x%=y+3相当于x=x%(y+3)
运算结果
加赋值
+=
a+=b<=>a=a+b
整型或实型
整型或实型
减赋值
-+
a-=b<=>a=a-b
乘赋值
*=
a*=b<=>a=a*b
除赋值
/+
a/=b<=>a=a/b
模赋值
%=
a%=b<=>a=a%b
整型
整型
注:
其中如果b是包含若干项的表达式,则相当于它有括号。
八.逗号运算符和逗号表达式
概念用逗号将表达式连接起来的式子称为逗号表达式。
a=3*5,a*4;
a的值为15,整个逗号表达式的值为60。
1.其一般形式为:
表达式1,表达式2
2.逗号表达式的求解过程:
先求解表达式1,再求解表达式2。
整个逗号表达式的值是表达式2的值。
说明一个逗号表达式可以与另一个表达式组成一个新的逗号表达式。
如:
(a=3*5,a*4),a+5
3.逗号表达式一般形式的扩展:
例如:
输出语句中多个变量之间用逗号分隔
形式表达式1,表达式2,……表达式n
【注意】并不是出现的任何逗号都是作为逗号运算符。
在所有运算符中,逗号运算符的优先级别最低。
九.算法
引入怎样才能编写出程序呢?
除了选定合理的数据结构外,还有关键的一步,就是设计算法。
概念算法是指为解决某个特定问题而采取的确定切有限的步骤。
特点算法应当具有以下五个特性:
有穷性、确定性、可行性、有零
个或多个输入、有一个或多个输出。
流程图是描述算法的很好的工具,有以下几种基本框组成:
开始或终止框处理框输入输出框判断框流程线连接点
另外一种描述算法的工具是N-S图。
结构化程序三种基本结构用算法的描述:
1.顺序结构
(流程图)(N-S图)
2.
选择结构
(流程图)(N-S图)
3.循环结构
(流程图)(N-S图)
例题先后输出若干个整数,要求打印出其中最大的数,当输入的
数小于0时结束。
用N-S流程图表示算法。
N-S流程图如下:
读入一个数给x
max=x
当x>o
x>max
是否
max=x
读入一个数给x
输出max
总结:
通过以上对C语言的基础知识的讲解,我们了解了C语言出现
的背景、结构以及语法知识,这些是我们后面学习的一个基础,
因此要重点掌握。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学习 框架