C语言学习笔记

 一、C语言的背景初步介绍

    20世纪70年代,贝尔实验室的Dennis Ritchie为了开发UNIX操作系统,专门设计了一门结构化的高级语言,这就是大名鼎鼎的C语言。因为是为操作系统设计的语言,它本身是比较底层的,所以C具有低级语言的高运行效率、硬件访问能力,此外又融合了高级语言的通用性。 C语言语法清晰,具有非常好的结构化编程的特性。于是C语言快速地统治了底层的系统级编程,并成为了之后几十年内经典的教学语言。 C语言编程的整体思路是“过程式”的,也就是说,我们把想让计算机执行的操作按照步骤一步步定义好,然后用C语言写出来;所以我们写的代码,就是一个处理流程的描述。这种方式很容易理解,也可以非常方便地翻译成计算机能懂的机器语言;

二、C语言重要的基本功能初步认识

C语言是一种通用的、过程式的编程语言,它支持结构化编程、词汇变量作用域和递归功能,其设计提供了低级别的存取权限,并且要求程序员管理所有的内存细节。C语言既具有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序,它的应用范围广泛。
       C语言的作用主要体现在以下几个方面:

       系统编程:C语言被广泛用于操作系统、嵌入式系统开发等系统级编程。例如,UNIX操作系统就是用C语言编写的,Windows和Linux内核中也大量使用了C语言。C语言具有直接访问硬件和内存的能力,非常适合用于开发底层系统组件。 

       嵌入式系统:由于C语言具有高效、可移植性强、代码紧凑等特点,它也被广泛应用于嵌入式系统开发。嵌入式系统是一种计算机系统,它被设计用于控制、监视或辅助操作机器和设备,通常被嵌入到这些设备中。C语言可以帮助开发者编写出高效、稳定的嵌入式系统软件。

以下就让我们了解C语言的基本编程步骤

先从最基本的编程基础内容                                                                                                                 开始                                                                                                                                                     (你好世界!)<hello world!>

#include<stdio.h>   //函数编译预处理指令

int main()  //定义主函数

{                    //函数开始标志   

   printf("你好世界!\n");  //输出;你好世界!  

  return 0;   //函数执行完毕返回函数值0

}          //函数结束的标志

         这是编程C语言代码最基本的步骤                                                                                                       通过一个最简单的Hello World程序,我们已经了解了C++基本的代码风格、简单的输入输出操作,以及程序编译运行的完整过程。

以下以C语言的这种结构来升级

来介绍一下C语言非常重要的知识结构之一 ---------循环

循环控制结构与循环语句

1、循环语句定义

       实际应用中的许多问题,都会涉及重复执行一些操作,如级数求和、穷举或选代求解等。若
为了需重复处理的次数是已知的,则称为计数控制的坏(Canter Controled Losp),若重复处理
为当需要的次数是未知的,是自给定条件控制的,称为条件控制的环(Cendion Controled Loup)。
做环体二者都需要用环结构来实现,按照结构化程序设计的观点,任何复杂问题都可用顺序、选择和循环这三种基本结构编程实现,它们是复杂程序设计的基础循环结构。

2、基础循环结构通常有两种类型:
(1)当型循环结构,表示当条件P成立(为真)时,反复执行A操作,直到
条件不成立(为假)时结束撞环
(2)直到型环结构,表示先执行A操作,再判断条件P是否成立(为
真),若条件P成立(为真),则反复执行A操作,直到条件P不成立(为假)时结束循环。
 do
        C语言提供foe,while,do-while三种循环语句(Loop Statement)来实现循环结构。循环语句在给定条件为真的情况下,重复执行一个语句序列,这个被重复执行的语句序列称为循环体(Body of Loop].

3、以下分别介绍基本常见三种循环语句

一、while循环

while即:首先检查启动循环的条件是否满足,当条件满足时,不断地重复循环体内的语句,直到不满足条件就退出。

while循环基本形式:

1、while(条件)

2、{                 

3、<循环体>;                                                                                                                                      4、<循环体>;

5、} 

//输入任意个int型,整数并判断其位数#include int main()

二、do while 循环

do while 即:进入do while 前不做检查,而是在执行完一轮循环后再来检查循环的条件是否满足,如果满足则继续下一轮循环,不满足则结束循环。                                                                          do while 循环至少是要被执行一次的!

基本形式:

1

2 do

3{

4 <循环体>;

5 <循环体>;

6  }

7 while (<条件>); //在while大括号后面必须要有括号

       while循环和do while 循环的区别:while循环是先判断条件, do while 循环是在执行了一轮循环后再来判断条件,无论条件是否满足do while 都至少会被执行一轮, 而while循环是条件满足执行,不满足结束循环。

三、for 循环

for循环类似一个计数循环,设定一个计数器,初始化它,然后在计数器到达某值之前重复执行循环体,同时每执行一轮循环,计数器值以一定步进进行调整。

1 for(初始动作,条件,每轮的动作){

2 <循环体>;

3 <循环体>;

4     }                                                                                                                                                   
   小套路:做求和程序时,记录结果的变量应该初始化为0;而做求积的 程序时,记录结果的变量应该初始化为1. while循环和for 循环可以说是等价的,任何一个for循环都可以改造成while循环

以下我们就以一个while循环转化为for循环的例子来说明

原题

以while循环的方法作:

#include<stdio.h> 
 int main(void)
{ int c=1;
 while(c<=9) 
 {c++; printf( "%4d",c);printf("\n"); 
 int a=1;while(a<=9) {a++;
  int b=1;
  while(b<=a)
{b++; printf( "%4d",a*b);
  printf("\n");} }}
  return 0;
	}

 这是while循环步骤

将其改为for循环为

#include<stdio.h>
int main(void)
{   
   int a,b;
   for (int a=1;a<=9;a++)
         printf("4d",a);
         printf("\n");
         for(a=1;a<=9;a++)
{
		  for(int b=1;b<=a;b++)
		   printf("%4d",a*b);
		   printf("\n")	;
		 }
        return 0;
	} 

可以总结这例子其中就可很直白的看出for循环与while循环两者之间格式的转化

为很简单的形式:

就如                                                                                                                                                 int fact=1;
int i=1;
while(i<=n){
    fact*=i;
    i++;
}
printf("%d",fact);                                                                                                                             (  转for 

int fact=1;

for(int i=1;i<=n;i++){

fact*=i;

}

printf("%d",fact);

不过似乎可以感觉for循环在写时更能有简便直接的方式总结循环内容

但总之,                                                                                                                                            for(;i<=n;)和while(i<=n)是等价的。

这些内容是C语言学习中最为核心的模块之一

谢谢大家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值