C语言的初识

目录

1.什么是C语言?

2.第一个C语言程序

3.数据类型

4.变量,常量

4.1变量的创建方法

4.2变量的命名

4.3变量的分类

4.4变量的使用

4.5变量的作用域和生命周期

4.6常量

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

5.1字符串

5.2转义字符

5.3注释

6.选择语句

7.循环语句

8.函数

9.数组

9.1 数组的定义

9.2数组的下标

10.操作符


1.什么是C语言?

计算机语言:人和机器交流的语言,如Java,C,C++,python,上千种计算机语言C语言是其中的一种。

计算机语言的发展史:

二进制-汇编语言-B语言-C语言-C++-JAVA

        低级语言          高级语言


2.第一个C语言程序

写一个C语言代码,打印hello Word。

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

解析:

include        是包含的意思

stdio.h         全称 standard input output 标准输入输出头文件

int                整型 - 整数

main            主函数 主函数是程序的入口 C语言代码中必须有主函数 但是有且仅有一个main函数 printf            打印函数 专门用来在屏幕上打印数据的 是C语言标准库中提供的一个库函数

return:       0-返回


3.数据类型

  • char           字符数据类型
  • short           短整型
  • int               整形
  • long            长整形
  • longlong     更长整形
  • float            单精度浮点型
  • double        双精度浮点型

存在这么多类型,其实是为了更加丰富的表达生活中的各种值

sizeof:计算他们大小

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

他们的大小是1244848,单位是字节。


4.变量,常量

C语言中不变的值概念叫做常量,变的值用变量表示。

4.1变量的创建方法

类型+变量名=值

例:int age = 10;

解析:int为整形,age为年龄,10为值。

4.2变量的命名

  1. 只能由字母(包括大小写),数字和下划线(_)组成
  2. 不能以数字开头
  3. 长度不能超过63字符
  4. 变量中区分大小写
  5. 变量名不能使用关键字

4.3变量的分类

  • 局部变量
  • 全局变量

大括号内部叫局部变量,大括号外部叫全局变量

#include <stdio.h>
int a=10;//全局变量
int amin()
{
    int b=20;//局部变量
    return 0;
}

上图所示,a为全局变量,b为局部变量。

如果全局变量和局部变量名字冲突,局部变量优先使用

4.4变量的使用

例:写一个代码,计算两个数的和。

#include <stdio.h>
int main()
{
    int a=0;    //定义一个变量a
    int b=0;    //定义一个变量b
    int sum=0;
    printf("请输入两个数");
    //输入数据
    scanf("%d %d",&a &b);
    //计算求和
    sum=a+b;
    //输出结果
    printf("sum=%d\n",sum);    //以数字的形式打印sum
    return 0;
}

scanf是一个库函数,可以从键盘上接收数据 输入函数

printf专门用来在屏幕上打印数据的 输出函数

4.5变量的作用域和生命周期

作用域:

作用域(scope)是程序设计概念,通常来说,一段程序代码中所用得到的名字补总是有效/可用

而限定这个名字的可用性的代码范围就是这个名字的作用域。

  1. 局部变量的作用域是变量所在的局部范围
  2. 全局变量的作用域是整个工程

生命周期

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

  1. 局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束
  2. 全局变量的生命周期:是整个工程的生命周期

4.6常量

1.字面常量

               1;                      整形字面常量

               3.14;                 浮点型字面常量

               "ABCD";            字符串字面常量

               'A';                     字符字面常量

2.const修饰常变量

拥有常属性的变量

用法:当一个变量不想让它改变的时候,可以使用。

3.#define定义的标识符常量

用法:#difine+变量名+数值

4.枚举常量

enum 枚举关键字

一一列举

#include<stdio.h>
enum COLOR//定义的枚举关键字叫COLOR
{
    RED,//枚举常量
    GREE,
    BLUE
};
int main
{
    enum COLOR c=RED;
    return 0;    
}

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

"hello word"

5.1字符串

由双引号引起来的叫字符串字面值,简称字符串。

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


5.2转义字符

转义:转变原来的意思

转义字符释义

cc

在书写连续多个问好时,防止他们被解析成三字母词
\'用于表示字符常量 ‘
\"用于表示一个字符内部的双引号
\\用于表示一个反斜杠,防止他被解释成为一个转义字符
\a警告字符,蜂鸣
\b退格符
\f进纸符
\n换行
\r回车
\t水平制表符
\v垂直制表符
\ddd表示1~3个八进制数字。

\xdd

dd表示2个十六进制数字。

5.3注释

1.代码中有不需要的代码可以直接删除,也可以注释掉

2.代码中有些代码难懂,可以加一下注释文字

VS里面的快捷注释方法:

注释:Ctrl+k                Ctrl+c

取消注释Ctrl+k          Cu


6.选择语句

人生处处是选择,比如你有十元钱吃早饭,你是吃五元的热干面还是十元的牛肉面呢?

这就要用到我们的if else语句。

#include<stdio.h>
int main()
{
    int a=0;
    printf("你早饭是吃五元的热干面,还是十元的牛肉面呢?(5/10)");
        scanf("%d",&a);//输入
    if(a==5)
        printf("热干面");
    else if(a==10)
        printf("牛肉面\n");
    else
        printf("输入错误");
    return  0;
}

如果输入了5元,那就是选择了热干面,如果输入的10元,那就是选择了牛肉面。


7.循环语句

生活中有些事必须一直做,比如日复一日上班,日复一日学习。

  • while循环(初识)
  • for语句
  • do while循环
#include<stdio.h>
int main()
{
    int a=0;
    while(a<=10000)
    {    
        print("敲代码");
    a++;
    }
    if(a>1000)
    printf("好offer");
     return 0;
}

当你敲代码到10000行的时候,你就可以拿一个好offer,没到10000行,你就要不停的学习不停的敲代码。


8.函数

用函数计算两个数的和

#include <stdio.>
int add(int x ,int y)
{
	int z = x + y;
		return z;
}
int main()
{
	int a = 0;//定义两个变量
	int b = 0;
	int sum = 0;
	printf("请输入两个整数");
	scanf("%d %d",&a,&b);//输入
	sum =add (a , b);//定义函数add,调用函数add
	printf("%d",sum);打印sum
	return 0;
}

函数的特点就是简化代码,代码复用。


9.数组

C语言中给数组的定义:一组相同类型元素集合

9.1 数组的定义

   int arr[10]={1,2,3,4,5,6,7,8,9,10};
//整形  名字         初始化
//数组的创建和初始化

9.2数组的下标

数组的下标是从0开始的

数组的访问:

#include <stdio.h>
int main()
{
//     指定数组的元素个数
//          |
    int arr[10]={1,2,3,4,5,6,7,8,9,10};
    //下标        0 1 2 3 4 5 6 7 8 9
    //想访问7的话,就要访问它的下标6
    printf("%d\n",arr[6]);

    return 0;
}

10.操作符

C语言提供了非常多的操作符,使得C语言非常灵活。

算数操作符

+        -        *        /        %        

      加      减      乘      除     取模(取余)

加减乘除和日常生活中的一模一样,重点要认识 / 和 %

#include<stdio.h>
int main()
{
    int a=17/4
    //a=4
    //除号求的是商
    int b=17%4
    //b=1
    //取余求的是余数
    return 0;
}

%操作的两个操纵作书必须都是整数

移位操作符

>>          <<

位操作符

&        ^        |

这些操作符与二进制有关,初识C语言,可以先认识一下,以后的文章会详解。

赋值操作符

=        +=        -=        *=        /=        &=         %=       ^=        |=        >>=        <<=

=        要分清楚初始化和赋值

#include <stdio.h>
    int main()
 {
    int a=0;    //初始化:创建变量的同时给一个值,这叫做初始化
    a=10;       //赋值

    a=a+10;
    //也可以写成:
    a+=10;
    return 0;
 }

+=        -=        *=        /=        &=        都被称为符合赋值符后面的&=         %=       ^=        |=     以后再学习   >>=        <<=

单目操作符

!                        逻辑反操作
-                        负值
+                       正值
&                       取地址
sizeof                操作数的类型长度(以字节为单位)
~                       对一个数的二进制按位取反
--                       前置、后置--
++                      前置、后置++
*                        间接访问操作符(解引用操作符)
(类型)                强制类型转换

!        它可以表示相反的逻辑

C语言中要表示真和假的时候,把0视为假,非0视为真

#include<stdio.h>
int main()
{
    int a=5;
    //a为真,就打印真
    if(a)
    {
        printf("真\n");
    }

    //a为假,就打印假
    if(!a)
    {
        printf("假\n");
    }
    return 0;
}

正值和负值

#include <stdio.h>
int main()
{
	int a = 10;
	int b = -a;
	printf("%d\n",b);
    //结果为-10,因为a是10,-a就是-10
	return 0;
}

sizeof是操作符,是计算变量所占空间的大小,单位是字节

++和--

后置++

#include<stdio.h>
int main()
{
	int a = 100;
	int b = a++;
	//后置++,先使用后++
	printf("%d %d",a,b);
	//a的值为101,b的值为100
	return 0;
}

前置++

#include<stdio.h>
int main()
{
	int a = 100;
	int b =++a;
	//前置++,先++,后使用
	printf("%d %d",a,b);
	//a的值为101,b的值为101
	return 0;
}

--的逻辑和++是一样的

后置--

#include<stdio.h>
int main()
{
	int a = 100;
	int b = a--;
	//后置--,先使用,后--
	printf("%d %d",a,b);
	//a的值为100,b的值为99
	return 0;
}

前置--

#include<stdio.h>
int main()
{
	int a = 100;
	int b =-- a;
	//前置--,先--,后使用
	printf("%d %d",a,b);
	//a的值为99,b的值为99
	return 0;
}

(类型)                强制类型转换

#include<stdio.h>
int main()
{
	int a = (int)3.1415;
	printf("%d",a);
	return 0;
}

如上代码所示,a为整形,但是赋值为浮点型,3.1415前面的(int)就是强制类型转换,把他转换成整形。

关系操作符

>

>=

<

<=

!=

==

>,>=,<,<=,这些关系操作符和数学中的一一模一样,这里着重了解一下==,!=

C语言中,判断相等是用两个等号,一个等号会被编译器识别为赋值,两个等号是判断相等,!=是判断不相等。

例如:a=2;        这里是把a赋值成5

           b==5;       这里是判断b等不等于5

逻辑操作符

&&        并且

||           或者

&&和||只关注真假

&&两边同时为真,才为真

||两边同时为假,才为假

假设我们把年龄18~39的人称为青年,利用&&就可以写成以下代码。

#include<stdio.h>
int main()
{
    //定义年龄为18
	int age = 18;
    //如果年龄>=18,并且年龄<=36,我们就打印青年
	if (age >= 18 && age <= 36)
		printf("青年");
}

条件操作符

exp1 ? exp2 : exp3

这个会在后续写两个数比大小的时候,为大家展示。

逗号表达式

exp1,exp2,exp3.....expn

后续讲...

下标引用,函数调用和全文结构成员

[]        ()        .        ->

[]        下标引用操作符

在一串数组中,当我们要访问里面的元素,必须使用下标才能访问。

#include <stdio.h>
int main()
{
//     指定数组的元素个数
//          |
    int arr[10]={1,2,3,4,5,6,7,8,9,10};
    //下标        0 1 2 3 4 5 6 7 8 9
    //想访问7的话,就要访问它的下标6
    printf("%d\n",arr[6]);//这里的[]就是下标引用操作符

    return 0;
}

()      函数调用操作符

#include <stdio.>
int add(int x ,int y)
{
	int z = x + y;
		return z;
}
int main()
{
	int a = 0;//定义两个变量
	int b = 0;
	int sum = 0;
	printf("请输入两个整数");
	scanf("%d %d",&a,&b);//输入
	sum =add (a , b);//定义函数add,调用函数add,这里就是函数调用操作符
	printf("%d",sum);打印sum
	return 0;
}

结构成员操作符会在以后的结构体部分讲...


因为内容太多了,另外一部分留着下一篇文章再讲,如果觉得有帮助的话可以关注我哦,我也会不断分享自己的所学。

  • 16
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值