1、新建一个Win32控制台程序:
2、预处理命令
3、常量、变量
4、基本数据类型:整型、浮点型、字符型、(布尔型)(占用内存的字节与cpu有关)
5、变量的声明、定义和初始化:(在内存中是否存在) 另:关键字extern
6、变量的作用域:全局作用域、局部作用域、块作用域、文件作用域(static)
7、逻辑运算符:与、或、非
8、关系运算符:>、<、>=、<=、==、!=
9、位运算:二进制
10、编程规范:二目运算符前后都空一格
课堂题目1:求100以内的素数?
void sushu()
{
// 先假设该数为素数
bool bFlag = true;
for (int i = 2; i <= 100; i++)
{
// 先假设该数为素数
bFlag = true;
for(int j = 2; j <= sqrt((double)i); j++)
{
if(i % j == 0)
{
// 该数不是素数
bFlag = false;
break;
}
}
if(bFlag)
{
printf("%d\t",i);
}
}
}
在main函数中调用该函数,运行结果如下:
用while语句改写:
void sushu2()
{
bool bFlag = true;
int i = 2;
while (i <= 100)
{
bFlag = true;
int j = 2;
while (j <= sqrt((double)i))
{
if(i % j == 0)
{
bFlag = false;
break;
}
j++;
}
if(bFlag)
{
printf("%d\t",i);
}
i++;
}
}
运行结果同上
课堂题目2:水仙花数(水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153))
void shuixianhua()
{
// 个位、十位、百位、千位
int ge, shi, bai, qian;
for (int i = 100; i < 10000; i++)
{
// 分离出每一位的值
ge = i % 10;
shi = i % 100 / 10;
bai = i % 1000 / 100;
qian = i % 10000 / 1000;
// 3位水仙花数
if (i < 1000 && ge*ge*ge + shi*shi*shi + bai*bai*bai == i)
{
printf("%d\t",i);
}
// 4位水仙花数
if (i > 1000 && pow((double)ge,4) + pow((double)shi,4) + pow((double)bai,4) + pow((double)qian,4) == i)
{
printf("%d\t",i);
}
}
}
运行结果: