初识C语言

第一个C语言项目

如何写代码?

  1. 创建一个项目

  1. 创建一个源文件(xxxx.c)

  1. 写代码

  • 写出主函数(main函数) 有且仅有一个main函数,但是多个.c文件中只能有一个main函数

编写代码:

#include<stdio.h>
int main()
{
        printf("Hello World! ");
           return 0;
}

stdio.h :standard-input-output

int:函数的返回类型,整型。

printf:库函数,在屏幕上打印信息的

  1. 译代码+运行

(编译+链接+运行代码 快捷键:Ctrl+F5/Ctrl+F5+Fn)

数据类型

char 字符数据类型

short 短整型

int 整型

long 长整型

long long 更长的整型

float 单精度浮点型

double 双精度浮点型

double在数据类型转换中的级别最高,在各个数据类型进行加减乘除运算时,最终数据类型都要转化为double

C语言标准:

sizeof(long)>=sizeof(int)

%d-打印一个整数(没有%d打出来的整数)

sizeof-关键字-操作符-计算类型或者变量所占空间大小

计算机中的单位:

bit(位)-比特位

byte(字节)=8bit (sizeof的单位)

kb=1024byte

mb=1024kb

gb=1024mb

tb=1024gb

pb=1024tb

初识变量、常量

变量:年龄、体重

常量:性别、血型

%d-int

%f-float

%lf-double

变量的分类:

局部变量和全局变量

//全局变量-{}外部定义的
int a=100;

int main()
{
    //局部变量{}内部定义的
    //当局部变量和全局变量名字冲突的情况下,局部优先
    int a=10;
    return 0;
}

变量的使用

//写一个代码求2个整数的和

//scanf函数是输入函数

错误解决方法:整个源文件的第一行加上 :#define _CRT_SECURE_NO_WARNINGS

变量的作用域和使用周期

局部变量的作用域:变量所在的局部范围

全局变量的作用域:整个工程

变量的生命周期:变量的创建和销毁之间的时间段

局部变量的生命周期:进局部范围生命开始,出局部范围生命结束

全局变量的生命周期:整个程序的生命周期

常量

  • 字面常量

  • const修饰的常变量

常变量是指具有常属性(不能给改变的属性)的变量

num是可变的,打出来的是20

num已被const修饰,num具有常属性

  • #define定义的标识符常量

  • 枚举常量(默认值是从0开始的)

一般用于可以一一列举的常量 (性别、星期、三原色)

初识字符串+转义字符+注释

字符串

eg:"Hello World\n" 用双引号括起来的一串字符

结束标志:\0的转义字符,不算作字符串内容

字符数组:一组相同类型的元素

首先进入调试状态 F10

如何观察arr?

以下图片说明了字符串是以\0为结束标志的重要性

strlen没有定义头文件 #include <string.h>

打印整型printf("%d",100);

打印字符printf("%c",'a');

打印字符串("%s","abc");

转义字符

转变了它原来的意思

注释

用来解释复杂代码的 快捷键:Ctrl+Shift+C或Ctrl+/ ---//

Shift+Ctrl+/ ---/*

初识选择语句

初识循环语句

while循环

for循环

do...while循环

初识函数&数组

数组

一组相同类型的元素的集合

初识操作符

算术操作符

加减乘除+ - * / %

移位操作符

>>向右操作符 << 向左操作符

位操作符:

左移操作符-移动的是二进制位(左移最后一位永远补0)

位操作符

& 按位与

| 按位或

^ 按位异或

赋值操作符

= += -= *= |= <<= >>=

例如 a=a+5 就可以写成a+=5;复合赋值

单目操作符

逻辑反操作【!】

对一个数的二进制按位取反【~】

自增自减运算符【++, – – 】

负值【-】

强制类型转换【(类型)】

取地址【&】

操作数的类型长度(以字节为单位)【sizeof】

a+b

+有两个操作数,即为双目操作符

单目操作符,有一个操作数

常见关键字

  1. 关键字不能做变量名

auto (每个局部变量都是auto修饰的,基本都是省略)break(循环、switch语句) case char const(修饰常变量) 
continue default do double else enum extern(声明外部符号) float for
goto(goto语句) if int long register(寄存器关键字) return short(短整型) 
signed(有符号的)-unsigned(无符号的) sizeof static(静态的) struct(结构体) switch 
typedef union(联合体/共用体) unsigned void(无-空) volatile while(循环)

define 、include-预处理指令

int  main()
{
register int num=100;//建议num的值存放在寄存器中;寄存器速度非常快
return 0;
}

关键字

typedef-类型定义,类型重定义 --把一个使用不方便的类型简化

例如:unsigned int(无符号整型)=u_int 别名

static-静态的

  1. 修饰局部变量

  1. 修饰全部变量

  1. 修饰函数

#include<stdio.h>
typedef unsigned int uint;
typedef struct Node
{
  int data;
  struct Node* next;
}Node;
int main()
{
    unsigned int num=0;
    uint num2=1;
    struct Node n;
    Node n2;
    return 0;
}

关键字 static静态的

修饰变量和函数

  1. 修饰局部变量(局部变量出作用域不销毁,本质上,static改变了局部变量的存储位置)

  1. 修饰全局变量

(static修饰全局变量时,将全局变量的外部链接属性改为内部链接属性。其他源文件(.c)就不能再使用这个全局变量了)

  1. 修饰函数 函数具有外部链接属性

(static修饰函数时,将函数的外部链接属性改为内部链接属性,其他源文件(.c)就不能再使用这个函数了)

define定义常量

add函数

#define(x,y)((x)+(y)) //宏 宏的参数(参数无整型)
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值