初识C语言2

本文介绍了C语言中的常量类型,包括字面常量、const修饰的常变量、#define定义的标识符常量和枚举型变量。接着讲解了字符串的概念,强调了作为字符串结束标志的重要性。此外,还提及了转义字符和注释在代码中的作用。文章还简要讨论了选择语句(if-else)和循环语句(while),并介绍了函数的基本概念和数组的定义与使用。最后,提到了算术和位移操作符。
摘要由CSDN通过智能技术生成

#初识C语言
##大致了解C语言
###了解基本的C语言
对于上一章我们没有对C语言的大概说全所以我们这里继续补充上一章的内容。
嗨喽,大家好。
我是ldopc同时也是一名C语言的初学者。欢迎大家观看并且邀请各位小白跟我一起学习C语言,
在这个大数据的时代,人人都要会一点编程。所以为了你以后能够跟上时代,一起学习C语言叭。

一,常量
常量大致分为四种

1字面常量:
也就是我们生活中不能改变的量比如,年龄,性别,年月等等。
也就是字面的意思如:1,10000。
下面给一个代码

int main()
{
  3.13;//字面常量
  100000;//字面常量
  return 0}//也就是我们直观写出来的量。

2,const修饰的常变量
下面举例说明:

int main()
{
   int a=3;
   printf("%d\n",a);
   int a=5;
   printf("%d\n",a);
   return 0;

}//这是我们普通的代码。

这里编译后会输出3与5.
下面我们展示一下const的作用。

int main()
{
  //const- 是一个常属性
  //而a是const修饰的一个常变量。
   const int a=3
   printf("%d\n",a);
   int a=5;
   printf("%d\n",a);
   return 0;
}

这个代码我们编译会发现出现了错误,
因为const修饰后a就=3而不能等于5了,所以系统会报错。
所以const的作用是是变量不能改变。

小伙伴可能对常变量有些疑惑。
a原来是一个变量,但是const修饰后,它就变成了一个不可变化的变量。虽然他变成了不可变的值,但是他的本质是一个变量。

下面我们给出一个代码测试一下a是否为变量。

int main()
{
  int a=10;
  int num[a]={1,2,3,4,5};//此处为一个数组,数组中含有10个元素空间。
  //因为在数组num[]括号中必须为一个常数。
  printf("")
  return 0;

}

因为在数组num[]括号中必须为一个常数。
所以我们编译后发现会报错,所以这里我们可以证明a是一个变量。
所以我们叫做常变量。

3,#define定义的标识符常变量;
我们举一个例子:

#difine a=10//define是定义的意思,这里指定义一个标识符常量=10。即是a=10
int main()
{
   int mun[a]={1,2,3,4,};
   printf("%d\n",a);
   return 0;

}

当我们编译后会发现输出一个10,这就说明了a是一个常量,因为数组那里并没有报错。

4,枚举型变量
所谓枚举就是指一一列举的意思,
比如:
三原色:红,黄,蓝。
性别:男,女。
我们给出一个代码,

enum  color//enum 是枚举型变量的关键。枚举类型
{
    red;
    yellow;/*这些叫做枚举常量。记住这里是常量他们是不能改变的,例如(blue=yellow)这是错误的因为这里都是常量;*/
    blue;
}
int main()
{
   eunm color color=blue;/*这里后面那个color是一个由enum color类型定义的一个
   枚举型变量*/
   printf("%d\n",red);

   printf("%d\n",yellow);
   
   printf("%d\n",blue);
   
   return 0;   

}

因为枚举变量是默认为从0开始,依次向下递增1。
并且需要注意的是大括号里面的枚举常量他的值是不可改的;
输出的结果是 0, 1,2
枚举变量的格式就如上方一样。
所以常量这个知识点就了解到这里,后面会细讲。

二,字符串+转义字符+注释
1**,字符串。**
字符串的定义:由双引号引起来的一连串的字符。
而字符串需要注意的是
字符串的结束标志是\0(一个转义字符)但是它不算字符串的内容,相当于字符串在最后默认有的一个值,而他的作用是作为一个结束标志。
下面我们可以通过一个代码来展示一下关于\0的作用,

int main()

{
     char num1[]="acdegsvhs";//由双引号引起的一串叫字符串;
    // “acdegsvhs”这里存放的其实是‘a’,'c','d',.....,'s','\0';
     char num2[]={'a','b','c','d'};//由单引号引起的叫做字符
     
     char num3[]={'a','b','c','d','\0'};
     printf("%s\n",num1);
     
     printf("%s\n",num2);
     
     printf("%s\n",num3);
     
     return 0;
    
}

%s是打印字符串
因为这个东西表示特别重要我们就不专门腾出一个地方来说明;
当我们输入这个代码时我们观察结果就能够了解\0的重要性;

同学们可以先猜一猜这个代码的输出长度是多少;
输出的长度分别为
9
随机
5

因为num2当中没有\0所以他会一直输出随机值直到随机值为0时结束输出。
但是为什么会输出5与9呢
因为0相当于系统的一个终止符号当检测到0时便不再输出
所以\0是字符串的结束标志
这里解释一下因为\0的ascll码值刚好也是为0。
那ascll码值是如何出现的呢:
因为电脑储存数据是按照二进制储存,那么这时候人们就想如何将字母存储进去呢?
于是人们规定了一个值叫做ascll码值
例如
‘a’=97
‘A’=65
‘0’=0
在这里插入图片描述
常见的ascll码值。

注释:
作用:
代码中不需要的代码可以直接删除也可以注释掉。

第二就是解释作用,当碰到自己不懂的时候可以在旁边添加注释。

//这个是注释符号
把他放到某一行不需要的的代码块前它能屏蔽这一行代码。上面的例子就有非常的多,同学们自行观看。

转义字符:
字面意思就是转变意思。
下面通过一个例子来说明一下:
在屏幕上打印一串代码

#include <stdio.h>
int main()
{
	printf("svh\tsjn\tshu\n");
	return 0;

}

我们可以看看这个代码看他能不能在编译器编译出svh\tsjn\tshu\n

答案是
在这里插入图片描述
为什么会出现这样的答案呢。
因为\t不代表t它是一个转义字符水平制表
所以我们将这样的叫做转义字符
下面给大家一些常见的转义字符 。
如下
在这里插入图片描述
这些就是常用的转义字符。


三,选择语句与循环语句
这里简单说明一下后续会仔细说明。
选择语句
定义:
就是做出一个选择也就是相当于判断句一样。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{   
      int x=0
      
	  scanf("%d", &x);
	if (x == 0)
	{
		printf("你将会暴富");
	}
	else
	    printf("你会越来越穷");

	    return 0;

}

我解释一下
首先让你输入一个数(scanf这个函数代表的是输入函数与printf一样的是系统提供的库函数)注意看一下scanf的用法以及他的格式,这是C语言官方确定的格式我们一个遵循。.
如上当x=0的时候就会打印你将会暴富
如果x不等于0则会打印你会越来越穷
我们看看结果
在这里插入图片描述
在这里插入图片描述
如果满足()里面的条件就执行 {} 里面的语句如果不满足则执行else后面的语句。

2,循环语句
定义:
不断的重复做一个事,就如人每天都要吃饭,每天都需要去睡觉。

那么我们说如果一直循环那有什么意义呢?
所以循环结构都会有一个条件当不满足那个条件的时候就终止循环。

就好比人,人每天都得吃饭但是得满足一个条件。就是人还活着,那么当人去世以后就不能够每日循环了。

循环语句有3种
1,while语句
2,for语句
3,do while 语句

虽然有三种语句但是他的理解大概都差不多只是结构上或多或少会有一些差距。这里我们只讲述一种结构。

下面我们写一个代码来解释。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{   
	int x = 0;
	printf("当你如果能够敲够20000行的有效代码,你就可以去找工作了")while (x <= 20000)
	{
		printf("需要继续加油\n");
		x++;
	}
	if (x > 20000)
		printf("获得一份好offer");

	return 0;
}

这样一个代码我们称之为循环。
当x<20000d的时候会一直循环当x>20000的时候跳出这个循环开始执行下一行。
这里不所说这里只是大概的了解一下。


四,函数
与数学中定义差不多。

函数分为两种,
库函数:如
printf
scanf
strlen
等等…
自定义函数:
定义:
就是自己定义的一个函数。
举一个例子;

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{   
	int x = 0;
	int b = 20;
	int c = 100;
	x = b + c;
	printf("%d\n", x);
	return 0;
}

但是如果又定义了很多的数让你相加呢?

这样就会显得很麻烦需要重复很多遍的相加。
这个时候我们就可以自己定义一个函数来解决这种麻烦的事。

举一个例子:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 int add(int x, int y)//int是数据类型,add是自定义的函数名,而括号里面的叫做参数。
{
	int z = x + y;
	return z;//这里返回一个z值
}

int main()
{   
	int x = 0;
	int b = 20;
	int c = 100;
	x = add(b, c);//z值将返回与此地也就是x会=z,这里括号脸面也叫作参数。
	printf("%d\n", x);
	return 0;
}

这里用到了函数的调用这里我们暂时不说明以后会详细讲。
可能很多人会觉得自定义一个函数会很麻烦,但是当你的数据更复杂时
你可以无需重复写相同的代码只需要换一组数就能达到目的。

五数组
问题引入:
假设我们要存储一个数值;
比如,int a=0。
那如果我们要存储100个数值怎么呢?
如果一个一个存会不会太麻烦。
所以我们就引进一个新的概念叫做数组

数组的定义:
一组相同类型的元素集合。

 int num[10]={1,2,3,4,5,6,7,8,9,10};//这里的等号是赋值。括号里面也是下标。

这里的意思就是定义一个存放10个整型的数组。
int是类型
num是数组名
[10]代表里面可以存放10个元素。
那我们如何表达数组呢?
下面通过一个代码给大家解惑。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	int num[10] = { 1,2,3,4,5,6,7,8,9,10 };
	printf("%d\n",num[3]);
	//这里我们说使用下标的方式访问元素
	return;
}

那么这里将会输出一个什么呢?
在这里插入图片描述
输出值为4
但是我们这里是num[3]
所以我们从这里可以看出
第四位元素对应的数组下标是3
C语言规定:
数组的下标是从0开始与赋值元素一一对应。
还有一些规则等下我们对数组做详细介绍时介绍。

六,操作符

这里我们也简单的介绍一下。
算术操作符
+,—,*,/,%
加,减,乘,除,求余

位移操作符
<<, >>
左移,油移

位操作符
&,^,|
位与,位或,位异或,
在编程中所有非0值称为真,0为所有的值称为假。

赋值操作符
=,+=,-=,*=,/=,&=,^=,|=,>>=,<<=
等等…
这里给大家介绍一下位移操作符

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{

	int a = 1;
	int b = 0;
	b = a<<1 ;//<<为左移符号,<<1表示左移一个单位;
	printf("%d\n", b);
	return 0;
}

下面来说明一下:
因为a是——有四个字节——32个比特位
所有在内存的存储为:
00000000000000000000000000000001
所以向左移一个单位为:
00000000000000000000000000000010
因为左边那个0移除后右边需要补一个0.
再将二进制转换成十进制。

我们来看看结果:

在这里插入图片描述
关于进制转换的问题可以浏览一下这个网站:
关于进制的转换
到这里又要说再见了😂😊😊😊😊😊😊。
一次不能说太多不然容易记不住
所以我们等下次再见了。
我是C语言小白希望多多关注
请添加图片描述
希望能够帮到你们。
感谢各位观看。请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值