C语言中级部分
来源:互联网 发布:js设置input的title值 编辑:程序博客网 时间:2024/04/28 22:53
一.C语言基础部分掌握的是:基本知识和基本概念。告诉我们有些什么,能干什么。却没告诉何时使用,为何这样用,如何组合他们。
C初级告诉如何通过编译,C中级告诉如何避开虽然通过编译但仍然存在的错误。
语言紧紧是语法层面上的东西,打造的是整体的零件部分。语义关心的是系统整体,正是程序员所做的,即如何有效组合语法产生语义。
1.C语言语法要素1:
字符集
关键字
运算符
标识符
表达式
语句
2.C语言语法要素2:
程序结构
数据结构
数组
结构体
共用体
枚举
程序执行形态---函数
程序存储形态---文件
3.C语言语法要素3:
常量
变量
类型
二.C语言开发流程
步骤 成果
编辑 .CPP .H
预编译
编译 .obj---------------->分界线 静态编译+动态编译
链接 .exe
加载 ----------->真正理解???
运行
程序语言使用代价度量:
程序创建、测试、使用的代价:程序设计、编码、调试、修改、集成、测试 最关心
翻译的代价:翻译的速度和所占系统资源。
程序执行的代价:运行时所占系统资源的代价。时间+空间的消耗。 不是主要关心的问题。
程序维护的代价:修复、升级。最关系的问题。
三.扩展类型
结构体:类型的嵌套。体现了C语言的“成长性”。
注意:不可以在定义结构体时让成员带有初值。
1.结构体中成员是数组和指针的区别: // EX:
#define LEN 20
struct name{struct pname{
char first[LEN]; char *first;
char last[LEN]; char *last;
} }
name veep = {“Talia” , “Summers”}; //对于veep来说,字符串是存在结构体内部,占用40个字节。
pname treas = { “Brad”, “Fallingjaw” }; //但对于treas 则存于字符串常量区,结构中只是存放着两个地址,8个字节。这只适用于别处已为字符串分配了数组时,否则会出问题。
2.结构体的可升缩型数组成员
struct flex {
double scores[] ;//在使用时不要声明flex类型的变量,因为其中的scores没得到空间。只能声明flex类型的指针,由它指向堆空间。
}
结构体所占空间与成员变量的顺序有关,是根据C/C++的pack算法对齐基数来决定结构体的大小。
原因:为了加快CPU存取速度,C++编译器在处理数据时,把结构体成员大小按照4或8的倍数计算,即数据对齐,,并不是程序的错误,而是提高效率的方式的折中。
3.共用体
4.枚举
枚举元素是int型常量,枚举元素有默认值,是离散的;声明时可以对枚举元素选用初始化。
5.内连接和外连接
作用域:{}
内部连接意味着可以在其他编译单元中命名相同的标识符而不会发生名冲突。——尽管同名,但不是同一个。
extern则恰相反,它表示所命名的标识符对所有的编译单元都是可见的,是同一个。它的作用是:
1. 编译时放松检查;
2. 链接时到别处去找——全局的。
- C语言中级部分
- C语言中级
- C语言中级
- c 语言中级篇
- C语言声明学习之中级篇
- c语言部分万年历
- 部分C语言题目
- C语言部分总结
- C语言语法部分
- C语言部分知识
- C语言 面试部分
- C语言部分关键字
- C语言,函数部分
- C语言部分语法
- C语言基础部分
- oracle中级部分选择题
- C语言中级编程之个人查缺补漏
- C语言:银行储蓄系统开发(中级)
- 进程间传递字符串
- 13.python的文件操作
- 【wireshark】fedora 或者ubuntu 源码编译安装wireshark1.70
- AndEngine引擎的学习笔记(二)
- 写个数据库函数,模仿Split方法
- C语言中级部分
- DroidCamX – 让您的 Android 安卓手机瞬间变成电脑的高清无线摄像头
- oracle database 表空间 用户授权
- 类似百度的分页-ASP分页函数-可自定义显示文字和样式等
- 折线图
- 黑马程序员-逻辑与 逻辑或的短路
- 去除Word菜单上的"Acrobat注释"子菜单
- 一些使用的windows命令行网管命令
- 写个存储过程,做一下千万数据库的数据分页问题