1.下面一段代码:
#include<stdio.h>
void main()
{
char a=5;
char b=18;
c=a&b;//这个称为a与b的位与,它和a&&b是有区别的。它的计算结果如下:
/*
a=0000 0101;
b=0001 0010;
c=0000 0000;
*/
}
注意:位与只能对整型char,short,int,long int .
2.下面一段程序段:
void main ()
{
char a=0;
char b=15;
if (a&&++b)//这个按照简洁与的计算方法计算,与后面的内容不参与运算。
{
}
printf("%d\n",b);
}
程序运行结果为:
15
3.在c++中&有了一个新的概念:引用。
下面一段程序段:
void main()
{
int a=10;
int &b=a;//相当于对a起了一个别名。b是a的别名。
a=100;
b=200;
}
声明引用时,必须初始化,不能空引用,引用必须引用一个实体,引用不分等级,没有一级饮用二级引用之说。
4.函数的定义如果没有指明函数的返回类型,默认的返回类型为整型。
5.每个形参的前面必须有类型声明,每个形参都是用逗号隔开的。
形参和实参的类型和个数都要相同。如果形参名和实参名相同,它们也是有本质上的区别,它们隶属于不同的栈帧。
6.生存期是对执行的程序来说的(针对于执行体),可见性是针对编译器来说的。
7.下面一段程序段:
void swap(int *p1,int *p2)
{
int tmp =*p1;
*p1=*p2;
*p2=tmp;
}
void main()
{
int a=10;
int b=20;
swap(&a,&b);
printf("x=%d y=%d\n",x,y);
}
8.在C语言中每个函数都是平等的,没有主函数,子函数之分。
main函数只是作为程序执行的入口而已,也可以在程序编译的时候进行干预,让程序的执行不main()处执行。
9.每个函数都有四个区:代码区、全局变量区、堆区、栈区。