2019-07-29 C语言基础学习

目的

在今天我们学习了C语言里面的数据类型、选择结构和循环结构,其实这些已经在之前一学期的学习中有过了解,但是奈何自己学习不认真导致自己的C语言水平还停留在"Hello World"的阶段,对C语言基础的掌握也只是一知半解罢了,今天的学习最重要的就是初步形成编写程序的逻辑思维,好的逻辑思维会让我们写程序时有如神助,掌握选择结构和循环结构这两种每个程序都必不可少的结构,弄清楚数据类型则是基础中的基础,当然这也只是我的一点个人认为。

技术

程序的运行过程:

预编译/预处理 将头文件进行展开->完整的程序
汇编 将高级语言转化为汇编语言Mov Sp1 Sp2
编译 二进制数据也就是机器语言
链接 1.0 2.0 3.0->可执行的程序.exe
运行
显示结果

变量类型

整型Int %d %02d
单精度浮点型Float %f
双精度浮点型Double %f
长整型Long %ld
字符型Char %c
字符串Char %s

语句

forswitch选择语句
if条件:非0即真 0即假
whilefor循环语句
for循环:
和数组相关 并且需要知道当前是第几次
while循环:
不关心当前是第几次

如何使用技术

if语句

if语句主要有三种形式,if常和else组合形成分支选择结构

1.if (condition)
{
      statement
}
2.if (condition)
{
      statement
}
else
{
      statement
}
3.if (condition)
{
      statement
}
else if(condition)
{
      statement
}

这三种形式看情况使用

switch语句

        switch(表达式){
            case 常量表达式 1:
             //语句
             break;//break语句在C#中不可以省略 必须有
            case 常量表达式 2:
             //语句
             break;
            //.....
            default;
            break;

while循环

while(条件){
}

while(i<=100)
    {
        //语句
    }

for循环

for(循环控制变量的初始化;条件;变化)

for (int i = 0; i < 3; i++)
     {
            //语句
     }

跳转语句

continue结束当次循环
break结束循环体
goto无条件跳转
return终止执行当前函数
还有搜索到的内容
return可以退出当前函数,如果用在main函数中,则可以直接退出进程。
exit()可以直接退出进程,常用于需要在非main函数中需要退出进程的情况。在头文件stdlib.h中

实际使用

运用今天学到的知识,写一个关于银行自动提款机的demo

#include<stdio.h>
#include<iostream>
#include<stdlib.h>
int main() 
{
    int key = 1;
    int yourmoney = 1000;
    int money, freemoney;
    int password;
    int i;
    int tf;
    int tn;
    printf("*******************\n    欢迎光临   \n*******************\n");
    printf("请输入密码");
    for (i = 1; i <= 4;) 
    {
        scanf_s("%d", &password);
        if (password == key)
        {
            printf("1.取款\n");
            printf("2.存款\n");
            printf("3.更改密码\n");
            printf("4.退出\n");
            int a;
            scanf_s("%d", &a);
            if (a==1)
            {
            loop:
                printf("开始取款\n");
                printf("请输入取款金额:\n");
                scanf_s("%d", &money);
                if (yourmoney >= money)
                {
                    printf("取款成功\n");
                    printf("当前余额为%d\n", yourmoney - money);
                }
                else
                {
                    printf("当前余额不足 是否继续 继续请按1:\n");
                    scanf_s("%d", &tn);
                    if (tn == 1)
                    {
                        goto loop;
                    }else
                    {
                        exit(0);
                    }
                }
                break;
            }
            else if(a==2)
            {
                printf("开始存款\n");
                printf("请输入金额:\n");
                scanf_s("%d", &freemoney);
                printf("存款成功\n");
                printf("您的余额为:%d\n", freemoney + yourmoney);
                break;
            }
            else if(a==3)
            {
                printf("更改密码\n");
                printf("请输入原始密码:\n");
                for (int i = 0; i <= 3;)
                {
                    scanf_s("%d", &password);
                    if (password == key)
                    {
                    loap:
                        printf("请设置密码:\n");
                        scanf_s("%d",&key);
                        printf("请确认密码:\n");
                        scanf_s("%d",&tf);
                        if (key == tf)
                        {
                            printf("密码已经更改\n");
                        }
                        else {
                            printf("密码未更改\n");
                            goto loap;
                        }
                        break;
                    }
                    else
                    {
                        printf("密码错误请重新输入:\n");
                        i++;
                    }
                    if (i == 4)
                    {
                        printf("此卡已经被冻结,请联系客服解决");
                    }
                }
                break;
            }
            else if(a==4)
            {
                printf("退出\n");
                break;
            }
            else
            {
                printf("不合法请重新输入:\n");
                printf("1.取款\n");
                printf("2.存款\n");
                printf("3.更改密码\n");
                printf("4.退出\n");
            }
        }
        else
        {
            printf("请输入正确的密码:\n");
            i++; 
        }
    }
    system("pause");
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容