初始c语言之简单认识c语言-2

系列文章目录

什么是C语言
第一个C语言程序
数据类型
变量、常量
字符串+转义字符+注释
选择语句
循环语句
函数
数组
操作符
常见关键字
define 定义常量和宏
指针
结构体


前言

上篇博客我们学习到字符串+转义字符+注释,接下来我们学习以下的内容


一、选择语句

c语言中的选择语句:if(条件表达式) else语句
注:此处可参照英文单词的意思来理解,if如果的意思,整体理解就是,if括号内的条件表达式成立,执行if语句后的内容。反之,执行else语句后的内容
举个简单的例子:如果你好好学习,毕业时获得一个好offer,如果不好好学习,毕业后去搬砖
在这里插入图片描述

代码如下(示例):

```c
#include<stdio.h>
int main()
{
	//这里我们要输入选择,用0/1来表示选择,所以需要一个整形变量
	int c=0;
	printf("要好好学习吗?(0/1):");//用0表示不好好学习,1表示好好学习
	scanf("%d", &c);
	//if括号后面不需要;号,if后要执行多个语句时用{}括起来。ps:单个语句可以不需要{},但初学者建议加上{}方便阅读代码
	if(c==1)//c语言中判断相等用 == 两个等号
	{
		printf("好offer\n");
	}
	else
	{
		printf("去搬砖\n");
	}
	return 0;
}

在这里插入图片描述在这里插入图片描述

二、循环语句

1.while语句:while(循环条件)

在这里插入图片描述

代码如下(示例):

#include<stdio.h>
int main()
{
	//人们说,当一个程序员码够两万行代码时,才称的上一名合格的程序员
	int n=0;//用n来表示行数
	while(n<=20000)//注意这里写的循环条件是循环继续的条件.当n<=20000时循环继续
	{
		n++;//n每次自加1等效于n=n+1;
		printf("努力写代码\n");
	}
	if(n>20000)
	{
		printf("恭喜你成为大牛\n");
	}
	return 0;
}

2.for语句

for(循环变量;终止条件;循环变量增量)

代码如下(示例):

#include<stdio.h>
int main()
{
	int n=0;
	for(n=0;n<=20000;n++)
	{
		printf("努力写代码\n");
	}
	if(n>20000)
	{
		printf("恭喜你成为大牛\n");
	}
	return 0;
}

3.do…while语句

代码如下(示例):

#include<stdio.h>
int main()
{
	int n=0;
	do
	{
		printf("努力写代码\n");
		n++;
	}while(n<=20000);
	return 0;
}

注:这里关于for语句和do…while语句不做过多介绍,大家认识就行。

三、函数

函数的使用会让我们的代码更加清楚明了,也会在一定程度上简化我们的代码,下面举一个简单的例子来让大家认识函数。

#include<stdio.h>
int main()
{
	//如果我们要让两个数相加,可以这样写
	int a=10;
	int b=20;
	//这里要把两个数相加的值存起来,需要定义第三个变量
	int sum=0;
	sum=a+b;
	printf("%d\n", sum);//打印结果是30
	//我们也可以写成函数的形式
	return 0;
}
#include<stdio.h>
//定义一个函数Add
//数据类型+函数名(参数1,参数2)
//大家见过的一些代码可能有这样写void Add(int a,int b)
//这里的void是指我们不需要返回数据,当我们需要返回数据时,返回的是什么类型的数据,这里的void就换成对应的数据类型
//我们定义的这个函数需要返回一个整形,所以我们用int Add(int a,int b)
int Add(int x, int y)
{
	int sum=x+y;
	return sum;//return就表示我们要返回的值,如果不需要返回值,写return 0;
}
int main()
{
	int a=10;
	int b=20;
	//当我们定义了一个函数该如何使用呢
	//因为我们的函数会返回一个整形,所以我们要定义一个整形变量来接受函数的返回值
	//函数的使用,直接用函数名+要传递的参数就可以
	//Add是我们定义的函数的名字,我们要将a和b的值加起来,所以传递a和b
	//函数中定义的变量x和y是我们用来存储传递过去的a和b的值用的
	int sum=Add(a,b);
	printf("%d\n", sum);//打印的结果为30
	return 0;
}

四、数组

c语言中定义一组相同类型元素的集合叫做数组,数组是用来存储多个相同类型元素的数。
在这里插入图片描述

#include<stdio.h>
int main()
{
	//定义一个数组
	int arr[10]={0,1,2,3,4,5,6,7,8,9};
	//arr是数组名 [10]表示数组存储的元素的个数
	//如何访问数组中的元素呢?用下标来访问
	//数组中每一个元素都有一个对应的下标,c语言规定,下标从0开始
	//所以我们需要定义一个变量来表示下标,10个数,下标就是0~9
	int i=0;
	for(i=0;i<10;i++)
	{
		printf("%d ", arr[i]);
	}
	return 0;
}

在这里插入图片描述

五、操作符

简单认识一下一些常见的操作符,不多讲

1、算术操作符

+   -   *   /   %

2、移位操作符

>>(右移)   <<(左移)

3、位操作符

&(按位与)     |(按位或)     ^(按位异或)

4、赋值操作符

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

5、单目操作符

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

6、关系操作符

>
>=
<
<=
!=      用于测试“不相等”
==      用于测试“相等”

7、逻辑操作符

&&     逻辑与
||     逻辑或

8、条件操作符(exp 表达式)

exp1 ? exp2 : exp3

9、逗号表达式

exp1, exp2, exp3, …expN

10、下标引用、函数调用和结构成员

[]     ()     .     ->

六、常见关键字

auto  break   case  char  const   continue  default  do   double 
else  enum extern float  for  goto  if  int  long  register return   
short signed  sizeof  static struct  switch typedef union  unsigned   
void  volatile  while

1、typedef关键字

#include<stdio.h>
//typedef关键字可以用来定义类型
typedef int type;
//type被定义为int这种类型,可以用type来声明变量
int main()
{
	type i=10; 
	int i=10; //二者是一个效果
	return 0;
}

2、static关键字

c语言中,static可以用来修饰变量和函数
static可以改变修饰的局部变量的生命周期

#include<stdio.h>
static int a=10;//static修饰的全局变量
static int Add(int a,int b)//static修饰的函数

//函数的调用会在栈上申请一片空间,当函数调用结束时,这片空间也就归还回去
//在函数中定义的变量会在函数调用结束时释放
//当用static修饰函数中的局部变量时,该变量就不再是在跟随函数在栈上开辟空间
//而是在静态区上开辟空间,所以当函数结束时,该变量并没有被销毁
//ps.有关开辟空间的知识请自行去百度了解,这边不做过多解释
void test()
{
	static int t=0;static修饰的局部变量
	t++;
	printf("%d ", i);
	return 0;
}
int main()
{
	int i=0;
	for(i=0;i<10;i++)
	{
		test();//打印1~9 大家可以自行去试一下去掉static会打印出什么
	}
	return 0;
}

七、#define定义常量和宏

#include<stdio.h>
#define MAX 100  //#define定义常量,可以直接使用
#define ADD(x,y) ((x)+(y)) //#define定义宏,大家认识就行
int main()
{
	printf("%d\n", MAX); //结果为100
	//使用宏,会返回结果
	int sum=ADD(1,2);//这里的1,2会直接替换宏中的x,y
	printf("%d\n", sum);//结果为3
	return 0;
}

八、指针

c语言中指针是用来存放地址的变量

1、内存

内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的。所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。
在这里插入图片描述

#include<stdio.h>
int main()
{
	int n=10;
	int *p=&n;//定义指针变量 数据类型+(*) &取地址符,用来取出存放变量的地址
	//指针的使用 *p
	*p=20;//p中存放的是n的地址,用*p来找到n,并将n的值修改为20
	return 0;
}

2、指针变量的大小

32位系统中只指针的大小为4个字节,64位系统中指针的大小为8个字节

九、结构体

struct结构体关键字,用来定义结构体,结构体可以用来声明多个数据类型,当有一个复杂对象时,可以用结构体来定义。

#include<stdio.h>
//在c语言中如何定义一个学生类型呢,可以用结构体定义
struct student
{
	char nama[20];//姓名
	int age;//年龄
	char sex[5];//性别
	char id[10];//学号
}
int main()
{
	//结构体的使用
	struct student stu={"张三",18,"男","21010358};
	//struct student是结构体类型,stu是定义的结构体变量
	printf("name=%s age=%d sex=%s id=%s", stu.name,stu.age,stu.sex,stu.id);
	return 0;
}
  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
校园失物招领系统管理系统按照操作主体分为管理员和用户。管理员的功能包括字典管理、论坛管理、公告信息管理、失物招领管理、失物认领管理、寻物启示管理、寻物认领管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 校园失物招领系统管理系统可以提高校园失物招领系统信息管理问题的解决效率,优化校园失物招领系统信息处理流程,保证校园失物招领系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 ,管理员权限操作的功能包括管理公告,管理校园失物招领系统信息,包括失物招领管理,培训管理,寻物启事管理,薪资管理等,可以管理公告。 失物招领管理界面,管理员在失物招领管理界面中可以对界面中显示,可以对失物招领信息的失物招领状态进行查看,可以添加新的失物招领信息等。寻物启事管理界面,管理员在寻物启事管理界面中查看寻物启事种类信息,寻物启事描述信息,新增寻物启事信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值