前言:
代码
内容:
目录
25集代码内容
代码风格
int test()
{
int a = 5;
if (a == 8)
return 1; //用return 0,就可以实现程序的提前结束,并且返回一个值
return 0;
}
int main()
{
int m = test();
printf("%d", m);
return 0;
}
好代码风格,这样子的代码更牛逼
int main()
{
int num = 9;
if (5 == num)
{
printf("hehe");
}
return 0;
}
swich语句以及if语句
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//判断为奇数
//int main()
//{
// int num = 0;
// scanf("%d", &num);
// if (num % 2 == 1)
// printf("%d为奇数", num);
// else
// printf("%d为偶数", num);
// return 0;
//}
//判断1-100之间的奇数
//int main()
//{
// int i = 0;
// //for (i = 1; i <= 100; i++)
// //{
// // if (i % 2 == 1)
// // printf("%d ", i);
// //}
//
// //1为奇数,加2还是奇数
// for (i = 1; i <= 100; i = i + 2) //巧妙
// printf("%d ", i);
//
// return 0;
//}
//int main()
//{
if语句
//if (1 == day)
// printf("星期一");
//else if (2 == day)
// printf("星期二");
//else if (3 == day)
// printf("星期三");
//else if (4 == day)
// printf("星期四");
//else if (5 == day)
// printf("星期五");
//else if (6 == day)
// printf("星期六");
//else if (7 == day)
// printf("星期日");
// return 0;
//}
//int main()
//{
// char day = 0;
// scanf("%c", &day);
// switch (day) //这必须是必须是整型表达式,不能用float,可以用char,因为char本质是ascii值,也就是整数
// { //用字符,输入的时候也要改成%c就好了
// case 'c': //这里必须是整型常量表达式
// printf("星期一");
// break; //跳出switch语句
// case 2:
// case 3:
// case 4:
// case 5:
// printf("weekday"); //可以实现多个case实现同一个语句
// break;
// case 6:
// printf("星期六");
// break;
// case 7:
// printf("星期日");
// break;
// default: //当不匹配所有的case语句时,执行这个
// printf("选择错误");
// break;
// }
// return 0;
//}
int main()
{
int n = 1;
int m = 2;
switch (n)
{
case 1:m++;
case 2:n++;
case 3:
switch (n) //n =2
{
case 1:n++; //跳过
case 2:
m++;
n++; //case能执行多条,if语句需要大括号才能执行两条
break; //这里只是跳过了里面的switch语句,外面还有一层
} //因为这里没有break语句,所以往下执行
case 4:
m++;
break; //执行到这,switch语句结束
default:
break;
}
printf("m = %d, n = %d\n", m, n);
return 0;
}
27集代码内容
#include <stdio.h>
打印1-10的数字
//int main()
//{
// int i = 0;
// while (i <= 10)
// {
// printf("%d", i);
// i++;
// }
// return 0;
//}
//int main()
//{
// int i = 1;
// while (i <= 10)
// {
// if (5 == i)
// break; //终止本次循环
//
// printf("%d ", i); //1 2 3 4
// i++;
// }
// return 0;
//}
//int main()
//{
// int i = 1;
// while (i<=10)
// {
// if (5 == i)
// continue; //结束本次循环,执行下一次循环,跳过本次循环后面的代码
// printf("%d ", i); //1 2 3 4 然后死循环
// i++;
// }
// return 0;
//}
//int main()
//{
// int i = 1;
// while (i <= 10)
// {
// i++;
// if (5 == i)
// continue;
// printf("%d ", i); //2 3 4 6 7 8 9 10 11 没有5,当i=10,会进行++,然后输出
// }
// return 0;
//}
29集的代码内容
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
//int ch = 0;
//while (getchar());
//int ch = getchar(); //读一个字符,返回值类型是int,返回的是ascii值
//printf("%c\n", ch);
//putchar(ch); //打印ch的变量
int ch = 0;
while ((ch = getchar()) != EOF)
{
putchar(ch);
}
return 0;
}
第30集代码内容
int main()
{
char arr[100] = { 0 }; //
//但是字符串不能用等于号,但是字符串char,可以存放连续的数字,数字可以进行比较
scanf("%s", arr);
int ch = 0;
while ((ch = getchar()) != '\n')
{
;
}
printf("请确认密码(Y/N):");
int re = getchar();
printf("请确认密码");
if (re == 'Y')
printf("Yes\n");
else
printf("No\n");
return 0;
}
//用户输入一串元素,只打印数字
int main()
{
//char arr[100] = { 0 }; //当输入的是数组是,不能用getchar存入,
char re = 0; //输入一串字符时,他也是只向缓冲区拿一个字符的,也是一个字符一个字符的判断的,然后循环
while ((re = getchar()) != '\n')
{
if (re < '0' || re > '9')
continue;
//printf("%d ", re); //不好用printf,不知道为啥
putchar(re);
}
return 0;
}
第31集内容以及题题目
//转换ascii值为对应的字符
int main()
{
//'97' = a;
int arr[] = { 73,32,99,97,110,32,100,111,32,105,116,33 };
int sz = sizeof(arr) / sizeof(arr[0]);
int i = 0;
while (i < sz)
{
printf("%c", arr[i]);
i++;
}
return 0;
}
printf的返回值
int main()
{
int n = printf("hello world!");
printf("\n%d\n", n);
return 0;
}
寻找最大值,我自己加了一点,寻找最小值,这里有一个缺点,就是需要提前知道用户输入几个元素,其实可以不用的,可能是我还没有想到
//找最大值
int main()
{
int arr[10] = {0};
int max = 0;
scanf("%d", &max);
int min = max;
int input = 0;
int i = 1;
while (i < 10)
{
scanf("%d", &input); //因为scanf字符遇到空格会结束,但是下一次还会从缓冲区里面取字符
if (input > max)
max = input;
else
min = input;
i++;
}
int n = 0;
//scanf("%d", &n);
printf("%d\n", max);
printf("%d\n", min);
//printf("%d\n", n);
return 0;
}
第33集
int main()
{
int i = 0;
int k = 0;
for (; i < 3; i++)
{
for (; k < 3; k++) //第一个相当于初始化,由于第二次循环进来,k没有进行初始化,还是等于3
//跳出循环,那么这个值相当于打印三次
printf("buxixi\n");
}
return 0;
}
do while循环(continue)
int main()
{
int i = 1;
do
{
if (5 == i)
continue;
printf("%d ", i);
i++;
} while (i <= 10);
return 0;
}
第36集(n的阶乘,阶乘的和,二分查找,中间汇聚,模拟用户输入密码)
阶乘以及阶乘的和
计算n的阶乘
1*2*3......*n
//int main()
//{
// int n = 0;
// int i = 0;
// int sum = 1;
// scanf("%d",&n);
//
// for (i = 1; i <= n; i++)
// {
// sum =sum *i;
// }
// printf("%d", sum);
// return 0;
//}
//
//计算阶乘的和
int main()
{
int i = 0;
int n = 0;
int k = 0;
int ret = 1;
int sum = 0;
scanf("%d", &n);
//for (i = 1; i <= n; i++)
//{
// ret = 1;
// for (k = 1; k <= i; k++) //1! 2! 3!不重将ret新赋值为1,3的阶乘就是 2 *1*2*3=12
// ret = ret * k; //因为会将上一次阶乘的结果留下来,在这里继续计算
// sum = sum +ret;
//}
//更简洁的方式
for (i = 1; i <= n; i++)
{
ret = ret * k; //这样子就直接计算了1! 2! 3! 4! == 1* 2 * 3*4 *5
sum = sum + ret; //只需要将上一次每次阶乘的结果加上就是阶乘的和了
}
printf("%d", sum);
return 0;
}