Bliner'Site Bliner'Site

高树靡阴,独木不林。


  • 首页

  • 分类 10

  • 标签 36

  • 归档 214

  • 关于我

  • 搜索

标签:C

C语言中的函数-引入函数的概念-学习笔记-14

发表于 2018-09-05 | 分类 笔记&教程 | 评论数: 0 | 阅读次数: 25

为什么要用函数

说起函数,我们最熟悉的就是main 函数因为我们写 C 语句的时候,必须包含 main 函数。我们的输入、输出甚至数据的处理都从一个 main 函数中进行,但是随着程序的规模越来越大,单纯使用 main 函数已经无法满足后期维护和编写的需求。并且我们在程序运行中,需要重复使用某个功能时,要一遍又一遍的写,非常麻烦,所以我们就引入函数这个概念。把一个庞大程序的功能封装到一个一个函数中,然后把各种功能的函数组装在一起,实现我们程序所需要的功能。

函数

函数是从英文 function 中翻译过来的,function 在英文中也有功能的意思,所以我们的函数也就是功能,函数就是用来完成一个又一个的功能的。

从一个例子引入

现在,我们要输出这样的一条信息

**********************
       Function
**********************
阅读全文 »

C语言中的循环之练习题-学习笔记-13

发表于 2018-09-04 | 分类 笔记&教程 | 评论数: 0 | 阅读次数: 38

斐波那契数列

因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34…
即开始有一对儿兔子,然后3个月后兔子长大了,这对兔子会生一对儿兔子,之后的每个月这对儿兔子又生一对儿,假设兔子不会死亡,那么 N 个月后有多少对儿兔子。

理解

数列:1、1、2、3、5、8、13、21、34…
找到数列的规律之后,我们发现,3号数是1号+2号,6号数是4号+5号,即该数前两个数的和。

解题

#include <stdio.h>
int main(){
    int f1=1,f2=1,f3;
    //将第1、2个月的数先赋值,作为计算基底
    printf("%12d\t%12d\t",f1,f2);
    //由于已经赋值了,所以就先输出
    for(int i=3;i<41;i++){
        f3=f1+f2;
        printf("%12d\t",f3);
        //利用循环输出第三个月的数,也就是前两个月的和
        if(i%4==0){
            printf("\n");
        }
        //判断换行
        f1=f2;
        f2=f3;
        //将用于相加的两个数向前推移
    }
}
阅读全文 »

C语言中的循环之高级循环 (下)-学习笔记-12

发表于 2018-09-03 | 分类 笔记&教程 | 评论数: 0 | 阅读次数: 34

更加灵活的利用循环

我们刚才讲了,如何使用 C 语言中的两种循环语句,For循环和do...while循环,那么这些循环能否像if...else...语句一样能够彼此嵌套呢?答案是肯定到,循环也可以进行嵌套,并且通过嵌套,我们可以更加灵活的使用循环的各种特点。当然了,我们甚至也可以改变循环的执行状态,让循环在我们需要的时候跳出。

几种循环的比较

首先我们先看看几种循环的比较,找到这些循环的特点。
1、三种循环的运行机制都差不多,计次、执行循环体、增量变量,所以可以相互替换使用。
2、while 循环和do...while循环都是在 while 后面的括号中增加判断条件,来判断是否执行下一轮循环,所以在循环体中,要对这个判断条件施加一些设定,让循环能够及时的退出。
3、凡是用 while 循环写的,都可以用 for 循环实现。
4、while 循环、do...while循环和for 循环都可以使用 break 语句跳出循环,使用 continue 语句结束本次循环。(这两个语句详见下方)

阅读全文 »

C语言中的循环之 for 循环 (中)-学习笔记-11

发表于 2018-08-31 | 分类 笔记&教程 | 评论数: 0 | 阅读次数: 39

引入 for 循环

在看完了 while 循环之后,我们发现,一个循环最重要的有三件事,循环次数、判断条件、循环后递增条件。比如我们在使用 while 循环的时候,就要实现定义一个计次变量,然后每次循环后累加这个变量,使得我们能够在满足条件时及时的跳出循环。而 for 循环则是将这一切变得更容易了!

fro 循环

我们先看一个例子,来对比一下 for 循环和 while 循环,同样是那个1~30累加的例子。

//以下是 while 循环的写法
#include <stdio.h>
int main(){
int i=1;result=0;
while(i<=30){
result=result+i;
i++;
}
printf("1~30的累加结果是:%d\n",result);
return 0;
}

//以下是 for 循环的写法
#include <stdio.h>
int main(){
    int result=0;
    for(int i=1;i<=30;i++){
        result=result+i;
    }
    printf("1~30的累加结果是:%d\n",result);
    return 0;
}
阅读全文 »

C语言中的循环之 do...while循环 (上)-学习笔记-10

发表于 2018-08-30 | 分类 笔记&教程 | 评论数: 0 | 阅读次数: 41

引入循环

为什么需要循环呢?比如,你遇到了…
1+2+3+4+5
遇到这样的数累加,加到5加到10可能都没问题,加到10000呢..
1+2+3+...+10000
是不是就崩溃了…
为了能让计算机能够进行多次运算,所以就有了循环的出现。
在 C 语言中,一共有两种循环,一种是 while 循环另一种是 for 循环,我们先来说 while 循环。

从一个例子开始

如果我们需要计算1~30的累加,即1+2+3+...+30该如何写呢?
如果是以前,我们可能要一个一个的输入,但是现在我们引入了 while 循环,就可以通过一个循环来完成这件事了~

#include <stdio.h>
int main(){
    int result=0;
    int i=1;
    while(i<=30){
        result=result+i;
        i++;
    }
    printf("1~30的累加结果是:%d\n",result);
}
//执行结果是『1~30的累加结果是:465』
阅读全文 »

C语言中的条件判断(下)-学习笔记-9

发表于 2018-08-30 | 分类 笔记&教程 | 评论数: 0 | 阅读次数: 27

引入 switch 语句

上一篇介绍了 if 语句只有两个分支可供选择,而实际问题往往有更多种可能性,虽然 if 语句可以嵌套使用,但整个代码会变得冗长难懂,后期维护成本和修改成本都很高,所以 C 语言提供 swich 语句直接处理多分支选项。

从例题入手了解 switch 语句

我们设计一个程序,当我们输入 A~E 的成绩等级后,返回该等级对应的分数,我们当然可以使用if 语句来写,如果是 A 等级还好,如果是 E 等级,我们需要判断很多次才能知道,如果使用 switch,我们就可以对指定的条件返回指定的内容,哪怕分支再多也可以轻松应对。

#include <stdio.h>
int main(){
    char result;
    printf("请输入你需要查询的成绩等级:");
    scanf("%c",&result);
    switch(result){
        case 'A':printf("你输入的是%C,成绩约在90分以上!\n",result);break;
        case 'B':printf("你输入的是%C,成绩约在80~90分!\n",result);break;
        case 'C':printf("你输入的是%C,成绩约在70~79分以上!\n",result);break;
        case 'D':printf("你输入的是%C,成绩约在60~69分以上!\n",result);break;
        case 'E':printf("你输入的是%C,成绩约在69分以下!\n",result);break;
        default:printf("输入错误!\n");break;
    }
    return 0;
}
阅读全文 »

C语言中的条件判断(上)-学习笔记-8

发表于 2018-08-26 | 分类 笔记&教程 | 评论数: 0 | 阅读次数: 44

条件判断

在 C 语言中有两种条件判断语句,if 语句 和 switch 语句,if 语句实现的是双分支的选择结构,swicth 语句实现的是多分支的选择结构。

if 语句

if 语句是一个双分支选择结构,通过条件表达式的结果判断程序是执行 if 语句模块还是 else 语句模块。

一般形式

if (表达式)语句1
[else 语句2]

  1. 这里的表达式可以是关系表达式、逻辑表达式或者数值表达式。
  2. 上面的方括号中的 else 和 语句2 为可选内容,可以有也可以没有。
  3. 语句 1 和语句 2 可以是一个简单语句、复合语句或者是另一个 if 语句,即在此 if 语句中包含另一个 if 语句。
阅读全文 »

C语言中的特殊数组-字符串处理函数(下)-学习笔记-7

发表于 2018-08-25 | 分类 笔记&教程 | 评论数: 0 | 阅读次数: 74

字符串处理函数

C 函数库中提供了一些专门处理字符串的函数,非常方便,我们来看一下。

注意
在使用下列函数前,需要在头文件中包含string.h文件。

Put 函数

put 函数,就是输出字符串的函数。

一般形式

put (字符数组)

char C[]="I am coder!"
puts(C);
//终端上就会显示 I am coder!
阅读全文 »

C语言中的特殊数组-字符数组(上)-学习笔记-6

发表于 2018-08-16 | 分类 笔记&教程 | 评论数: 0 | 阅读次数: 82

字符数组

由于 C 语言比较接近底层,所以,C 语言中并没有字符串数据类型,所以我们使用数组将一个一个的字符连成串。

定义字符数组

用来存放字符的数组,就是字符串数组。字符数组中的每一个元素都存储着一个字符。
定义字符数组的方法和普通数组类似,就是数组类型换了。

char text[20];
//定义了一个数组长度为 20 的 text 字符数组。
text[0]="I";
text[1]=" ";
text[2]="A";
text[3]="M";
text[4]=" ";
text[5]="C";
text[6]="O";
text[7]="D";
text[8]="E";
text[9]="R";
//逐个给数组的前 10 个元素赋值。

上面的代码中,我们声明了一个 char 类型的数组,然后将数组中的每一个元素进行赋值。

阅读全文 »

C语言数组的定义、使用和初始化-学习笔记-5

发表于 2018-07-30 | 分类 笔记&教程 | 评论数: 0 | 阅读次数: 160

引入数组

多维度的数据需要更方便的赋值和引用,这样比一个一个的赋值变量要灵活。

数组是什么?

  1. 数组是一组有序数据的集合,下标代表数据在数组中的序号。
  2. 用数组名+下标来表示唯一确定的数组中的一个元素,如 $S_{14}$表示的就是S数组中第14个元素。
  3. 在C语言中,数组中的每一个元素都是同一类型,不同数据类型的数据不能混在一个数组中。

例如,数组是用 int 表示的整数,就不能存储 char 字符型数据。

一维数组

一维数组是数组中最简单的了,他的元素只需要用数组名加一个下标,就能在数组中找到该元素了。当然了,后面还有二维、三维甚至多维数组…

定义一个一维数组

数组类型 + 数组名 + [ 常量表达式 ]

阅读全文 »
上一页 1 ... 12 13 14 下一页
Bliner

Bliner

214 日志 10 分类 36 标签
RSS

推荐阅读

关于GTD中项目“复盘”的一想法
© 2008 - 2026 Bliner
鲁ICP备13021673号