美文网首页
2019-08-01

2019-08-01

作者: 26小瑜儿 | 来源:发表于2019-08-01 23:11 被阅读0次

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;

}

感悟: 妈耶,敲代码好难,今天敲得脑子眼疼,思路总是从无到有  再从有到无  像是头撞南墙撞不通,今天基础知识挺简单 但是在东哥讲解的过程中发现还是有些东西还是不太明白,感觉宏定义懂的东西连皮毛都谈不上    最后被这两个代码任务难住了,最后通过查资料  询问同学 才得以解决,经过这两个编程测试的考验瞬间明白自己是多么的水,今天敲代码的样子简直像极了坤坤,往后还得继续努力,多练!

相关文章

网友评论

      本文标题:2019-08-01

      本文链接:https://www.haomeiwen.com/subject/jvuhdctx.html