ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第一章:简识C语言

2021-08-10 10:31:30  阅读:107  来源: 互联网

标签:简识 常量 ++ 第一章 运算符 && C语言 标识符 表达式


一、C语言的运行过程

源文件(经过编译)     →         目标文件              →           可执行文件

源程序的扩展名为 .c ,目标程序的扩展名为 .obj , 可执行程序的扩展名为 .exe 

二、C语言的命名规则

1、准确、简洁,但不要单个字符出现,如a、b、c等

2、标识符只能由字母、数字、下划线组成

3、标识符区分大小写字母,如If和if是两个完全不同的标识符

4、标识符的第一个字母必须是字母或下划线,尽量避免出现奇怪的字符

  • 合法标识符如下:A6, b_3 , _mn

  • 非法的标识符如下:ab#12 , 8m , tr3:4 , yes no

注意:标识符不能与程序中具有特殊意义的关键字相同,不能与用户编制的函数名、C语言库函数相同,在程序中各种标识符尽量不要重复,以便区分。选择变量名和其他标识符时,应注意做到 “见名知义”

三、常量

在程序运行中,其值不能被改变的量称为常量。常量有5种类型:

整型常量

实型常量(有两种表示形式:小数形式和指数形式)

字符常量(分为单引号字符和转义字符 )

字符串常量(双引号)

符号常量(是由宏定义“#define“定义的常量,在C程序中可用标识符代表一个常量,如   #define PI 3. 1415926)

四、变量

 

变量就是其值可以改变的量,变量在使用前必须定义。变量有3种类型:

字符变量:用来存放字符常量,定义形式:char 变量名;

  注意:将一个字符赋给一个字符变量时,并不是将该字符本身存储到内存中,而是将该字符对应的ASCII码存储到内存单元中。

整型变量:基本型(int)、短整型(short int 或short)、长整型(long int 或 long)和无符号型(unsigned int ,unsigned short,unsigned long)。

  注意:只有写unsigned时,才代表是“无符号”(只表示正数),当写signed 或者不写时,都是代表“有符号”。

 

 

实型变量:分为单精度类型( float )和双精度类型( double )两种。

五、类型的自动转换和强制转换

当同一表达式中各数据的类型不同时,编译程序会自动把它们转变成同一类型后再进行计算。

转换优先级为:char < int < float < double            即左边级别“低“的类型向右边转换。

具体地说,若在表达式中优先级最高的数据是double型,则此表达式中的其他数据均被转换成double型,且计算结果也是double型;

自动转换:在做赋值运算时,若赋值号左右两边的类型不同,则赋值号右边的类型向左边的类型转换;

当右边的类型高于左边的类型时,则在转换时对右边的数据进行截取。

强制转换:表示形式是:( 类型 )(表达式);      例:(int)(a+b)

 六、运算符和表达式

 C语言的运算符和表达式和数学上的定义类似,可自行查阅。

自增自减运算符:

++i,--i (在使用i之前,先使i的值加1、减1)。i++,i-- (在使用i之后,使i的值加1、减1)

(1)只有变量才能用自增运算符 (++)和自减运算符(--),而常量或表达式不能用,如10++或(x+y)++都是不合法的。

(2)++和--的结合方向是“自右向左“,如 -i++ ,i的左边是负号运算符,右边是自增运算符,负号运算和自增运算都是 “自右向左“结合的,相当于 -(i++)。

复合的赋值运算符:

复合运算符是:+=,-=,*=,/=,%= 。

 两个符号之间不可以有空格,复合赋值运算符的优先级与赋值运算符的相同。

表达式 n+=1 等价于 n=n+1,作用是取变量 n中的值增 1再赋给变量 n,其他复合的赋值运算符的运算规则依次类推。

单目运算符和双目运算符:

“&&”和“||”的运算对象有两个,故它们都是双目运算符,

而!的运算对象只有一个,因此它是单目运算符。

逻辑运算举例如下:

(1)a&&b: 当&&两边都为“真”时,表达式a&&b的值才是真。

(2)a||b: 当||两边有一个为“真”时,表达式a||b的值就是真。

(3)!a: 表示取反,如果a为真,则!A为假,反之亦然。例如!-5的值就为0。

 

在C语言中,由&&或||组成的逻辑表达式,在某些特定情况下会产生“短路“现象。

 

(1)x && y && z ,只有当x为真(非0)时,才需要判别y的值;只有x和y都为真时,才需要去判别z的值;只要x为假就不必判别y和z,整个表达式的值为0。口诀:“一假必假”。

例:(!5==1)&&(++i==0) (!5==1)表达式的值为0,所以计算机运行中就跳过(++i==0)此表达式,(!5==1)&&(++i==0)表达式的值为0。

(2)x||y||z ,只要x的值为真(非零),就不必判别y和z的值 ,整个表达式的值为1,只有x的值为假,才需要判别y的值,只有x和y的值同时为假才需要判别z的值,口诀:“一真必真”。

 

标签:简识,常量,++,第一章,运算符,&&,C语言,标识符,表达式
来源: https://www.cnblogs.com/BigGuoGuo/p/15122469.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有