10.1 for循环
#include<stdio.h>
#define GOLD 1000
int main(void)
{
int rush;
//循环条件:
//1.初始化的变量
//2.判断条件(满足或不满足)
//3.自增衡量变量
for (rush = 1; rush <= GOLD;rush++) {
printf("rush = %d\n", rush);
}
printf("挖完了!\n");
return 0;
}
10.2 调试
能够逐句执行语句,插入断点等
#include<stdio.h>
int main(void)
{
int row,column;
for (row = 0; row < 10; row++) {
for (column = 0; column <= 9; column++) {
printf("%d*%d=%2d\t", row, column, row * column);
}
printf("\n");
}
return 0;
}
注意:一个项目可以有多个源文件,但是只能有一个主函数:main函数。
?快捷键:
Ctrl+K、Ctrl+C注释选定行
Ctrl+K、Ctrl+U取消选定行注释
Ctrl+K、Ctrl+D对齐所有代码
Ctrl+D 复制并粘贴选定行
?11.1 函数
#include<stdio.h>
void sum(int number_1, int number_2);
//函数名:sum
//函数的返回值类型:void
//函数的参数:有两个参数,参数的类型都是int
//参数名
int main(void)
{
sum(90, 100);
return 0;
}
void sum(int number_1, int number_2) {
printf("sum = %d\n", number_1 + number_2);
}
#include<stdio.h>
int sum(int number_1, int number_2);
//函数名:sum
//函数的返回值类型:void
//函数的参数:有两个参数,参数的类型都是int
//参数名
int main(void)
{
int result = sum(90, 100);//使用的时候也要用与函数返回值类型一致的数值类型来接收
printf("result = %d\n", result);
return 0;
}
int sum(int number_1, int number_2) {
int score_sum = number_1 + number_2;
return score_sum;//返回值的类型一定要和定义的函数类型一致
}
形参:定义函数和声明函数时用的参数
实参:调用函数时的参数
可以理解为,形参是容器,实参是装在容器中的数值
11.2作用域
在函数中定义的变量叫局部变量,只能在该函数中有效
在函数外定义的变量叫全局变量,在全局都能使用
12.1一维数组
可以一次定义多个变量
#include<stdio.h>
int main(void)
{
//数组类型 数组名称[数组长度] = {};
unsigned plants[5] = { 100,50,12,30,51 };
printf("plant----- %u\n", plants[0]);
//数组的元素小标从0开始, 规律:第n个元素的下标为n-1
return 0;
}
#include<stdio.h>
int main(void)
{
unsigned plants[5] = { 100,50,12};//定义时给出的数的个数少于数组长度,后边的数自动为0
printf("plant----- %u\n", plants[3]);
return 0;
}
#include<stdio.h>
int main(void)
{
unsigned plants[5];//定义数组时一个数都没给的话,数组内的所有元素都将为乱数
//plants[0] = 99;
for (int i = 0; i < 5; i++) {
printf("lant-------%u\n", plants[i]);
}
return 0;
}
12.2 二维数组
#include<stdio.h>
int main(void)
{
int score[6][5] = { {1,3},{2,25,36,55,44},{12,13,14,15,16},{17,18,19,20,21},{22,23,24,26,27},{31,32,33,34,35} };
printf("score = %d\n", score[0][0]);
printf("score = %d\n", score[1][1]);
return 0;
}
12.3 表驱动法-bool类型?
#include<stdio.h>
int days_of_month(int month);
int main(void)
{
printf("总共%d天!\n", days_of_month(2));
return 0;
}
int days_of_month(int month) {
int day_array[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
return day_array[month - 1];
}
#include<stdio.h>
#include<stdbool.h>//引入bool布尔型数值,即只有1和0
int days_of_month(int month,int year);
bool is_leap(int year);
int main(void)
{
//表驱动法
printf("总共%d天!\n", days_of_month(2,2016));
return 0;
}
//返回某个月的天数,依赖is_leap函数
int days_of_month(int month,int year) {
int day_array[12] = { 31,is_leap(year) ? 29 : 28,31,30,31,30,31,31,30,31,30,31 };
//三元运算符作判断
return day_array[month - 1];
}
bool is_leap(int year) {
//判断年份是否是闰年,返回值为1则为闰年,返回值为0则为平年
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
return 1;
}
else
return 0;
}
|