第2章C语言的基本知识_第1页
第2章C语言的基本知识_第2页
第2章C语言的基本知识_第3页
第2章C语言的基本知识_第4页
第2章C语言的基本知识_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第2章章 C语言的基本知识语言的基本知识2.1 语言的数据类型语言的数据类型数据类型数据类型指针类型指针类型空类型空类型 void基本类型基本类型整型整型 实型(浮点型)实型(浮点型)字符型字符型 char单精度型单精度型 float双精度型双精度型 double枚举类型枚举类型 enum构造类型构造类型数组类型数组类型结构体类型结构体类型 struct共用体类型共用体类型 union短整型短整型 short int整型整型 int长整型长整型 long into 不同的数据类型之间的差别不同的数据类型之间的差别数据类型不同,则:数据类型不同,则:(1)数据的表达范围不同)数据的表达范围不同

2、: 长整型:长整型:-2 147483648 2147483648短整型:短整型:-3276832767(2)数据在内存中的存放形式不同)数据在内存中的存放形式不同2.2 变量与常量变量与常量1、标识符标识符o 标识符是用来标识变量名、常量名、函数名等的字符标识符是用来标识变量名、常量名、函数名等的字符序列。序列。o 标识符的组成:标识符的组成:(1)只能由)只能由字母、数字、下划线字母、数字、下划线组成,且必须以组成,且必须以字母或下划线开头字母或下划线开头(2)区分大小写)区分大小写(3)不能使用关键字)不能使用关键字o 命名原则:命名原则:(1)尽量见名知意)尽量见名知意(2)避免使用宜

3、混淆的符号,如)避免使用宜混淆的符号,如1与与l,o与与0判断下列标识符的合法性:判断下列标识符的合法性:(1)sum (2)Sum (3)M.D.John (4)day (5)Date (6)3days (7)student_name (8)#33 (9)lotus_1_2_3 (10)char (11)ab (12)_above (13)$123判断下列标识符的合法性:判断下列标识符的合法性:(1)sum (2)Sum (3)M.D.John (4)day (5)Date (6)3days (7)student_name (8)#33 (9)lotus_1_2_3 (10)char (11

4、)ab (12)_above (13)$1232.2 变量与常量变量与常量2、常量、常量o 常量是在程序运行过程中,其值不可以被改常量是在程序运行过程中,其值不可以被改变的量。变的量。o 直接常量:如直接常量:如123、-5、1.5、xo 符号常量:符号常量:(1)定义格式:)定义格式: #define 符号常量名符号常量名 常量常量(2)一般符号常量名用大写字母)一般符号常量名用大写字母(3)是宏定义预处理命令,一般放在源文件的前面)是宏定义预处理命令,一般放在源文件的前面编译器在编译时会把所有的常量名替换为常量值编译器在编译时会把所有的常量名替换为常量值2.2 变量与常量变量与常量例:输入

5、圆的半径例:输入圆的半径r,求圆的周长,求圆的周长c和圆的面积和圆的面积s。 #define PI 3.14159 void main( ) float r,c,s ;scanf(%f , &r); /*输入圆的半径输入圆的半径*/c = 2 * PI * r ;s = PI * r * r ; printf (c = %f , s = %f n ,c , s ); 2.2 变量与常量变量与常量3、变量、变量o 变量是在程序运行过程中,其值可以被改变的量。变量是在程序运行过程中,其值可以被改变的量。o 变量定义的一般格式:变量定义的一般格式: 变量类型变量类型 变量名变量名1,变量名变

6、量名2,变量名变量名n; (类型说明符与变量名之间至少要用一个空格分隔开)(类型说明符与变量名之间至少要用一个空格分隔开)o 先定义,后使用,一般放在函数体开头。先定义,后使用,一般放在函数体开头。o 允许在变量定义的同时对变量赋初始值。允许在变量定义的同时对变量赋初始值。例:例:int a,b,c; float data;例:例:int a=0,b,c=-20; float data=1.5;例:例:int a=b=2; 例:例:int a,b; a=b=2; 例:例:int a=2,b=2; 2.3 整型数据整型数据1、整型常量、整型常量o 十进制整型常量:由数字十进制整型常量:由数字09

7、和正负号表示。和正负号表示。如如 123,-456,0o 八进制整型常量:由八进制整型常量:由数字数字0开头开头,后跟数字,后跟数字07表示。表示。如如0123,011o 十六进制整型常量:由十六进制整型常量:由0 x或或0X开头开头,后跟,后跟09,af,AF表示。表示。如如0 x123,0Xff问题:问题:023 = ( )100 x12 = ( )100Xa7 = ( )10问题:问题:023 = ( 19 )100 x12 = ( 18 )100Xa7 = ( 167 )102.3 整型数据整型数据2、整型变量、整型变量o 整型变量的分类整型变量的分类类型说明符类型说明符数的范围数的范

8、围VC+6.0中分配字节数中分配字节数short int 或或 short-32768327672int-2147483648 21474836474long int 或或 long-2147483648 21474836474unsigned short int或或unsigned short 0655352unsigned int042949672954unsigned long int或或unsigned long 0429496729542.3 整型数据整型数据3、整型数据的输入、输出、整型数据的输入、输出o 格式化输出函数格式化输出函数printf函数的一般格式函数的一般格式: pr

9、intf ( “格式控制字符串格式控制字符串” , 输出项列表输出项列表 ); (使用前必须有(使用前必须有#include命令)命令)o 输出项列表:常量、变量、表达式、函数返输出项列表:常量、变量、表达式、函数返回值,多个输出项之间用回值,多个输出项之间用“,”分隔,可以没分隔,可以没有输出项。有输出项。例:例:printf(Hello World!n); printf (%d, 3); printf (%d, 2+3); printf (%d %d, a,b); printf (%d, a*b);没有输出项没有输出项输出项为常量输出项为常量输出项为变量输出项为变量输出项为表达式输出项为表

10、达式输出项为表达式输出项为表达式2.3 整型数据整型数据o 格式控制字符串:格式控制字符串:(1)普通字符原样输出)普通字符原样输出(2)格式说明)格式说明例:例:printf (Hello World);%d、%ld按照实际宽度输按照实际宽度输出十进制整数出十进制整数int a=567;printf (%d,a);567%mdm0,右对齐,右对齐m0,左对齐,左对齐按照指定宽度输按照指定宽度输出十进制整数出十进制整数指定宽度指定宽度实际宽实际宽度时按实际宽度度时按实际宽度输出输出int a=567;printf (%6d,a);printf (%-6d,a);printf (%2d,a);

11、567567 567%o输出八进制整数输出八进制整数int a=567;printf (%o,a);1067%x输出十六进制整输出十六进制整数数int a=567;printf (%x,a);237%输出百分号本身输出百分号本身int a=56;printf (%d,a);%56o 例:例:int a=3,b=14;printf(%d,%d,a-b,b); printf(a:%d,b:%d,a,b);printf(%4d,%x,a*b,b);printf(%d%d,a,b);-11,14 a:3,b:14 42,e%d%32.3 整型数据整型数据3、整型数据的输入、输出、整型数据的输入、输出o

12、 格式化输入函数格式化输入函数scanf函数的一般格式函数的一般格式: scanf ( “格式控制字符串格式控制字符串” ,变量地址列表变量地址列表); (使用前必须有(使用前必须有#include命令)命令)o 变量地址列表:变量的地址,用取地址运算变量地址列表:变量的地址,用取地址运算符符&,多个变量地址之间用,多个变量地址之间用“,”分隔。分隔。例:例:scanf (%d%d, &a,&b);2.3 整型数据整型数据o 格式控制字符串:格式控制字符串:(1)普通字符原样输入)普通字符原样输入例:例:scanf (%d:%d,&a,&b);键入必须形

13、如:键入必须形如: 3:5例:例:scanf (%d%d%d,&a,&b,&c);格式控制字符串中无分隔符时,可键入格式控制字符串中无分隔符时,可键入空格、空格、Tab或回车键或回车键作为分隔符。作为分隔符。2.3 整型数据整型数据例:例:scanf(“a=%d”,&a); a=3 3 例:例:scanf(“%d,%d”,&a,&b); a=3,b=5 3 5 3,5 3 5 2.3 整型数据整型数据o 格式控制字符串:格式控制字符串:(2)格式说明)格式说明%md按照指定宽度输按照指定宽度输入十进制整数入十进制整数scanf (%3d,&

14、;a);输入输入 35输入输入 3578则则a的值为的值为35则则a的值为的值为357%*d输入数据不存入输入数据不存入变量变量scanf(%d%*d%d,&a,&b);输入输入 3 4 5则则a的值为的值为3,b的值为的值为52.4 浮点数浮点数1、浮点常量、浮点常量o 十进制数形式:(十进制数形式:(必须有小数点必须有小数点) 如如0.123, .123,123.0,0.0,123.o 指数形式:(指数形式:(e或或E之前必须有数字,指数必须为整数之前必须有数字,指数必须为整数) 如如-12.3e3(值为(值为-12.3103) ,123E2,1.23e-4(值为(值为1.

15、2310-4)o double双精度型:双精度型:1.23,1.23e-4o float单精度型:单精度型:1.23f,1.23e-4F2.4 浮点数浮点数2、浮点变量、浮点变量o 浮点变量的分类浮点变量的分类类型说明符类型说明符数的范围数的范围有效数字有效数字分配字节数分配字节数float10-3810386、74double10-3081030815、1682.4 浮点数浮点数3、浮点数据的输入、输出、浮点数据的输入、输出o printf输出输出%f、%lf整数部分按实际整数部分按实际位数输出,小数位数输出,小数部分显示部分显示6位位float a=12.567;printf (%f,a)

16、;12.567000%m.nf%-m.nf%.nfm表示整数部表示整数部分、小数部分分、小数部分和小数点的总和小数点的总位数位数n表示小数位数表示小数位数按照指定宽度输按照指定宽度输出浮点数出浮点数float a=12.567;printf (%7.2f,a);printf (%-7.2f,a); 12.5712.57 2.4 浮点数浮点数3、浮点数据的输入、输出、浮点数据的输入、输出#includevoid main( )float a,b;a=2222.2222; b=3333.3333;printf(%fn,a+b);运行结果:运行结果:5555.555420由于单精度浮点数有效位数只有

17、由于单精度浮点数有效位数只有7位,所以最后三位位,所以最后三位不准确不准确2.4 浮点数浮点数3、浮点数据的输入、输出、浮点数据的输入、输出o scanf输入输入o 输入浮点数时不允许规定精度输入浮点数时不允许规定精度例:例:scanf(%5.2f,&a); printf(%f,a);键入键入12.45,输出,输出-107374176.000000程序举例程序举例o 输入三角形边长,求面积。输入三角形边长,求面积。#include /包含开方函数包含开方函数sqrt()的头文件的头文件#include void main() float a,b,c,s,area;printf(输入三角

18、形边长:输入三角形边长:); scanf(%f%f%f,&a,&b,&c); s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(三角形边长三角形边长a=%.2f, b=%.2f, c=%.2f, ,a,b,c); printf(面积面积area=%6.2f,area);1()2() () ()sabcareassasbsc输入输入 3 4 5显示显示 三角形边长三角形边长a=3.00, b=4.00, c=5.00, 面积面积area= 6.00程序举例程序举例o #include /包含开方函数包含开方函数s

19、qrt()的头文件的头文件#include void main() float a,b,c,x1,x2,q; scanf(a=%f,b=%f,c=%f,&a,&b,&c);q=sqrt(b*b-4*a*c); x1=(-b+q)/(2*a); x2=(-b-q)/(2*a); printf(x1=%.2f , x2=%.2f,x1,x2);输入输入 a=1,b=4,c=3显示显示 x1=-1.00 , x2=-3.0022040axbxcbac求方程的根,设242bbacxa 思考:思考:o 输入梯形的上底、下底和高,求梯形的面积输入梯形的上底、下底和高,求梯形的面积(

20、保留(保留2位小数)。位小数)。2.5 字符型数据字符型数据o 字符型数据的作用是什么?字符型数据的作用是什么?o 例:从键盘键入并保存一个学生的名字信息,例:从键盘键入并保存一个学生的名字信息,该学生名叫该学生名叫“Emily”。o 分析:这里要处理的数据分析:这里要处理的数据“Emily”,不是单,不是单纯的数,而是一串字母。这种数据,用整型和纯的数,而是一串字母。这种数据,用整型和浮点型都没有办法直接表示。因此,需要专门浮点型都没有办法直接表示。因此,需要专门的字符型数据来处理这一类的信息。的字符型数据来处理这一类的信息。2.5 字符型数据字符型数据1、字符常量、字符常量o 字符常量是用

21、字符常量是用单引号单引号括起来的括起来的单个普通字符单个普通字符或或转义字符转义字符。o 字符常量的值:该字符的字符常量的值:该字符的ASCII码码值值例如:例如: a A ? n 101例如例如 A A65 65 a a9797 0 048 48 nn10102.5 字符型数据字符型数据1、字符常量、字符常量o 转义字符:转义字符:反斜线反斜线后面跟一个字符或一个代码值表示。后面跟一个字符或一个代码值表示。转义字符转义字符转义字符的意义转义字符的意义十进制十进制ASCII码值码值n回车换行,将当前位置移至下一行的开头回车换行,将当前位置移至下一行的开头10t横向跳格,将当前位置移至下一个横向

22、跳格,将当前位置移至下一个Tab位置位置9反斜杠字符本身反斜杠字符本身92单引号字符单引号字符39”双引号字符双引号字符34ddd13位八进制数所代表的字符位八进制数所代表的字符八进制数八进制数ddd对应对应的十进制数的十进制数xhh12位十六进制数所代表的字符位十六进制数所代表的字符十六进制数十六进制数hh对应对应的十进制数的十进制数例如:例如: 101 -A 012 -n 376 - x61 -a 60 -0 483 - ( )2.5 字符型数据字符型数据o 例:转义字符举例。例:转义字符举例。 void main() printf(101tx42tCn); printf(I say:Ho

23、w are you?n); printf(C Programn); printf(Visual C+);显示:显示:A B C I say:How are you? C Program Visual C+思考:思考:o 如何实现以下显示效果如何实现以下显示效果? 学号学号姓名姓名性别性别成绩成绩1440720101李洋李洋男男901440720102郭瑞环郭瑞环男男91.2.5 字符型数据字符型数据2、字符变量、字符变量o 字符变量的分类字符变量的分类类型说明符类型说明符数的范围数的范围分配字节数分配字节数char-1281271unsigned char025512.5 字符型数据字符型数据

24、3、字符数据的输入、输出、字符数据的输入、输出o printf输出输出%c按照按照1个字符形式输出数据个字符形式输出数据char a=66;printf (%c,a);B%mc%-mc按照指定宽度输出字符按照指定宽度输出字符char a=B;printf (%3c,a);printf (%-3c,a); BB 2.5 字符型数据字符型数据o 例:例:#define PRICE 12.5void main() int num=3;float total;char ch1,ch2=D;total=num*PRICE;ch1=ch2-A+a;printf(total=%f,ch1=%cn,total

25、,ch1);显示:显示:total=37.500000,ch1=d2.5 字符型数据字符型数据3、字符数据的输入、输出、字符数据的输入、输出o putchar输出输出o 格式格式: putchar( c ) c为字符常量、字符变量、字符表达式或整型量为字符常量、字符变量、字符表达式或整型量o 功能:把字符功能:把字符c输出到显示器上输出到显示器上例:例:void main() int c; char a; c=65; a=B+2; putchar(c); putchar(n); putchar(a); 显示:显示: A D2.5 字符型数据字符型数据3、字符数据的输入、输出、字符数据的输入、输

26、出o scanf输入输入例:例:scanf (%c%c%c,&a,&b,&c);格式控制字符串中无分隔符时只需连续输入字符。格式控制字符串中无分隔符时只需连续输入字符。例:例:void main() char a,b,c; scanf(%c%c%c,&a,&b,&c); printf(%c,%c,%c,a,b,c);键入:键入: ABC显示:显示: A,B,C键入:键入: A B C显示:显示: A, , B键入:键入: A B C显示:显示: A B2.5 字符型数据字符型数据3、字符数据的输入、输出、字符数据的输入、输出o scanf输入输入例:例:void main() char a,b; scanf(%c%*c%c,&a,&b); printf(%c,%c,a,b);键入:键入: ABC显示:显示: A,C2.5 字符型数据字符型数据3、字符数据的输入、输出、字符数据的输入、输出o getchar输入输入o 格式格式: getchar()o 功能:接收到的字符的功能:接

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论