c编程入门day02

运算符:

  • 关系运算符

> >= < <= == !=

=赋值 ==等于

  • 赋值运算符

= += -= *= /= %=

a-=5;=====a=a-5;

a++;//a=a+1;

a+=3;//a=a+3;

答:60
  • 条件运算符(三目运算符)

表达式1表达式2表达式3

运算法则判断表达式1是否成立如果成立执行表达式2不成立执行表达式3

例:

int a=3,b=6;

c=a>b?a:b;

运算符优先级

单算移关与,异或逻条赋(熟练记忆)

单目运算符

! ++ -- ~

算术运算符

* /  % + -

运算符

<< >>

关系运算符

< <= > >= == !=

位与运算符

&

异或运算符

 ^ |

逻辑运算符

&& ||

条件运算符

? :

赋值运算符

= += -= *= /= %=

标点符号

, ; () [] { }

分隔符

空格 tab 换行

变量:

概念

程序运行过程中发生变化

格式

存储类型 数据类型 变量名

 auto         int                a;

存储类型

决定变量存储位置

数据类型

决定开辟空间大小

变量

遵循标识符命名规则

名称

字节大小

取值范围(了解)

int

整型

4

char

字符型

1

-2^7~2^7-1

short

短整型

2

long

长整型

4

float

单精度浮点型

4

有效位数6-7

double

双精度浮点型

8

有效位数15-16

printf("%d\n",sizeof(float));

sizeof用于计算字节大小

1个字节等于8位,0-255,256个数

0111 1111=127

-128~127

变量的区别

局部变量

全局变量

定义位置

函数体内部

函数体外部

初值

未初始化随机值

未初始化0

存储位置

栈区

全局区

生命周期

函数体共存亡

程序共存亡

作用

当前函数体内部

整个程序

常量:

程序运行过程中不会发生变化

字符常量

单引号包裹

char a='w';

'w'--->字符

a---->变量

'n'字符n  '\n'换行 \转义 \\:\

字符串 常量

双引号包裹'\0'作为结束标志

char a[]="hello";

整型 常量

八进制 十进制 十六进制

浮点型常量

float 4字节       double 8字节

标识常量

格式#define 宏名 常量表达式代码段

特点只是单纯的替换,不进行运算

宏定义标识作用宏名遵循标识符命名规则一般用大写表示

例题:
#include<stdio.h>

#define N 5

#define M N+2

#define NUM 2+M*2+1 //2+5+2*2+1

int main(int argc, char const *argv[])

{

    printf("%d\n",NUM); //12

    return 0;

}
例题:

结合三目运算符实现两个数最大值:

#include<stdio.h>

#define MAX a>b?a:b 

int main(int argc, char const *argv[])

{

    int a=6,b=9;

    printf("%d\n",MAX);

    return 0;

}

宏函数 了解

#include<stdio.h>

#define MAX(a,b) a>b?a:b 

int main(int argc, char const *argv[])

{

    printf("%d\n",MAX(8,6));

    return 0;

}

输入输出:

字符输入输出

输入

int getchar(void);

功能终端输入一个字符

参数

返回值输入字符ASCII

int res=getchar();

printf("%d\n",res);

输出

int putchar(int c);

功能向终端输出

参数输出字符ASCII

返回值输出字符ASCII

int res=getchar();

    putchar(res);

格式输入输出

输出

int printf(const char *format, ...);

功能格式终端输出

参数多参

返回值输出数据个数

格式

%d int

%c char

%f float

%lf double

%s 字符串

%p 地址

%o 八进制

%#x 十六进制

浮点型默认打印小数点后六位

float a=2.3;

printf("hello %.2f\n",a); //保留2小数

输入

int scanf(const char *format, ...);

功能格式终端

参数多个

返回值正确输入数据个数

int a;

scanf("%d",&a);

printf("hello %d\n",a);

垃圾字符回收机制

通过空格回收

可以回收一个多个空格tab

char a,b;

 scanf("%c %c",&a,&b);

    printf("hello %c %c\n",a,b);

*抑制可以回收任意一个字符 了解
getchar
while(1)

    {

        char a;

        scanf("%c",&a);

        printf("%c\n",a);

        getchar();

    }

分支语句

if_else 

基本结构

if(表达式1)

{

代码段1

}else

{

代码段2;

}

判断表达式1是否成立如果成立执行代码段1不成立执行代码段2

分层结构

if(表达式1)

{

代码段1

}else if(表达式2)

{

代码段2;

}else

{

代码段3

}

嵌套结构

if(表达式1)

{

if(表达式2)

{

}

}

if(s>100||s<0)

{

printf("error\n");

}else

{

//ABC

}

例题:海伦公式求三角形面积: 海伦公式求三角形面积 (C语言实现详解)-CSDN博客

switch_case

switch (表达式)

    {

    case 常量1:

        /* code1 */

        break;

case 常量2:

        /* code2 */

        break;

    default:

        break;

    }

执行顺序判断表达式结果case后的常量值进行匹配匹配成功执行对应语句块如果没有匹配成功执行default的语句块遇到break结束

例题:区分学生学习成绩等级:

#include<stdio.h>
int main(){
    float score=0;
    printf("请输入:");
    scanf("%f",&score);
    if(!(score>=0&&score<=100))
        printf("error");
    else{
        switch((int)score / 10){
            case 10:
            case  9:
                printf("A:优秀\n");
                break;
            case  8:
                printf("B:良好\n");
                break;
            case  7:
            case  6:
                printf("C:合格\n");
                break;
            default:
                printf("D:不及格");
                break;
        }
    }
    return 0;
}

注意:

表达式结果不能小数case常量不能浮点数字符串

每个对应case语句后边要加上break不加继续向下执行直到遇到break结束

课后练习

答案见day02课后练习-CSDN博客

  • 38
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值