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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言冲刺.docx

1、C语言冲刺第一章C语言基础知识第一节 C语言的基本构成重要程度:1、C语言的良好风格例1:计算两个整数之和的C程序#include stdio.hmain( ) /*求两数之和*/int a,b,sum; /*变量说明*/ a=10; /*把整数10赋值给变量a */ b=20; /*把整数20赋值给变量b */ sum=a+b; /*把两数之和赋值给变量sum */ printf(a=%d,b=%d,sum=%dn,a,b,sum); /*把计算结果输出到用户屏幕上*/好的风格: 1. 花括号独占一行,有对应关系的花括号在同一列; 2. 有层次关系的代码有必要的缩进; 3. 一条语句独占一行

2、 4. 有适当的注释2、关于注释的说明(考点一) 程序中以“/*”开头并且以“*/”结尾的部分表示程序的注释部分。 注释可以加在程序的任何位置。 注释是为了提高程序的可读性而增加的,不属于C语言。 /*/*ddddddd*/*/ 这样的注释不是合法的。注释是从“/*“开始到”*/“结束的。以该例为准,属于注释的就是/* */两个之间的/*ddddddd,所以最后剩下的*/就是多余了。例1: 阅读以下程序,想一想结果是多少?main( ) int a=0,b=0;a =10; /*给a赋值 b=20; 给b赋值 */printf(a+b=%dn,a+b); /*输出计算结果*/这是2006年9月

3、全国计算机等级考试二级考试的第19题。需要特别注意的是,程序第三行“/*”开始的注释部分,直到第四行末尾才结束。因此上面的程序等价于以下的程序:main( ) int a=0,b=0;a =10;printf(a+b=%dn,a+b);3、标识符(考试重点)在C语言中用于标识名字的有效字符序列称为标识符。标识符可以用作常量名、变量名、符号名、函数名和后面要学到的指针名、数组名等。C语言中标识符的命名规则如下:1)标识符只能由字母、数字和下划线组成;2)标识符的第一个字符必须是字母或下划线。3)标识符区分大小写字母。如int与Int是两个完全不同的标识符。合法的标识符:a x sum spels

4、 program ab1 _to file_5 a1b2c3 _2 B3非法的标识符:ab12# (含有不合法的字符“#”)a1-c (含有不合法的字符“-”)ab c (空格不是合法标识符)r (“”不是字母,为不合法标识符字符)23ab (第一个字符不能为数字)C语言的标识符分为如下三类:1)关键字关键字是具有特定含义的、专门用来说明C语言特定成分的一类标识符。关键字均由小写字母构成。Int 就不是关键字。2)预定义标识符预定义标识符(如printf,scanf,sin,isalum等)和编译预处理命令名(如define,include等)。注意,预定义标识符可以作为“用户标识符”使用。3

5、)用户标识符(考试重点)不能是关键字;只能由字母、数字和下划线组成;第一个字符必须是字母或下划线。Int可以作为用户标识符,int就不可以作为用户标识符。考点:1. 识别哪些是(或不是)标识符 2. 识别哪些是(或不是)用户标识符例2: 以下不能定义为用户标识符的是A) scanf B) Void C) _3com_ D) int分析:本题答案选D。因为int是关键字,关键字不能作为用户标识符。答案(A)的scanf虽然是预定义标识符,但是预定义标识符可以作为用户标识符使用。(B)中Void的第一个字符V大写,它与关键字void是两个不同的标识符,故它可以作为用户标识符。(C)中的_3com_

6、符合标识符的命名规则,且不是关键字,故可以定义为用户标识符。例3:以下不合法的用户标识符是A) j2_KEY B) Double C) 4d D)_8_分析:本题答案选C。答案(A)是一个用户标识符,符合标识符的命名规则。答案(B)也是用户标识符,需要注意的是,它与关键字double是两个不同的标识符。答案(D)是用户标识符,由数字和下划线组成,且第一个字符为下划线。只有答案(C)是不合法的用户标识符,因为它的第一个字符是数字,不符合标识符的命名规则。 标识符的常见错误:1. 数字开头 2. 包含减号“-” 3. 用户标识符使用的是关键字4、常量。C语言中,还有另外一种常量是用标识符命名的,称

7、为符号常量。下面程序的PI就是符号常量。例4: 计算圆面积的C语言程序#define PI 3.14159main( ) float r,area;r=12.5;area=PI*r*r;printf(area=%fn,area);程序的第一行是宏定义,以后遇到PI就用其后的内容3.14159来原样替换。这里的PI就是一个符号常量。通常,符号常量用大写字母表示,但这并不是语法上的要求,只不过用大写字母书写符号常量,便于辨认。当进行宏定义后,程序中只要用到相应的数值常量都可以用符号常量代替,这就给程序的修改提供了方便。例如,如果需要进一步提高圆周率的精度,可以直接修改宏定义中的数值常量:#defi

8、ne PI 3.1415926这样,程序中只要用到PI的地方,其值都自动变为3.1415926。5、变量与常量对应的是变量。顾名思义,变量就是在程序的运行过程中其值可以改变的量。例1中的a,b都是变量,它们是由用户定义的标识符,变量的命名必须遵循标识符的命名规则。用盒子的理论来描述:1) 变量就是盒子,里面装的内容可以改变。2) 通过赋值语句就可以改变盒子里的内容。3) 每次使用盒子时,盒子里都应该有确切的内容而不能是不确定的值。4) 每次使用盒子时,都是用的现在盒子里装的内容。以前装过什么内容没有任何影响。第二节 整型数据重要程度:在C语言中,有三种基本的数据类型,它们是整型、实型和字符型。

9、1、数制转换二进制的数,基为二,某位出现的最大数字是2-1=1;八进制的数,基为八,某位出现的最大数字是8-1=7;十六进制的数,基为十六,某位出现的最大数字是f(相当与十进制的15)。在十六进制中,数字由十六个代码组成,分别是09和AF(或者是af)这十六个代码。表1列举出十进制数字从015时,相应的二进制、八进制和十六进制数字。(同列的为一组,表示相同的值)表1 十进制、二进制、八进制和十六进制对照表十进制01234567二进制011011100101110111八进制01234567十六进制01234567十进制89101112131415二进制100010011010101111001

10、10111101111八进制1011121314151617十六进制89ABCDEF十进制的数字在我们日常生活中普遍使用,然而在计算机内部,数字均以二进制形式表示和存放。引例:(1)将任意进制的数转换为十进制数:将这个数按照引例中的方法展开。注意底数使用的是该进制的基。使用以上的方法,我们再来看两个例子:(23E)16 = 2162 + 3161 + 14160 =(574)10(111)2 = 122+121+120 = 23-1 = (7)10(2)将十进制数转换成任意进制数十进制数转换成二进制数的规则为:将十进制的数字除以2,得到的商数继续除以2,直到商为0,然后将各次相除所得的余数从后

11、往前排列,就得到该十进制数转换成的对应的二进制数。例如,将十进制数13转换成二进制数的过程如下:2 | 1 3 2 | 6 1 2 | 3 0 2 | 1 1 0 1 所得的余数从后往前排列,得到二进制数1101,与表1中的一致。同理,可以得出将十进制数转换为任意进制数的规则。例如,将十进制数13转换成八进制数的过程如下:8 | 1 3 8 | 1 5 0 1所得的余数从后往前排列,得到二进制数15,与表1中的一致。(3)二进制与八进制、十六进制之间的转换从表1中可以看出,每个八进制数的单个数字都可以用三位二进制数来表示,最大的八进制单个数字7等于最大的三位二进制111,最小的八进制单个数字0

12、等于最小的三位二进制000。因此,每个八进制数的单个数字都可以用三位二进制数字来表示,即23=8。同样,每个十六进制数的单个数字都可以用四位二进制数来表示,即24=16。例如,将八进制数13转换成二进制数的过程如下:(1 3)8 = (001 011)2从以上的转换过程看出,将每个八进制数字转换成了三位二进制数字,1转换成001,3转换成011,因此八进制13对应的二进制数字为1011。现举例说明将十六进制数数E3转换成二进制数的过程:(E 3)16 = (1110 0011)2从表1可以看出,十六进制数字E等于二进制的1110,3等于二进制的0011,于是十六进制数字E3等于二进制数字111

13、00011。反过来,将二进制转换成八进制、十六进制,只需将从右边起的每三位或者每四位二进制数转换成对应的八进制数或十六进制数。进制的常见错误:1. 八进制数据中出现8,甚至是9.2. 十六进制中,把15当成一个字符(实际上应该是f)。2、整型常量 在C语言中,整型常量分为十进制整型常量、八进制整型常量和十六进制整型常量三种表示形式。注意,在C语言中没有直接表示二进制的整型常量。(常考)(1)十进制整型常量由一串连续的09数字组成。如:0、120、365、-12等。(2)八进制整型常量以数字0开头,其中的数字为07。如:0112(十进制74)、0123(十进制83)、077(十进制63)等。(3

14、)十六进制整型常量以0x(数字0和字母x)或0X开头,其中的数字可以是09、af或AF中的数字或英文字母。如:0x11(十进制17)、0xa5(十进制165)、0X5a(十进制90)等。整型常量又分为短整型(short int)、基本整型(int)、长整型(long int)和无符号整型(unsigned)等几类。例1: 以下选项中可作为C语言合法整数的是A) 10110B B) 0386 C) 0Xffa D) x2a2分析:本题答案为C。选项(A)不是C语言中三种整型常量之一。选项(B)不是合法的八进制整型常量,因为八进制整型常量中不可能出现“8”字符。选项(D)中x2a2前加上“0”就是

15、一个合法的十六进制整型常量。3、整型变量整型变量是用于存放整型值的变量。对应于整型常量,整型变量也可分为短整型(short int)、基本整型(int)、长整型(long int)和无符号整型(unsigned)四种。定义基本整型变量用关键字int,形式如下:int i;int类型所占据的字节长度因不同类型的机器或编译器而有所不同:如果使用VC+6.0,则会为int型变量分配4个字节长度的存储单元。我们使用的将是这种情况。如图1所示。图中表示对定义的int型整型变量i分配了四个字节的存储单元,这个存储单元的名字为i,里面的内容不确定。图1 计算机系统为整型变量i分配的内存空间当对变量i赋值时,

16、这个值就存储在这个存储单元中。例如,执行了赋值语句:i=6;则变量i的存储单元变为如图2所示的情况。00000000000000000000000000000110图2 十进制整数6存放在变量i的内存空间中的形式正如读者所知,在计算机中实际上是以二进制形式存储数据的,所以在变量i的存储单元中存放的是四个字节的二进制数00000000 00000000 00000000 00000110(十进制6)。C语言中规定,在定义变量的同时给变量赋初值,称为变量初始化。例如:main( ) int a=2,b=3,c=4; 表2 不同类型的整型数在内存中所占用的字节数和数值范围数据类型关键字占用的字节数数

17、值范围短整型signed short int2-3276832767无符号短整型unsigned short int2065535基本整型signed int4-21474836482147483647无符号整型unsigned int404294967295长整型signed long int4-21474836482147483647无符号长整型unsigned long int404294967295说明:1) 如果要表示一个长整型常量,则应该在对应的整型常量后面加上一个字母后缀l(L的小写)或者是L。如0L、110L、123L等。这是因为如果不加上L(或l),则表明这个整型常量为基本整

18、型常量,在内存中占两个字节的存储单元,而加上之后,则表明为长整型常量,在内存中占四个字节存储单元。2)无论是短整型还是长整型常量,C语言系统都默认为是有符号整数。无符号整数在数字的后面加上一个字母后缀u或者是U。若是长整型无符号整型常量,则应该加后缀lu或者是LU。例2: 以下选项中不属于C语言的类型的是A) signed short int B) unsigned long intC) unsigned int D) long short分析:根据表2可知,正确答案为D。4、整数在内存中的存储形式在计算机内存中最小存储单位称为“位(bit)”。每一个位中或者存放0,或者存放1,因此称为二进制

19、位。一个字节(Byte)有8个二进制位。沿用惯例,把最右边一位称为最低位,把最左边一位称为最高位。在C语言中,对于有符号型整数,将最高位作为符号位,当最高位为0时表示正整数,当最高位为1时表示负整数。下面介绍整数的存储形式。注意:计算机中(或者说内存中)的数据都以它对应的补码形式存在。第三节 实型数据重要程度:1、实型常量在C语言中,实型常量有两种表示形式:小数形式和指数形式。(1)小数形式规则如下:1. 有且仅有一个小数点。 2. 左边和右边可以有一边没有数据,但是不能同时没有数据。如:3.14159 0.158 12. .36 0.0 -18.0(2)指数形式(E前E后都有数,E后必为整数

20、)规则如下:1. 有且仅有一个字母e(或者E)。 2. 左右两边都必须有数据。 3. 左边可以是整数也可以是小数。 4. 右边只能是整数。以下列举出几个正确的指数形式:1e5 (表示数值1105) 1.25E+4 (表示数值1.25104)2.0E-3 (表示数值2.010-3)实型常量的常见错误:12 (缺少小数点,12其实为一个整型的常量而不是实型常量)e5 (缺少小数部分)1.25E (缺少指数部分)2.0E1.3 (指数部分不是整数)例1: 以下选项中合法的实型常数是A)5E2.0 B)E-3 C).2E0 D)1.3E分析:本题的答案是C。选项(A)的指数部分不是整数。选项(B)缺少

21、小数部分。选项(D)缺少指数部分。例2: 以下选项中,不能作为合法常量的是A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0分析:选项(B)的指数部分不是整数,所以答案为B,其它选项均为正确的常量。2、实型变量C语言中,实型变量分为单精度实型(float)变量与双精度实型(double)变量两种。它们定义的形式分别如下:float x,y,z; /*定义单精度实型变量x,y,z */double a,b,c; /*定义双精度实型变量a,b,c*/double的精度比float好!第四节 字符型数据重要程度:(字符可当作整型使用)1、字符常量 字符常量是由一对

22、单引号括起来的。1)由一对单引号括起来的单个字符:单引号中只有一个字符: 0、A、a、 、#。2)由一对单引号括起来的,里面是由斜杠“”引起的若干字符:在单引号中,都由“”开头: n 、t 、0 、377 、xff 。这个“”称为转义字符。转义字符后面的内容失去了原来的意义,如n表示换行符,而不是字母n了。每个字符都有一个ASCII码与之对应。(字符可以看成整形)如字符0的ASCII码值为48,我们简称字符0的值为48。同样,A的值为65,a的值为97。字符型数据进行运算,使用的其实都是这个字符对应的ASCII码值。C语言中一共有三种转义字符:一般转义字符、八进制转义字符、十六进制转义字符。表

23、3 C语言中常用的转义字符字符形式 意义字符形式 意义 n换行 一个反斜杠字符 t横向跳格(Tab) 一个单引号 v竖向跳格 一个双引号 b退格符(backspace) ooo13位八进制数代表的字符 r回车符 xhh12位十六进制数代表的字符 f换页符 0空值(1)一般转义字符n、等,由一个“”开头加一个普通字符组成。请牢记表3中粗体的转义字符。(2)八进制转义字符它是由“”与其后的13位八进制数字构成的字符序列。反斜杠后面的十六进制数不需要以0开头。061就错了61首先把61这个八进制化成十进制,得到49,ASCII为49的字符就是1。.101首先把101这个八进制化成十进制,得到65,A

24、SCII为65的字符就是A。.(3)十六进制转义字符它是由“x”与其后的12位十六进制数字构成的字符序列。反斜杠后面的十六进制数不需要以0x开头。0x77错了!但是反斜杠之后的必须是小写字母x,而不能是大写字母X,也不能是其它形式。0X77错了!x42表示字符常量B x6e分别表示字符常量和n。字符型常量的常见错误:(1)把a看作字符常量。字符常量的标志是一对单引号 ,而不是双引号 。(2)一对单引号中有多个字符。65是非法的字符常量。(常考)(4)ooo中出现数字8。ooo中只能出现字符07。(5)xhh中,忘记书写字符x。例1: 以下不合法的字符常量是A 018B C D xcc分析:本题

25、是2006年4月考题,考察点在字符常量的概念。此题答案为A。A中为八进制转义字符,但是八进制数不能出现8,因此错误。B中是一般转义字符,表示一个双引号字符,正确。C中是一般转义字符,表示一个反斜杠字符,正确。D中匹配十六进制转义字符,cc是合法的十六进制数,正确。2、字符变量(考试重点)char a: 等价于 char aa=A; a = 65;变量a中存放了A的ASCII码值65。前面已经知道,字符型数据都是被处理为整型量,因此,可以直接对字符变量赋字符常量对应的ASCII码值。如赋值语句a=65;与赋值语句a=A;等价。例2: 已定义c为字符型变量,则下列语句中正确的是A) c=97; B

26、) c=97; C) c=97; D) c=a;分析:答案选择C。A中97为非法的字符常量。单引号内不能出现多个字符。B中97为字符串,字符常量的标志的一对单引号,而不是双引号。C将整型量97赋给字符变量c,即将ASCII码值为97的字符常量a赋给变量c,正确。D中a不是字符常量,而是字符串。3、对字符型数据的运算1、对字符进行算术运算就是将字符对应的ASCII码值进行运算。如:D-C的值为1。因为我们用D和C的ASCII码68、67分别替换D、C之后,等价于求68-67的值。又例如,C+1的值为D。2、大写字母的ASCII码与对应的小写字母的ASCII码相差32。 大写字母 转换成 小写字母

27、A 加上32 a如A与a的ASCII码分别为65和97。这样我们经过简单的算术运算就可以进行大小写字母字符的转换。如A +32即为,a-32即为A。3、字符数字的ASCII码与对应的数字的ASCII码相差了48.字符数字 转换成 数字 1 减去48 1第五节 算术表达式重要程度:1、算术运算符与算术表达式1、在C语言中,有下列五个基本的算术运算符:+、-、*、/和%,依次表示加、减、乘、除、求余运算。(考得最多的是/ 和%符号!)2、求余运算符%的运算对象只能是整型,即%左侧的被除数与右侧的除数都只能为整型值。求余得到的运算结果的符号与被除数相同。(3%1.2错了)如:12%9运算结果为3,1

28、2%-9的运算结果也为3。-12%9运算结果为-3,-12%-9的运算结果也为-3。3、求余就是求余数,而不是求商,这点总是容易被弄混淆。 想一想:3%9运算结果为多少?(结果为3而不是0)4、1/2得到的数据是为0的,这个原则是当除号“/“左右两边都为整数的时候,我们遵守取整丢小数的原则。那么如果希望1和2相除得到0.5,我们就可以用1.0/2,或者1/2.0,或者1.0/2.0都可以实现。先面通过一个具体例子的分析,我们来彻底搞清楚算术运算符的运算规则。例1:试求 1.6+3/2*1.2-3/2.0 的值步骤:计算过程:说明:第一步:1.6+1*1.2-3/2.0根据运算优先级和结合的顺序,先算3/2,注意到它们为整型数据相运算,因此结果应为整数1,而不是1.5。第二步:1.6+1.0*1.2-3.0/2.01*1.2为整型和实型数据相运算,因此,会把整型数据1转换为对应的实型数据1.0,再与1.2进行运算。同理,3变成3.0第三步:1.6+1.2-1.5分别计算出 1.0*1.2 和 3.0/2.0 的结果第四步:2.8-1.5同一优先级的运算,从左到右依次进行第五步:1.3结果为1.3,而不是1.9下面,大家自己算算,

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

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