写点什么

c 语言选择,循环语句概述

作者:秋名山码民
  • 2022 年 6 月 15 日
  • 本文字数:2140 字

    阅读完需:约 7 分钟

选择语句

常见的逻辑运算符


if

#include <stdio.h>
int main(){ int a; scanf("%d", &a); if (a > 1) printf("a大于1"); return 0;}
复制代码

if...else...

条件成立执行 if 语句中的内容,否则执行 else 后面的内容


#include <stdio.h>
int main(){ int a; scanf("%d", &a); if (a >= 60) printf("及格"); else printf("不及格"); return 0;}
复制代码

if...else if...else

对比上面的也不难猜出,<font color = red>如果...又如果....否则....


#include <stdio.h>
int main(){ int a; scanf_s("%d", &a); if (a >= 60 && a <= 70) printf("及格"); else if (a > 70 && a <= 80) printf("良好"); else if (a > 80) printf("优秀"); else printf("不及格"); return 0;}
复制代码

表达式 1?表达式 2:表达式 3

意思就是当表达式 1 为真的时候,执行表达式 2,否则执行表达式 3


#include<stdio.h>int main() {  char ch;
scanf("%c",&ch); ch = (ch >= 'A' && ch <= 'Z') ? (ch + 32) : ch;
printf("%c", ch); return 0;}
复制代码

switch 语句

swtich(表达式)  {    //   ()中的数据类型仅仅支持整数                 case 常量1 :                   要执行的语句;                   break;                 case 常量2 :                   要执行的语句;                   break;                 case 常量3 :                   要执行的语句;                    break;                 default:                   要执行的语句;                   break;}
复制代码


注意:default,当上述条件都不满足的时候,执行 default 语句

例题

  1. 判断闰年

  2. 判断字符是否是大写字母,如果是小写字母转换为大写,否则直接输出(见上面条件表达式代码)


//闰年#include<stdio.h>int main() {  int y;  scanf_s("%d", &y);  if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) {    printf("%d是闰年", y);  }  else {    printf("%d不是闰年", y);  }  return 0;}
复制代码

循环语句

for

试想一个操作,我们定义一个数组大小为 10,然后要给这个数组中存入数据,


int a[10];a[0]=1;a[1]=2;......a[9]=10;
复制代码


for(int i=0;i<10;i++){  a[i]=i+1;}
复制代码


int i=0;为循环初始条件 i<10;为循环条件,当 i<10 时循环继续进行 i++;i 每次循环自增 1


i++,++i


i++,先执行操作,再自增++i,先自增,再执行操作

while 和 do……while

while 循环:


while 循环的关键点是循环可能一次都不会执行。当条件为 false 时,会跳过循环主体,直接执行紧接着 while 循环的下一条语句。


#include <stdio.h> //输出0-9int main (){   int a = 0;   while( a < 10 )   {      printf("a 的值: %d\n", a);      a++;   }   return 0;}
复制代码


与 while 循环不同的地方是:<font color = red>do…while 循环至少执行一次


#include <stdio.h>int main (){   int a = 0;   do   {       printf("我虽然不满足条件,但是也执行一次");     }while(a>0);   return 0;}
复制代码

例题:

假设用户的密码是一个三位整数,令用户输入密码,如果输入成功,则提示 welcome,如果输入失败,则提示”bad password“,如果三次都没有输入成功,则锁定,提示:“user locked”


#include <stdio.h>int main(){  int key = 123;  int times = 0;//次数  bool passed = 0;  do  {    times++;    int input = 0;    printf("请输入密码:");    scanf_s("%d", &input);    if (key == input)    {      passed = 1;      break;    }    else    {      printf("bad password\n");    }  } while (times < 3);  if (passed)  {    printf("Welcome");  }  else  {    printf("user locked");  }  return 0;
}
复制代码

函数

我不打算讲多少,函数声明改错题,选择题考的多!


函数的声明( C 函数原型),告诉编译器函数的类型,且需要在其他地方找到该函数的定义。函数的定义,函数的具体实现,确切的指定了函数的具体功能。函数的调用,导致该函数被执行。函数必须先声明后使用。函数定义在调用之前,可不声明,函数定义在调用之后或在其他文件中,那么调用之前必须先声明。被调用函数声明可在调用函数之外,也可在调用函数内任何可以放置变量声明的位置。


下面我们来定义一个返回最大值的函数


int max(int num1, int num2) {   int result;    if (num1 > num2)      result = num1;   else      result = num2;    return result; }
复制代码


函数声明


int max(int num1, int num2);
复制代码


函数调用


#include <stdio.h> /* 函数声明 */int max(int num1, int num2); int main (){   /* 局部变量定义 */   int a = 100;   int b = 200;   int ret;    /* 调用函数来获取最大值 */   ret = max(a, b);    printf( "Max value is : %d\n", ret );    return 0;} /* 函数返回两个数中较大的那个数 */int max(int num1, int num2) {   /* 局部变量声明 */   int result;    if (num1 > num2)      result = num1;   else      result = num2;    return result; }
复制代码

最后

还有结构体,指针,我不打算讲了,鉴于确实有难度,如果还需要加强学习,欢迎到博主专栏查看,最后祝愿:各位学渣,c 语言必过!!!

用户头像

卷不死,就往…… 2021.10.19 加入

2019NOIP退役成员,华为云享专家,阿里云专家博主,csdn博主,努力进行算法分享,有问题欢迎私聊

评论

发布
暂无评论
c语言选择,循环语句概述_6月月更_秋名山码民_InfoQ写作社区