打印
[入门教程]

【菜农助学活动】C语言查缺补漏

[复制链接]
3671|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Cube|  楼主 | 2011-3-29 01:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Cube 于 2011-3-29 16:41 编辑

【菜农助学活动】新唐M0开发工具介绍

https://bbs.21ic.com/icview-226202-1-1.html


【菜农助学活动】资料汇总与更新
https://bbs.21ic.com/icview-225655-1-1.html


【菜农助学活动】C语言查缺补漏

今天所讲的内容有可能只适应部分基础相对薄弱,或者是从51直接进入新唐M0

学习的朋友。因为无法将C语言所有内容一一讲明,希望各位能根据自己的基础

找一本适合的书再做学习。


A:简单的预处理命令

1.宏定义

                     #define 标识符             宏体
                     #define 宏名(形参表)   宏体

                     利用宏定义的预处理

                     可将程序中标识符或带参宏 用 #define 后的宏体去替换

                     注意:宏体切忌“;”否则宏展开时将作为宏体之字符
                             另外,宏也不能被赋值

                     例:

                      #define     PI                          3.14
                      #define     CIRCLE(R,L,S)        L=2*PI*R;S=PI*R*R

2.宏与函数的区别

        1.调用函数时有堆栈问题,应有现场保护与恢复系统运行时间也较长
           但是不会增加程序的长度

        2.宏展开只是将取代标示用宏名取代,在编译时进行此工作,故不占用
           运行时间,相比函数调用节省了调用的时间,但引用一次将加大一次
           代码长度。

        3.带形参宏中,形参没有类型,故可以任何类型,而函数实参必须与形参
           类型一致

3.万恶的#include

         1.头文件的结构

               (1)头文件注释,文件说明,功能描述,版权声明等
               (2)内部包含指令以 #ifndef XXX或#define 开始
               (3)通过#include指令包含其他头文件
               (4)包括外部变量与全局函数声明
               (5)包括常量与宏定义
               (6)类型的前置声明与定义
               (7)全局函数的原型与内联函数的定义
               (8)内部包含指令以#endif 结束
               (9)版本号
           
         2.头文件嵌套的问题

                容易编译时进入死循环

                故应:1.使用宏去保证文件只被包含一次
                        2.头文件的引用尽可能放进源文件中

         3.#include<XXX>与"XXX"的区别

                 当前性

                 <>中一般为编译器目录下的文件夹
                      一般这类文件不需要修改

                 ""中一般为用户指定目录下的文件
                      这类文件改动次数比较大

         4.一般使用的到的语句结构

                #ifdef
                          XXX
                #else
                          XXX
                #endif

                #ifndef
                #define
                #endif

                #if
                #else
                #endif

                #ifdef TRUE
                #undef TRUE
                #endif


---------------------------------------------------------------------------


B:结构体的声明与使用


C:指针与地址


D:函数与关键字

相关帖子

沙发
hotpower| | 2011-3-29 02:04 | 只看该作者
赠裤子要积分做签名~~~

使用特权

评论回复
板凳
X-Hawk| | 2011-3-29 20:16 | 只看该作者
万恶的 BOOL*

使用特权

评论回复
地板
plc_avr| | 2011-3-30 10:34 | 只看该作者
辛苦了,顶!

使用特权

评论回复
5
a305566| | 2011-3-31 10:30 | 只看该作者
mark

使用特权

评论回复
6
51小刚| | 2011-5-29 20:28 | 只看该作者

使用特权

评论回复
7
dong_abc| | 2011-5-29 22:21 | 只看该作者
精通C语言:
char c;
c=getchar();

哈哈,看出错误没?

使用特权

评论回复
8
abin0415| | 2011-5-30 11:18 | 只看该作者
学习了

使用特权

评论回复
9
uniquehope| | 2011-8-5 22:05 | 只看该作者
:hug:看过万恶的头文件~~

使用特权

评论回复
10
jstele| | 2012-2-22 18:25 | 只看该作者
似乎為寫完

使用特权

评论回复
11
王紫豪| | 2012-2-22 18:35 | 只看该作者
写的不错,加油

使用特权

评论回复
12
[惊涛骇浪]| | 2012-3-24 18:45 | 只看该作者
顶,写的很好

使用特权

评论回复
13
wz88| | 2012-4-13 16:35 | 只看该作者
好贴必须顶

使用特权

评论回复
14
chailiyh| | 2012-4-22 08:55 | 只看该作者
7# dong_abc
受教了,3Q~
http://www.examw.com/biancheng/c/148042/

使用特权

评论回复
15
cav268| | 2012-6-11 10:27 | 只看该作者
:handshake

使用特权

评论回复
16
zsyf0918| | 2013-1-13 16:21 | 只看该作者
受教了

使用特权

评论回复
17
cc3000c| | 2013-2-9 22:33 | 只看该作者
dong_abc 发表于 2011-5-29 22:21
精通C语言:
char c;
c=getchar();

int c;
c=getchar();

使用特权

评论回复
18
与时俱进| | 2013-5-26 11:15 | 只看该作者
真是补漏。

使用特权

评论回复
19
张静茹| | 2013-5-26 11:37 | 只看该作者
mark

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:诚学敏思,踏实点滴

0

主题

270

帖子

1

粉丝