C语言是一门结构化程序设计语言
C语言中有三种结构:
顺序结构,选择结构,循环结构
分支语句
- if
- switch
循环语句
- while
- for
- do…while
语句:
C语言中用一个分号隔开的,就是语句
分支语句是一种选择结构
#include<stdio.h>
int main()
{
int age = 0;
(void)scanf("%d", &age);
if (age < 18)
printf("未成年\n");
return 0;
}
#include<stdio.h>
int main()
{
int age = 0;
(void)scanf("%d", &age);
if (age < 18)
printf("未成年\n");
else
printf("成年\n");
return 0;
}
C语言中规定0为假,非0为真
#include<stdio.h>
int main()
{
int a = 0;
int b = 2;
if (a == 1)
if (b == 2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
//这段代码什么都不会打印 第二个else会在编译器中主动和第二个if靠近
//所以代码什么都不会打印,没有符号的条件。
#include<stdio.h>
int main()
{
int age = 10;
if (age == 5)
printf("age==5\n");
return 0;
}
//屏幕上什么都不会打印,因为age!=10;
#include<stdio.h>
int main()
{
int age = 10;
if (age = 5)
printf("age==5\n");
return 0;
}
//频幕上会打印age==5,因为把5赋值给了age,所以if后面的括号里面的值是真的,所以回打印要求的信息
为了避免上面第一个代码中的错误情况,写代码的时候可以把常量放在左边,这样就比较容易看的出来错误,也是一种比较好的代码风格。
判断一个数是奇数还是偶数
#include<stdio.h>
int main()
{
int i = 0;
(void)scanf("%d", &i);
if (i % 2 == 0)
printf("i为偶数\n");
if (i % 2 == 1)
printf("i为奇数\n");
return 0;
}
输出1-100之间的奇数
#include<stdio.h>
int main()
{
int i = 0;
int count = 0;
for (i = 1; i <= 100; i++)
{
if (i % 2 == 1)
{
printf("%d ", i);
count++;
}
}
printf("\n");
printf("%d", count);
return 0;
}
switch语句
switch适用于多分支语句
#include<stdio.h>
int main()
{
int day = 0;
scanf("%d", &day);
switch(day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("weekday\n");
break;
case 6:
case 7:
printf("weekend\n");
break;
default:
printf("选择错误\n");
break;
}
}
需要强调的是,switch后面的必须是整形表达式,浮点型就会出错。
case 后面只能放常量表达式,必须是整形,也必须是常量。
#include<stdio.h>
int main()
{
int n = 1;
int m = 2;
switch (n)
{
case 1:m++;
case 2:n++;
case 3:
switch (n)
{//switch允许嵌套使用
case 1: n++;
case 2:m++;n++; break;
}
case 4:m++;break;
default:
break;
}
printf("m = %d, n = %d\n", m, n);
system("pause");
return 0;
}
//结果是m=5,n=3;
循环语句
break和continue
#include<stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
printf("%d ",i);
i++;
}
return 0;
}
#include<stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
break;
printf("%d ", i);
i++;
}
return 0;
}
//打印结果为1,2,3,4
//break永久的跳出循环,停止后期的所有循环,永久的终止循环
#include<stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
continue;
printf("%d ", i);
i++;
}
return 0;
}
//打印结果是1,2,3,4,4,4,4,4...死循环
#include<stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
i++;
if (i == 5)
continue;
printf("%d ", i);
}
return 0;
}
//打印结果为2,3,4,5,7,8,9,10,11
//continue作用:continue用来终止本次的循环,当次continue之后的语句不再执行。
#include<stdio.h>
int main()
{
int ch = getchar();
putchar(ch);
return 0;
}
//输入什么字符就会输出相应的字符
//EOF为end of file
#include<stdio.h>
int main()
{
int ch = 0;
while ((ch = getchar()) != EOF)
putchar(ch);
return 0;
}
//用ctrl+z来停下来。