2019-07-29 Day2 C语言学习1

总览:

1. 头文件

2. Main函数

3. 返回值

4. 集成开发环境IDE

5. 关键字

6. 注释

7. printf和scanf

8. 数据类型

9. ATM模拟(2种)

10. ATM模拟(有密码)

目的:学习c语言

技术:

头文件:

“ ”表示编译器会首先从自己的工程里去查找这个头文件,如果没有那么会从系统库里查找。

< >表示编译器会首先从系统库里查找这个头文件,如果没有那么会从自己工程里去查找。


Main函数:任何一个程序必须有一个入口点


返回值:int标识这个程序的运行结果 0正常 1失败

0:程序正常退出,程序的资源自己分配

1:非正常退出,程序会没收运行过程中获取的资源


集成开发环境IDE

写代码:文本编辑器文本文档Sublime

编译:编译器:将高级语言转化为低级语言—预编译/预处理(将头文件展开)—汇编(将高级语言转化为汇编语言)—编译(得到二进制数据)—链接->可执行程序.exe—运行  javac  gcc 编译原理


关键字:编译器定义的char char *String(ps:不能用关键字给变量命名


单行注释://


多行注释:/* */不能嵌套  对一个方法函数注释


Printf(“a = %02\n”,a);

int  %d %02d不足的补齐

64位系统中占4个字节 32位占2个字节

定义一个整形:Int a =1;立刻为我们分配内存空间 赋初值1

声明一个整型变量int b; b = 2 ;没有分配内存空间 使用的时候才分配

float  %f %.1f小数点后6位

double %f打印时和float一样保存6位数字 计算时不会

long长整形 %ld  20字节

char  %c

char  *%s

size_t len = sizeof(int);判断所占字节

从终端输入数据scanf(“%d”,&  );中介是操作系统

1. 终端输入20 a b

2. 操作系统的io流来接收 缓存 20 a b

3. 将io流放到对应的内存空间 20-> 01x100;

getchar会将换行符也读取进来



应用实例:银行ATM界面内* * *****欢迎光临* * *****1.取款2.存款3.更改密码4.退出0输入不合法请重新输入6输入不合法请重新输入1



If的使用:

判断是否合法

条件:非0即真 0即假

  If( );          if( ); else if( );      if( );else;

switch (i){

case 1:

      print(“  ”);

      braek;

default:

      ;


技术的实现:

代码1:


```

#include "stdafx.h"

#include "iostream"


int _tmain(int argc, _TCHAR* argv[])

{  int choice=0;

//欢迎界面

printf("**************************\n");

printf("欢迎使用        \n");

printf("**************************\n");

printf("1.取款\n2.存款\n3.设置密码\n4.退出\n");

//显示操作

printf("请选择操作");

while(1)

{  scanf("%d",&choice);

switch(choice)

{

case 1:

printf("请取款\n");

break;

case 2:

printf("请存款\n");

break;

case 3:

printf("设置密码\n");

break;

case 4:

printf("退出\n");

break;

default:

printf("输入错误,请重新输入:");

break;

}

}

system("pause");

return 0;

}

```

代码2:

#include "stdafx.h"

#include "iostream"


int _tmain(int argc, _TCHAR* argv[])

{  //欢迎界面

printf("**************************\n");

printf("欢迎使用        \n");

printf("**************************\n");

printf("1.取款\n2.存款\n3.设置密码\n4.退出\n");

//显示操作

printf("请选择操作");

int i;

scanf("%d",&i);

for(int j=0;j<999;j++)

{

if(i==1||i==2||i==3||i==4)

/*

用if(0

*/

{

printf("请继续操作\n");

break;

}

else{

printf("输入不合法,请重新输入\n");

scanf("%d",&i);

}

}//判断选择是否合法

    system("pause");

return 0;

}


2019-07-29 Day2 C语言学习1_第1张图片
2019-07-29 Day2 C语言学习1_第2张图片



变量的作用域:从定义到结束的作用范围

局部变量

循环:

for(  )          //和数组相关,并且需要知道第几次

执行流程

  i=0

  I<10

  print

  i++

//i++是在一次循环结束之后才执行

continue结束当前循环,继续下次循环

break跳出当前循环


while(  )      //不关心第几次

应用实例2:

* * *****欢迎光临* * *****请输入密码:123错误-> 密码错误请重新输入: 最多输入4 -> 此卡已冻结 请联系客服 -> 退出正确->1.取款请输入取款金额:200-> 取款成功 当前余额为20->余额不足 是否继续Y/N 2.存款请输入金额:2000 -> 存款成功 当前余额:3000!3.更改密码请输入原始密码->请设置密码->请确认密码4.退出请选择操作:用函数实现


代码:

#include "stdafx.h"

#include "iostream"

int _tmain(int argc, _TCHAR* argv[])

{  int choice=0;

    int pass=123;

int money=100000;

//欢迎界面

printf("**************************\n");

    printf("          欢迎使用        \n");

printf("**************************\n");

printf("请输入密码:");

int p;

scanf("%d",&p);

if(p==pass)

{

    int y=1;

while(y==1)

{

printf("1.取款\n2.存款\n3.设置密码\n4.退出\n");

    printf("请选择操作");

scanf("%d",&choice);

switch(choice)

{

case 1:

printf("请输入取款金额:");

int m;

scanf("%d",&m);

if(m<=money)

{

    money=money-m;

printf("取款成功,您的余额为:%d元,是否继续1/0(1继续,0结束)\n",money);

int c1;

scanf("%d",&c1);

if(c1==y)

break;

else

    y=0;

}

else

{

printf("您的余额不足!请重新选择操作\n");

}

break;

case 2:

printf("请输入存款金额\n");

int m2;

if( m2 >0)

{

money=money+m2;

printf("存款成功,您的余额为:%d元是否继续1/0(1继续,0结束)\n",money);

int c2;

scanf("%d",&c2);

if(c2==y)

break;

else

    y=0;

}

case 3:

printf("请输入原始密码\n");

int p;

        scanf("%d",&p);

        if(p==pass)

{  int p1;

printf("请输入新密码:");

scanf("%d",&p1);

int p2;

printf("请确认密码:");

scanf("%d",&p2);

if(p1=p2)

{

pass=p1;

printf("密码修改成功,是否继续1/0(1继续,0结束");

int c1;

scanf("%d",&c1);

if(c1==y)

break;

else

    y=0;

}

else

{

printf("密码输入不一致,请重新输入:");

scanf("%d",&p2);

if(p1=p2)

{

pass=p1;

printf("密码修改成功,是否继续1/0(1继续,0结束");

int c1;

scanf("%d",&c1);

if(c1==y)

break;

else

    y=0;

}

}

}

else

{

for(int i=3;i>=0;i--)

{

if(i>0)

{

printf("输入错误,您还有%d次机会\n",i);

    printf("请输入密码:");

    scanf("%d",&p);

    }

else

{

printf("密码多次错误,卡已冻结,请练习客服!\n");

y=0;

}

}

break;

}

case 4:

printf("退出\n");

y=0;

break;

default:

printf("输入错误,请重新输入\n");

break;

}

}

}

else

{

for(int i=3;i>=0;i--)

{  if(p==pass)

{

    int y=1;

while(y==1)

{

printf("1.取款\n2.存款\n3.设置密码\n4.退出\n");

    printf("请选择操作");

scanf("%d",&choice);

switch(choice)

{

case 1:

printf("请输入取款金额:");

int m;

scanf("%d",&m);

if(m<=money)

{

    money=money-m;

printf("取款成功,您的余额为:%d元,是否继续1/0(1继续,0结束)\n",money);

int c1;

scanf("%d",&c1);

if(c1==y)

break;

else

    y=0;

}

else

{

printf("您的余额不足!请重新选择操作\n");

}

break;

case 2:

printf("请输入存款金额\n");

int m2;

if( m2 >0)

{

money=money+m2;

printf("存款成功,您的余额为:%d元是否继续1/0(1继续,0结束)\n",money);

int c2;

scanf("%d",&c2);

if(c2==y)

break;

else

    y=0;

}

case 3:

printf("请输入原始密码\n");

int p;

        scanf("%d",&p);

        if(p==pass)

{  int p1;

printf("请输入新密码:");

scanf("%d",&p1);

int p2;

printf("请确认密码:");

scanf("%d",&p2);

if(p1=p2)

{

pass=p1;

printf("密码修改成功,是否继续1/0(1继续,0结束");

int c1;

scanf("%d",&c1);

if(c1==y)

break;

else

    y=0;

}

else

{

printf("密码输入不一致,请重新输入:");

scanf("%d",&p2);

if(p1=p2)

{

pass=p1;

printf("密码修改成功,是否继续1/0(1继续,0结束");

int c1;

scanf("%d",&c1);

if(c1==y)

break;

else

    y=0;

}

}

}

else

{

for(int i=3;i>=0;i--)

{

if(i>0)

{

printf("输入错误,您还有%d次机会\n",i);

    printf("请输入密码:");

    scanf("%d",&p);

    }

else

{

printf("密码多次错误,卡已冻结,请练习客服!\n");

y=0;

}

}

break;

}

case 4:

printf("退出\n");

y=0;

break;

default:

printf("输入错误,请重新输入\n");

break;

}

}

}

if(i>0)

{

printf("输入错误,您还有%d次机会\n",i);

    printf("请输入密码:");

    scanf("%d",&p);

    }

else printf("密码多次错误,卡已冻结,请练习客服!\n");

}

}

system("pause");

return 0;

}

———————————————————————————————————————

总结:

进一步了解了C语言里数据类型,及它们在32位和64位系统中所占的字节。同时回忆了循环语句和条件语句的用法等。对编程的逻辑思维有了更进一步的认识,一切都在往好的方向发展。

你可能感兴趣的:(2019-07-29 Day2 C语言学习1)