C语言系列之-----入门
2012-06-08 10:03
120 查看
1.第一个C语言 程序
#include <stdio.h> //包含标准输入输出库 main() //main函数,程序入口 { printf("Hello,world\n"); //\n为换行符 }
2.符号常量
在程序中我们经常会用到一些常量,如for循环中://连续输出10遍“Hello”
for(int i = 0; i < 10; i++) { printf("Hello\n"); }
上述代码中,别人在读这段程序时,如果不做好注释或者完成更加复杂的内容,会很难理解这个10代表什么意义。我们称之为“神仙数”或者“幻数”。
如果我们大量用到10所代表的变量,修改时会需要修改很多地方,容易漏掉,并且编译器不会报错,这样就会出现一些意想不到并且不易察觉的错误。
因此我们推荐用宏定义的方式调用类似的数值。
例如:
#include <stdio.h> #define UPPERNUM 10 main() { for(int i = 0; i < UPPERNUM; i++) //此处采用宏定义,如果需要修改只需在#define处修改宏定义即可 printf("Hello\n"); }
3.参数---传值调用
C语言中,所有参数函数都是”通过值“传递的,也就是被调用函数的参数值存放在临时变量中,而不是存放在原来的变量中,即访问参数的本地副本。被调用函数不能直接修改主调函数中变量的值,只是修改私有的临时副本的值。
int power(int base, int n) { int p; for(p = 1; n > 0; --n) p = p * base; return p; }
参数n在循环中,n执行递减运算,直到为0,power函数内部对n的任何操作不会影响到调用函数中n的原始参数值。
例如:
main() { int m_base = 3; int m_num = 3; int m_result = power(m_base, m_num); printf("%d\n", m_result); printf("%d\n", m_num); }
执行输出结果:
27
3
(VC 6.0下测试)
此时m_num的初始值是3,调用power函数后,m_result得到计算结果为27,m_num依旧为3。
如果我们需要函数能都修改主调函数中的变量,我们一般采用传递指针的办法。
4.编程小技巧
在刚开始学编程的时候很容易出现的一个错误就是”==“判等与”=“赋值习惯性的出错,很容易漏掉一个等号,将”==“写为”=“,在检查错误的时候还不容易发现,因此我们推荐一种写法 if(10==n),这种写法来判断两个值是否相等,前提是常量判等,这种情况下,如果错将”==“写为”=“,编译器会报错,因为它不允许将一个变量赋值给
常量。
编程小组刚刚起步,希望大家多提宝贵意见,谢谢!
(注:推荐书目 《C程序设计语言》 克尼汉版)
相关文章推荐
- C语言菜鸟入门系列
- 小猪的C语言快速入门系列(八)
- 小猪的C语言快速入门系列(五)
- 小猪的C语言快速入门系列(三)
- 小猪的C语言快速入门系列(一)
- C语言快速入门系列-详解
- 小猪的C语言快速入门系列(六)
- 小猪的C语言快速入门系列(九)
- C语言高速入门系列(四)
- 小猪的C语言快速入门系列(二)
- 小猪的C语言快速入门系列(七)
- 小猪的C语言快速入门系列(四)
- [Eclipse]GEF入门系列(九、增加易用性)
- 从入门到放弃C语言-入门篇(1)
- Node.js入门系列视频教程
- ReactiveCocoa框架菜鸟入门 系列
- SSE图像算法优化系列八:自然饱和度(Vibrance)算法的模拟实现及其SSE优化(附源码,可作为SSE图像入门,Vibrance算法也可用于简单的肤色调整)。
- Jenkins入门系列之——02第二章 Jenkins安装与配置
- ASP.NET MVC 入门系列教程【转载】
- Windows Azure入门教学系列 (五):使用Queue Storage