云计算百科
云计算领域专业知识百科平台

C语言-003

一、关系运算

1. 关系运算符及意义

运算符意义
== 相等
!= 不相等
> 大于
>= 大于或等于
< 小于
<= 小于或等于

2. 运算结果

关系运算的结果为整数1或0。

  • 当两个值的关系符合运算符预期时,结果为1。
  • 不符合预期时,结果为0。

示例

c

运行

printf("%d\\n",5==3); // 输出0
printf("%d\\n",5>3); // 输出1
printf("%d\\n",5<=3); // 输出0

3. 优先级

  • 关系运算符的优先级低于算术运算符。
  • 关系运算符的优先级高于赋值运算符。

示例

c

运行

7>=3+4 // 先计算3+4=7,再判断7>=7,结果为1
int r=a>0; // 先判断a>0,再将结果赋值给r

二、找零计算器程序示例

1. 程序功能

用户输入购买金额和支付票面,程序计算并打印找零,或告知余额不足。

2. 程序结构(注释划分)

以//开头的单行注释将程序分为三个部分:

  • 初始化
  • 读入金额和票面
  • 计算并打印找零
  • 3. 代码示例

    c

    运行

    // 初始化
    int price = 0;
    int bill = 0;
    // 读入金额和票面
    printf("请输入金额:");
    scanf("%d",&price);
    printf("请输入票面:");
    scanf("%d",&bill);
    // 计算并打印找零
    printf("应该找您:%d\\n",bill – price);

    三、注释

    1. 单行注释

    以两个斜杠//开头,用于注释单行内容。

    • 注意://是 C99 标准支持的注释方式,ANSI C 不支持。

    2. 多行注释

    以/*开头,以*/结束,可延续数行注释内容。

    • 也可用于一行内的注释。

    示例

    c

    运行

    int ak=47 /*36*/,y=9; // 行内注释
    /*
    这是多行注释
    可以写多行内容
    */

    四、if 语句

    1. 基本结构

    由关键字if开头,括号内为条件逻辑表达式,后接大括号{}包裹的执行语句。

    • 若表达式结果非 0,执行大括号内语句。
    • 若表达式结果为 0,跳过语句继续执行后续代码。
    • if行末尾无分号,执行语句行末尾有分号,执行语句通常缩进。

    示例

    c

    运行

    if ( total > amount)
    total += amount + 10;

    2. 嵌套的 if 语句

    if或if-else的执行语句可以是另一个if或if-else语句。

    示例

    c

    运行

    if(code == READY)
    if(count < 20)
    printf("一切正常\\n");
    else
    printf("继续等待\\n");

    3. else 的匹配规则

    else总是和最近的那个if进行匹配。

    示例

    c

    运行

    if(code == READY){
    if(count < 20)
    printf("一切正常\\n");
    }else
    printf("继续等待\\n");

    4. 分段函数实现示例

    以分段函数 f(x)=⎩⎨⎧​−1,0,2x,​x<0x=0x>0​ 为例:

    c

    运行

    if(x < 0){
    f = -1;
    }else if(x == 0){
    f = 0;
    }else{
    f = 2 * x;
    }

    五、switch-case 语句

    1. 基本结构

    c

    运行

    switch(控制表达式){
    case 常量:
    语句;
    break;
    case 常量:
    语句;
    break;
    default:
    语句;
    break;
    }

    2. 规则

    • 控制表达式只能是整数型的结果。
    • case后的常量可以是常数,也可以是常数计算的表达式。

    3. break 的作用

    • switch是基于计算的跳转,匹配到对应case后执行语句。
    • 若没有break,程序会顺序执行后续 case的语句,直到遇到break或switch结束。

    示例

    c

    运行

    switch( type )
    {
    case 1:
    case 2:
    printf("你好\\n");
    break;
    case 3:
    printf("晚上好\\n");
    case 4:
    printf("再见\\n");
    break;
    default:
    printf("啊,什么啊?\\n");
    break;
    }

    #include

    <stdio.h>

    int main() {     int hour1, minute1;     int hour2, minute2;          scanf("%d %d", &hour1, &minute1);     scanf("%d %d", &hour2, &minute2);          int ih = hour2 – hour1;     int im = minute2 – minute1;          if ( im <0) {         im = 60 + im;         ih –;     }          printf("时间差是%d小时%d分。",ih,im);          return 0;  } 

    #include <stdio.h>

    int main() {     const int PASS=60;     int score;          printf("请输入成绩");     scanf("%d",&score);          printf("你输入的成绩是%d.\\n",score);     if(score < PASS)         printf("很遗憾,这个成绩没有及格");     else         printf("祝贺你,这个成绩及格了");     printf("再见\\n");                  return 0;  } 

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » C语言-003
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!