初识C语言(二)

最近由于刚复试完,事情较多停更了两天,今天我们将接初识C语言(一)继续学习初识C语言(二),本节我们将主要浅浅的学习到数组,需要了解初识C语言(一)的内容请同学们自行查阅:初识C语言(一)_徐憨憨!的博客-CSDN博客提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言什么是C语言第一个C语言程序数据类型常量,变量字符串+转义字符+注释选择语句循环语句函数数组操作符常见关键字define定义常量和宏指针结构体前言从本章开始,我们将正式进入C语言的学习当中,首先为了对C语言有一个初步的认识,我将会对C语言所有比较重要的内容做一个浅浅的了解。有的同学会疑问我指针,数组等一些还没有开始学这些内容为什么会出现在本章中,.https://blog.csdn.net/qq_47908816/article/details/123935676?spm=1001.2014.3001.5502


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

字符串

上一篇博客中我们讲解了有关strlen函数和sizeof运算符的区别,在介绍strlen函数中我们着重说明了字符串相关的知识,这里我们也只是粗略的带过一下,增加一下大家的印象,若想详细了解,请自行查阅:strlen和sizeof的区别_徐憨憨!的博客-CSDN博客相信大多数初步了解C语言的小伙伴们,应该对strlen和sizeof都不陌生,但是在使用时总会出现或多或少的疑问,我将用这一篇博客解决困扰大家许久的问题(仅此一篇你就会了解的透彻),请耐心阅读!!!在深究strlen和sizeof的区别时,首先我们需要知道这两个函数所执行的功能分别时是什么?strlen:strlen=string length,顾名思义,该函数是用来求解字符串的长度的,所以我们也应该探讨一下字符串的概念;我们都知道在编译器中输入printf(”Hello World!”),.https://blog.csdn.net/qq_47908816/article/details/123964670?spm=1001.2014.3001.5502

何为字符串?我们都知道第一个学习的代码就是在屏幕上输出”Hello World!”,类似这种用双引号引起来的一串字符叫做字符串;比如说“abcdef”,“hehe”等等这些均为字符串。对于字符串的话,每一个字符串的末尾都会隐藏一个“\0",我们主要也是最重要了解的就是字符串的结束标志(即“\0"),结束标志的意思就是字符串读取的结束的位置,当我们读取到“\0"时,就会停止对字符串的读取,注意:“\0"只是结束标志,在用strlen计算时“\0"不算作一个字符,而在用sizeof进行计算字节时需要加1。

我们在监视这个字符串数组时,可以明显的看到arr[6]中所存储的正是 “\0",这也验证了任何一个字符串的末尾隐藏了一个“\0"。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>

int main()
{
	char arr[] = "abcdef";
	printf("%d\n", sizeof("abcdef"));
	printf("%d\n", strlen("abcdef"));
	
	return 0;
}

由上段代码编译结果可知,用sizeof打印出的结果为7,而用strlen打印出的结果为6;其原因想必大家也都知道了,就是因为字符串的末尾隐藏了一个”\0",在用strlen计算时读取到“\0"时就会停止读取,而用sizeof时则需要加1。 

转义字符

转义字符释义
\?在书写连续多个问号时,防止他们被解析成三字母
\'用于表示字符常量
\"用于表示一个字符串内部的双引号
\\用于表示一个反斜杠,防止它被解释为一个转义序列符
\a警告字符,蜂鸣
\b退格符
\f进纸符
\n换行
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示一个1-3个八进制的数字,如:\130x
\xdddd表示2个十六进制的数字,如:\x300

这里我将稍微讲解一下绿色注释的几个字符,剩余的平常遇见的较少,同学们可自行了解。

"\'","\"","\\"  :

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>

int main()
{
	printf("\'\n");
	printf("\"\n");
	printf("\\\n");
	
	return 0;
}

 

“\n" :该字符表示换行符号 ,在屏幕上打印输出时会自动换行。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>

int main()
{
	printf("abc\ndef");
	
	return 0;
}

此处abcdef自动换行。

”\t" :水平制表符,会在屏幕上打印出一个tab键大小的间距。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>

int main()
{
	printf("abc\tdef");
	
	return 0;
}

 注释

注释的作用:

1. 代码中有不需要的代码可以直接删除,也可以注释掉
2. 代码中有些代码比较难懂,可以加一下注释文字
注释的分类:C语言的注释风格和C++注释风格,我们主要稍微提一下C++的注释风格,因为C语言的注释风格有一定的缺陷,不能嵌套注释。

 该图标就是注释的操作,注释完之后就是图中所示

 该图标就是取消注释的操作,取消注释后就是图中所示


选择语句和循环语句

选择语句

何为选择?举一个简单的例子:

如果你好好学习,校招时拿一个好offer,走上人生巅峰;

如果你摆烂,毕业等于失业,回家种地!

这就是选择,那我们怎么用代码的形式展现出来呢?

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	int input = 0;
	printf("摆烂(1)/学习(0)\n");
	scanf("%d", &input);
	if (input == 1)
	{
		printf("回家种地!\n");
	}
	if (input == 0)
	{
		printf("走向人生巅峰!\n");
	}
	
	return 0;
}

 

想必大家一定都会和我一样选择学习对吧,拒绝摆烂,哈哈哈!!!

 这里的input的输入就是一个选择,选择0则会输出走向人生巅峰,选择1则会输出回家种地!

循环语句

同样我们举个例子来介绍循环语句:

有些事必须一直做,比如我日复一日的讲课,比如大家,日复一日的学习。
那我们如何用代码来展现循环语句呢?

C语言中如何实现循环呢?

1.while语句

2.for语句

3.do....while 语句

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

//这里我主要采用while语句来进行讲解
int main()
{
	printf("加入比特\n");
	int line = 0;
	while (line < 20000)
	{
		line++;
		printf("%d", line);
		printf("我要继续努力敲代码\n");
	}
	if (line >= 20000)
		printf("好offer\n");

	return 0;
}

由编译结果可知,当line达到20000时就会输出好offer,当line不足20000时,就会一直循环输出我要继续努力敲代码,这里一直输出的语句就是一个循环!!! 


函数

学习C语言到现在,想必大家都会用代码来解决两个整数相加了吧,我们一起来实现一下吧!

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int sum = a + b;
	printf("sum = %d", sum);

	return 0;
}

 当我们输入10 20之后就会得出结果30!这样我们就解决了两个整数相加的问题,但是如果我们需要计算1000对甚至更多对整数相加时,我们是不是得输入这么多次呢?那么这样的话代码量得多么的庞大呀!这时我们就需要写一个函数,把整数相加的过程包装成一个函数,每次需要计算时我们只需调用这个函数是不是就可以了呀!

改进版:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

//定义一个ADD函数来计算两个整数相加
int ADD(int x, int y)
{
	int z = x + y;
	return z;
}
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int sum = ADD(a, b);//每次需要计算时只需调用ADD函数即可
	printf("sum = %d", sum);

	return 0;
}

 此时输入10 20后结果仍然为30,验证正确;让我们一起来看看函数执行的过程吧!

 这里的a b为实参,好比原材料,这里的ADD函数好比加工厂,用形参x y来接受并进行加工处理,将计算的结果再重新返回到main函数进行输出!!!


数组

当我们要存储1-10的数字时,我们该怎么存储?我们应该想到首先在内存中,肯定需要10个连续的空间来存放每个数字,所以我们需要引入一个新的概念即数字,数组会为我们开辟10个连续的空间来存放相同类型的元素。那我们该如何定义数组呢?

这两种方法均可,第一种方法说明数组arr最多只能存储10个元素,第二中方法的话,没有知名数组arr的大小,但是计算机会自动识别数组的大小,所以我们在定义数组的时候可以不指明数组的大小!

数组的下标

C 语言规定:数组的每个元素都有一个下标, 下标是从0开始的。
数组可以通过下标来访问的。比如上面定义的数组arr[0] = 1;

数组的使用

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	int i = 0;
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	for (i = 0; i < 10; i++)
	{
		printf("%d ", arr[i]);
	}
	printf("\n");

	return 0;
} 

 

通过一个循环即可输出1-10的所有数字!每一个数字的数字都是用下标来进行访问的!

注意:定义数组时的大小时必须为常量,不能为变量,否则会编译错误,这点我们之前在说明const引用的常变量的时候已经说过!

 

今天初识C语言(二)已结束!初识C语言应该还剩最后一个模块!继续加油,感谢关注!!! 

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值