C语言入门

C语言学习

1/26

常识

  • //单行注释,加*号可为多行注释

  • main():主函数,一个项目只允许有一个主函数

  • stdio.h标准输入输出库

  • void:空

  • return:返回值

  • include:包含,导入

  • 不要用中文

  • 编译器和编辑器都要有

关键字

分类关键字
非常见auto、register、volatile、goto
存储相关const、extem、

进制的转换

内存容量的单位

1TB=1024GB

1GB=1024MB

1MB=1024KB

1KB=1024B(B=byte字节)

1B=8bit

进位应用表示
二进制2电脑存储B
八进制8O
十进制10日常计算D
十六进制16H
原码、反码、补码
  • 正数的原码、反码、补码都是一样的
  • 符号位:最高位,1表示负数,0表示正数
  • 反码:在原码的基础上‘‘符号位保持不变,数值取反’’
  • 补码:在反码的基础上‘‘符号位不变,数值取反’’

1/27

变量(值可以变化的量,需要存储,但是需要实时变化)

  • 变量名以数字,字母,下划线构成
  • 第一个不能是数字
  • 不能是关键字,预定义
  • 区分大小写

类型表示
整型int,signed int/int占据4个字节(32位),unsigned int,short int占据2个字节,long int占据4字节
字符型char,占据一个字节(8位),signed char有符号位(可直接写char),unsigned char无符号(不能省略)
浮点型float单精度,占据4字节。double双精度,占据8字节。long double占据8字节或16字节,sizeof函数可查字节数

1/28

变量的定义和使用

//类型名 变量名,变量名,变量名;
//类型名 变量名=初值,变量名=初值;
char a,b,c;
int e;
char a=0,b=1,c=3;
unsigned char e=3;
int height=170;
int weight=0;

输出

int a,b;
a=100;
b=20;
printf('%d\n,%d',a,b);//顺序对应

高级输出

char a,b;//养成赋初值的习惯
a=45;//赋值
b=a;
printf('a:%d,b:%d\n',a,b);//引号里面有什么输出什么,%d用来匹配字符

溢出

//例子
char height=0;
height=170;
printf('%d\n',height);
//输出不是170,溢出,因为char只有一个字节,可以改为int类型,或者unsigned char

运算符与表达式

运算符
//+ - * / %
//表达式:操作数和运算符组成,单个字符可理解为表达式
//只要有一个对象是浮点型结果就是浮点型,两个整数得到整数
//“%d”整型匹配
//"%f"浮点型匹配
//\n换行
//求余运算符要求两个必须为整数,且运算结果的符号取决于被除数
//自增和自减运算符(单目运算符,从右往左)
a=20
printf('%d\n',a++)//先读再加,也就是先输出a再加1
printf('%d\n',a)
//输出20,21
//++在前,先写后读
printf('%d\n',++a)//先加1再输出

2/8

优先级与结合性
//单目运算符优先于双目运算符
//逻辑运算符低
//赋值最低
关系运算符
//< > == >= <= !=
返回1为真,0为假
逻辑运算符
//与运算 &&
//或运算 |
//非运算 
短路特性,逻辑前面不成立,后面不会执行
非运算符最高
赋值运算符
// = 
// -=
// +=
// *=
// /= 先运算后赋值

强制类型转换
//语法格式
(类型)(表达式)
float c=0 d=0;
c=(int)7.5/2;
d=int(7.5*3);
printf('%d\n%d',c,d);
//不加括号转换最近的那个
//不同数据类型相互转换时向高精度多字节转换

运算结构

顺序结构

从前往后,从上往下

复合结构由大括号括起来声明语句

if选择语句
if (条件表达式)
	语句1
    //条件表达式为真则执行语句
    //语句不用大括号括起来只能跟一条语句
    
//输入
int a,b,max;
printf('请输入a和b的值:');
scanf('%d%d',&a,&b);
max=a;
if(max<b)
	max=b;
printf('max:%d\n',max);
return 0;

//判断为奇数
#include <stdio.h>
int main(void)
{
	int a=0;
    printf('请输入a的值:');
    scanf('%d\n',&a);
    if (a%2 != 0)
    {
        printf('%d是奇数',a);
    }
    printf('******\n')
    return 0;
}
//if else语句
#include <stdio.h>
int main()
{
    int a=0;
    printf('请输入a:');
    scanf('%d',&a);
    if (a%2 == 0)
    {
        printf('%d是偶数',a);
    }
    else
    {
        printf('%d是奇数',a);
    }
    printf('*******\n');
    return 0;
}
记得使用双引号
//if else if
#include <stdio.h>
int main()
{
    //分数等级
    int score=0;
    printf("请输入成绩:");
    scanf("%d",&score);
    if (score>=90)
    {
        printf("%d属于A等级",score);
    }
    else if (score>=75)
    {
        printf("%d属于B等级",score);
    }
    else if (score>=60)
    {
        printf("%d属于C等级",score);
    }
    else
    {
        printf("%d不及格",score);
    }
    return 0;
}
switch多路分支语句
switch(表达式)
{
    case 常量表达式1:语句1(集合);
    case 常量表达式2:语句2(集合);
        ……
    case 常量表达式n:语句n(集合);
    default:语句n+1;   
}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值