C程序设计-笔记

这是我C语言程序设计的学习笔记

一、知识体系

N-S流程图法
程序的编译

Key Elements 1

常量、变量与常变量
数据类型
数组

Key Elements 2

运算符
C语句

Main Body = Elements 1+2

函数(参数+函数体)
程序结构(头文件,声明,函数,注释)

Advanced Operation

指针
结构体变量与链表
文件输入输出

二、 知识点

1. N-S流程图

顺序结构,选择结构,循环结构(当型和直到型)
在这里插入图片描述
总体效果
在这里插入图片描述
对于使用文本编辑器编写的程序,需要经历以下步骤行程执行代码:
在这里插入图片描述

2. Key Elements 1:常量、变量与常变量,数据类型,数组

*以上5个元素相当于一个C程序的“原材料”

常量 指程序中直接给定的数值,一般直接的数字或PI。
变量 顾名思义,一般先以“数据类型 标识符”形式定义,声明后可以直接用变量名调用。
关于局部变量与全局变量,这将在函数中讨论。
常变量 即在变量声明前加const,声明并定义后不得改变。
思考:常变量未初始化会怎样,可以先声明,然后使用时再初始化吗?

数据类型(整型,字符型,浮点型)
–整型 signed/[unsigned] short/long/long_long/[] [int]
注意signed与unsigned类型在赋值错误时的规避问题
–字符型 signed/unsigned char
使用 ’ ’ 定义字符(区别于字符串(数组)的“”),注意区别“值”与“字符”。字符型有转义字符一类
转义字符

–浮点型 float, double, long double
4, 8, 8/16 bytes
内存中浮点型的定义

数组(一维数组,二维数组)
数组的操作,一般有声明、初始化和调用三种,其中又在一维数组中引入字符串的概念*

(一维数组)
以“类型符 数组名[常量表达式/Null]”形式声明;初始化可直接给定数组各成员内容,或直接设定数组长度(此时自动初始化为0数值数组,‘0’字符数组或Null指针数组);调用时以“数组名[下标]”形式(下标从0开始,不得超出数组长度否则会显示乱七八糟的东西)。
在这里插入图片描述

(二维数组)
以“类型符 数组名[][]”形式声明;初始化可直接用={ {,},{,},{,}}形式,未给定时自动初始化形式与一维数组相同;调用情况亦相同。
字符型数组(字符串)(一维或二维都有),(一般声明和定义同时进行),系统会自动补’/0’。

3. Key Elements 2:运算符,C语句(控制,调用,表达式,空语句,语句块)

*以上相当于C程序的加工工艺

运算符
C运算符
其中:
①注意区别++i,- -i,i++,i- -
在这里插入图片描述
②条件运算符(条件 ? 值1 : 值2),条件成立返回值1,不成立返回值2。(条件运算符有效简化了条件判断结构的使用)
③强制类型转换:(类型名)(表达式),注意转换的只是运算结果(一个临时中间数据),不影响初始参数的类型。

注意事项:
①关于运算符之间的优先级,运算按运算符的优先级自左向右,赋值自右向左;一般规律是,系统调用类型操作(如强制转换,取指之类)的优先级最高,算数运算符次之,再之关系运算符,逻辑运算符最低。但也有部分运算符的优先级挺高的,如
优先级
比算数还高,仅次于最高一类。
②不同类型数据的混合运算,会自动转化为内存最大的类型,再运算。也可强制转化类型(会有Bug)。

C语句(控制,函数调用,表达式,空语句,语句块)
一个语句后加分号“ ; ”
①控制语句
条件判断语句(可嵌套)

if(condition)
	operation_1;//true
else 
	operation_2;//faulst
if(condition_1) operation_1;
else if(condition_2) operation_2;
else if(condition_3) operation_3;
...

选择语句

switch(variate)
{
   
	case constan_1 : operation_1;...;
	case constan_2 : operation_2;...;
	...
	default : operation_np1;
}

循环语句(当型,直到型,for型)(需保证不要陷入死循环)

whlie(condition)
{
   
	...;//execute when true
}
do
{
   
	...;
}while(condition)//continue the cycle when true
for(initialized variate;condition;increment)
//execute when true
{
   
	...;
}

循环终止语句

break;//完全终止循环,对switch也管用
continue;//跳出当前循环

返回函数

func(parameters)
{
   
	...;
	return value;//返回数值
}

跳转函数

LOOP:			//循环起点
	...;		//循环终点
	goto LOOP;	//跳转到循环起点(一般会设有条件触发跳转)

②函数调用语句(接下来的一部分详细讲)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值