3.C语言0基础自学-速览代码之分支、循环、函数、数组。

这篇博客介绍了C语言的基础概念,包括选择语句(if...else)、循环(while、for、do...while)的使用,强调了分号在语法中的重要性。接着讲解了函数的运用,特别是strlen和strcpy函数,以及如何避免数组赋值错误。还提到了输入函数scanf和getchar的注意事项,以及自定义函数的定义和使用。最后,阐述了数组的定义、声明和访问方式,强调了下标的使用规则。
摘要由CSDN通过智能技术生成

        先用简单的的语言去大概浏览C语言的代码,对于看完概览这一章节对于C语言有个基本的认识,详细的知识点后面又专门的章节提到。

        所以前面几节概览都是对于代码大概解释。

目录

选择语句

循环语句

函数

Strlen

Strcpy

scanf和getchar

自定义函数

数组 


选择语句

        语言是用来描述世界的,那就少不了如果。选择语句if的用法:

if(1+1)
{
;
}

        只要是圆括号里面的值不为零或者表达式成立,就会去执行下面的语句。但是if语句控制的代码只有一行,如果要控制多行代码,就要加{ },控制的范围就是大括号里面了。

为了规范,建议无论几行代码都在这类执行语句上加大括号。

否则 会看到一些不太明显的问题,比如else后面跟了两句,第二句永远会执行。

和if一样,控制代码只有一行需要控制多行则加上{ }。

注意:if可以单独使用,但是else不行,slse必须配合if使用。

        这里说到他们必须连起来使用就不得不提到 ‘ ; ‘

        分号它也是一条语句,这块代码报错的原因是else没找到匹配的if,就是因为 ;这个语句把if和else给分开了。

这个程序也告诉我们,分号不能乱加。 

循环语句

在c语言中有三种循环语句 while;for;do while。

        while的用法:和if差不多,while后面加一个圆括号,只要表达式成立或者值不为零(返回结果为真)的情况下,他就会执行循环语句里面的代码,每执行执行一遍又回来检查表达式是否成立,若成立则继续执行,直至表达式不成立或返回结果为假。(不要轻易尝试无限循环)

函数

Strlen

        它是一个库函数, 功能是求出字符串的长度,\0因为是转义字符结束标志,所以不被strlen算入总长度中,这里主要考核的是对转义字符的理解,例如\q算几个字符,\p算几个字符。Strlen函数在计算字符串长度的时候会默认把斜杠认为是转义字符,无论是否转义成功。若是一个字符类型数组,即字符串,用strlen来计算它的时候总是会在数组的末尾加上一个 “ \0 ”,这个\0不会被算入字符串总长度里面去,但是会占用一个字节的内存!所以!!!如果字符串的字符数和所占的内存大小一样的话,因为末尾加不上\0,strlen返回值就会成为随机值!

        可以看到,strlen函数后面的字符串,凡是有单斜杠的都和其后面的字母组成一个字符。双斜杠其中一个斜杠为转义字符的斜杠。(strlen和sizeof的区别就是前者是函数,后者是操作符。前者是计算字符串的实际长度,而后者是返回声明 变量所占内存的大小。) 

strcpy

        声明一个变量之后,如果我们要改变变量,重新给它赋值就可以了。但是,如果是字符串怎么赋值,直接像变量一样给它赋值吗?显然不行

        执行这串代码的时候就会报错,因为字符数组即字符串无法直接赋值。

C语言 strcpy() 函数用于对字符串进行复制(copy)。

这个函数有两个参数,会把第二个参数的指向的内容复制到第一个参数指向的地址。

        这里用strcpy函数把字符串 niubi 复制到a里面,打印a的结果就很好的打印出niubi了。 

scanf和getchar

        getchar,还有个putchar,它俩的名字就很好懂,获取字符输出字符。就好像scanf和printf一样。像scanf和getchar他们的作用都是输入,其实呢,他们的工作原理:

        当执行是输入函数的时候,输入函数会去一个叫输入缓冲区的地方获取它们想要的东西,如果输入缓冲区是空的,则会让你手动输入。在输入缓冲区里,一个空格或者一个转义字符\n都会被算作一个单位。因为我们在输入缓冲区输入的时候,按下回车键之后才会结束输入并继续执行代码,此时回车键也算是输入了一个\n,所以这就导致了如果有多个get或者scanf出现的话,在输入缓冲区输入的东西往往不会被期望的所对应的读走。所以呢,我们就得想办法每一次往输入缓冲区输完东西被输入函数读到之后,得把剩下的东西从输入缓冲区清空,最简单的办法不就是再加一个getchar嘛,但是我们往往无法确定输入缓冲区里面剩下几个需要清理的字符,这就用到while循环了!

        详见下面一节 分支与循环中的while循环。

        putchar 输出一个字符,和printf很像。

自定义函数

        函数呢,有库函数和自定义函数。库函数就是c语言提供给我们的函数,就比如什么printf,scanf,strlen这些函数都是库函数,用这些函数我们先要给人家声明,这个我们前面也知道。

        自定义函数呢就是自己编写一个算法,编一个函数我们需要:

定函数名,定义函数返回的值的类型,运算中需要到的参数,函数题也就是算法和它的答案。

        编出这个函数之后他是独立在main函数外面的,不能套在main函数里面。

        在我们需要用的自定义函数的时候,直接把函数名敲出来,然后后面括号里填上我们函数题需要用到的几个参数,用逗号隔开就ok了。

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

数组 

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

        这个看字面意思就很容易理解,之前学到过char,int,double这些的数据类型,我们定义一个变量并把它存起来就要用到这个,但是如果要存很多个相同类型的数据一遍一遍存起来又麻烦,所以就有了数组这个东西,数组的用法:

        最前面就是数组的类型,然后数组的类型,一组方括号,方括号里面的数字是要存几个这种类型的数据.最后面跟上大括号,大括号里面填所存的数据,当也以不填,他就是个空集.

        我们可以选择不在方括号里填一个常量来定义数组的大小,这样的话数组会根据后面大括号中的元素数量决定数组的大小。

        在创建了这个集合之后,无论我们存多少个数据,电脑都会给我们的数据按顺序排号,排的这个号叫做下标.从0开始,假设我们有n个数据,那么第n个数据的下标就是n-1.

在用到这个集合的时候,打出我们给集合起的名字,后面给个方括号填上需要提取数据的下标,就把他调用出来了.

arr[0];

用下标就可以访问元组,方括号里面可以放变量,所以用循环可以实现一个一个把所有元素都访问到.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值