初识C语言一

1.C语⾔是什么?

人和人交流使用的是自然语言,如:汉语、英语、⽇语
那⼈和计算机是怎么交流的呢?使用计算机语言。
⽬前已知已经有上千种计算机语⾔,⼈们是通过计算机语⾔写的程序,给计算机下达指令,让计算机 ⼯作的。
C语⾔就是众多计算机语⾔中的⼀种,当然C++/Java/Go/Python都是计算机语⾔。

2.main函数

每个 C 语言程序都是从 main 函数开始执行的。一个程序mian函数有且只有一个,同时main 函数是程序的入口,所以main 函数也被叫做主函数。主函数前面的int表示函数执行结束后应返回一个int(整形)类型的数据,所以在 main 函数的最后写 return 0; 正好前后呼应。

多个main函数会导致编译器编译或链接错误(你的程序belike:)

#include<stdio.h>
int main()
{
	return 0;
}
int main()
{
	return 0;
}

其他新手常见错误

  • 1.main写错成mian
  • 2.main后边的()漏掉了
  • 3.使用中文符号

3.printf和库函数

 printf 是⼀个库函数,它的功能是在标准输出设备(如屏幕)上进⾏信息的打印。

列如想要在屏幕打印 Hello World 

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

  • 同时我们在使⽤库函数的时候,是需要包含头⽂件的,⽐如: printf 函数需要包含的就是 stdio.h 这个头⽂件,具体的⽅法就是:
#include<stdio.h>
那什么是库函数呢?
为了不再重复实现常见的代码,让程序员提升开发效率,C语⾔标准规定了⼀组函数,这些函数再由不 同的编译器⼚商根据标准进⾏实现,提供给程序员使用。这些函数组成了⼀个函数库,被称为标准 库,这些函数也被称为库函数。在这个基础上⼀些编译器⼚商可能会额外扩展提供部分函数(这些函 数其他编译器不⼀定⽀持。⼀个系列的库函数⼀般会声明在同⼀个头⽂件中,所以库函数的使⽤,要包含对应的头⽂件。

4.C语言的关键字

C语言中有一些特定含义的“名字”称为关键字,如intifreturn

  • 关键字都有特殊的意义,是保留给C语言使用的
  • 程序员自己在创建标识符的时候是不能和关键字重复的
  • 关键字也是不能自己创建的。

注:随着版本变迁关键字也不局限于上诉32个

5.数据类型介绍

5.1C语言的基本数据类型

C语言中有基本的数据类型来表示各种数据

作为初学者,首先了解内置类型

char        //字符型--------------------常用
int         //整型(整数)--------------常用
short       //短整型
long        //长整型
long long   //长整型
float       //单精度浮点数(小数)
double      //双精度浮点数(小数)-------常用

    此外还有个特殊类型-------布尔类型专门表示真(true)假(false)

    bool
    布尔类型的使⽤得包含头⽂件 <stdbool.h>
    布尔类型变量的取值是:truefalse

    5.2数据类型的取值范围

    上述的数据类型很多,尤其数整型类型就有short、int、long、long long 四种,为什么呢?
    其实每⼀种数据类型有⾃⼰的取值范围,也就是存储的数值的最⼤值和最⼩值的区间,有了丰富的类型,我们就可以在适当的场景下去选择适合的类型。(新手特别注意int类型取值范围即可)

    SCHAR_MIN , SCHAR_MAX :                signed char 的最⼩值和最⼤值。
    SHRT_MIN , SHRT_MAX :                      short 的最⼩值和最⼤值。
    INT_MIN , INT_MAX :                              int 的最⼩值和最⼤值。
    LONG_MIN , LONG_MAX :                     long 的最⼩值和最⼤值。
    LLONG_MIN , LLONG_MAX :                 long long 的最⼩值和最⼤值。
    UCHAR_MAX :                                           unsigned char 的最⼤值。
    USHRT_MAX :                                           unsigned short 的最⼤值。
    UINT_MAX :                                               unsigned int 的最⼤值。
    ULONG_MAX :                                          unsigned long 的最⼤值。
    ULLONG_MAX :                                        unsigned long long 的最⼤值。

    6变量

    6.1变量的创建

    知道了各种数据类型我们就可以创建变量了,什么是变量呢?C语⾔中把经常变化的值称为变量,不变的值称为常量。

    data_type name;
     |         |
     |         |
    数据类型 变量名

    例如一个人有年龄,体重,身高,我们就可以创建age,weight,height三个变量

    int age;
    float weight;
    double height;
    
    变量在创建的时候就给⼀个初始值,就叫初始化
    int age = 18;
    float weight = 62.3;
    double height = 186.4;
    

    6.2 变量的分类

    全局变量:在⼤括号外部定义的变量就是全局变量
    全局变量的使⽤范围更⼴,整个⼯程中想使⽤,都是有办法使⽤的。
    局部变量:在⼤括号内部定义的变量就是局部变量
    局部变量的使⽤范围是⽐较局限,只能在⾃⼰所在的局部范围内使⽤的。
    #include <stdio.h>
    
    int global = 2023;//全局变量
    
    int main()
    {
         int local = 2018;//局部变量
        
        return 0;
    }
    特别的:当局部变量和全局变量同名的时候,局部变量优先使⽤,即局部优先

    7.占位符

    前面我们讲述了printf函数能打印信息,那如果我们想把变量的信息打印到屏幕上该如何做呢

    在C语言中,占位符是用于格式化输出的特殊字符,以指定输出的格式和内容。占位符与C语言的数据类型相对应,可以输出各种类型的数据,如整数、浮点数、字符、字符串等。

    常用占位符及其用法

    C语言中的占位符包括但不限于以下几种:

    • %d :用于输出十进制有符号整型(int)。

    • %u:用于输出十进制无符号整数(unsigned int)。

    • %x 或 %X:用于以十六进制形式输出整数,其中%x产生小写字母,而%X产生大写字母。

    • %f:用于以单精度浮点数形式输出实数(float)。

    • %lf:用于以双精度浮点数形式输出实数(double)。

    • %c:用于输出单个字符(char)。

    • %s:用于输出字符串。

    • %p:用于输出指针的地址。

    让我们试试将age,weight,height这三个变量的值打印出来吧

    #include<stdio.h>
    
    int main()
    {
        int age = 18;
        printf("age = %d ", age);
    
        float weight = 62.3;
        printf("weight = %f ", weight);
    
        double height = 186.4;
        printf("height = %lf ", height);
    
        return 0;
    }
    上⾯⽰例中,age = %d 是输出⽂本,⾥⾯的 %d 就是占位符,表⽰这个位置要
    ⽤其他值来替换。占位符的第⼀个字符⼀律为百分号 % ,第⼆个字符表⽰占位符的类型, %d 表⽰这 ⾥代⼊的值必须是⼀个整数。printf() 的第⼆个参数就是替换占位符的值,上⾯的例⼦是整数 18 替换 %d 。执⾏后的输出结果就是 age = 18。(另外两个同理)

    输出⼩数时,有时希望限定⼩数的位数。举例来说,希望⼩数点后⾯只保留两位,占位符可以写
    %.2f,如果希望⼩数点后⾯输出3位,占位符就要写成 %.3f
    #include<stdio.h>
    
    int main()
    {
        int age = 18;
        float weight = 62.3;
        double height = 186.4;
    
        printf("age = %d ", age);
        printf("weight = %.2f ", weight);
        printf("height = %.3lf ", height);
    
        return 0;
    }

    8.scanf

    当我们有了变量,我们需要给变量输入值就可以使⽤ scanf 函数,如果需要将变量的值输出在屏幕上 的时候可以使⽤ prinf 函数,下⾯看⼀个例⼦:

    #include <stdio.h>
    
     int main()
     {
    	 int score = 0;
    	 printf("请输入成绩:");
    	 scanf("%d", &score);
    	 printf("成绩是:%d\n", score);
    	 return 0;
     }

    运行程序后程序会停留在scanf这个语句等待输入

    用户输入数据后回车结束输入 scanf() 就会处理用户的输⼊,将其存⼊变量。

    scanf() 的语法跟 printf() 类似。

    scanf("%d", &score);

    它的第⼀个参数是占位符(与 printf() 的占位符基本⼀致),告诉编译器如何解读用户的输⼊,需要提取的数据是什么类型。

    这是因为 C 语⾔的数据都是有类型的, scanf() 必须提前知道用户输⼊的数据类型,才能处理数据。

    它的其余参数就是存放用户输⼊的变量,格式字符串⾥⾯有多少个占位符,就有多少个变量。上⾯⽰例中, scanf() 的第⼀个参数 %d ,表⽰用户输⼊的应该是⼀个整数。 %d 就是⼀个占位 符, % 是占位符的标志, d 表⽰整数。第⼆个参数 &score 表⽰,将用户从键盘输⼊的整数存⼊变量

    (!注:变量前⾯必须加上 & 运算符)

    下⾯是⼀次将键盘输⼊读⼊多个变量的例⼦。

    scanf("%d%d%f%f", &i, &j, &x, &y);

    上⾯⽰例中,格式字符串 %d%d%f%f ,表⽰用户输⼊的前两个是整数,后两个是浮点数,⽐如 1

    -20 3.4 -4.0e3 。这四个值依次放⼊ i 、 j 、 x 、 y 四个变量。

    scanf() 处理数值占位符时,会⾃动过滤空⽩字符,包括空格、制表符、换⾏符等。

    所以,用户输⼊的数据之间,有⼀个或多个空格不影响 scanf() 解读数据。另外,用户使⽤回⻋

    键,将输⼊分成几行,也不影响解读。

    如果你使用scanf编译器发生了下面的错误

    只需要将这行代码复制到第一行即可      #define _CRT_SECURE_NO_WARNINGS 1

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值