do-while循环语句
#include<stdio.h>
int main()
{
int i=0;
do
{
printf("count %d\n",i);
}
while(i++<20);
return 0;
}
循环嵌套
#include<stdio.h>
int main()
{
int i=0,j=0;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
printf("i=%d,j=%d\n",i,j);
}
}
return 0;
}
continue语句(过滤奇数,若为偶数则相加,为奇数则重复循环)
#include<stdio.h>
int main()
{
int n=0;
int sum=0;
for(n=0;n<100;n++)
{
if(n%2!=0) //如果对2取余不等于0,说明没有整除,当然不是偶数啦
{
continue;
}
sum=sum+n;
}
printf("%d\n",sum);
return 0;
}
函数
(1)函数表达式:函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种 方式要求函数是有返回值的。例如:
z=max(x,y);是一个赋值表达式,把 max 的返回值赋予变量 z。
(2)函数语句:函数调用的一般形式加上分号即构成函数语句。例如:
printf ("%d",a);
scanf ("%d",&b);
都是以函数语句的方式调用函数。
(3)函数实参:函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进 行传送,因此要求该函数必须是有返回值的。例如:
printf("%d",max(x,y)); /*把 max 调用的返回值作为 printf 函数的实参*/
在主调函数中调用某函数之前应对该被调函数进行声明
形式为:
类型说明符 被调函数名(类型 形参,类型 形参...);
函数的声明和函数的定义有本质上的不同。主要区别在以下两个方面:
(1)函数的定义是编写一段程序,应有函数的具体功能语句——函数体;而函数的声明仅是向编译系 统的一个说明,不含具体的执行动作。
(2)在程序中,函数的定义只能有一次,而函数的声明可以有多次。
全局变量是在函数之外定义的变量,其作用范围为从定义处开始到本文件结束,编 译时,编译系统为其分配固定的内存单元,在程序运行的自始至终都占用固定单元。
局部变量是在一 个函数或复合语句内定义的变量,它仅在函数或复合语句内有效,编译时,编译系统不为局部变量分配内 存单元,而是在程序运行过程中,
当局部变量所在的函数被调用时,编译系统根据需要,临时分配内存, 调用结束,空间释放;
用 extern 声明外部变量,扩展程序文件中的作用域
自动变量
函数中的局部变量,如不专门声明为 static 存储类别,都是动态地分配存储空间的,数据存储在动态 存储区中。
有时希望函数中的局部变量的值在函数调用结束后不消失而保留原值,这时就应该指定局部变量为静 态局部变量,用关键字 static 进行声明。
通过用static类型声明后的变量,其变量的内存空间位于内存的全局静态区,仅会初始化一次。
register int a=0; //将变量a存储在寄存器上