C语言学习笔记1

 C语言程序设计概念

程序

程序:按照一定的顺序安排的具体步骤,例如,开学典礼程序

计算机程序:用计算机语言描述的解决某一问题的一系列加工步骤,表征上是符合语法规则的符号序列

程序设计语言

程序设计语言的发展阶段:机器语言——汇编语言——高级语言(Fortran,Pascal,C)——面向任务的程序设计语言(SQL Server-->关系型数据库系统)——面向对象的程序设计语言(Java,python)

程序设计语言能力:数据表达(基本数据类型+构造数据类型)+流程控制(顺序、分支、循环) 

  • 机器语言特点:执行效率高,编程效率低
  • 汇编语言特点:需要熟悉机器内部结构
  • 高级语言特点:面向算法过程,接近自然语言
  • 面向任务的程序设计语言特点:只需要描述问题,无需知道如何求解
  • 面向对象的程序设计语言特点:针对客观事物,例如,python-->一切皆对象

算法

算法:对特定问题求解步骤的一种描述。Niklaus Wirth提出程序=数据结构+算法,老爷子于1月4日去世,详细了解如下:Pascal 之父、图灵奖得主 Niklaus Wirth 逝世!发明多款编程语言,首提「算法+数据结构=程序」

程序和算法的区别

        程序和算法是计算机科学中的两个基本概念,它们有一定的相似性,但也存在一些区别。

        程序是一组按照特定语法和语义规则编写的计算机指令的有序集合。它可以被计算机执行,完成特定的任务。程序通常由程序员编写,可以包含各种语句、表达式、循环、条件判断等。程序是具体的实现,是对问题解决方案的具体描述。

        算法是解决问题的一种方法或步骤的描述。它是抽象的、通用的,不依赖于具体的编程语言或机器。算法描述了问题的输入、输出和中间步骤之间的关系,告诉我们如何将输入转换为输出。算法可以用自然语言、伪代码或流程图等方式表示。

        因此,程序是算法的具体实现。一个问题可以有多种不同的算法来解决,每种算法都可以通过编写程序来实现。算法的好坏取决于解决问题的效率、正确性和可读性等因素,而程序的质量则取决于对算法的正确实现和编写的规范性。

算法的特点:有穷性、确定性、有效性、有数据输入、有数据输出

算法的描述方法:自然语言、流程图、伪代码

C语言的特点:

  1. 结构化语言:由函数组成,有完整的控制语句和构造数据类型机制

  2. 简洁紧凑:32个保留字和9种控制语句,形式自由

  3. 便于移植:库函数实现功能

  4. 处理能力强:有汇编语言的特点,及涉及高级语言,又涉及低级语言的底层

  5. 代码质量高:相比汇编,执行效率仅低15%~20%

C语言程序的基本框架:

  1. 头文件包含(一组#include命令),可以将有关文件信息包含到程序,个人理解类似于python的import功能。其中头文件后缀一般以.h结尾

  2. 用户自定义函数声明

  3. 主函数main(),程序的主控函数,程序的执行从该函数体的第一行开始。每个程序仅有一个main函数

  4. 若干自定义函数

 C语言字符集:

  1. 英文字母:不是26个,是52个,因为包含大小写。C语言的命名中是区分大小写的

  2. 阿拉伯数字:0~9

  3. 下划线:_

  4. 其他特殊字符

C语言标识符:

  • 开头必须是字母和下划线,后面可以用字母、下划线、数字任意搭配 

  • MS C 规定命名长度不超过8

  • Turbo C规定不超32 

C语言关键字:

  • 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, void, unsigned, volatile, while 

C语言的主要语法单位:

  1. 常量:不可改变。区别字符常量和字符串常量,字符常量是一个整型量,只不过用字符表示了,而字符串常量背后其实是一个内存地址,两者区别很大

  2. 变量:定义的一般形式为数据类型名+空格+变量名;

  3. 运算符:算术、关系、逻辑

  4. 表达式:算术表达式、关系表达式、逻辑表达式、复合语句

  5. 语句:赋值语句、分支语句、循环语句。其中赋值语句的执行过程是先计算'='右边的表达式,再赋值给变量,循环语句中for用于已知次数,while用于未知次数 

  6. 函数:可传参,可返回结果

  7. 输入和输出:

scanf("%d",&n);
printf("%d",n); 

 

  • 43
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值