初识C语言 2021.10.17

目录

 

一.第一个C语言程序

二.数据类型

三.变量、常量

四.字符串+转义字符+注释


一.第一个C语言程序

#include <stdio.h>
int main()
{
    printf("hello world\n");
    
    return 0;
}

 解释:

//main函数是程序的入口

//一个工程中有且仅有一个main函数

二.数据类型

char          //字符数据类型      1字节

short         //短整型                 2字节

int             //整形                     4字节

long          //长整型                 4字节

long long   //更长的整形         8字节

float           //单精度浮点数     4字节

double       //双精度浮点数       8字节

1字节=8个比特位 

1byte = 8bit

如何计算每种类型的大小呢?

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


#include <stdio.h>
int main()
{
    printf("%d\n", sizeof(char));
    printf("%d\n", sizeof(short));
    printf("%d\n", sizeof(int));
    printf("%d\n", sizeof(long));
    printf("%d\n", sizeof(long long));
    printf("%d\n", sizeof(float));
    printf("%d\n", sizeof(double));
    printf("%d\n", sizeof(long double));
    return 0;
}

注:%d-整型

       %f -float

       %lf-double

三.变量、常量

所谓变量就是变化的,所谓常量就是不变的值

1.定义变量的方法:

char ch = 'w';

int weight = 120;

int age = 20;

2.变量分两种:局部变量:在{}外的变量

                         全局变量:在{}内的变量

#include <stdio.h>
int global = 2019;//全局变量
int main()
{
    int local = 2018;//局部变量
    //下面定义的global会不会有问题?
    int global = 2020;//局部变量
    printf("global = %d\n", global);
    return 0;
}

运行的结果如下

由此可见:上面的局部变量globe没有问题,并且当局部变量和全局变量名字冲突时,局部优先。

3.那么变量如何使用呢?如下是一个 两数相加的例子

#include <stdio.h>
int main()
{
    int num1 = 0;
   int num2 = 0;
    int sum = 0;
    printf("输入两个操作数:>");
    scanf("%d %d", &num1, &num2);
    sum = num1 + num2;
    printf("sum = %d\n", sum);
    return 0;
}

 顺便介绍

scanf函数是输入函数

printf函数是输入函数 

解决scanf的warning问题;不建议scanf_s,建议在第一行加上

 #define _CRT_SECURE_NO_WARNINGS                               

4.变量的作用域和生命周期:

作用域​​​​​

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

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

生命周期                            

变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段

 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。

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

5.常量

C语言中的常量分为以下以下几种:

  • 字面常量
  • const 修饰的常变量
  • #define 定义的标识符常量

枚举常量

#include <stdio.h>
//举例
enum Sex
{
 MALE,
 FEMALE,
 SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()
{
    //字面常量演示
    3.14;//字面常量
    1000;//字面常量
    
    //const 修饰的常变量
    const float pai = 3.14f;   //这里的pai是const修饰的常变量
    pai = 5.14;//是不能直接修改的!
    
    //#define的标识符常量 演示
 #define MAX 100
    printf("max = %d\n", MAX);
    
    //枚举常量演示
    printf("%d\n", MALE);
    printf("%d\n", FEMALE);
    printf("%d\n", SECRET);
    //注:枚举常量的默认是从0开始,依次向下递增1的


    return 0;
}

注: 上面例子上的 pai 被称为 const 修饰的常变量, const 修饰的常变量在C语言中只是在语法层面限制了 变量 pai 不能直接被改变,但是 pai 本质上还是一个变量的,所以叫常变量。   

四.字符串+转义字符+注释           

1.字符串 用双引号括起来的,字符是用单引号

注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容

字符串要放到数组中存放 ,\0是打印结束的标志

2.转义字符

出现以上情况的原因就是转义字符

转义字符 释义

\?  在书写连续多个问号时使用,防止他们被解析成三字母词

\'  用于表示字符常量 '

\“  用于表示一个字符串内部的双引号

\\  用于表示一个反斜杠,防止它被解释为一个转义序列符。

\a  警告字符,蜂鸣

\b  退格符

\f  进纸符

\n  换行

\r  回车

\t  水平制表符

\v  垂直制表符

\ddd  ddd表示1~3个八进制的数字。 如: \130 X

\xdd  dd表示2个十六进制数字。 如: \x30 0

#include <stdio.h>
int main()
{
    //问题1:在屏幕上打印一个单引号',怎么做?
    //问题2:在屏幕上打印一个字符串,字符串的内容是一个双引号“,怎么做?
    printf("%c\n", '\'');
    printf("%s\n", "\"");
    return 0;
}

下面一个例题

//程序输出什么?
#include <stdio.h>
int main()
{
    printf("%d\n", strlen("abcdef"));
    // \62被解析成一个转义字符
    printf("%d\n", strlen("c:\test\628\test.c"));
    return 0;
}

 如图

3.注释

(1)//xxxxx (c++注释风格,可注释一行或多行)

(2)/*xxxx*/ (C语言注释风格,缺点是不呢个嵌套注释)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值