C语言概括

第1章节 C语言概括

 

第1回
C语言概括
1.
C源程序的构造特性
2.
题序时应总以的平整
3.
C语言的字符集
4.
C语言词汇
第2章
数据类型,运算符,表达式
1.
C语言的数据类型
2.
整型量
3.
实型量
4.
字符型量
字符常量包括字符常量和字符变量
5.
变量的初始值和类型转换
6.
着力运算符和表达式[1]
小结

 

目录:

1. C源程序的布局特征

  1. 一个C语言源程序可以由一个要么多独出自文件组成
  2. 每个来自文件可由于一个或多只函数组成
  3. 一个源程序不论由小个公文组成,都单发生一个还只生一个main函数,即主函数
  4. 源程序中可有先处理命令(include
    命令才为内部同样栽),预处理命令通常应放在源文件或源程序的极度前头
  5. 每一个证,每一个话都须盖分公司结尾。但先行处理命令,函数头和花括号“{}”之后非克加分号
  6. 标识符,关键字之间必须至少加一个空格以显示间隔。若曾发出鲜明的间隔符,也可不再加空格来间隔
  1. 【函数注意点】

2. 书序时许总遵循的条条框框

  1. 一个证实或一个说话占一行
  2. 因此 {} 括起来的一些,通常表示了先后的某部层次结构。{}
    一般与组织语句的率先个假名对一头,并独自占一行
  3. 不及一层次之话语或说明可正如大一层次的言语或说明缩进若干格后写。
  1. 【函数目的】

3. C语言的字符集

  • 字符是结合语言的顶核心的元素,C语言字符集由字母,数字,空格,标点和特殊字符组成,在字符常量中,字符串常量和注释中还可以动用汉字或其它可代表的图形符号

  • 字母:小写字母 a~z ,大写字母 A~Z

  • 数字:0~9 共10个

  • 空白符(空格符,制表符,换行符)只在字符常量和字符串常量中自作用。其它地方,只打间隔作用
  • 圈和特殊字符
  1. 【函数格式】

4. C语言词汇

  • 六类:标识符,关键字,运算符,分隔符,常量,注释符

  • 标识符:在次中采用的变量,函数号称,标号等统称为标识符。除库函数的函数名叫由网定义外,其余都由用户定义。C
    规定,标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线()组成的字符串,并且第一独字符必须是字母或下划线(总的匪克是数字)

  • 主要字:是由C语言规定之持有一定意义的字符串,通常为叫保留字。用户定义之标识符不应允跟重大字同名
    1) 类型说明称:用于定义、说明变量、函数或其它数据结构的品类;如 int
    double等
    2) 语句定义符:用于表示一个口舌的职能;if else 条件语句
    3) 预处理命令字:用于表示一个预处理命令; include等

  • 运算符:C语言中蕴藏一定长的运算符。运算符与变量,函数一起组成表达式,表示各种运算功能。运算符由一个要多单字符组成
  • 相隔符:有逗号和空格两栽。逗号主要用在类型说明与函数参数表中,分隔各个变量。空格多用于语句各单词里,做间隔符
  • 常量:C语言中使用的常量可分为数字常量,字符常量,字符串常量,符号常量,转义字符等强
  • 注释符:“/* */” 多尽注释 # 单行注释
  1. 【函数定义前需明确的口径】

第2章 数据类型,运算符,表达式

  1. 【函数的形参、实参】

1. C语言的数据类型

  • 唯独分为:基本数据列,构造数据类型,指针类型,空类型

  • 骨干数据列:其价不可以另行解释其他类别,

  • 布局数据类型:是因已经定义一个要多只数据类型用构造的法门来定义之。一个构造类型的价值好说明变成多单“成员”或“元素”。每个成员还是一个主导数据类或者以是一个构造类型。构造类型:数组类型,结构类型,联合项目
  • 指针类型:其价用来表示有量在内存存储器中之地方
  • 空类型:在调用函数值时,通常应朝着调用者返回一个函数值,类型说明符为:void

对基本数据类型量,按其取值是否可改分为变量和常量;在程序执行中,其价未生转移之量称为常量,反的;可分为:整型常量,整型变量,浮点常量,浮点变量,字符常量,字符变量,枚举常量,枚举变量。在程序中,常量是可不经说明要一直引用的,而变量则必须先行验证后用

  1. 【函数返回值注意点】

2. 整型量

  • 整型量包含整型常量、整型变量。整型常量就是整常数:八进制,十六进制,十进制
    亚上前制到八进制转换
    1 100 011 100 110
    1 4 3 4 6
    老二进制到十六进制转换:
    1 1000 1110 0110
    1 8 E 6

  • 整型常量
    1)
    八迈入制整常反复八前行制整常反复要为0始,即以0作为八前进制数的前缀。数码取值为0~7,八进制通常是无符号数
    015(十进制为13) 0101(65)
    2) 十六进制整常数的前缀为0X或0x。数码取值 0~9,A~F 或 a~f
    0X2A(十进制13) 0XA0(160)
    3) 十进制整常数没有前缀。数码取值 0~9

十向前制无符号整常数之范围为 0~65535 有号数也 -32768~32767 ;
八前进制无符号数之象征范围也 0~0177777 ; 十六进制无符号数之意味范围为
0X0~0XFFFF 或 0x0~0xFFFF
假使以的多寡超过了上述限,就必须用添加整型数来代表。长整型数是故后缀
“L” 或 “l”
十迈入制长整常数 158L (十进制为158) 358000L(十进制为 -358000)
八前进制长整常数 012L (十进制为 10) 077L (十进制为 63)
十六向前制进制长整常数 0X15L (十进制为 21) 0X10000L (十进制为 65536)
整型常数的无符号数的后缀为 “U” 或 “u”

  1. 整型变量
    1) 基本型:int 在内存中占 2 独字节,其取值为骨干整常数
    -32768~32768
    2) 短整量:short int 同基本型 -32768~32768
    3) 长整型:long int 或 long 在内存中占4独字节,其取值为长整常常反复
    -32768~32768
    4) 无符号型:unsigned

  2. 变量说明的形似式:类型说明符 变量名称标识符 …:

<wiz_code_mirror>

 

 

 

 

 

 1 int a, b, c // (a,b,c 为整型变量) 2 long x, y // (x,y 为长整型变量) 

 

 

  • 注意:
    1.许在一个类说明符后,说明多只同档次的变量。各变量之间为此逗号
    间隔,类型说明称与变量称以内起码用一个空格间隔
    2.说到底一个变量称为自此要为“;”号最后
    3.变量说明要于变量使用之前,一般放在函数体的启幕部分
  1. 【为什么要return】

3. 实型量

  1. 实型常量:实型也称 浮点型;实型常量也称为实数或者
    浮点数;十上制数形式与指数形式
    1) 十进制数形式:由数量 0~9 和小数点组成
    2)
    指数形式:由十进制数,加阶码标志“e”或“E”以及阶码组成(其相似式吗a E
    n (a为什迈入制数,n为十进制整数)其值为 a10,n 如: 2.1E5
    (等于2.1
    10,5))
  2. 实型变量:单精度型和双精度型
    1) 独自精度说明符:float
    在C中独精度型占4独字节(32位)内存空间,其数值范围也3.4E-38~3.4E+38,只能提供七各类中数字;
    2) 复精度说明符:double
    双精度型占8单字节(64个)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位中数字
    3) 实型变量说明的格式和开规格及整型相同
  1. 【C语言上手常见问题】

4. 字符型量

  • ##### 字符常量包括字符常量和字符变量

  • 字符常量:是用单引号括起来的一个字符。’a’ ‘b’ ‘+’ ‘?’
    都是合法的字符常量
    1) 字符常量只能用单引号括起来,不能够就此对引号或其它括号
    2) 字符常量只能是只单个字符,不能够是字符串
    3) 字符可以是字符集任意字符,但数字让定义也字符后便无克参入数值运算

  • 转义字符:转义字符以反斜线”\”开头,后和一个或者几独字符
转义字符 转义字符的意义
\n 回车换行
\t 横向跳到下一制表位置
\v 竖向跳格
\b 退格
\r 回车
\f 走纸换页
\ 反斜线符"\"
\’ 单引号符
\a 鸣铃
\ddd 1~3位八进制数所代表的字符
\xhh 1~2位十六进制数所代表的字符
  1. 字符变量:的取值是字符常量,即单个字符。字符变量的种说明符是
    char。
    1)
    如x的十前行制ASCII码是120,y的十上前制ASCII码是121。对字符变量a,b赋予’x’和’y’值:
    a=’x’;b=’y’;实际上是在a,b两只单元内存放120暨121底亚迈入制代码: a 0 1
    1 1 1 0 0 0
         b 0 1 1 1 1 0 0 1
  2. 字符串常量:是出于同对双引号括起的字符序列,”charn”
    “REBT”;字符串常量和字符常量是例外之计量:
    1) 字符常量由单引号 括起来,字符串常量由双引号 括起来
    2)
    字符常量只能是单个字符,字符串常量则足以分包一个或者多个字符
    3)
    可以将一个字符常量赋值一个字符变量,但切莫能够管一个字符串常量赋予一个字符变量;但是足以用一个字符数组来存放在一个字符串常量
    4) 字符常量占一个字节
    的内存空间,字符串常量占的外存字节数等于字符串字节数加1,增加的一个字节存放字符”\0″,这是字符串结束之表明
  3. 标记常量:可以就此一个标识符来代表一个常量,在采取前务必先行定义,其款式:
    #define 标识符 常量(宏定义命令)
  1. 外表函数和内部函数

5. 变量的初始值和类型转换

  1. 变量赋初值:常常需要对变量赋初值,以便利用变量;
    花色说明符 变量1 = 值1, 变量2 = 值2···;

<wiz_code_mirror>

 

 

 

 

 

1 int a = 4, b = 2;
2 char = ch1 = 's', ch2 = 'a';
3 int a = b = c = 4;        // error 不允许连续赋值

 

 

 

  1. 变量类型的易:变量的数据类型是足以转换的,自动转换 和
    强制转换
    1)
    自行转换:发生在不同数据类型的计量在混运算时,由编译系统自动就,规则:
    · 若参与运算量的型不同,则优先转移成合并路,然后进行演算
    · 转换按数长度增加的倾向展开,以确保精度不跌。如
    int型和long型运算时,先拿int量转成为long型后在进展演算
    ·
    所有的浮点运算都是盖对精度进行的,即使就含float单精度量运算的表达式,也如转成double型,再举行运算
    · char型和short型参与运算时,必须先改换成int型
    ·
    在赋值运算被,赋值号两止量之数据类型不同时,赋值号右侧边量的门类将变为左边量的项目,如果右边量的数据类型长度左边长时,将少一部分数目,这样会稳中有降精度,丢失的组成部分按四放弃五切进舍入
    2) 强制转换:是透过类型转换来促成之,一般式:(类型说明符)
    (表达式)
    其作用是将表达式的运算结果强制转换成为类型说明符所表示的项目;
    像:(float) a 把a转换为实型; (int) (x+y)
    把x+y的结果运算结果强制转换为整型
    · 类型说明符和表达式都须加括号(单个变量可以免加括号),
    ·
    无论是强制转换或是自动转换,都止是为本次运算的需而对变量的数长度进行的暂时转换,而不改变多少印证时对该变量定义的色

1. 函数注意点

6. 着力运算符和表达式[1]

  1. 优先级和结合性:运算符的演算优先级分为15层,优先级较高之早优先级低的拓展演算,而在一个运算量两尽管的演算符优先级相同时,则依照运算符的结合性:即错误结合性(自左望右侧)
    下手结合性(自右为左)
  2. 算术运算符和算术表达式基本的算术运算符
    1) 加法运算符”+”
    :双目运算符,即当两个量与加法运算,具有右结合性
    2) 减法运算符”-“
    :双目运算符,但’-‘也只是当负值运算符,此时啊单目运算符,具有左结合性
    3) 乘法运算符” * “ :双目运算符,具有左结合性
    4) 除法运算符”/”
    :双目运算符,参与运算量均为整型时,结果吧也整型,舍去小数;如果运算量中生一个凡实型,则结果位对精度实型,具有左结合性
    5) 求余运算符”%”
    :双目运算符,要求参与运算的计量均为整型,求余运算的结果相当两屡屡相除后的余数,具有左结合性
  3. 于添自减运算符:自增1运算符记为”++”,其意义是如果变量的价由增1,自减1运算符记为”–“,其职能是要变量值由减1;自增1,自减1运算符均为单目运算符,具有右结合性
    · ++i i自增1后再也参与其他运算
    · –i i自减1后又与其它运算
    · i++ i参与运算后,i的价值更打增1
    · i– i参与运算后,i的价值更于减1
  4. 算术表达式:由算术运算符和括号连接起来的架势,例如:
    (a2)/c (x+r)8-(a+b)/7  ++i sin(x)+sin(y)  (++i)-(j++)+(k–)

  5. 赋值运算符和赋值表达式:简单的赋值运算符记为”=”。由
    “=”连接的架势称为赋值表达式,形式:变量 =
    表达式;赋值表达式的效用是计量表达式的价值更予以左边的变量。赋值运算符具有右结合性。因此
    a=b=c=5 可明白也 a=(b=(c=5))

  6. 复合赋值符及表达式:在赋值符”=”之前增长另双目运算符可构成复合赋值符;构成复合赋值表达式的形式:变量
    双目运算符 = 表达式
    它同为 变量 = 变量 运算符 表达式

  7. 逗号运算符:”,”
    其效是管有限个表达式连接起来组成一个表达式,一般式:表达式1,表达式2···

· 每条语句后面总得产生;号

小结

  • C的数据类型:
    基本型 构造类型 指针类型 空类型
  • 中心项目的归类及特点:
类型说明符 字节 数值范围
字符型 char 1 C字符集
基本整型 int 2 -32768~32767
短整型 short int 2 -32768~32767
长整型 long int 4 -214783648~214783647
无符号型 unsigned 2 0~65535
无符号长整型 unsigned long 4 0~4294967295
单精度实型 float 4 3/4E-38~3/4E+38
双精度实型 double 8 1/7E-308~1/7E+308
  • 常量后缀:
    L或l 长整型
    U或u 无符号数
    F或f 浮点数
  • 常量类型:
    平头 长整数 无符号数 浮点数 字符 字符串 符号常数 转义字符
  • 数据类型转换:
    ·
    自动转换:在不同档次数据的鱼龙混杂运算被,由网自动实现转移,由少字节类型向多字节类型转换。不同种类的量相互赋值时也由系统自动进行转换,把赋值号右侧边的类型转换为左的品类
    · 强制转换:由强制转换运算符做到更换
  • 运算符优先级和结合性:
    貌似而言,单目运算符先级较高,赋值运算符事先级低;算术运算符先级较高,关联以及逻辑运算符预先级较逊色;多数运算符具有左结合性,单目运算符,三看到运算符、赋值
  • 表达式:
    是由于运算符连接常量、变量、函数所成的相。每个表达式都起一个指和类型。表达式求值按运算符的优先级和结合性所确定之逐条进行~~~~

· 除 “ ”
号内援起来的地方,其它任何地方还未克冒出中文

· main函数中的return
0;可以描绘,也可是免写

· main函数前之int可以形容为可不写

· main函数后面()号不可省略

·
同一个次中单发生一个main函数(main函数是次入口)

2. 函数码的

拿一个常用的功用封装起来,方便以后调用,使代码更加清洁,增加可读性。

3. 函数格式

格式:                                                               
例:定义一个返回值为 int 类型的 test 函数,包含 a,b 2个 int
类型的形参,返回 0 。

 

    返回值类型 函数名 (形参列表)      
                  void test (int a, int b)
    {                                                                  
         {
       函数体(代码块)                                                
  return 0;
    }                      
                                                     }

4. 函数定义前用明确的口径

·
有含义之名号(方便查阅、交流,减少沟通成本)

·
是否有形参?是否有归值?它们的数据类型是什么?

5. 函数的形参、实参

形参:定义函数时函数叫做后()号丁之参数。

实参:调用函数时传入的参数。

注:

     · 形参个数必须同实参一致。

     ·
函数体内部未可知定义及形参一样名称的变量

     ·
函数内部的显得参值不见面影响及表面的实参值

     ·
一个函数可以没有形参或来不少个形参 

6. 函数返回值注意点

· void 代表没有返回值

· 如果无明显返回值类型,默认为 int
类型

·
就算明确了回值类型,也堪免回外价值

7. 为什么要return

告知系统退出返回0为正规,除0以他也畸形退出。

8. C语言上手常见问题

· 函数是否只是嵌套使用?   否

· 函数是否能够还声明?   是

· 函数是否会重新定义?   否

·
为什么能重复声明如不克再定义函数?

C语言中声明函数是为了告知系统,我们的代码中蕴含了声称的函数。而定义函数是函数的实际实现。重复定义之说话系统会将该视作不同的函数,当函数叫做与返回值又平等,编译时便会报错。如果一味声明,没有落实,则编译时不见面报错,但链接时无会见通过。

·
为什么编译时无报错,但运行时报错?

盖编译时只检测语法是否成立。如果成立,编译器会帮助我们队先后进行链接操作,所以出现这种情形,肯定是代码不专业还是逻辑错误造成。

9. 外部函数和内函数

 

1.外部函数 
概念的函数能叫仍文件以及其余文件访问(默认)。

流淌:不容许发生同名的外部函数。

2.里面函数 
概念的函数只能吃按照文件访问,其它文件不克看。

横流:允许不同文件被生出同名的内部函数。

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图