ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:96.67KB ,
资源ID:4330852      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4330852.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(二级C语言教材1.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

二级C语言教材1.docx

1、二级C语言教材1第1章 C语言概述1.1进制及其相互转换1.2C语言环境介绍(简介)1.3C语言语法简介1.4C语言数据类型1.1进制及其相互转换考点:(1) 进制的构成。 (2) 进制间的相互转换。1.1.1进制种类及进制构成日常生活中,我们在进行数值运算时,通常在进行加法时是逢十进一,在减法中借一顶十,而这种大家所熟识的数据运算形式就是进制中的十进制。在C语言课程中,包含的进制除十进制外,还包括二进制、八进制和十六进制。而对于计算机能够存放的数据而言只有二进制。各进制的组成情况:十进制:任何一个十进制数据是由0 9中的数字组合构成,逢10进1。二进制:任何一个二进制数据是由0、1中的数字组

2、合构成,逢2进1。八进制:任何一个八进制数据是由0 7中的数字组合构成,逢8进1。十六进制:任何一个十六进制数据是由0 9、A(a) F(f)中的符号组合构成,逢16进1。其中A(a)代表10,B(b)代表11。进制内的一些概念:例如:用位权的形式表示十进制数416876的结果。(按权展开)416876=4*105+1*104+6*103+8*102+7*101+6*100位权:各位上以某数为底的多少次幂的格式。例如,上述表达式内105等都是位权。基:每种进制内适逢某数就会向前进一,此数为基。例如,十进制逢10进1,10为基。关于C语言中各进制的基、位权等内容如表1-1所示:表1-1 进制转换

3、进位制二进制八进制十进制十六进制基数281016规则逢2进1逢8进1逢10进1逢16进1权2181101161表示符号BODH1.1.2 进制的转换在C语言课程中,进制之间的转换是我们必须了解并掌握的内容。1 二进制与十进制之间的转换二进制转换成十进制规则:(按权展开)二进制数各位上的数与其所在位的位权乘积之和。例如:(11011)2=(26)101*24+1*23+0*22+1*21+1*20=26十进制转换成二进制规则:除2取余,余数倒写连接在一起。(除2取余法)例如:(19)10=(10011)2注:例题转换方法如图1.1所示:021949212222.11001图1.1 十进制转换成二

4、进制附: 按权组合法: 附例1:19=16+2+1=24+21+20=(10000)2+(10)2+(1)2=(10011)2附例2:78=64+8+4=26+23+22=(100000)2+(10000)2+(100)2=(110100)22 二进制与八进制之间的转换 (3位分隔法)二进制转换成八进制规则:将二进制数小数点左侧部分从右向左,每三位进行分隔后将此三位二进制数转换成对应的八进制数,将转换得到的八进制数从左向右依次连接在一起;小数点右侧部分从左到右每三位进行分隔后将此三位二进制数转换成对应的八进制数,将转换得到的八进制数从左向右依次连接在一起。例如:(1100110)2=(146)

5、8步骤:(1)1,100,110 对应 1 1 100 4 110 6(2)146为对应八进制数八进制转换成二进制规则:将一个八进制数,每位上的数转换成对应的三位二进制数后,将转换结果从左向右依次连接在一起。例如:(766)8=(111110110)2步骤:(1)7 111,6 110,6 110 (2)111110110为对应二进制数注:八进制数内不会出现数字8和9,否则为不合法情况。二进制与八进制数的对应关系如表1-2所示:表1-2 07二进制与八进制对比二进制八进制二进制八进制000000110102011310041015110611173 二进制与十六进制之间的转换(4位分隔法)二进

6、制转换成十六进制规则:将二进制数小数点左侧部分从右向左,每四位进行分隔后将此四位二进制数转换成对应的十六进制数,将转换得到的十六进制数从左向右依次连接在一起;小数点右侧部分从左到右每四位进行分隔后将此四位二进制数转换成对应的十六进制数,将转换得到的十六进制数从左向右依次连接在一起。例如:(110001100)2=(18C)16步骤:(1)1,1000,1100 对应 0001 1 , 1000 8 , 1100 12 C(2)18C 为对应十六进制数十六进制转换成二进制规则:将一个十六进制数每位上的数转换成对应的二进制数后,将转换结果从左向右依次连接在一起。例如:(3A)16=(111010)

7、2步骤:(1)3 0011,A 1010 (2)00111010简写为111010为对应的二进制数注:十六进制数10 - 15的表示方法使用的是字母a f或A F;在十六进制数中不会出现10 15(含10和15)之间的数。二进制与十六进制数的对应关系如表1-3所示:表1-3 015二进制与十六进制对比二进制十六进制二进制十六进制000000001100102001130100401015011060111710008100191010(10)A1011(11)B1100(12)C1101(13)D1110(14)E1111(15)F4 八进制与十进制之间的转换 (自习)八进制转换成十进制的规则

8、:八进制数各位上的数与其所在位的位权乘积之和。例如:(71)8=(57)107*81+1*80=57十进制转换成八进制的规则:除8取余,余数倒写连接在一起。(余数最大值可以是7)例如:(4553)10=(10711)8注:例题转换方法如图1.2所示:5、十六进制与十进制之间的转换 (自习)十六进制转换成十进制的规则:十六进制数各位上的数与其所在位的位权乘积之和。例如:(12A)16=(298)101*162+2*161+10*160=298十进制转换成十六进制的规则:除16取余,余数倒写连接在一起。(余数最大值可以是15)。例如:(465)10=(1D1)16注:余数内超过10的部分在连接书写

9、时需要使用a f或A F表示,十六进制数内的英文字母在参加运算时转换成其对应的数值,且例题转换方法如图1.3所示: 图1.2 十进制转换成八进制 图1.3十进制转换成十六进制试题解析:十进制数397的十六进制值为【 】A)18D B)18E C)277 D)361A 解析:本题考点涉及的是进制转换。将十进制转换成十六进制方法有两种:第一种可以将十进制转换成二进制,再通过二进制转换成十六进制;另一种将十进制直接转换成十六进制,通过除16取余的形式。397/16 商24 余数13 24/16 商 1 余数8 1/16 商0 余数1,余数反写(13对应D)结果为18D。附:按权组合:397=1*25

10、6+8*16+13=1*162+8*161+13*160=(18D)16附例:97=( )2 =( )161.2C语言环境介绍(简介)1.2.1 C语言程序的开发步骤1.编辑在C环境窗口内创建C语言源程序,并以文件的形式进行存储, C语言源程序文件都是以.c为后缀存储的。2.编译通过C环境界面内的编译按钮,经过编译后将源程序文件转换成目标程序文件,目标程序文件都是以.obj为后缀存储的。3.连接通过C环境界面内的连接按钮,将目标程序文件连接成执行程序文件,可执行文件都是以.exe为后缀存储的。4.执行通过C环境界面内的执行按钮完成。在C语言程序的开发过程中,将出现3个文件:.c,.obj,.e

11、xe,这3种文件内可执行的只有.exe文件,.obj和.exe都是二进制文件而.c文件是文本文件。1.2.2 C语言程序环境的使用1.打开C环境,建立C语言源程序文件。(1)选择Visual C+程序打开:可以找到桌面的快捷方式 双击,或在开始菜单程序下Visual C+6.0单击。(2)进入VC+环境如图1.4,单击”结束”。图1.4 进入VC环境(3)新建VC+源程序文件如图1.5所示,新建窗口内选择”文件”下的”C+ Source File”,在右侧的文件框内输入文件名,文件名后加.c后缀如图1.6所示: 图1.5 C语言文件菜单 图1.6 VC+ 新建文件窗口(4)进入源程序窗口,书写

12、程序如图1.7所示:图1.7 VC+程序编辑界面(5)编译生成目标文件,选择工具栏内的按钮单击,在以后出现的对话框内单击 “是”,编译无误才可以进行连接,查看编译无误的位置在程序窗口下方如图1.8所示:图1.8 VC+6.0 输出窗口(6)连接生成.exe文件,选择工具栏内的按钮单击,连接后,选择工具栏内的执行程序验证程序的正确性。1.3C语言语法简介考点:(1) 预处理命令include、define(不带参数宏定义)(2) C语言程序语句的特点(3) C语言主函数特点、程序与函数的关系(4) 注释语句注意事项请大家阅读以下程序,通过下述程序为大家介绍C语言程序的简单组成,以及各部分的特点和

13、书写程序时的习惯。/*此程序完成输出变量a,c1的值,回车换行输出字符串I love world后回车换行*/#include “stdio.h”main() int a;char c1;a=12;c1=a;printf(“%d,%cn”,a,c1);printf(“I love world!n”);上述程序是一个完整的语言程序,经过第三节我们所说的开发步骤后,执行结果如图1.9所示:图1.9 VC+显示程序运行结果窗口以上述程序为例,我们通过此程序对C语言编写过程中的一些内容加以说明。首先:#include “stdio.h” /* 为编译预处理语句*/所谓预处理是指在进行编译的第一遍扫描(

14、词法扫描和语法分析)之前所做的工作。预处理是语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译。语言提供了多种预处理功能,如宏定义、文件包含、条件编译等。以”#”号开头的命令语句是预处理命令语句,本节中主要讲的是#include(文件包含)和#define命令(宏定义)。一、 文件包含文件包含:是指将一个文件的全部内容,通过命令包含到另一个文件。功能:把指定的文件插入该命令行位置取代该命令行,从而把指定的文件和当前的源程序文件连成一个源文件。文件包含命令行的一般形式为: #include”文

15、件名” 或 #include 以后编写C语言程序时比较常用到的头文件: “stdio.h”、 “math.h”、”string.h”文件包含命令的注意事项有以下几点:1.文件包含的两种形式是有区别的:使用尖括号表示在系统指定的标准方式的相关文件目录中去查找(标准方式的相关目录是由用户在设置环境时设置的),而不在源程序所在文件目录去查找。使用双引号则表示首先在当前的源程序文件所在目录中查找,若未找到按系统指定的标准方式到相关目录中去查找。用户编程时可根据自己文件所在的目录来选择某一种命令形式。2.一个include命令只能指定一个被包含文件,若有多个文件要包含,则需用多个include命令。3.

16、文件包含允许嵌套,即在一个被包含的文件中又可以包含另一个文件。二、宏定义在语言源程序中允许用一个符号(标识符)来表示一个字符串,称为”宏”。被定义”宏”的标识符称为”宏名”。在编译预处理时,对程序中所有出现的”宏名”,都用宏定义中的字符串去替换,称为”宏展开”(”宏替换”)。宏定义命令在C语言中分为两类:一是符号常量定义,二是带参数的宏定义。本节主要介绍符号常量定义。符号常量定义命令行的一般形式为: #define符号常量名 字符串功能:使用符号常量名在程序内代替字符串书写,程序编译过程中将程序内所有符号常量名的位置替换字符串进行运行。如:#define E 10例如:#include “st

17、dio.h”#define MAXnum 100main() int i,sum=0; for(i=0;iMAXnum;i+) sum=sum+i;printf(“MAXnum=%d,%dn”,MAXnum,sum);此程序编译后,程序中的MAXnum会被替换为100进行运算(除printf函数内双引号内的MAXnum外)。附例: #include “stdio.h”#define PI 3.14main() float r,s,c; scanf(“%f”,&r); s=PI*r*r; c=2*PI*r;printf(“r=%f, s=%f, c=%f n”,r,s,c);符号常量定义命令的注

18、意事项有以下几点:(1)符号常量的处理在程序编译阶段只是进行简单的替换工作,不作语法检查;同一个符号常量不能重复定义,除非两个命令行完全相同。(2)符号常量的结尾不应有分号,如果加分号会连同分号一起替换。如:#define E 100; Max=E*E; 替换结果为Max=100;*100;以上结果是语法错误。(3)宏名在源程序中若用引号括起来,则预处理程序不对其作宏替换。其次:如程序中的”/*此程序完成输出变量a,c1的值,回车换行输出字符串I love world后回车换行*/”为注释语句。在C语言程序中,注释语句的注意事项有如下几点:(1)注释语句,注释符必须成对出现,是一对/* */,

19、注释语句后不需要加分号。(2)注释语句在编译过程中,不进行编译,也不被执行。(3)注释符不能嵌套,如:/*example/*this is first c programm*/*/是非法的。第三:下面的是主函数,其中内的如:int a;等都属于语句。main() int a; char c1; a=12; c1=a; printf(“%d,%cn”,a,c1); printf(“I love world!n”); 一个C语言程序是由一个或若干个函数组成的,函数的基本组成单位是语句,在C程序的函数内语句分为两类:声明语句和执行语句,其中需要注意的是在一个函数内声明语句必须在执行语句的前面,如:i

20、nt a; char c1;都是声明语句,而a=12 等是执行语句;一条语句在程序内可以分多行书写,同时一行内也可以写多条语句,因此语句的后面必须以一个分号作为结束标志。C语言函数的特点:(1)函数是由函数头和函数体组成的,例如main() 就是函数头,main是函数名,函数名后括号必须写,函数头后不需要加分号;而内的部分就是函数体,其必须写在内。(2)一个C语言程序可以由多个函数组成,C语言程序文件内可以不包含主函数main;但是如果是一个可执行的C语言程序文件内必须有且只有一个主函数,其函数名为main;C语言程序在运行时,总是从主函数开始,在主函数中结束。(3)由多个函数组成的C语言程序

21、,其功能是由函数之间互相调用完成的,但是主函数只能调用其他函数而不能被其他函数所调用,其他函数之间也可以相互调用。(4)在一个C语言源程序文件内函数的位置是任意的,任意一个函数都可以被独立编译。最后,程序书写时的几个习惯写法:(1)一个说明或一条语句占一行。(2)用 括起来的部分,通常表示了程序的某一层次结构。一般与该结构语句的第一个字母对齐,并单独占一行。(3)低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求程序清晰,因此养成良好的编程风格可以增强其易读性。试题解析:(1)程序中头文件typel.h 的内容如下,程序编译后运行

22、的输出结果是【 】#define N 5#define M1 N*3程序type2.c如下:#include “type1.h”#define M2 N*2main() int i;i=M1+M2; printf(“%dn”,i);A)10 B)20 C)25 D)30(2)以下关于函数的叙述中正确的是【 】A)每个函数都可以被其他函数调用(包括main函数)B)每个函数都可以被单独编译C)每个函数都可以单独运行D)在一个函数内部可以定义另一个函数(3)下面四个程序中,完全正确的是【 】A)#include “stdio.h” B)#include “stdio.h”main(); main(

23、)/*programming*/ /*/programming/*/printf(“programming!n”); printf(“programming!n”);C)#include “stdio.h” D)include “stdio.h” main() main() /*/*programming*/*/ /*programming*/ printf(“programming!n”); printf(“programming!n”);(1)C 解析:本题所涉及的考点是编译预处理语句,编译预处理语句以#开头,其中包含:文件包含、宏定义等。本题首先建立了一个头文件type1.h,在type

24、2.c的开头使用文件包含命令include将type1.h的内容包含在type2.c内,使得type2.c编译后其形式表示为:#define N 5#define M1 N*3#define M2 N*2程序编译时,程序内的宏名被替换为表达式后参加运算:i=M1+M2替换的结果为i=N*3+N*2=5*3+5*2=25,选项C是正确的。(2)C 解析:本题所涉及的考点是函数的特点。(应为B)(3)B 解析:本题所涉及的考点是C语言程序的书写特点。编译预处理语句后没有分号、函数名后没有分号、注释语句后没有分号;注释语句不可以嵌套;编译预处理语句必须以#开头,因此选项B是正确的。附例: 1一个C

25、程序的执行是从 ( )。A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2以下叙述正确的是()。A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句C)C语言本身没有输入、输出语句D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误3以下叙述不正确的是()。A) 一个C源程序可由一个或多个函数组成B) 一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)

26、在C程序中,注释说明只能位于一条语句的后面4 C源程序的基本单位是(),一个C源程序中至少应包括一个()。5C语言的编译系统对宏命令的处理是()。A) 在程序运行时进行的B) 在程序连接时进行的C) 和C程序的其它语句同时进行编译的D) 在对源程序中其它成份正式编译之前进行的1.4C语言数据类型考点:(1) 标识符组成及命名规则。 (2) 常量类型及常量表示方法。1.4.1 C语言字符集字符是组成C语言的最基本的元素。C语言字符集由字母、数字、空格、标点和特殊字符组成。在注释中还可以使用汉字或其他可表示的图形符号。1.字母:小写字母(26个) a z ;大写字母(26个) A Z2.数字:0

27、9 共10个3.空白符:空格符、制表符和换行符等统称空白符。空白符只在字符常量和字符串常量中起作用。除此之外适时使用主要起到分隔的作用,可以增加程序清晰性和可读性。1.4.2 C语言的数据类型及数据类型内的基本概念在C语言中,数据是指常量、变量及函数等作为程序的基本操作对象;在C语言中的数据按照其性质、表示形式、存储空间的多少和构造的特点来划分,就是所谓的数据类型。C语言中的数据类型非常丰富,可分为:基本数据类型(整型、实型、字符型),构造数据类型(数组、结构、共用体),指针类型和空类型四大类。在未来学习C语言的语法和语句书写形式后,C语言的程序编写过程中会涉及一些基本概念。1.标识符所谓标识

28、符,指程序中所使用的变量名、函数名、类型名、数组名等有效字符。在C语言中,标识符的命名必须遵循以下规则:(1)必须由字母(a z,A Z )、数字(0 9)及下划线组成。(2)第一个字符不允许是数字。(3)标识符内的字母,大小写相互区别,即大小写字母代表不同字符。(4)不允许使用关键字作为用户自定义标识符。通过上述标识符的命名规则,以下标识符是合法的:x3, point_line,vok_1,Atok,ATOK,a注:其中注意Atok与ATOK是不同的标识符。以下标识符是非法的:$a1_k,5d,a.1注:在C语言中,标识符的长度是受各种版本的C语言编译系统和具体机器的限制(本书以标识符前八位

29、有效为准);用户标识符可以由程序员随意定义,但为了以后维护的方便,尽量做到”顾名思义”。2.分隔符在C语言中采用的分隔符有两种,即逗号和空格。逗号主要用于类型说明和函数参数表中,分隔各个变量;空格主要用于间隔符,在某些情况下间隔符必须存在,否则会出现语法错误。3.关键字在C语言中有一类符号,它们本身具有特定的含义,这就是关键字又称为系统保留字。在C语言中有32个关键字。C语言中的关键字按其功能不同可以分为以下几类:(1)类型说明符用于定义、说明变量、函数或其他数据结构类型。如:基本数据类型内的整型,如果定义整型变量时需要用到int(为类型说明符)。(2)存储类型符如:auto、static等。(3)语句控制符书写语句时所需要用到的语句命令词,例如表示如果的语句命令词if等。注:C语言中的关键字都是小写的,且不可以再用作其他功能。例如:int与INT是不同字符;int不可以作为变量名等。附: INT、include 是合法的标识符; Int、if 是非法的标识符。4.常量、变量常量:在C语言程序运行过程中,其值及表现形式不发生变化。例如:数值1,无论1+1还是1/1,其本身不会自动变化,这就是常量。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1