C程序设计基础课件

上传人:hs****ma 文档编号:585499362 上传时间:2024-09-02 格式:PPT 页数:29 大小:189.50KB
返回 下载 相关 举报
C程序设计基础课件_第1页
第1页 / 共29页
C程序设计基础课件_第2页
第2页 / 共29页
C程序设计基础课件_第3页
第3页 / 共29页
C程序设计基础课件_第4页
第4页 / 共29页
C程序设计基础课件_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《C程序设计基础课件》由会员分享,可在线阅读,更多相关《C程序设计基础课件(29页珍藏版)》请在金锄头文库上搜索。

1、2016“”C程序设计(ProgramminginC)“”这次课的主要内容C程序的基本结构C语言的基本符号C语言的基本数据类型“”C程序的基本结构程序的基本结构“”一个简单的C C程序#includeintmain(void)intinches,feet,fathoms;printf(inputfathoms:);scanf(“%d“,&fathoms);feet=6*fathoms;inches=12*feet;printf(WreckoftheHesperus:n);printf(Its depth at sea in defferentunits:n);printf(%dfathomsn

2、,fathoms);printf(%dfeetn,feet);printf(%dinchesn,inches);return0;英寻英寻英寸的换算:英寸的换算:1)把英寻数赋给一个变量;把英寻数赋给一个变量;2)把英寻转换为英尺,并存到把英寻转换为英尺,并存到一个变量中;一个变量中;3)把英尺转换为英寸,并存到把英尺转换为英寸,并存到一个变量中;一个变量中;4)把不同单位的测量值整齐地把不同单位的测量值整齐地显示在屏幕上。显示在屏幕上。“”函数是C C程序的基本模块在在上上面面的的例例子子中中,有有一一个个名名称称为为“main”的的函函数数,每每一一个个独独立立运运行行的的C程程序序有有且且

3、仅仅有有一一个个mian函函数数,C程程序序设设计计中中的的一一部分主要工作就是编写函数。部分主要工作就是编写函数。我们将从一个函数的结构出发理解我们将从一个函数的结构出发理解C程序中的基本要素。程序中的基本要素。函数内有对数据的声明和对数据的运算,例如函数内有对数据的声明和对数据的运算,例如# #include include .hint int main(void)main(void) int int inches, feet, fathoms;inches, feet, fathoms; printf printf(input fathoms:); (input fathoms:); s

4、canf scanf(“%d“,&fathoms);(“%d“,&fathoms); feet = 6*fathoms; feet = 6*fathoms; inches = 12*feet; inches = 12*feet; 声明部分:声明部分:三个值将变化三个值将变化的整数的整数运算部分:运算部分:接收一个整数;接收一个整数;用乘运算进行用乘运算进行单位换算单位换算“”常量和变量是程序中的基本元素常量和变量常量和变量(constantsandvariables) 常量常量( (constants)constants) :在程序的运行过程中值保持不变。例如,下面程序中的在程序的运行过程中值

5、保持不变。例如,下面程序中的“6”“6”和和“12”“12” 变量变量( (variables)variables) :在程序的运行过程中值可以改变。例如,下面程序中的在程序的运行过程中值可以改变。例如,下面程序中的“fathoms”fathoms”、 “feet” “feet”、 “inches” “inches”。# #include include .hint int main(void)main(void) int int inches, feet, fathoms;inches, feet, fathoms; printf printf(input fathoms:); (input

6、 fathoms:); scanf scanf(“%d“,&fathoms);(“%d“,&fathoms); feet = 6*fathoms; feet = 6*fathoms; inches = 12*feet; inches = 12*feet; “”可以给程序中的常量命名若若一一个个数数据据元元素素的的值值在在程程序序的的运运行行过过程程中中保保持持不不变变(是是常常量量),则可以用一个符号为其命名。,则可以用一个符号为其命名。 例如,将下面程序中的例如,将下面程序中的6 6命名为命名为“VALUE1”VALUE1”,1212命名为命名为“VALUE2”VALUE2”# #inclu

7、de include .hint int main(void)main(void) int int inches, feet, fathoms;inches, feet, fathoms; . . feet = 6 * fathoms; feet = 6 * fathoms; inches = 12 * feet; inches = 12 * feet; . . # #include include .h#define VALUE1 6#define VALUE1 6#define VALUE2 12#define VALUE2 12intint main(void) main(void) i

8、nt int inches, feet, fathoms;inches, feet, fathoms; . . feet = VALUE1 * fathoms; feet = VALUE1 * fathoms; inches = VALUE2 * feet; inches = VALUE2 * feet; . . 常量定义常量定义符号常量符号常量字面常量字面常量或字面值或字面值“”程序中的符号形式程程序序中中出出现现的的所所有有符符号号都都必必须须有有含含义义,有有些些符符号号的的形形式式和和含含义义是是语语言言设设计计者者规规定定的的,例例如如下下面面例例子子中中的的“include”、“d

9、efine”、“int”等。等。# #include include .h#define VALUE1 6#define VALUE1 6#define VALUE2 12#define VALUE2 12intint main(void) main(void) int int inches, feet, fathoms;inches, feet, fathoms; . . feet = VALUE1 * fathoms; feet = VALUE1 * fathoms; inches = VALUE2 * feet; inches = VALUE2 * feet; . . l l编程者还需要

10、为程序中的某些对象用语言规定的形式命名,编程者还需要为程序中的某些对象用语言规定的形式命名,编程者还需要为程序中的某些对象用语言规定的形式命名,编程者还需要为程序中的某些对象用语言规定的形式命名,例如,在上例中为字面常量命名。例如,在上例中为字面常量命名。例如,在上例中为字面常量命名。例如,在上例中为字面常量命名。“”用在程序中的基本字符和符号C语言程序中的基本字符如下语言程序中的基本字符如下l l标识符标识符标识符标识符是由字母、数字和下划线符号是由字母、数字和下划线符号是由字母、数字和下划线符号是由字母、数字和下划线符号“_”“_”组成的标记。组成的标记。组成的标记。组成的标记。标标标标识

11、符不能以数字开头。识符不能以数字开头。识符不能以数字开头。识符不能以数字开头。创建标识符是为了对程序中的对象进行创建标识符是为了对程序中的对象进行创建标识符是为了对程序中的对象进行创建标识符是为了对程序中的对象进行唯一地命名。例如,在上一个例子中用唯一地命名。例如,在上一个例子中用唯一地命名。例如,在上一个例子中用唯一地命名。例如,在上一个例子中用“ “VALUE1”VALUE1”对字面对字面对字面对字面量量量量1212进行命名,计算所得的英寸数保存在名称为进行命名,计算所得的英寸数保存在名称为进行命名,计算所得的英寸数保存在名称为进行命名,计算所得的英寸数保存在名称为“ “inches”in

12、ches”的变量中。的变量中。的变量中。的变量中。C C语言对标识符是大、小写敏感的。语言对标识符是大、小写敏感的。语言对标识符是大、小写敏感的。语言对标识符是大、小写敏感的。l l小写字母小写字母小写字母小写字母 a b c . za b c . zl l大写字母大写字母大写字母大写字母 A B C .ZA B C .Zl l数字数字数字数字 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9l l其他字符其他字符其他字符其他字符 - * / = ( ) - * / = ( ) ! # $ % & _ | . , ; : ? ! # $ % & _ | . , ;

13、 : ?l l空白字符空白字符空白字符空白字符 空格符空格符空格符空格符 换行符换行符换行符换行符 跳格符跳格符跳格符跳格符l l关键字关键字关键字关键字是程序语言中已经作了严格的含义规定的标识符,是程序语言中已经作了严格的含义规定的标识符,是程序语言中已经作了严格的含义规定的标识符,是程序语言中已经作了严格的含义规定的标识符,后面我们将逐渐了解并熟悉后面我们将逐渐了解并熟悉后面我们将逐渐了解并熟悉后面我们将逐渐了解并熟悉C C语言的关键字及已经约定了含语言的关键字及已经约定了含语言的关键字及已经约定了含语言的关键字及已经约定了含义的标识符。义的标识符。义的标识符。义的标识符。“”C C语言的

14、关键字下面是下面是C语言中已经有定义的标识符,程序员为某种对象命名时不能使用语言中已经有定义的标识符,程序员为某种对象命名时不能使用autoauto double double int int structstructbreakbreakelseelselonglongswitchswitchcasecase enum enum registerregistertypedeftypedefcharcharexternexternreturnreturnunionunionconstconstfloatfloatshortshortunsignedunsignedcontinuecontinue

15、forforsignedsignedvoidvoiddefaultdefaultgotogotosizeofsizeofvolatilevolatiledodoif ifstaticstaticwhilewhile“”变量( (Variable)Variable)一个变量是一个用于存放值一个变量是一个用于存放值(value)的占位符的占位符(placeholder)。内内存存的的存存储储空空间间可可看看作作是是若若干干个个从从0开开始始编编号号的的盒盒子子。例例如如,若若内内存存为为128MB,则则有有12810241024个个盒盒子子(每每个个盒盒子子可可以存储一个以存储一个8位的二进制数位

16、的二进制数)。)。123.k内存内存0.存储单元存储单元504l l每个变量都有三个属性:名字,值每个变量都有三个属性:名字,值每个变量都有三个属性:名字,值每个变量都有三个属性:名字,值和类型。变量名是一个存储单元的和类型。变量名是一个存储单元的和类型。变量名是一个存储单元的和类型。变量名是一个存储单元的符号名,变量的值存储在存储单元符号名,变量的值存储在存储单元符号名,变量的值存储在存储单元符号名,变量的值存储在存储单元中中中中inches变量名变量名变量值变量值“”C语言的基本数据类型语言的基本数据类型“”C语言的基本数据类型C语言的基本数据类型有 整数类型整数类型 实数类型实数类型 字

17、符类型字符类型l对于基本数据类型,我们将从以下三个方面介绍其内容对于基本数据类型,我们将从以下三个方面介绍其内容每种类型数据的表示形式每种类型数据的表示形式数据的取值范围数据的取值范围数据的运算数据的运算“”整数类型整数类型数据的表示形式:整数类型数据的表示形式: 十进制、八进制、十六进制十进制、八进制、十六进制 常量、变量常量、变量l l我们已经知道,机器中数据采用二进制表示,若规定用我们已经知道,机器中数据采用二进制表示,若规定用我们已经知道,机器中数据采用二进制表示,若规定用我们已经知道,机器中数据采用二进制表示,若规定用1616位位位位表示一个整数,则整数表示一个整数,则整数表示一个整

18、数,则整数表示一个整数,则整数1212的机内表示为的机内表示为的机内表示为的机内表示为0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0l l整数字面常量整数字面常量整数字面常量整数字面常量1212在程序中的表示在程序中的表示在程序中的表示在程序中的表示:十进制:十进制:十进制:十进制:1212八进制:八进制:八进制:八进制:014014十六进制:十六进制:十六进制:十六进制:0 0xCxC或或或或0 0xcxc“”整型变量基本的整数类型变量用基本的整数类型变量用“int”进行声明进行声明 int int feet,

19、inches, i; feet, inches, i;l l我们已经知道,若规定用我们已经知道,若规定用我们已经知道,若规定用我们已经知道,若规定用1616位补码表示一个带符号的整数,位补码表示一个带符号的整数,位补码表示一个带符号的整数,位补码表示一个带符号的整数,则表示范围为则表示范围为则表示范围为则表示范围为 -2 -215 15 2 21515-1-1(32768 3276732768 32767),因此用),因此用),因此用),因此用“ “intint” ”声明的整数类型变量的有效值在这个范围内。声明的整数类型变量的有效值在这个范围内。声明的整数类型变量的有效值在这个范围内。声明的整

20、数类型变量的有效值在这个范围内。l l类型符号类型符号类型符号类型符号“ “long”long”声明的整数类型用声明的整数类型用声明的整数类型用声明的整数类型用3232位表示,其变量的取位表示,其变量的取位表示,其变量的取位表示,其变量的取值范围为:值范围为:值范围为:值范围为:-2-231 31 2 23131-1-1l l声明整数类型变量时还可以用符号声明整数类型变量时还可以用符号声明整数类型变量时还可以用符号声明整数类型变量时还可以用符号“ “unsigned”unsigned”进行修饰,进行修饰,进行修饰,进行修饰,目的是说明无符号的整数目的是说明无符号的整数目的是说明无符号的整数目的

21、是说明无符号的整数( (正整数正整数正整数正整数) ),例如例如例如例如unsigned int feet, inches, i;unsigned long m;“”整数类型及取值范围ANSIANSI标准定义的整数类型标准定义的整数类型类型符号类型符号 比特数比特数取值范围取值范围-32768 32767 32767 即即即即 -215 215-1 signed signed intint16160 65535 65535 即即即即 0 216-1 unsigned unsigned intint1616-32768 32767 32767 即即即即 -215 215-1 signed sho

22、rt signed short intint 16160 65535 65535 即即即即 0 216-1 unsigned short unsigned short intint 1616long long intint 32320 4294967295 4294967295 即即即即 0 232-1unsigned long unsigned long intint 3232-2147483648 2147483647 即即即即 -231 231-1 “”整型数据的运算针对整数类型数据的运算有针对整数类型数据的运算有 算术运算:加算术运算:加( (+ +) )、减、减( (- -) ) 、

23、乘、乘( (* *) ) 、除、除( (/ /) ) 、整除取余、整除取余( (% %);); 关系运算:等于关系运算:等于( (=) )、不等于、不等于( (!=!=) )、大于、大于( ( ) ) 、大于或等于、大于或等于( (=) ) 、小于、小于( ( ) )、小、小于或等于于或等于( (=) ) 函数函数“”实数类型实数类型数据的表示形式实数类型数据的表示形式: 十进制小数表示形式,例如十进制小数表示形式,例如3.143.14、9.89.8 指数表示形式指数表示形式: : EE ,其中,其中E E可用可用e e代替,例如代替,例如3.03.0E-5E-5l l基本的实数数据为基本的实

24、数数据为基本的实数数据为基本的实数数据为floatfloat型,在内存占用型,在内存占用型,在内存占用型,在内存占用4 4个字节个字节个字节个字节(32(32位位位位) ),按,按,按,按照指数形式存放,提供照指数形式存放,提供照指数形式存放,提供照指数形式存放,提供6 6位有效数字位有效数字位有效数字位有效数字( (小数点后五位小数点后五位小数点后五位小数点后五位) )。floatfloat型为单精度,型为单精度,型为单精度,型为单精度,doubledouble为双精度型,还有长精度型为双精度型,还有长精度型为双精度型,还有长精度型为双精度型,还有长精度型long doublelong do

25、uble实数类型实数类型类型符号类型符号 比特数比特数取值范围取值范围-3.410-38 3.41038 floatfloat3232-1.710-308 1 1.710308 doubledouble6464-1.210-4932 1 1.2104932long doublelong double128128有效数字有效数字6 715 16161819“”实型数据的舍入误差在计算机中,实数运算中有误差在计算机中,实数运算中有误差 实数的表示采用近似值方式实数的表示采用近似值方式 例如,在例如,在floatfloat类型中,类型中,12345678848.0+2012345678848.0+2

26、0 1.0 / 3 * 31.0 / 3 * 3的运算结果取整数为的运算结果取整数为0 0l lC C编译系统将实型常量作为双精度处理,例如:编译系统将实型常量作为双精度处理,例如:编译系统将实型常量作为双精度处理,例如:编译系统将实型常量作为双精度处理,例如:l lfloat f;float f;l lf = 2.45678 * 4523.65;f = 2.45678 * 4523.65;l l系统将系统将系统将系统将2.45678 2.45678 和和和和 4523.65 4523.65按双精度数据存储和运算,最后取结果的按双精度数据存储和运算,最后取结果的按双精度数据存储和运算,最后取结

27、果的按双精度数据存储和运算,最后取结果的前前前前6(7)6(7)位有效数字保存。位有效数字保存。位有效数字保存。位有效数字保存。TC2.0“”实数的有效数据#includemain()floatx1,y1;doublex2,y2;x1=111111.111;y1=222222.222;printf(x1=%fn,x1);printf(y1=%fn,y1);printf(x1+y1=%fnn,x1+y1);x2=111111.111;y2=222222.222;printf(x2=%fn,x2);printf(y2=%fn,y2);printf(x2+y2=%fn,x2+y2);运行结果:运行结

28、果: x1 = 111111.109375 y1 = 222222.218750 x1 + y1 = 333333.328125 x2 = 111111.111000 y2 = 222222.222000 x2 + y2 = 333333.333000“”实型数据的运算针对实数类型数据的运算有针对实数类型数据的运算有 算术运算:加算术运算:加( (+ +) )、减、减( (- -) ) 、乘、乘( (* *) ) 、除、除( (/ /);); 关系运算:等于关系运算:等于( (=) )、不等于、不等于( (!=!=) )、大于、大于( ( ) ) 、大于或等于、大于或等于( (=) ) 、小于

29、、小于( ( ) )、小、小于或等于于或等于( (=) ) 函数函数“”字符类型字符类型数据的表示形式:字符类型数据的表示形式: 常量,用单撇号括起来,例如:常量,用单撇号括起来,例如: a a , D D , ? ? 变量,变量,char c1, c2;char c1, c2;l l一个字符在内存中占据一个字节的存储空间,字符编码采用一个字符在内存中占据一个字节的存储空间,字符编码采用一个字符在内存中占据一个字节的存储空间,字符编码采用一个字符在内存中占据一个字节的存储空间,字符编码采用ASCIIASCII码,以二进制形式存储。码,以二进制形式存储。码,以二进制形式存储。码,以二进制形式存储

30、。#include main() int i; for(i = 0;i 128; i+) if (i % 16 = 0) printf(n); printf(%c ,i); printf(n);l l数字字符、小写数字字符、小写数字字符、小写数字字符、小写字母、大写字母字母、大写字母字母、大写字母字母、大写字母集中编码集中编码集中编码集中编码“”字符类型C语言中允许将字符类型数据看作整数类型语言中允许将字符类型数据看作整数类型 字符类型数据既可以以字符形式输出,也可以以整数形式输出。字符类型数据既可以以字符形式输出,也可以以整数形式输出。 字符数据可以进行算术运算字符数据可以进行算术运算#in

31、clude main() char ch1,ch2; ch1=a; ch2=b; printf(ch1=%c,ch2=%cn,ch1,ch2); printf(ch1=%d,ch2=%dn,ch1,ch2);程序运行结果:程序运行结果: ch1=a,ch2=b ch1=97,ch2=98“”字符串常量像像abc这样的在双引号内的字符序列是串常量这样的在双引号内的字符序列是串常量, 例如,例如, How do you do.How do you do. 、 Good morning.Good morning. 等,都是字符串常量,其长度等,都是字符串常量,其长度分别为分别为1414和和13(13

32、(空格也是一个字符空格也是一个字符) )。l l在在在在C C语言中,存储字符串常量时,系统在串尾语言中,存储字符串常量时,系统在串尾语言中,存储字符串常量时,系统在串尾语言中,存储字符串常量时,系统在串尾自动增加自动增加自动增加自动增加一个一个一个一个符号符号符号符号0作为串的结束标志。例如,串作为串的结束标志。例如,串作为串的结束标志。例如,串作为串的结束标志。例如,串china在内存中的实在内存中的实在内存中的实在内存中的实际存储如下所示。际存储如下所示。际存储如下所示。际存储如下所示。c ch hi in na a00“”特殊字符的表示l l在程序中,有些特殊字符需要用转义字符表示,例

33、如要表示在程序中,有些特殊字符需要用转义字符表示,例如要表示在程序中,有些特殊字符需要用转义字符表示,例如要表示在程序中,有些特殊字符需要用转义字符表示,例如要表示单撇字符以及在串中表示双撇字符时需要用转义字符表示。单撇字符以及在串中表示双撇字符时需要用转义字符表示。单撇字符以及在串中表示双撇字符时需要用转义字符表示。单撇字符以及在串中表示双撇字符时需要用转义字符表示。常用的转义字符常用的转义字符n字符形式字符形式含义含义ASCII编码编码换行,将当前位置移到下一行开头换行,将当前位置移到下一行开头10t水平制表,跳到下一个水平制表,跳到下一个tab位置位置9b退格,将当前位置移到前一列退格,

34、将当前位置移到前一列8r回车,将当前位置移到本行开头回车,将当前位置移到本行开头13单撇号字符单撇号字符39双撇号字符双撇号字符34“”l l综上所述,字符常量综上所述,字符常量综上所述,字符常量综上所述,字符常量A A A A与字符串常量与字符串常量与字符串常量与字符串常量A A A A是两回事是两回事是两回事是两回事l l定界符不同:定界符不同:定界符不同:定界符不同:字符常量使用单引号字符常量使用单引号字符常量使用单引号字符常量使用单引号( ( ( (单撇单撇单撇单撇) ) ) ),而字符串常,而字符串常,而字符串常,而字符串常量使用双引号量使用双引号量使用双引号量使用双引号( ( (

35、(双撇双撇双撇双撇) ) ) );l l长度不同:长度不同:长度不同:长度不同:字符常量的长度固定为字符常量的长度固定为字符常量的长度固定为字符常量的长度固定为1 1 1 1,而字符串常量的长,而字符串常量的长,而字符串常量的长,而字符串常量的长度,可以是度,可以是度,可以是度,可以是0 0 0 0,也可以是某个整数;,也可以是某个整数;,也可以是某个整数;,也可以是某个整数;l l存储要求不同:存储要求不同:存储要求不同:存储要求不同:字符常量存储的是字符的字符常量存储的是字符的字符常量存储的是字符的字符常量存储的是字符的ASCIIASCIIASCIIASCII码值,而码值,而码值,而码值,

36、而字符串常量,除了要存储有效的字符外,还要存储一个字符串常量,除了要存储有效的字符外,还要存储一个字符串常量,除了要存储有效的字符外,还要存储一个字符串常量,除了要存储有效的字符外,还要存储一个结束标志结束标志结束标志结束标志0 。“”本次课程的内容提要C程序由函数构成,对数据的声明和对数据的运算构成了函数标识符用于为程序中的对象命名,标识符的形式为:以字母和下划线起头的字母、数字字符串。常量是程序运行中不改变值的数据变量用标识符命名,变量名代表程序运行时的一个存储空间,因此变量具有两个属性:地址和值。读取变量的值不会改变其值,为变量赋新值将覆盖其原来的值。程序中的所有数据都有类型。C语言的基本数据类型有:整型、实型、字符型,对每种数据类型要掌握其表示形式、取值范围和运算方法。“”下次课的主要内容C程序中的运算符号和表达式输入和输出处理“”作业1.1.教材教材Page65 3.4Page65 3.42.2.教材教材Page66 3.9Page66 3.9请复习和预习教材第三章的内容请复习和预习教材第三章的内容

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号