//选择结构:判断奇数int main(){ int num; printf(请输入:); scanf(%d, num); if (num % 2 != 0) printf(%d是奇数\n, num); else printf(%d不是奇数\n,num);...
//选择结构:判断奇数
int main()
{
int num;
printf("请输入:");
scanf("%d", &num);
if (num % 2 != 0)
printf("%d是奇数\n", num);
else
printf("%d不是奇数\n",num);
return 0;
}
//输出100内的奇数
int main()
{
int i=1;
while (i <= 100)
{
if(i%2!=0)
printf("%d ",i);
i++;
}
return 0;
}
//else总是和它相邻最近的if匹配
int main()
{
int a = 6;
if (5 == a)
if (a > 10)
printf("Test00\n");
else //0
printf("Test11\n");
else //1 //如果注释这里的else1则else0和它最近的if匹配
printf("Test22");
}
//if,if...else,if...else if,switch选择语句
//if测试
int main()
{
char ch = 'a';//ACSII码值97
if (ch == 97)
printf("Yes\n");
}
int main()
{
char ch = 'a'; //ACSII码值97
if (ch == 98)
printf("Yes\n");
else
printf("No\n");
}
//if。。。else测试
int main()
{
int day;
printf("Please enter the day:");
scanf("%d",&day);
if (day == 1)
printf("Monday!\n");
else if (day == 2)
printf("Tuesday!\n");
else if (day == 3)
printf("Wednesday!\n");
else if (day == 4)
printf("Thuresday!\n");
else if (day == 5)
printf("Friday!\n");
else if (day == 6)
printf("Saturday!\n");
else if (day == 7)
printf("Sunday!\n");
}
//switch测试
int main()
{
int days;
scanf("%d",&days);
switch (days)
{
case 1:
printf("Monday!\n");
break; //break是结束语句,跳出程序的出口,如果没有会从case1执行到defualt,也就是会打印全部的天数和defualt的内容
case 2:
printf("Tuesday!\n");
break;
case 3:
printf("Wednesday!\n");
break;
case 4:
printf("Thursday!\n");
break;
case 5:
printf("Friday!\n");
break;
case 6:
printf("Saturday!\n");
break;
case 7:
printf("Sunday!\n");
break;
default:
printf("Enter Errors,Please enter again!");
break;
}
}
//建议每个switch都匹配一个defualt分支
//default是没有匹配的情况才会执行,每个switch语句只能有一个default,其可以出现在语句列表的任何位置
int main()
{
int days;
scanf("%d", &days);
switch (days)
{
case 1:
printf("Monday!\n");
case 2:
printf("Tuesday!\n");
case 3:
printf("Wednesday!\n");
case 4:
printf("Thursday!\n");
case 5:
printf("Friday!\n");
case 6:
printf("Saturday!\n");
case 7:
printf("Sunday!\n");
default:
printf("Enter Errors,Please enter again!\n");
}
}
运行结果:
/****************************************************************/
1
Monday!
Tuesday!
Wednesday!
Thursday!
Friday!
Saturday!
Sunday!
Enter Errors, Please enter again!
请按任意键继续. . .
/***************************************************************/
//以下是多个case分支共用一个打印语句
int main()
{
int num;
scanf("%d",&num);
switch (num)
{
case 0:
case 1:
printf("Test--->0"); break;
case 3:
case 4:
printf("Test--->1"); break;
default:
printf("Test--->none");
break;
}
}
int main()
{
int n = 1;
int m = 2;
switch (n)
{
case 1:++m;
case 2:n++;
case 3:
switch (m) //m=3,无匹配结果
{
case 1:n++;
case 2:m++; n++; break;
}
case 4:m++;
break;
default:
break;
}
printf("n=%d,m=%d\n",n,m);
}
/*************************************
break和continue
break:直接结束循环
continue :结束本次循环,直接接入下一次循环
**************************************/
int main()
{
int i = 1;
while (i<=10)
{
if (i == 5)
break; //此时i=5,结束循环,不再打印5出来
printf("%d ",i);
i++;
}
}
int main()
{
int i = 1;
while (i <= 10)
{
i++; //只有放在前面时程序才可以正常执行,得到想要的结果
if (i == 5)
continue; //直接进入下一趟循环
printf("%d ", i);
//i++; 放在这里没有办法执行,因为当i=5时,直接进入到下一趟循环,不会执行到i++这里,也就是i的值没有改变的机会,可能程序会进入死循环了
}
}
运行结果:
2 3 4 6 7 8 9 10 11
//连续输入
int main()
{
//CTRL+Z结束
char ch;
while ((ch = getchar()) != EOF) //EOF -->end of file 文件结束标志
{
putchar(ch);
}
}
//实例:输入密码,等待确认,确认成功!
int main()
{
int ch = 0;
int ret = 0;
char password[] = { 0 };
printf("请输入密码:>");
scanf("%s",password);
//如果不加下面的while,当输入空格时,没等到Y确认就直接输出Fail
/* while ((ch = getchar()) != '\n')
{
;
} */
printf("请确认(Y/N):>");
ret = getchar();
if (ret == 'Y')
printf("OK!\n");
else
printf("Fail\n");
}
//循环Test示例
int main()
{
int ch=0;
while ((ch=getchar()) != EOF)
{
if (ch < '0' || ch > '9')
continue;
putchar(ch);
}
}
织梦狗教程
本文标题为:01.C语言学习(控制结构)
基础教程推荐
猜你喜欢
- [C语言]二叉搜索树 2023-09-07
- C语言编程C++旋转字符操作串示例详解 2022-11-20
- 带你深度走入C语言取整以及4种函数 2022-09-17
- [c语言-函数]不定量参数 2023-09-08
- C++实现ETW进行进程变动监控详解 2023-05-15
- C语言 详解字符串基础 2023-03-27
- centos 7 vscode cmake 编译c++工程 2023-09-17
- 全面了解C语言 static 关键字 2023-03-26
- C语言实现宾馆管理系统课程设计 2023-03-13
- C++实战之二进制数据处理与封装 2023-05-29
