高级语言程序设计——从C语言到c++(西安电子科技大学出版社)

C语言(大一上)

第一章
1、源程序文件 .c 目标程序文件 .obj 可执行文件. exe
2、c语言的注释(不对程序运行产生任何作用;在源程序中对特定的代码进行解释,起的标记相应代码的作用,增强程序的可读性)
单行注释:// 双斜线到本行结束为注释部分
多行注释:// 两个符号之间均为注释,无论是在一行或者多行
3、c语言程序设计的基本单位是函数
4、在一系列的函数中,必须有一个也只能有一个以main为名的函数,这个函数称为主函数。整个函数从主函数开始执行,一般也是以主函数结束。
5、c语言的语法规定“;”是一条语句的终止符号,每一条可执行语句都必须以分号结束;多条语句可以在一行书写,也可以在多行书写。
6、变量(程序中用来存放数据的对象,在程序运行期间值可以被改变)
C语言规定变量必须先定义,后使用,包括定义变量的数据类型和数据名。
定义变量名的规则:
1 )变量名只能由数字、字母和下划线组成
2 )变量名的第一个字符只能是下划线或者字母
注意:
1、大小写对于变量名是不同的
2、不能使用main等c语言的字符作为变量名
3、变量不能重复定义(若变量重复定义,则编译器会给出错误信息)
4、若变量在定义之后、使用之前并没有赋值,变量中储存的数据不稳定,则编译程序时不会出错,但程序的执行结果会出错。
变量的赋值可以在定义的时候,也可以在使用时。
定义变量的同时对变量进行赋值称为变量的初始化。
7、 标准输入输出函数
printf函数(格式控制字符串,变量列表)
scanf函数(格式控制字符串,变量列表)
注意:
1、函数printf可以只有一个参数,即省略参数变量列表
2、函数scanf中变量列表的每一个变量前都需要有地址符号“&”
8、函数
函数的定义包括两部分:函数头 函数体
函数名的定义规则同变量名一样
定义的基本格式:
数据类型 函数名(参数列表) //函数头
{ //函数体
语句…

}
函数的声明:
数据类型 函数名(参数列表)

第二章
c语言的基本数据类型包括整型、浮点型。
整型类:包括字符型、枚举型、整型。其中整型又包括短整型、整型、长整型、长长整型。
浮点型:包括单精度型、双精度型、长双精度型。
第一节
1、整型数据:没有小数点部分的整数数据。
整数数据以二进制补码形式在内存中存储。
整型常量(整型常数,可正可负)的三种形式:八进制整数(0开头)、十进制整数、十六进制整数(0x开头)
二进制
进位规则:逢二进一
借位规则:借一当二
数据在计算机中主要是以二进制补码的形式存储。对于正数,原码、反码、补码都是一样的。对于负数而言,其补码等于其绝对值的反码加1。
2、整型变量
基本类型:int
短整型:short int(short)
长整型:long int (long)
双长整型:long long int (long long)
字节是数据存储的单位。
整型数据的正负之分,在c语言中是用有符号数与无符号数的概念来定义的。修饰符:有符号(signed)、无符号(unsigned);无符号表示该数据一定为正。
数据溢出:数值超过了该类型的取值范围。数据溢出,一般c语言编译器不会报错。
附表1 整型数据的取值范围
3、整型常量
附表2 整型常量的后缀
4、整数的存储
系统根据数据类型分配存储空间,先将整数转化为二进制数,写出其的二级制补码,从右治左填(填完后若前面有空位,进行补零)。有符号数,其最左边一位(最高位)表示符号位,该位数字为1,表明其为负数;若该位数字为0,则表示其为非负数(0或正数)。负数在计算机中存放的补码是该数的绝对值的原码取反再加1。(步骤:负数取绝对值——对其取反(0变1,1变0)——再加1)
第二节
字符型数据在计算机中是以对应的ASCII码来存储的,并且字符型数据也以其对应的ASCll 码值参与运算。
ASCll码使用指定的7位二进制数组合来表示,其中包含了英文26个大写字母,26个小写字母、数字1-9、33个英文标点符号以及33个控制字符。
附表3 ASCll码表
1、字符型变量
字符型变量:存放程序中使用的字符型数据,关键字char
unsigned与signed定义字符型变量时,两者取值范围不同。
附表4 字符型数据的存储单元长度和取值范围
2、字符型常量(单字节字符)
字符型常量是单引号括起来的字符,如’a’
附表5 转义字符表
八进制转义字符\(377是八进制转义字符的上限)
十六进制转义字符\x(\xFF是十六进制转义字符的上限)
第三节
1、浮点型数据的三种类型:单精度(float) 双精度(double) 长双精度(long double)
其有效数字分别为六位,15-16位,18-19位。
2、浮点型数据再内存中的存储方式,由三部分构成:
符号 尾数部分 指数
尾数部分占的位数越多,表示的浮点数的有效数字越多,精度越高;指数部分占的位数越多,则能表示的数值范围越大。
3、浮点数只能近似地表示某个实数
4、C语言标准中,在一个实数向浮点数进行格式转换时,只保证六位有效数字。
5、常用1e-6(即0.00001)表示很小的数,当某个浮点数小于此数时,即可认为该数趋近于0;若两个浮点数的差小于1e-6,则可认为这两个浮点数相等。
6、浮点型常量
表示:
浮点数后加上后缀,f或F表示float型,l或L表示double型。无后缀,默认double型。
科学计数法,用指数符号(e或E)进行表示 浮点数e+(-)指数
第四节
输入输出相对计算机而言;输入:键盘、鼠标;输出:显示器、打印机
标准输入输出函数被定义在头文件“stdio.h”中,其中包括与标准输入输出有关的变量定义、宏定义和对于函数的声明。
1、printf函数(输出列表可以省略)
Printf函数包含两个参数:格式控制字符串 输出列表
输出列表所要输出的数据个数应该与格式控制字符串中指定的数据格式的个数一一对应。(当输出列表中的个数大于格式控制字符串中的个数:多,输出错误数据;少,多出的那一部分不被输出)
2、格式控制字符(将输出数据转换为指定格式)
一般形式 %[标识][宽度][精度]格式控制符
附表6 printf格式控制符
3、标识
标识 格式控制符 输出
未指定 右对齐,左边填充0或空格

  •   左对齐,右边填充0或空格
    
  •   输出结果为有符号数
    

空格 输出结果为正数,显示空格;输出结果为负数,显示负号。
#o 加前缀0
x或X 分别加上前缀0x,0X
g或G 显示小数点和无意义的0
E或e或f 显示小数点
c,d,i,s,u 无作用
4、[宽度][精度]
整型数据,[精度]无作用。指定宽度为m时,若输出的整型数据的位数小于m,左端补空格;若输出的整型数据的位数大于m,按实际长度输出。
浮点型数据,两个均有作用。宽度作用同整型数据;精度:指定精度为n,若浮点型数据的小数点后位数小于n,则右端补0;若大于n,四舍五入输出n位小数。
若精度大于宽度,忽略宽度。
4、scanf 函数
scanf函数的两个参数:格式控制字符串 地址列表
地址列表中包含的是不同变量的地址,而不是变量名。&,取地址运算符。
地址列表所要包含的地址个数应该与格式控制字符串中指定的数据格式的个数一一对应。
Scanf 函数没有标识和精度控制项
附表7 scanf函数中的格式控制符
在格式控制字符串中,除了格式控制符和其他字符,在输入数据时应该输入与这些字符完全相同的字符,并且按照顺序输入。
注意:
1、输入数据的间隔
2、连续输入字符时,包括分隔符和转义字符在内的所有可以用键盘敲入的字符都被视为有效的字符输入。
3、连续输入数据时,以下符号可以间隔数据
空格符、水平制表符、回车换行符;
不属于数值的非法字符;
使用域宽设定数据长度
4、getchar函数与putchar函数
getchar函数:输入一个字符
putchar函数:输出一个字符
一般格式 getchar() putchar()

第三章
第一节
1、运算符:特定的符号,用来表示对数据执行的特定操作(操作符)
2、分类标准:参与运算对象的多少
分类:单目运算符(一元) 双目运算符(二元) 三目运算符(三元)
分类标准:参与运算的对象的结合方向
分类:从左到右 从右到左
分类标准:实现运算对象的作用不同
分类:算数运算符 赋值运算符 关系运算符 逗号运算符 操作运算符等
3、表达式的最基本形式是一个数据,也称为操作数(操作数可以是任何形式的常量和变量)
4、C语言规定了运算符的优先级和结合性
注意:a=b=2+3表达的意义:用b=2+3给变量a赋值
5、表达式和语句的区别:表达式的结尾不加分号,二语句必循以分号标识结束。
表达式语句:表达式+分号
第二节
1、算术运算符为双目运算符,结合性从左到右,包括+,-,,/,%。运算符%称为模运算符或者求余运算符。
2、运算符的优先级
+,-低;
,%,/高
注意:
1、除法运算符“/”连接的两个操作数为整型数据时,结果向零取整,不进行四舍五入,直接舍去小数部分。(5/2=2)
只有除法运算符连接的两个操作数中有浮点型数据时,才会出现小数部分。(5/2.0=2.5或5.0/2=2.5)
2、求余运算符“%”连接的两个操作数必须同为整型数据。
第三节
1、赋值运算符为双目运算符,结合性为从右到左,包括赋值运算符(=)和复合赋值运算符(*=,/=,%=,+=,-=),赋值运算符的优先级低于算术运算符
2、赋值运算:将运算符右

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值