1.今日目的:学会区分a++、++a,了解隐性和强制转换,学会自定义头文件 和实现头文件,分part 使程序界面简单
懂得封装的概念,了解宏定义,学习数组。写任务:死亡游戏、猜数字游戏;
2.技术知识:
区分a++、++a
Temp++当一个表达式执行完毕之后再加
int temp=20;
Int result = temp++ +2; //输出结果为22
// int result = temp+2; 结果为22
//temp++; temp 结果为21
//++a;先+1 再去运算
//隐形和强制转换
//隐形: 当两种不同类型出现的时候,类型自动从低到高转换
Char->int->double
->float->long
//强制转换
Break continue的区别 break:结束整个循环 continue 结束本此循环但仍然进行下次循环
Break:for while switch循环
Void test(){
Return;
}
自定义头文件.h和实现文件.c
.h函数的声明 变量的声名(不能赋值)
.c文件 具体实现 实现函数的功能 操作变量
可以将函数的声明和实现分离开来
封装:封装某些功能便于移植==方便下次使用
// 函数也占内存空间
封装过程:
1.创建.h文件 声明函数、暴露接口给外部使用
2.创建.c文件 函数的具体实现
3.在.c文件里面导入.h文件
//宏定义
1.给特定的数值一个特定的意义
2.便于管理
#define WEICHAT 1;
#define QQ 2; //往后可以避免1、2.过多 过于繁杂难以区分的问题
//定义一个表达式
//开关
#if
#define log(x) printf(x)
#else
#define log(x) //通过此操作可以把输出关掉或开启 ,从而起到开关作用
数组:需要存储多个同种类型的数据
1.能够存储数据就必须要有内存
2.]如何定义一个数组同时为他分配内存空间
3.数组定义时必须明确知道数组的大小
4.数组的名字就是数组的首地址(第一个元素的值)
//使用%p打印地址
实战项目:
/* 杀人游戏 */
int main()
{
int a[100],b[100];
int num,shu,i,j,k=0,out=0;
scanf("%d%d",&num,&shu);
for(i=1;i<=num;i++)
{
a[i]=i;
b[i]=1;
}
k=1;
for(i=1;out<num-1;i++)
{
if(i>num) i=i-num; // 回头
if(k==shu&&b[i]!=0) { b[i]=0;k=k-shu+1;out++;} //每三个一循环 计算死人数目
if(b[i]==1) k++; //如果人活着,计数
}
//printf("%d\n",out);
/*for(i=1;i<=num;i++)
{
printf("%d ",b[i]);
}*/
printf("\n");
for(i=1;i<=num;i++)
{
if(b[i]==1)
printf("%d\n",a[i]);
} //输出最终活着的人
}
猜数字游戏
#include <algorithm>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
int number[4];
int chanceNumber[4];
int i=0;
int pY=0; //位置正确
int npY=0;
int playTime=0;
for(i=0;i<4;i++){
chanceNumber[i]=rand()%10;
}
while(npY<4&&playTime<10){
npY=0; pY=0;
printf("请在0-9中输入四个不同的整数");
for(i=0;i<4;i++){
scanf("%d",&number[i]);
}
sort(chanceNumber,chanceNumber+4);
//数字位置都正确
for(i=0;i<4;i++){
if(chanceNumber[i]==number[i]){
npY++;
}else{
for(int j=0;j<4;j++){
if(chanceNumber[i]==number[j]&&i!=j)
pY++;
}
}
}
playTime++;
for(i=0;i<4;i++){
printf("%d\n",chanceNumber[i]);
}
printf("您的答案:%dA%dB\n",npY,pY);
}
printf("恭喜您挑战成功!\n");
return 0;
}
感悟: 妈耶,敲代码好难,今天敲得脑子眼疼,思路总是从无到有 再从有到无 像是头撞南墙撞不通,今天基础知识挺简单 但是在东哥讲解的过程中发现还是有些东西还是不太明白,感觉宏定义懂的东西连皮毛都谈不上 最后被这两个代码任务难住了,最后通过查资料 询问同学 才得以解决,经过这两个编程测试的考验瞬间明白自己是多么的水,今天敲代码的样子简直像极了坤坤,往后还得继续努力,多练!
网友评论