C语言02

C语言02

1.2 C语言与C程序

1.计算语言

  1. 语言发展

    • 机器语言:机器语言是机器能直接识别的程序语言或指令代码,勿需经过翻译,每一操作码在计算机内部都有相应的电路来完成它,或指不经翻译即可为机器直接理解和接受的程序语言或指令代码。机器语言使用绝对地址和绝对操作码

    • 汇编语言:是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。不可直接移植

    • 高级语言:是一种独立于机器,面向过程或对象的语言。高级语言是参照数学语言而设计的近似于日常会话的语言。

  2. 语言分类

    • 面向过程语言:C、Fortran

    • 面向对象语言:Java、C++、php

    • 脚本语言:JavaScript、Python

2.C语言简介

  1. C语言特点

    • C语言具有高级语言的特点,又具有汇编语言的特点

    • 为了移植和开发UNIX操作系统,由美国贝尔实验室于1972年推出, 1978年后广泛(各种机型)应用;

    • 可作为系统设计语言,也可作为应用程序设计语言;

    • 具备高效、灵活、功能丰富、表达力强和较高的可移植性等特点,也有很强的数据处理能力,常用于软件开发和各类科研;

    • 适于编写三维、二维图形和动画

  2. C语言标准

    • ANSI C( C89 )----第一 个C标准,由美国国家标准协会ANSI发布(准国际标准) , 所有开发工具都支持;

    • C90----国际标准ISO/IEC 9899:1990 ,发布为ISOC,第一个真标准(仅有小改动) ;

    • C99----作了多处改动或确认(有些重大改动),增加了国际化支持的新库函数,由ANSI发布;

    • C11----最新C标准 ,由ANSI发布。

3.C语言规则

  1. 程序设计语言的基本成分

    • 数据成分:描述程序所涉及的数据

    • 运算成分:描述程序中的所有运算

    • 控制成分:描述程序的控制流程

    • 传输成分:表达数据的传输输入和输出

  2. ASCII字符集规则

    • 数 字:0 1 2 3 4 5 6 7 8 9

    • 字 母:a b c ... z A B C...Z

    • 运算符:+ - * / % =....

    • 特殊符号:_(下划线) 回车(\r) 换行(\n) 制表符(\t)

  3. 标识符规则

    • 基本标识符:变量名、函数名、文件名、数组名、类型名

    • 规则:字母或下划线开头,后面是字母、下划线或数字

  4. 保留字

    保留字含义
    auto 指定变量的存储类型,是默认值
    break 跳出循环或switch语句
    case 定义switch中的case子句
    char 定义字符型变量或指针
    const 定义常量或参数
    continue 在循环语句中,回到循环体的开始处重新执行循环
    default 定义switch中的default子句
    do 定义do-while语句
    double 定义双精度浮点数变量
    else 定义枚举类型
    enum 声明外部变量或函数
    extern 声明外部变量或函数
    float 定义浮点型变量或指针
    for 定义for语句
    goto 定义goto语句
    if 定义if语句或if-else语句
    int 定义整型变量或指针
    long 定义长整型变量或指针
    register 指定变量的存储类型是寄存器变量,Turbo c中用自动变量代替
    return 从函数返回
    short 定义短整型变量或指针
    signed 定义有符号的整型变量或指针
    sizeof 获取某种类型的变量或数据所占内存的大小,是运算符
    static 指定变量的存储类型是静态变量,或指定函数是静态函数
    struct 定义结构体类型
    switch 定义switch语句
    typedef 为数据类型定义别名
    union 定义无符号的整型或字符型变量或指针
    unsigned 定义无符号的整型变量或数据
    void 定义空类型变量或空类型指针,或指定函数没有返回值
    volatile 变量的值可能在程序的外部被改变
    while 定义while或do-while语句
  5. 运算符规则

    类别种类具体形式
    算术运算符 5 +. - .*. /. %
    自增自减运算符 2 ++. --
    关系运算符 6 < .> .<= .>=.==.!=
    逻辑运算符 3 && . || . !
    位运算符 6 | . ^ . & . << . >> .
    赋值与赋值组合运算 11 = . += . -= . *= . /= . %= . <<= . >>= . |= . &= . ^=
    条件运算符 1 ? :
    其他 9 * . & . (type) . () . [ ] . . . -> . sizeof
  6. 语句规则

    • 流程控制语句

    • 表达式语句

    • 复合语句

    • 空语句

       #include "stdio.h"      /*调用标准输入输出*/
       main(){
        int i = 1;
        while(i <= 100){    /*循环开始*/    
            if(i % 3 == 0)  /*判断*/
                printf("%d",i);  /*输出*/
            i++;
        }  
        printf("%d",i);
      }
  7. 函数规则

    • 数学函数的原型math.h

    • 字符函数ctype.h

    • 字符串函数string.h

    • 输入输出函数stdio.h

    • 动态存储分配函数stdlib.h

4.简单的C语言

  1. C程序结构

     #include "stdio.h"               /*文件包含 若干*/
     void main()                      /*主函数 一个程序只有一个*/
     {                                /*函数体开始*/
         printf("How are you! \n");   /*语句 若干*/
     }                                /*函数体结束*/
    • 问题分解:顺序性、条件性、周期性(实现重用)

    • main()每个C程序必须有一个主函数

    • {} 是函数开始和结束的标志,不可省略

    • ; 每个C语句以分号结束

    • #include <.h> 包含标准库函数

     /*例程1*/
     #include <stdio.h>
     #include <stdlib.h>
     #define PI 3.14
     int main(){
         int r=0;
         float c=0,s=0;
         scanf("%d",&r);
         c=2*PI*r;             /*编译时用3.14替换PI*/
         s=PI*r*r;             /*编译时用3.14替换PI*/
         printf("c=%6.2f,s=%6.2f\n",c,s)
     }
  2. 常量

    • 在程序运行中,其值保持不变的量称为常量

    • 常量有(整型,实型,字符型,字符串,符号常量)

  3. 变量

    • 在程序运行中,其值会发生变化的量

    • 变量名被分配的内存

     int      /*2字节*/
     float    /*2字节*/
     double    /*8字节*/
     char    /*1字节*/
     /*先定义再赋值,最后使用*/

5.小结

  • 为了重用、共享和分工,C程序采用函数结构

  • 所有计算都是通过运算表达式完成的

  • 赋值可以将结果保存在变量里

  • 变量必须先定义、赋值,之后才能使用

  • 变量可以多次赋值

  • 常数直接在CPU中参数运算

  • 符号常量也是常数,不占内存

C语言优势

  • 很多语言以C语言为基础而设计得到

  • 代码质量高

  • 接近硬件底层

  • 适用范围大,可移植性好

posted @ 2020-09-17 17:10  我爱迪迪  阅读(303)  评论(0编辑  收藏  举报