目的
今天对C语言基础部分进行了学习,分别是数据类型,选择结构和循环结构,在初学C语言时,可能会遇到有些问题理解不透,或者表达方式与以往数学学习中不同,这就要求不气馁,而不明白的地方多问多想,鼓足勇气进行学习,这不但是学习c语言,也时对任何一门学科学习的不二门法。最初接触C语言时要弄清楚各种变量的定义方法,特别是常用的类型,int、float、char等等,还要掌握各种类型的输入、输出格式。在对函数的学习过程中,一定要弄明白函数的作用和具体格式。值得强调的是在写循环程序时,一定要弄清楚循环的条件。
技术
- “”表示编译器首先从自己的工程里面去查找这个有文件。如果没有,那么会从系统库里面去寻找;<>表示编译器会首先从系统库里面去查找这个头文件。如果没有,那么会从当前工程里面去查找
- 程序运行过程:
预编译/预处理 将头文件进行展开->完整的程序
汇编 将高级语言转化为汇编语言 Mov sq1,sq2
编译 得到二进制数据
链接 1.0 2.0 3.0 —>可以执行的程序.exe
运行 - if语句的三种形式以及其使用方法
- for语句的形式以及其使用方法
- 以while语句实现循环
- 以switch语句实现选择
如何使用技术
if语句的三种形式以及其使用方法
1.if (condition) {statement}
if(a>b){
t=a;
a=b;
b=t;
}
如果a大于b,则通过变量t,实现变量a和变量b互换值
2.if (condition) {statement} else {statement}
if(x>0){
y=1;
}else{
y=2;
}
此表示如果x大于0,y就等于1;反之,y就等于2
3.if (condition) {statement} else if (condition) {statement}
if(nember>500){
cost=0.15;
}else if (number>300){
cost=0.10;
}
for语句的形式以及其使用方法
for(循环控制变量的初始化;条件;变化)
和数组相关 并且需要知道当前是第几次
for (int i = 0; i < 4; i++)
{
printf("Hello Would!");
}
以while语句实现循环
while(条件)
不关心当前是第几次
while(i<=100)
{
sum=sum+i;
i++;
}
以switch语句实现选择
switch (a)
{
case 1:printf("请输入取款金额:");
break;
case 2:printf("请输入存款金额:\n");
break;
case 3:printf("设置密码\n");
break;
case 4:printf("退出\n");
break;
default:printf("输入不合法 请重新输入:");
break;
}
实际使用
运用今天学到的知识,写一个关于银行自动提款机的demo
#include "stdafx.h"
#include "iostream"
int _tmain(int argc, _TCHAR* argv[])
{/*
变量的作用域 从定义到结束的作用范围
局部变量
*/
int a;
int password = 123456;
int money;
int savemoney = 3000000;
int b,new_password1,new_password2;
//欢迎界面
printf("*************\n");
printf(" 欢迎光临 \n");
printf("*************\n");
printf("请输入密码:");
scanf_s("%d",&password);
//显示操作
for (int i = 0; i < 4; )
{
if(password != 123456){
printf("密码错误 还有%d次机会 请重新输入:",(4-i));
scanf_s("%d",&password);
i++;
}else if(password == 123456){
begin:
printf("1.取款\n");
printf("2.存款\n");
printf("3.设置密码\n");
printf("4.退出\n");
scanf_s("%d",&a);
switch (a)
{
case 1:printf("请输入取款金额:\n");
scanf_s("%d",&money);
if ((savemoney-money)>=0)
{
printf("取款成功\n");
printf("余额为%d\n",(savemoney-money));
printf("将要返回上一级");
goto begin;
}else{
printf("余额不足 是否返回上一级\n");
printf("返回请按1 退出请按2");
scanf_s("%d",&b);
if (b == 1)
{
goto begin;
}else{
goto ending;
}
}
system("pause");
return 0;
case 2:printf("请输入存款金额:\n");
scanf_s("%d",&money);
printf("存款成功 当前余额为:%d\n",(savemoney+money));
printf("将要返回上一级");
goto begin;
system("pause");
return 0;
case 3:printf("设置密码\n");
printf("请输入原始密码:");
scanf_s("%d",password);
bottom:
if (password != 123456)
{
printf("密码错误 将返回上一级");
goto begin;
}else{
printf("请设置密码:");
scanf_s("%d",&new_password1);
}
printf("请确认密码:");
scanf_s("%d",&new_password2);
if (new_password1 == new_password2)
{
printf("密码设置成功 即将返回上一级");
goto begin;
}else{
printf("两次密码不一致 请重新设置:");
goto bottom;
}
system("pause");
return 0;
case 4:printf("退出\n");
system("pause");
return 0;
default:printf("输入不合法 请重新输入:");
system("pause");
return 0;
}
}
}
ending:
system("pause");
return 0;
}