Day1_Flow
DAY1笔记
编辑代码--->编译代码-->运行代码--->调试BUG
1.编辑代码
人要衣装,佛要金装。写代码必须要符合一定的规则。
练习一
使用VScode来编辑一段代码,实现
求100以内所有的质数的和。
1是质数吗?不是质数
#include<stdio.h>
#define count 100
int main()
{
int sum = 0, tag = 0, i = 2, j = 2;
while (i <= count)
{
for (j=2; j < i; j++)
{
if (i % j == 0)
{
tag = 1;
break;
}
}
if(tag==0)sum += i;
i++;
tag = 0;
}
printf("%d", sum);
return 0;
}
2.编译代码
把人能看懂的代码(高级语言)变成机器能看懂的语言(机器语言)。
负责编译的叫编译器。我们用到编译器:gcc
LINUX基础


linux的文件系统是树形结构,根。
根目录/
/mnt/hgfs 根目录下面的mnt文件夹下面的hgfs文件(linux下一切皆文件)
以根目录开头的路径,称之为绝对路径
比如:/地球/亚洲/中国....
相对路径
比如:我在你旁边
相对路径得到绝对路径
cd 命令 change directroy 切换目录
切换到哪里去(路径)
ls list 列举所有的文件(不包含隐藏文件)
ls 后面可以什么都不加 列举当前目录下面所有的文件
ls +路径
ls -a (all) 显示所有的文件 包括隐藏文件
. :代表当前目录
..:代表上一级目录
返回上一级目录 cd ..
TAB键(输入的时候):自动补齐
假设文件夹:1.c 2xp.c abc.c
输入a按下tab键,自动去找以a开头的文件,现在只有一个这样的文件
自动补齐
clear:清屏
快捷键ctrl+l
history:历史输入信息
方向键上下可以快速调取历史输入信息
/mnt/hgfs:是共享文件夹的挂载路径
编译
gcc 原文件名 -o 可执行文件的名字
-output 指定输出
比如:
gcc 1.c -o 1
gcc 原文件名
默认输出的可执行文件的名字为a.out

3.执行程序
./可执行文件名
比如:./1 或者./a.out

练习二
编译运行之前的你写的代码(练习一)并修改你的程序中的BUG,得到正确答案。
作业
1.求1000以内所有符合以下特点的数
25的平方625 625的十位和个位 25 就是它本身
2.逆序输出一个正整数
比如1234 ===>4321
提升:
任意数(整数)逆序输出
-1234===>-4321
+1234===>4321
/*
1.求1000以内所有符合以下特点的数:
25的平方625,625的十位和个位为25,就是它本身。
0,1,5,6,25,
分析:
1.需要比较的数不会超过自己本身
*/
#include<stdio.h>
int main()
{
int i = 0, squ=0;
while (squ < 100000000)
{
if (i < 10)
{
int singles = squ % 10;
if (i == singles)printf("%d\n", i);
}
else if(i<100)
{
int tens = (squ % 100) / 10;
int singles = squ % 10;
if (i == tens * 10 + singles)printf("%d\n", i);
}
else if (i < 1000)
{
int hundreds = (squ % 1000) / 100;
int tens = (squ % 100) / 10;
int singles = squ % 10;
if (i == hundreds*100+ tens * 10 + singles)printf("%d\n", i);
}
else if (i < 10000)
{
int w = (squ % 10000) / 1000;
int hundreds = (squ % 1000) / 100;
int tens = (squ % 100) / 10;
int singles = squ % 10;
if (i ==w*1000+ hundreds * 100 + tens * 10 + singles)printf("%d\n", i);
}
i++;
squ = i * i;
}
return 0;
}
/*
2.逆序输出一个正整数
(提升:任意数的逆序输出)
*
#define _CRT_SECURE_NO_WARNINGS //
#include <stdio.h>
int main() {
int num;
scanf("%d", &num);
while (num > 0)
{
printf("%d", num % 10);
num = num / 10;
}
return 0;
}
*/
#include <stdio.h>
int Num_reverse(int num)
{
int d=num;
int c=0;
do
{
c=c*10+d%10;
d=d/10;
/* code */
} while ((num=num/10)!=0);
return c;
}
int main()
{
Num_reverse(1234);
}
6 
浙公网安备 33010602011771号