自学C语言的要点,c语言学习难点重点.doc

c语言学习难点重点

21天学通C语言

1、三种基本结构:顺序结构、选择结构和循环结构;

2、无形参的main函数声明要写”int main(void)”,要有”return 0”,注意有形参main函数的声明;

3、标识符,关键字,保留字,标准函数库的函数名,

在数字上加上前缀和后缀,可以表示其数字类型:

sizeof(short int)=2;sizeof(long int)=4; sizeof(long long int)=8;其为字节数;

防止溢出,在vc++中,不支持long long

浮点数类型

Float型变量能正确显示有效数字7位,double型和long double型能正确显示小数点后16位;

注意float型在初始化时,在数字后面加上f;

限定词const和volatile:

Const主要作用是定义只读变量,只读变量的值在定义后不能再被改变;

Volatile告诉编译器修饰的变量是随时可能变化的,编译器优化时必须每次都重新读取这个变量的值,而不是使用保存在寄存器里的备份;

const volatile int data=10;的含义, 如果两个程序共享一块内存,外部程序改变了这块内存的值,而这段程序中变量data的值是不应该改变的,因此,data值必须从内存中读取,且不可改变。

整数的除法和浮点数除法有很大不同,整数除会产生截尾,趋零截尾

简化程序设计,增强可读性,可以使用宏定义和case语句的结合。

可以让看程序的人了解到更多的信息,容易明白每个分支的任务;

if else语句若有赋值语句,则可以用条件表达式代替,比如

编程时不要使用冗长复杂的结构,如果一定要使用,则在合适的位置加上括号;

巧用隐式选择

If(a!=0&&b/a>=a) {do something} 只有a不为0时,才能作为除数,b/a才算合法

提示输入,以达到要求

while和for语句在某些用法上是相似的,在不需要初始化或者不需要改变循环变量的时候,使用while语句。

Continue语句的使用法则

Else操作复杂的情况,使用if else语句显得结构不和谐,可读性差,把if头改为:if(!表达式),这样的话违背了正常和重要的分支放在if体内的原则,这时可以采用continue语句。

如果else只有一句或者使用continue或者break,退出循环;

双重for循环,数组的输入

数组的元素从第0个开始,在for中,第三个语句一般使用前加加,如果++i;

数组的容量大小可以使用宏定义

字符的初始化

函数的声明需要在main之外

21、变量定义就是定义函数中需要用到的变量。C函数中的变量定义必须放在函数体的最前面,允许变量定义之间有空行,但不能包括函数操作。下面的程序变量i 和变量j的定义在函数操作语句之后,没有放在函数体的最前面,因此,编译时程序将报错。

如果变量j和i,max属于不同的作用域,这种情况下的变量定义不必放在最前面。

头文件原则存放可能被外部使用的内容,一般包含以下部分:类型声明,函数声明,变量定义,包括具名常量和const常量。

文件管理:

函数在调用时不用再写函数和参数的类型

Extern声明,在没有定义某函数的源文件里使用extern声明该函数,便可以在这个文件使用该函数,在函数定义的函数声明中使用关键字extern,该函数就允许为其他文件的函数使用。

外部函数需要事先声明:

在自己作用域的函数,则在写函数时,需要加上static的定义:

函数声明的区别void print_array(int array[SIZE])和 void print_array(char *array[SIZE]);

Static变量还可以分为static局部变量和static全局变量

写函数,很多时候将main函数写在最后,这样就免去了定义函数的麻烦。

生存期是指程序运行时变量占有内存的整个时期,作用域是指变量可以被使用的代码区域,

在一个程序块或下层程序块中定义的变量,可以称为该程序块的内部变量,内部变量的作用域不能超过本层程序块。

在子函数中定义的局部变量只能在调用函数时才会被分配内存空间;函数结束时,局部变量的空间会被销毁。

全局变量:过度使用全局变量会导致资源浪费,不宜对全局变量做过多操作,破坏信息封装性;

不仅多个函数可以使用同名变量,而且不同程序块也可以使用同名变量;

C语言的变量都有两个属性:数据类型和存储类别,分为auto,static,register,extern;在C语言中,内存存储区可以分为4种:栈、堆、静止存储区和常量存储区。

栈是编译器管理的动态存储区域,用来存储临时变量,在需要时被分配,不需要时编

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值