笔记
来自《C rime Plus》一书
define _CRT_SECURE_NO_WARNINGS
include<stdio.h>
int main()
{
const int fre = 0;
float temp;
int cold=0;
int all = 0;
while (scanf("%f",&temp) == 1)
{
all++;
if (temp<fre)
{
cold++;
}
if (all != 0)
{
printf("%d : %.lf%% were below\n",all,100.0*(float)cold/all);
if (all == 0)
{
printf("NO date");
}
}
}
return 0;
}
7.1 if 语句
if
if__else
if__else if__else
//getchar() putchar() -->字符的输入输出函数 只处理字符,因此他更快,更简洁。
//scanf() printf() -->更通
#define SPACE ' '
int main()
{
char ch;
ch = getchar();
while (ch != '\n')
{
if (ch == SPACE)
putchar(ch);
else
putchar(ch + 1);
ch = getchar();
}
putchar(ch);
return 0;
}
区分
int main()
{
char ch;
ch = getchar();
while (ch!='\n')
{
putchar(ch);
}
return 0;
}
int main()
{
char ch;
//ch=getchar();
while((ch=getchar())!='\n')
putchar(ch);
return 0;
}
iso646.h头文件 可使用 and or not 代替逻辑运算符 && || !
#include<stdio.h>
#include<iso646.h>
int main()
{
int range = 0;
int aa=0;
scanf("%d",&aa);
if(aa>90 or aa<100)
printf("%d",aa);
else
{
printf("错误");
}
return 0;
}
7.5 条件运算符: ? : 该运算符分为两个部分,需要三个运算对象。所以叫三元运算符。
通用形式: exp1 ? exp2 : exp3
#define COVERAGE 350
int main()
{
int aq_feet;
int cans;
printf("Enter number of square feet to be painted:\n");
while (1==scanf("%d",&aq_feet))
{
cans = aq_feet / COVERAGE;
cans += (aq_feet % COVERAGE == 0) ? 0 : 1;
printf("You need %d %s of paint. \n", cans, cans == 1 ? "can" : "cans");
}
return 0;
}
7.6 环辅助:continue 和 break
continue 语句,会跳过本次迭代的剩余部分,并开始下一轮迭代。
break 语句,会终止包含它的循环,并继续执行下一阶段。
7.7 多从选择:switch 和 break (if else if else 也可以)
switch (switch_on)
{
case exp1:
语句
case exp2:
语句
.
.
.
default:
break;
}
7.8 goto语句
break,continue 和 goto 语句 都是跳转语句
while (funct>0)
{
for (i = 0; i < 100; i++)
{
for (j = 0; j <= 50; j++)
{
//其他语句
if 语句
goto help;
//其他语句
}
//其他语句
}
//其他语句
}