二级C语言培训教案.docx

上传人:b****6 文档编号:3614416 上传时间:2022-11-24 格式:DOCX 页数:14 大小:28.03KB
下载 相关 举报
二级C语言培训教案.docx_第1页
第1页 / 共14页
二级C语言培训教案.docx_第2页
第2页 / 共14页
二级C语言培训教案.docx_第3页
第3页 / 共14页
二级C语言培训教案.docx_第4页
第4页 / 共14页
二级C语言培训教案.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

二级C语言培训教案.docx

《二级C语言培训教案.docx》由会员分享,可在线阅读,更多相关《二级C语言培训教案.docx(14页珍藏版)》请在冰豆网上搜索。

二级C语言培训教案.docx

二级C语言培训教案

 

二级C语言培训教案

 

第二章C语言程序设计的初步认识

本章考点:

考点

考核几率

分值

C语言的概述

20%

1~2

标识符、常量和变量

100%

2~7

算术运算符及算术表达式(难点)

80%

2~5

赋值运算符及赋值表达式

80%

2~5

自加自减运算、逗号表达式(难点)

100%

2~4

教学内容

一、C语言程序的构成和格式

通过讲解以下这个简单的C程序例子,了解C程序的格式和构成。

main()

{

inta,b,c;

a=10;

b=20;

c=a+b;

printf("%d",c);

}

注:

(1)C程序中有且仅有一个main函数,程序从main函数开始执行,并且在main函数中结束。

(2)用“{}”括起来的部分称为“函数体”,“{”和“}”必须成对出现,表示开始和结束。

(3)main()函数的格式:

main()

{

函数体

}

(4)变量先定义,后使用。

定义部分必须在执行部分的前面。

(5)C程序中每条语句(定义语句或执行语句)都必须以”;”结束。

(6)注释内容必须放在”/*”和“*/”之间。

”/*”和“*/”必须成对出现。

”/”与“*”之间不能有空格。

(7)printf为C语言的屏幕输出函数,注意写法。

(8)书写程序时应遵循的规则:

语句中的不同单词至少且必须加一个空格以示间隔,若已有明显的间隔符,也可不再加空格来间隔;最好一个语句占一行。

二、标识符

1、标识符命名规则

(1)只能包含字母、数字和下划线

(2)第一个字符必须是字母或下划线

(3)C语言是大小写敏感的,如grade和Grade是两个不同的标识符。

例、判断下列标识符的合法性

sum_tofile_5_2&ay-m-d4dyes?

2、标识符分类

(1)关键字:

已经事先定义好了,程序远不能再将它们另做它用。

参看教材附录4,记住常用的关键字(如int、if、do、break、case、char等)。

(2)预定义标识符:

在C语言系统中已经使用了的标识符(如printf、scanf、define、include等)。

预定义标识符可用作用户标识符。

(3)用户标识符:

根据用户需要定义的标识符(用户自己取的名字)。

用户标识符不能是关键字。

注:

标识符要求学生必须掌握。

练习部分课后习题

三、常量与变量

1、常量

在程序的运行过程中,其值不发生改变的量。

2、常量分类

(1)直接常量

直接常量又包括整型常量(如12、-3、0)、实型常量(如4.6、-1.23、1.2E+3)和字符常量(如'A'、'6')。

(2)符号常量

符号常量在使用之前必须先定义,其一般形式为:

#define符号常量标识符常量值

通过以下两个实现功能相同(求圆面积)的程序,给学生解释使用与不使用符号常量两者的区别。

程序1:

程序2:

#defineR5main()

#definePI3.14159{

main()floatarea;

{intr;

floatarea;r=5;

area=PI*R*R;area=3.14159*r*r;

printf("%f",area);printf("%f",area);

}}

注:

习惯上符号常量的标识符用大写字母。

符号常量的值在其作用域内不能被改变。

3、变量

在程序的运行过程中,其值可以改变的量。

4、变量的定义

变量定义的一般形式为:

类型说明符变量名;

注:

变量名是合法的标识符,但不可以是关键字;允许在一个类型说明符后,定义多个相同类型的变量,各变量名之间用逗号间隔,最后一个变量名之后必须以“;”号结尾;一般变量的定义放在函数体的开头部分。

通过以下例子的讲解,进一步掌握变量的定义与使用。

main()

{

inta,b,c;

a=15;

b=20;

c=b-a;

printf("%d",c);

}

补充:

四、数制转换

计算机使用二进制进行数据的处理

最小存储单位称为“位(bit)”

一个字节占8位二进制数即1Byte=8bit(1B=8b)

1KB=1024B;1MB=1024KB;1GB=1024MB;1TB=1024GB;…..

1、十进制二、八、十六进制

转换方法:

将十进制数除以基数(二进制基数为2、八进制基数为8、十六进制基数为16),并记录余数,若商不为0,则继续用商除以基数,并记录余数,直到商为0,余数倒排列写下来,即为转换后的二进制或八进制或十六进制。

注意:

在转换过程中,余数为0也要记录下来,很多学生在做题时,忽略了余数0。

例:

(36)10=()2(39)10=()8(27)10=()16

2、二、八、十六进制十进制

转换方法:

按位展开,对应位乘以权值(权值即为基数的n次幂,n从0开始),最后将所有乘积相加,所得结果即为十进制数。

例:

(10101)2=()10(67)8=()10(1A2)16=()10

3、八、十六进制二进制

转换方法:

八进制(或十六进制)数的每一位数字用三位(或四位)二进制数表示,最后将对应的二进制数依次写下来,即为二进制数。

注:

八进制数7、6、5、4、3、2、1、0对应的三位二进制数分别为111、110、101、100、011、010、001和000。

十六进制数F、E、D、C、B、A、9、8、7、6、5、4、3、2、1、0对应的四位二进制数分别为1111、1110、1101、1100、1011、1010、1001、1000、0111、0110、0101、0100、0011、0010、0001和0000。

例:

(642)8=()2(3B5C)16=()2

学生思考如何将二进制转换成八进制、十六进制?

 

五、整数和实数

1、整型常量分类

(1)八进制整型常量

以数字0开头,其中由数字0~7组成,如023、076等。

(2)十进制整型常量

最常用的常量,由数字0~9组成,如15、345、-38等。

(3)十六进制整型常量

以0x或0X开头,由数字0~9、字母a~f(或大写A~F)组成,如0x7e、0X4AB等。

注:

在C程序中,只有十进制数可以是负数,而八进制和十六进制数只能是整数。

2、整型变量分类

(1)短整型变量

类型说明符为:

[signed]short[int],占用2个字节,取值范围为-32768~32767。

(2)基本整型变量

类型说明符为:

[signed]int,占用4个字节,取值范围为-2147483648~2147483647。

(3)长整型变量

类型说明符为:

[signed]long[int],占用4个字节,取值范围与基本整型变量相同。

例:

inta;

(4)无符号短整型变量

类型说明符为:

unsignedshort[int],占用2个字节,取值范围为0~65535。

(5)无符号基本整型变量

类型说明符为:

unsigned[int],占用4个字节,取值范围为0~4294967295。

(6)无符号长整型变量

类型说明符为:

unsignedlong[int],占用4个字节,取值范围同无符号基本整型变量相同。

注:

整型变量的各种类型,在编程中一定要注意,不要让一个整型变量超出该类型的取值范围,以免发生溢出错误。

3、整数在内存中的存储形式

对于整型数据,在内存中都是以补码形式存储的。

用补码存储一个有符号整数,最高位(最左边的一位)存放符号,正数最高位为0,负数最高位为1。

计算规则如下:

正整数:

原码=反码=补码。

负整数:

反码=原码除符号位(符号位为1)以外,数值部分按位取反

补码=反码的末位加1

例:

求±11的原码,反码,补码。

(假设占一个字节的空间)

原码

反码

补码

注:

无符号整数表示的都是正数,所以其中最高位不再存放符号。

在二级C考试中,只需要记住无符号整数65535表示成有符号整数-1,无符号整数65534表示成有符号整数-2,其他依次类推。

以下例子是历年考试中出现过的,通过讲解让学生掌握无符号数和有符号数的区别。

main()

{

unsignedinta;

intb=-1;

a=b;

printf("%u",a);

}

4、实型常量

(1)小数形式

小数点前或后可以没有数字,但不能同时没有数字。

如3.141590.13615..370.0-13.0

(2)指数形式

“E前E后必有数,E后必须为整数”。

例:

1e51.25e+42.0e-3e51.2e2.0e1.3

5、实型变量

实型变量分为:

单精度实型(float)和双精度实型(double)。

float占用4个字节,double占用8个字节。

floata;

doubleb;

七、算术运算和赋值运算

1、算术运算符(+、-、*、/、%)

例:

(1)/:

5/2=5.0/2=5/2.0=5.0/2.0=

(2)%:

5%2=-5%2=5%-2=

注:

这五种算术运算符以/和%为主,进行除运算时,注意两边都为整数的情况;“%”运算符左右两边必须为整数,余数的符号同被除数的符号相同。

2、算术运算符的优先级

(*、/、%)>(+、-)

例:

4*5+8*2%4+12/5=

3、强制类型转换

强制类型转换的格式为:

(类型名)表达式

注:

在二级C考试中,经常考强制类型的转换格式,尤其是一对小括号的位置。

5、赋值运算符(=)

赋值运算的一般格式为:

变量=表达式

floatx=3;

inta=4.9;

注:

赋值运算符的优先级只高于逗号运算符;任意一种赋值运算符的左侧必须为变量,不能是表达式和常量;整个赋值表达式的值是最左边变量的值。

当赋值运算符左右两边类型不一样,系统会自定进行类型转换(将=右边表达式的值的类型转换成左边变量的类型)。

例:

判断

a+b=c;a=b=m+n;

6、复合赋值表达式

(1)+=a+=6a=a+6

(2)-=a-=6a=a-6

(3)*=a*=6a=a*6

(4)/=a/=6a=a/6

九、自加、自减运算符

1、自加、自减运算符(++、--)

自加、自减运算符的运算对象只能是变量,运算符可在变量的前面,也可以在变量的后面,形如i++、++i、i--、--i。

2、自加、自减的运算规则

自加:

i++先用i的值参与运算,再使i的值加1。

自加:

++i先使i的值加1,再让i参与运算。

自减:

i--先用i的值参与运算,再使i的值减1。

自减:

--i先使i的值减1,再让i参与运算。

例:

main()

{intm=10,n=11;

printf("%d,%d\n",++m,n++);/*输出结果为:

*/

printf("%d,%d\n",--m,n--);/*输出结果为:

*/

}

3、自加、自减运算的注意事项

(1)只能和变量结合,如(i++)++是不合法的。

(2)运算结合方向是从右到左。

如:

-x++

十、逗号运算符及逗号表达式

1、逗号运算符(,)

形式:

表达式1,表达式2,表达式3

在逗号表达式中,逗号运算符具有从左向右的结合性,最后一个表达式的值是整个逗号表达式的值。

2、要和变量多余的情况区别开

3、优先级别:

在所有运算符中,逗号运算符优先级最低。

例1

Main()

{

inta=3,b=9;

printf("%d\n",(a,b));/*输出结果为:

*/

}

例2

Main()

{

inta=3,b=9;

printf("%d\n",a,b);/*输出结果为:

*/

}

注:

逗号运算与变量多余的区别,这是二级C考试中,经常会出错的。

 

补充:

十一、C语言中的语句

1、表达式语句

表达式;

2、空语句

;

3、复合语句

{语句1;语句2;…语句n;}

十二、注释

C语句中有两种注释方法:

(1)//:

只能注释一行

(2)/*…*/:

可注释多行,在“/*”和“*/”之间的都属于注释部分。

注:

注释在程序运行时,不执行,第二种注释需要注意,在二级C考试中出现过,参考教材。

十三、字符数据(第6章)

1、字符常量分类

(1)一般字符常量

用一对单引号括起来的单个字符,如'A'、'b'、'5'。

(2)转义字符常量

在一对单引号内,以“\”开头,后跟一个字符,或1~3位八进制数。

另外也可以是1~2位的十六进制数,但必须以“\x”开头(在这里,一定注意x不能是大写的X)。

反斜杠后的八进制数不需要以0开头\61\101

反斜杠后的十六进制数不需要以0x开头,(x为小写)\x42\x6e

注:

在二级C考试中,转义字符是必考的。

更要注意“\”后跟的1~3位八进制数不能以数字0开头。

2、字符变量

定义字符变量的格式为:

char变量名;

注:

字符型数据在内存中占1个字节。

3、字符型数据参与运算

采用其ASCII码进行运算。

注:

字符型数据可以按“%d”和“%c”输出,注意这两者区别。

 

第三章顺序结构

本章考点:

考点

考核几率

分值

printf函数(难点)

100%

3~4

putchar函数

60%

1~2

scanf函数(难点)

100%

3~4

getchar函数

60%

1~2

教学内容

一、数据输出函数printf

1、printf函数的一般格式:

printf(格式输出控制,输出列表)

(1)格式输出控制:

需用一对双引号括起来,双引号内包含“格式说明”和“普通字符”两部分。

(2)输出列表:

需要输出的数据,多个数据之间用逗号隔开。

2、格式说明

“格式说明”由“%”和格式字符组成,如%d,%c,更多格式说明请参考P34,表2-1。

它的作用是把输出数据转换为指定格式输出。

注:

在printf函数中,若格式说明的个数少于输出项的个数,多余的输出项则忽略不输出,这是二级C考试中经常出现的题目,可参考P34,例2进行讲解。

3、普通字符

普通字符会原样输出,转义字符需要输出对应的字符。

注:

printf函数输出数据时,学生做题很容易忽略普通字符的输出。

在二级C考试中,这类题目常出现,可以通过以下例子进行讲解。

main()

{

inta,b;

a=10;

b=15;

printf("a+b=%d",a+b);

4、数据输出实例(已知inta=66;floatb=123.56;)

通过以下各输出语句,讲解输出函数的各种格式。

(1)printf("%d",a);66

(2)printf("%3d",a);□66

(3)printf("%-3d",a);66□

(4)printf("%f",b);123.560000

(5)printf("%7.2f",b);□123.56

(6)printf("%-7.2f",b);123.56□

(6)printf("%c",a);B

(7)printf("%x",a);42

5、putchar函数

格式为:

putchar(c)

这里的c只能是字符型变量或字符型常量,即putchar函数只能输出字符型数据。

二、数据输入函数scanf

1、scanf函数的一般格式:

scanf(格式输入控制,输入数据列表)

格式输入控制与printf函数的格式输出控制相同。

输入数据列表必须是一个或者是多个合法的地址。

注:

输入函数是一个难点,学生一般掌握的情况不是很好,建议老师讲解时放慢速度。

2、scanf函数的注意事项

(1)输入数值型数据时,各数值间的分隔符可以是:

空格、Tab、回车。

(2)输入字符型数据时,空格、Tab、回车都会被认为是字符,而不是分隔符。

(3)“格式输入控制”中的普通字符,在输入数据时一定要原样输入。

(4)跳过输入数据,在%和格式字符之间加一个“*”。

注:

以上注意事项,在二级C考试题目中经常出现,可以通过以下数据输入实例,进行讲解。

3、数据输入实例(已知charc1,c2;intc,d,e;)

(1)scanf("%d%d%d",&c,&d,&e);

输入:

5<空格>6<空格>7<回车>

输入:

567<回车>

输入:

5<回车>

6<回车>

7<回车>//以上三种输入方式,c、d、e的值分别都为5、6、7。

(2)scanf(“%d,%d,%d”,&c,&d,&e);

输入:

5,6,7<回车>

若输入第一个数据后,使用了任意一种分隔符,则只确定输入了c的值为5,d和e为本身的初始值,若没有初始值,则为不定值。

注:

在C语言中,没有指定值的任何类型的变量,在输出时为不定值。

(3)scanf(“%d%*d%d%d”,&c,&d,&e);

输入:

2<空格>3<空格>4<空格>5<回车>//c、d、e的值分别为2、4、5

(4)scanf("%c%*c%*c%c",&c1,&c2);

输入:

a<空格>b4<回车>//c1、c2的值分别为a、4

(5)scanf("%2d%d%d",&c,&d,&e);

输入:

123<空格>456<回车>//c、d、e的值分别为12、3、456

(6)scanf("%d",&c,&d,&e);

输入:

1<空格>2<空格>3<回车>//c的值为1、d、e为不定值

4、getchar函数

格式为:

getchar()

该函数称为输入字符型数据的函数,只能用来接收一个字符型数据。

注:

在输入字符型数据时,空格、Tab、回车都属于字符。

在二级C考试中经常出现该类题目,可以参考以下例子,进行讲解。

main()

{

charc1,c2,c3,c4;

c1=getchar();

c2=getchar();

c3=getchar();

c4=getchar();

printf("%c%c%c%c",c1,c2,c3,c4);

}

运行程序时,输入:

a<空格>b<空格>5<回车>

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

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

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