1 / 26

第二章 C 语言初步

第二章 C 语言初步. 第 2 节 C 语言基础知识. 学习目的:  了解 C 语言的有关基本概念. 如:标识符、关键字、运算符及表达式. •. 一、标识符:( identifier) 用来标识变量名、常量名、数组名等的字符序列. 如: name 、 s 、 _123. 字母、数字和下划线组成,由字母和下划线开头. 1 、不可以数字开头。如: 123abc. 2 、字母大、小写有别;如 : A 与 a 是不同的标识. 3 、不能用分隔号:如 R.Rebin. 4 、一些特殊符号不能用:如¥、 $. 二、关键字( keyword).

Download Presentation

第二章 C 语言初步

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第二章 C语言初步 • 第2节 C语言基础知识 学习目的: 了解C语言的有关基本概念 如:标识符、关键字、运算符及表达式 •

  2. 一、标识符:(identifier) 用来标识变量名、常量名、数组名等的字符序列 如:name、 s、 _123 字母、数字和下划线组成,由字母和下划线开头 1、不可以数字开头。如:123abc 2、字母大、小写有别;如 :A与a是不同的标识 3、不能用分隔号:如R.Rebin 4、一些特殊符号不能用:如¥、$

  3. 二、关键字(keyword) 在C语言中定义的具有特定意义的单词(保留字) if 、int、 break 、long、 else、 char、 for、 while、 goto……共32个 1、只能用小写 2、严格按规定使用和拼写

  4. 三、 基本数据类型 存储器(以字节<byte>为单位存放数据) • 数据 C语言有五种基本数据类型: char a char 字符型 如: int 整型 如: int x 整型 long 长整型 如: long e,f; float x,y; /* 指定x、y为单精度实型变量 */ float 单精度实型 如: 实型 0.123、 .123、 123.0、 123.、 0.0(必须有小数点) Double 双精度实型 如: double z; /* 指定z为双精度 实型变量 */ 注意:实型常量不分float和double。

  5. 四、常量 • 程序在执行过程中始终不变的量 1、字符常量 用单引号(撇号)括起来的一个字符。 如:'a'、'x'、'D'、'?'、'$'。 每个字符常量都对应一个ACSII码值 注意,'a‘(097)和'A‘(065)是不同的字符常量。

  6. 四、常量 • 程序在执行过程中始终不变的量 1、字符常量 不可视控制字符:以“\”开头的字符序列,称为“转义序列”,“\”使其后面的字符变为另外的意义。见下表。如:回车,响铃

  7. 字符形式 功能 \n 换行符 \t 横向跳格:跳到下一个输出区(每一输出区为8个字符位置) \v 竖向跳格 \b 退格 \r 回车(回到本行起始字符位置) \f 走纸换页 \\ 反斜杠字符\ \' 单引号(撇号)' \ddd 1~3位八进制数所代表的字符。如\101表示'A' \xhh 1~2位十六进制数所代表的字符。如\x40表示'A' 转义序列主要用来控制打印机和屏幕输出。 例:printf("\n sum is %d\n\n",sum);

  8. 字符 ASCII 'A' 0x40(64) 'B' 0x41(65) 'a' 0x61(97) 'a' 0x62(98) '0' 0x30(48) '1' 0x31(49) 字符数据在内存中的存储形式及其使用方法   字符在内存中以ASCII码存放。

  9. main() { char c1,c2; c1 = 97; c2 = 98; printf("%c %c",c1,c2); } 例2.2] 该例的输出是:

  10. C H I N A \0 C H I N A \0 字符常量:单引号括起来的一个字符。 (2)字符串常量:双引号括起来的字符序列(0~N个字符)。: "How do you do.", "CHINA", "a", "$123.45“(照样输出) 字符串常量在内存中的存放:每一个字符均以其ASCII码存 放,且最后添加一个“空字符” 。 例: 字符串常量“CHINA”存放在内存中的情况是:(6字节存储器,不 是5字节)

  11. char c; c = 'a'; /* 字符'a' */ c = "a"; /* 字符串"a" */ 因此,字符'a'和字符串"a"的区别是: 字符'a' :1字节(值为97) 字符串"a":2字节(值为97,0) 另外:

  12. 整型常量的类型 1、整型常量的值在-32768~+32767范围内,编译器 认为是int类型。2、整型常量的值超过上述范围,而在– 2147483648~+2147483647范围内,编译器认为 是long类型。3、在整型常量的值后面加字母L(大写L或小写l), 则告诉编译器,把该整型常量作为long类型处理 例:123L、0L。4、整型常量有三种形式。

  13. (4)实型常量 实数(real)又称为浮点数(float),有两种表达方式: 数学:0.123、 .123、 123.0、 123.、 0.0(必须有小数点) 科学:123e3或123E3、123E-2

  14. char c • 用标识符表示且其值可变的量 1、字符变量 用关键字char 说明的变量

  15. int x • 用标识符表示且其值可变的量 1、整形变量 用关键字int、或long 说明的变量,一个整形变量占 2个字节,一个长整形变量占4个字节 long s

  16. main() { int a,b,c,d; /* 指定变量a、b、c、d为整型 */ a = 12; b = -24; u = 10; c = a + u; d = b+u; printf("a+u = %d, b+u = %d\n", c,d); } 程序运行显示:a+u = 22, b+u = -14

  17. 占内存单元 单精度实型变量 float 4字节(32位) 双精度实型变量 double 8字节(64位 • 用标识符表示且其值可变的量 2、单精度、双精度实型变量 用关键字float 、double说明的变量 float x,y; /* 指定x、y为单精度实型变量 */double z; /* 指定z为双精度实型变量 */实型常量不分float和double

  18. 算术运算符 +、-、*、/、% 关系运算符 >、<、==、>=、<=、!= 逻辑运算符 !、&&、|| *位运算符 <<、>>、~、|、∧、& 赋值运算符 = 条件运算符 ?、:! 逗号运算符 , *指针运算符 *、& 求字节数运算符 sizeof 强制类型转换运算符 (类型) *分量运算符 .(点)、→ 下标运算符 [] 其他 函数调用运算符() 六、C运算符与表达式

  19. 算术表达式和运算符的优先级与结合性算术表达式:算术表达式和运算符的优先级与结合性算术表达式: 用算术运算符和括号将运算对象(也称操作数,如常量、变量、函数等)连接起来、符合C语法规则的式子。如: a*b/c - 1.5 + 'a'

  20. 运算符的优先级:先乘除、后加减;先括号。 运算符的结合性:运算对象两侧的运算符优先级相同时,运算符的结合方向(左、右)。 左结合性:结合方向为从左至右(先左后右,简称左结合)。算术运算符为左结合。 例:a - b + c 由于算术运算符为左结合,故先执行a-b,再执行加c的运算。 右结合性:结合方向为从右至左(先右后左,简称右结合)。赋值运算符=为右结合。 例: a = b + c 由于赋值运算符=为右结合,先执行右边的b+c,再赋值给a。

  21. 强制类型转换 运算符两侧的数据类型不同时,先自动进行类型转换,再运算。 程序员可以强制进行某种转换。强制类型转换的一般形式是: (类型名)(表达式) 例、 (double)a; /* 将a转换为double类型 */ (int)(x+y); /* 将x+y的值转换为int类型 */ (float)(5 % 3);/* 将5%3的值转换为float类型 */

  22. (int)(x+y); (int)x+y; (int)(x); (int)x;(表达式仅为一个变量时,括号可以省略) int(x;) 区别:

  23. ++i;/* 在使用i之前使i加1 */ --i; /* 在使用i之前使i减1 */ i++; /* 在使用i之后使i加1 */ i--; /* 在使用i之后使i减1 */ 自增、自减运算符 自增:使变量的值加1; 自减:使变量的值减1。

  24. j = 3; j = ++i; /* 先使i加1,再赋给j。执行后:j=4, i=4 */ j = 3; j = i++; /* 先把i赋给j,再使i加1。执行后:j=3,i=4 */ 例:

  25. 注意: (1)++和--只能用于变量,不能用于常量和表达式。例、 5++; (a+b)++;

  26. -i++ 负值运算符-和自增运算符优先级相同 (-i)++ -(i++) (2) ++和--的结合方向为“右结合”。例:

More Related