目的
在今天我们学习了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
语句
for和switch选择语句
if条件:非0即真 0即假
while和for循环语句
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;
}