第2章C语言程序基础

上传人:鲁** 文档编号:579974700 上传时间:2024-08-27 格式:PPT 页数:31 大小:253.02KB
返回 下载 相关 举报
第2章C语言程序基础_第1页
第1页 / 共31页
第2章C语言程序基础_第2页
第2页 / 共31页
第2章C语言程序基础_第3页
第3页 / 共31页
第2章C语言程序基础_第4页
第4页 / 共31页
第2章C语言程序基础_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《第2章C语言程序基础》由会员分享,可在线阅读,更多相关《第2章C语言程序基础(31页珍藏版)》请在金锄头文库上搜索。

1、C C语言程序言程序设计l第二章 C语言程序基础华北电力大学计算机科学系郑玲1 1学习目标学习目标l掌握掌握C C程序的基本结构及程序的基本结构及C C语言基本语法成分;语言基本语法成分;l理解理解C C语言数据类型的概念,掌握整形、浮点型、字符型数据的存储语言数据类型的概念,掌握整形、浮点型、字符型数据的存储形式、取值范围、表示形式及基本运算;形式、取值范围、表示形式及基本运算;l掌握格式输入输出函数的使用,理解输入输出格式字符串与输入输掌握格式输入输出函数的使用,理解输入输出格式字符串与输入输出数据间的匹配关系;出数据间的匹配关系;l通过模仿和改写例题,学习简单的程序设计方法。通过模仿和改

2、写例题,学习简单的程序设计方法。22.1 C2.1 C程序的基本结构程序的基本结构 C语言程序的基本结构如下:编译预处理命令编译预处理命令void void main(voidmain(void ) ) 声明部分声明部分 执行部分执行部分 类型类型 子函数名(形参表)子函数名(形参表) 声明部分声明部分 执行部分执行部分 执行部分一般形式如下:执行部分一般形式如下: 数据输入数据输入 数据处理数据处理 数据输出数据输出32.2 C2.2 C语言基本语法成分语言基本语法成分2.2.1 C2.2.1 C语言的字符集语言的字符集 字符是组成语言的最基本的元素。字符是组成语言的最基本的元素。C C语言

3、字符集由字母、数字、空格、标点语言字符集由字母、数字、空格、标点和特殊字符组成。和特殊字符组成。 1. 字母: 小写字母az共26个,大写字母AZ共26个2. 数字: 09共10个3. 特殊符号: ! # % & + - * / = | . , ; : ? ( ) 4. 空白符 42.2.2 2.2.2 标识符标识符 标识符标识符用来标识变量名、符号常量名、函数名、数组名、类型名等。用来标识变量名、符号常量名、函数名、数组名、类型名等。C C语言规语言规定,标识符只能是字母定,标识符只能是字母(A(AZ Z,a az)z)、 数字数字(0(09)9)、 下划线下划线(_)(_)组成的字符串,组

4、成的字符串,并且其第一个字符必须是字母或下划线并且其第一个字符必须是字母或下划线。例如,例如, a a,i i,sumsum,averageaverage, alal,c_2c_2,DAYDAY,studentstudent,p26p26,_no _no 是合法的标识符;是合法的标识符; 5a5a,M Mforfor,$123$123,3D643D64,a-b a-b 是不合法的标识符。是不合法的标识符。52.2.2 2.2.2 标识符标识符在使用标识符时必须注意以下几点:在使用标识符时必须注意以下几点:1、大小写敏感,即C语言认为大小写字母为不同的字符。例如A和a是两个不同的标识符。2、AN

5、SI C没有限制标识符长度,但各个编译系统都有自己的规定和限制。3、标识符不能与“关键字”同名,也不能与系统预先定义的“标准标识符”同名,如main、printf等。4、标识符虽然可由用户定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便于阅读理解,作到“顾名思义”。如sum、avg、area、score、name等5、在容易出现混淆的地方应尽量避免使用容易认错的字符。例如,数字1与字母1和I,数字0与字母o,数字2与字母Z和z。62.2.3 2.2.3 关键字关键字 关键字关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。C语言包括32个个关键字:auto

6、break case char const continue default do double else enum extem float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while注意:C语言的关键字都是小写。2.2.4 2.2.4 运算符运算符 运算符表示各种运算功能。运算符由一个或多个字符组成,如: +、- 、*、/、&等。可以组成以下表达式式 :a+b;2*2.1415926*r; 72.

7、2.5 分隔符 C语言中,分隔符有逗号、空格、Tab和回车等。 逗号:主要用于在类型说明和函数参数表中分隔各个变量; 空格、Tab和和回车多用于语句和各单词之间的间隔符。 注意:在关键字或标识符之间必须要有一个以上的分隔符作间隔,否则将会出现语法错误,例如把int a, b; 写成 inta, b; C编译器会把 inta 当成一个标识符处理,其结果必然出错。82.3 C2.3 C语言数据类型语言数据类型 C数据类型基本类型构造类型指针类型空类型void浮点型字符型char枚举型enum整形shortintintlongintfloatdouble数组型结构体型共用体型92.3 C2.3 C语

8、言数据类型语言数据类型常量:在程序执行过程中,常量的值不能由程序改变。变量:在程序执行过程中,变量的值可以由程序改变。变量对应着内存中的一个存储单元,在存储单元中存放着该变量的值,每个变量都有一个名字。 例如:x、sum、area 不同类型的数据所占的存储单元的大小也不同,例如,char型占1个字节、int型占4个字节、double型占8字节。 注意:变量必须先声明后使用。102.3.12.3.1整型整型( (intint) )数据数据 整型数据占有4个字节的存储空间,以二进制定点补码的形式存储,它的取值范围为-21474836482147483647即-231(231-1),整型数据没有小数

9、部分。【例2-1】 整数型数据的运算。#includevoidmain()intx,y;x=1/2;/*整型运算量的除法运算,其结果自动取整*/y=5%2;/*%为求余运算,其运算量只能是整数*/printf(x=%d,y=%dn,x,y);x=0,y=1Pressanykeytocontinue声明变量声明变量变量的变量的赋值赋值输出变量输出变量的值的值112.3.22.3.2浮点型浮点型( (flaotflaot) )数据数据 浮点型数据占有4个字节的存储空间,以浮点的形式存储,它的取值范围为(2.410-382.41038)。在C语言中,浮点型常量有两种表示形式:1 1、小数形式小数形式

10、:由正负号、数字和小数点组成,小数点前后的0可以省略,但小数点不能省略。 例如: 0. 、.25 、 32.78 、 -12. 、2.0等。2 2、指数形式指数形式:用科学记数法来表示浮点数,一般用来表示很大或很小的数。 例如:23500000=2.35107,在C程序中可以表示成: 2.35e7、2.35E7、0.235e8、235e5。注意:指数部分必须为整数,一个浮点数不能只包含指数部分或底数部分。 例如:2.5e-2.0、 E+5. 2.6e都是错误的。122.3.32.3.3字符型字符型(char)(char)数据数据1 1、字符常量、字符常量在C语言中字符型常量是用单引号括起来的单

11、个字符, 例如: A、b、0、+ 等。字符常量的特点:符常量只能用单引号括起来,不能用双引号。字符常量只能是一个字符,不能是多个字符。字符可以是字符集中任意字符。但数字被定义为字符型之后与其本身数值是不相等的。例如:0和0 是不同的。2 2、字符数据的存储、字符数据的存储 在内存单元中存储的是字符的ASCII码,ASCII码为0127之间的整数。3 3、字符数据的运算、字符数据的运算 “+”、“-”和比较运算。 注意:+、-运算相当于为字符的ASCII码加上或减去一个整数值,但运算后的值仍然在ASCII码值的表示区间内运算才有意义。132.3.32.3.3字符型字符型(char)(char)数

12、据数据【例2-2】字符变量赋值与输出。#includevoidmain()charc;/* 声声明字符型明字符型变量量c */intx;/* 声声明整型明整型变量量x */c=97;/* 97是是a的的ASCII码 */x=b;printf(%c,%dn,c,c);printf(%d,%cn,x,x);a,9798,bPress any key to continue声明字符声明字符变量变量字符变量字符变量赋值赋值输出字符输出字符变量的值变量的值142.3.32.3.3字符型字符型(char)(char)数据数据【例2-3】 在键盘上输入一个小写字符,将其转换成大写字符后输出。#include

13、voidmain()charc;c=getchar();c=c-32;putchar(c);putchar(n);aAPress any key to continue在键盘上输入一个在键盘上输入一个字符赋给变量字符赋给变量c c 输出变量输出变量c c中存储的中存储的字符字符 a a z z的的ASCIIASCII码码为:为:97 97 122122A A Z Z的的ASCIIASCII码码为:为:65659090152.4 C2.4 C语句语句1 1、表达式语句:、表达式语句: 一般形式为:表达式表达式; ; 例如: x=y+z; i+; 2. 2. 函数调用语句:函数调用语句: 一般形式

14、为:函数名函数名( (实际参数表实际参数表);); 例如: scanf(%d, &x);3. 3. 控制语句:控制语句:条件判断语句:if语句、switch语句;循环执行语句:do while语句、while语句、for语句;转向语句:break语句、goto语句、continue语句、return语句。4. 4. 复合语句:复合语句: 把多个语句用大括号 括起来组成的一个语句称复合语句。 例如: x=y+z; a=b+c; printf(%d%d, x, a); 5. 5. 空语句:空语句: 只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。162.5 C2.5 C语言的格式输

15、出语言的格式输出printfprintf函数函数一般形式为: printfprintf(格式控制字符串格式控制字符串, , 输出表列输出表列) )格式字符串为: % % 标志标志输出最小宽度输出最小宽度.精度精度长度长度 类型类型1. 类型: 格式字符 意义d以十进制形式输出带符号整数(正数不输出符号)o以八进制形式输出无符号整数(不输出前缀0)x,X以十六进制形式输出无符号整数(不输出前缀Ox)u以十进制形式输出无符号整数f以小数形式输出单、双精度实数e,E以指数形式输出单、双精度实数g,G以%f或%e中较短的输出宽度输出单、双精度实数c输出单个字符s输出字符串172.5 C2.5 C语言的

16、格式输出语言的格式输出printfprintf函数函数2. 标志: 标志字符为-. +. #. 空格四种标志 意义-结果左对齐,右边填空格+输出符号(正号或负号)空格负时输出,正号不输出#对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点182.5 C2.5 C语言的格式输出语言的格式输出printfprintf函数函数3. 3. 输出最小宽度输出最小宽度: : 若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。4. 4. 精度精度: : 如果输出数字,则表示小数的位数; 如果输出的是字符

17、,则表示输出字符的个数; 若实际位数大于所定义的精度数,则四舍五入截去超过的部分。5. 5. 长度长度: : 长度格式符为h和l两种,h表示按短整型量输出,l表示按长整型量输出。 192.5 C2.5 C语言的格式输出语言的格式输出printfprintf函数函数【例2-4】格式符与输出项匹配实例。#includevoidmain()inta=97;floatb=56.748;printf(a=%d,b=%fn,a,b);printf(%c,%d,%o,%x,%fn,a,a,a,a,a);printf(%f,%e,%d,%o,%xn,b,b,b,b);a=97,b=56.748001a,97,

18、141,61,0.00000056.748001,5.674800e+001,-2147483648,10023057676,80000000Press any key to continue202.5 C2.5 C语言的格式输出语言的格式输出printfprintf函数函数【例2-5】输出宽度与精度实例。#includevoidmain()inta=66;floatb=122.1234567;doublec=1234567890.1234567;printf(a=%d,%-5d,%5d,%5cn,a,a,a,a);printf(b=%f,%lf,%5.4f,%.4e,%10.2fn,b,b,

19、b,b,b);printf(c=%lf,%f,%8.4lfn,c,c,c);a=66,66 , 66, Bb=122.123459,122.123459,122.1235,1.2312e+002, 122.12c=1234567890.123457,1234567890.123457,1234567890.1235Press any key to continue212.5 C2.5 C语言的格式输出语言的格式输出printfprintf函数函数注意:1、C语言编译器不会检测格式符与输出项的数量是否相匹配,若输出项多余格式符,printf函数则正确的显示前面匹配的输出项,后面多余的不输出。例如

20、 printf(%d,i,j);2、若输出项少于格式符,printf函数则正确的显示匹配的输出项,后面多余的格式符因为没有匹配的输出项,将输出没有任何意义的随机数。例如 printf(%d,%d,i); 3、C语言编译器也不会检测格式符与输出项的数据类型是否匹配,若不匹配则输出无意义的数值。4、小数部分,精度按四舍五入截取。5、输出数值位数小于输出最小宽度,用空格补齐,“-”指定左对齐,默认为右对齐。6、输出数值位数大于输出最小宽度,按实际位数输出。7、flaot类型和double类型的输出项“%f”和“%lf ”格式的输出相同。222.6 C2.6 C语言的格式输入语言的格式输入scanfs

21、canf函数函数scanf函数的一般形式为: scanfscanf(格式控制字符串格式控制字符串, , 地址表列地址表列););地址是由地址运算符“&”后跟变量名组成的。1. 1. 缺省的分隔符缺省的分隔符在键盘上输入数据时,数据之间用一个或多个空格、Tab和回车来分割。【例2-6】格式符与输入变量匹配实例#includevoidmain()inta,b,c;printf(inputa,b,cn);scanf(%d%d%d,&a,&b,&c);printf(a=%d,b=%d,c=%dn,a,b,c);input a,b,c2 5 8a=2,b=5,c=8Press any key to co

22、ntinueinput a,b,c258a=2,b=5,c=8Press any key to continueinput a,b,c2 58a=2,b=5,c=8Press any key to continueinput a,b,c2,5,8a=2,b=-858993460,c=-858993460Press any key to continue232.6 C2.6 C语言的格式输入语言的格式输入scanfscanf函数函数2. 2. 格式字符串中的普通字符格式字符串中的普通字符空格:当在格式控制字符串遇到一个或多个空格时,scanf函数从输入 数据中重复读空白字符直到遇到一个非空字符为

23、止。其它字符:当在格式控制字符串中遇到一个非空字符时,scanf函数将 它与输入字符进行比较,若两个字符相等,继续下一个输入, 否则终止scanf函数的执行。【例2-7】其它分隔符实例#include void main() int a, b, c; printf(input a,b,cn); scanf(%d,%d,%d, &a, &b, &c); printf(a=%d,b=%d,c=%dn,a,b,c);input a,b,c2,6,4a=2,b=6,c=4Press any key to continueinput a,b,c2 6 4a=2,b=-858993460,c=-85899

24、3460Press any key to continue242.6 C2.6 C语言的格式输入语言的格式输入scanfscanf函数函数3. 3. 格式字符串格式字符串格式字符串的一般形式为: %*%*输入数据宽度输入数据宽度 类型类型(1)类型格式字符意义d输入十进制整数o输入八进制整数x输入十六进制整数u输入无符号十进制整数f或e输入实型数(用小数形式或指数形式)c输入单个字符s输入字符串252.6 C2.6 C语言的格式输入语言的格式输入scanfscanf函数函数(2)* “*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。例如:scanf(%d %*d %d, &a

25、, &b);当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。(3)宽度 例如:scanf(%2d%3d, &a, &b); 输入:12345678 将把12赋予a,而把345赋予b,其余的字符无效,所以输入后a=12,b=345。 262.6 C2.6 C语言的格式输入语言的格式输入scanfscanf函数函数4.4.字符变量的输入字符变量的输入 在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。 例如:scanf(%c%c%c,&a,&b,&c); 输入:def 则把d赋予a, 赋予b,e赋予c。 输入为:def 则把d赋于a,e赋予b,f赋予c。272

26、.6 C2.6 C语言的格式输入语言的格式输入scanfscanf函数函数注意:注意:1、scanf函数中没有精度控制。例如:scanf(“%5.2f”,&a);是非法的。2、scanf中要求给出变量地址,如给出变量名则会出错。 例如: scanf(“%d”, a);是错误的,应改为scnaf(%d, &a);。3、在输入多个数值数据时,若格式控制串中没有非格式字符作为输入数据之间的间隔,则可用空格、TAB或回车作为间隔。4、在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。5、在使用double型数据输入时,一定要注意格式控制说明是%lf,如果写成%f ,那么将

27、导致输入错误。282.72.7小结小结C语言程序的基本结构:编译预处理命令编译预处理命令void void main(voidmain(void ) ) 声明部分声明部分 执行部分执行部分 类型类型 子函数名(形参表)子函数名(形参表) 声明部分声明部分 执行部分执行部分 292.72.7小结小结语言基本语法成分:C语言的字符集:由字母、数字、空格、标点和特殊字符组成。标识符:标识符只能是字母、 数字和下划线组成的字符串,并且其第一个字符必须是字母或下划线。关键字:关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。运算符:表示各种运算功能。分隔符:在C语言分隔符有逗号、空格、Tab和回车等。302.72.7小结小结3. C语言的数据类型 重点介绍了整形、实型、字符型4. C语句表达式语句。函数调用语句。控制语句。复合语句。空语句。5. C语言的格式输出printf函数6. C语言的格式输入scanf函数31

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

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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