C语言概述(四)

文章目录

一、循环语句

二、逗号表达式

三、汇编语言关键词

四、for语句惯用法

五、跳转语句break,continue,goto,return

一、循环语句

while () {}

int main ()
{
    int i = 0,n = 0;
    printf("Enter number of entries int table \n");
    scanf_s("%d",&n);
    i = 1;
    while(i <= n)
    {
        printf("%-5d %5d => %5d",i,i,i*i);
        i++;
    }
    return 0;
}
int main ()
{
    int n = 0,sum = 0;
    printf("Enter intergers :\n);
    while(scanf_s("%d",&n),n != 0)
    {
        sum += n;
    }
    printf("The sum is:%d \n",sum);
    return 0;
}

for( ; ; )

int main ()
{
    for (int i = 0,i < 10,i++)
    {
        printf("%d",i);  //i属于块内定义变量
    }
    printf("%d",i);//此时i不可用
    return 0;
}
int main ()
{
    int n = 10;
    int i = 0;
    for ( ;i < n;)
    {
        printf("%d",i);//表达式1,3可分别写在上下,若省略表达式2,则为死循环/无限循环
        ++i;
    }
}

二、逗号表达式

逗号表达式-----优先级最低

int main ()
{
    int a = 1,b = 2,c = 3,d = 4;
    int x = 0;
    x = (a+b,b+c,c+d);//若去掉括号,x = a+b,b+c,c+d;输出x的值为3
    printf("%d \n",x);//x的值为7
    return 0;
}
for (int i = 0;i < n,i;++i,printf("%d",i))

因为存在逗号表达式,不会执行i < n,会执行i

三、汇编语言关键词

eax,ebx,ecx,edx-----通用寄存器(存数据)

eip-----存代码段地址(地址寄存器)

esp-----栈地址寄存器

ebp-----栈帧地址寄存器

esi------源地址寄存器

edi------目的地地址寄存器

四、for语句惯用法

//从0向上加到n-1

for(i = 0,i < n;++i)

//从1向上加到n

for(i = 1;i <=n;++i)

//从n-1向下减到0

for(i = n-1;i >= 0;–i)

//从n向下减到1

for(i = n;i > 0;–i)

五、跳转语句break,continue,goto,return

**break:**语句只能用在switch语句和循环语句,用来跳出switch语句或提前终止循环,转去执行switch语句或循环语句之后的语句,每次只能跳出一次循环

**continue:**语句只能用在循环语句中,用来终止本次循环。当程序执行到continue语句时,将跳过其后未执行的循环体语句。开始下一次循环。下一次循环是否执行仍然取决于循环条件的判断。continue语句与break语句的区别在于,continue语句结束的只是本次循环,而break语句结束的时整个循环。

goto:语句和标号一起使用,所谓标号语句是用标识符标识的语句,它控制程序从goto语句所在的地方转移到标号语句处。设置标号时,只需在一个字符串后面加”:“即可。标号由字母,数字,下划线组成,以字母下划线开头。(不要让goto:语句轻易往上跳)

**return:**语句用于结束函数的执行,返回调用者,如果时主函数,则返回至操作系统(终止程序的执行)。return一旦执行,就从当前函数退出,若从主函数中执行return,则程序终止执行。exit(1);与return;在主函数中没有区别都是终止程序,但在其他函数中,exit(1)结束进程,而return是从当前函数退出

你可能感兴趣的:(c语言)