目标:继续复习C语言比较运算符 数据类型的转化 头文件的创建以及使用
数组的使用
技术:
具体实现:
先利用数组设计一个程序计算从1加到100
int i;
int num[101];
int addition=0;
for (i = 1; i <=100; i++)
num[i] = i;
for(i=1;i<=100;i++)
printf("%d\n ",num[i]);
for (i = 1; i <= 100; i++)
addition += i ;
printf("%d\n", addition);
隐形和强制转换
隐形:当两种不同类型类型,类型自定从低到高转换
for(int i=0;i<26;i++){
printf("%c",'A'+i);
}
隐形当两种不同类型出现,类型自动从低到高转换
强制转换:
float b1=23.6;
int a3=b1;
int a3=(int)b1;
条件判断语句if(){
}else{
}
switch语句(C语言中只能是整型,JAVA中都可以)
switch(){
case1:
break;
}
循环语句
1.for循环
for(int i=1;i<10;i++)
2.while循环
函数的定义
如果函数没有返回值
void test(){
return;// 这样类似于break 结束这个函数(但是break用于for while循环 switch语句)
}
将函数方式在头文件中进行调用
自定一个头文件.h和实现文件.c
.h 函数的声明 变量的声明(不能赋值 因为还没有内存空间)
可以将函数的声明和实现分离开来
封装:封装某些功能 便于移植=方便下次使用
1.创建.h文件
声明函数\暴露接口给外部使用
2.创建.c文件
函数的具体实现
3.在.c文件里面导入.h
相当于在
4.在使用的地方导入.h文件就可以了
注意:尽量让对应的.h和.c文件名相同
注意头文件相互引用可能会出错(相互嵌套(nested)太深)
解决办法:宏定义
ifndef ATM_HHH 第一次没有定义 下一步 第二次已经有了定义不执行后面的代码 所以不会出现嵌套太深的情况
define ATM_HHH 第一次定义
代码
让它展开一次 设置一个条件判断语句
宏定义
1.给特定的是=数值一个特定的意义
2.便于管理
System.out.printIn("..."); 用于测试版本
debug测试版本用 1来测试能否打印here 用0就不打印
include <iostream>
define WECHAT
define QQ
if 1
define Log(x) printf(x)
else
define Log(x)
endif
int main()
{
Log("here\n");
}
数组:需要存储多个同种类型的数据 (一个数组只能存放同一种数据类型)
1.能够存储数据必须要有内存
2.如何定义一个数组的同时为它分配内存空间
3.数组定义是必须明确知道数组的大小
a.初始化几个就是几个
4.数组的名字就是数组的首地址(第一个元素的地址)
(a. 定义一个整型数组
int a=10
float score[])
游戏的设定规则
数字游戏
终端输入参与的人数:7
1 2 3 4 5 6 7
大家围成一圈
请输入死亡编号:3
凡是报道3的人都死亡 后面的人继续数数
输出最后一个活着的人的编号
猜数字
随机产生4个不相同的数字 从小到大排序
1 2 3 4
玩家开始输入
1 4 5 6
如果位置正确且数字正确用A输出
如果数字正确位置不正确用B输出B
1A1B
1 2 4 5
2A1B
4A0B 退出
次数大于10次 退出