精华内容
下载资源
问答
  • 第二篇C语言 C语言语法入门 第9章 字符串的基本知识 字符串字面量 带双引号的一系列字符称为字符串字面量单引号的是字符字符串"ABCD" 字符A' 字符串的末尾会被加上一个叫做null字符的值为0的字符用八进制转义字符...
  • 第二篇C语言 C语言语法入门 第三章分支结构程序 复合语句程序块 /*程序名3-16.c*/ /* 计算输入的两个整数中的较大的数和较小的数并显示 */ #include <stdio.h> int main(void) { int n1, n2, max, mini; puts"请输入...
  • C语言语法着色函数大全,书籍内容超全,300多页含目录。
  • C语言 语法 及 51 单片机语法,本人在学习期间整理和修改的。
  • C语言语法简单复习

    千次阅读 2019-08-25 17:31:27
    看来有必要简要回顾下大学的c语言语法了。 01. 分类 C语言 备注 语言由来 1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了...

    word编写

    最近在看ijk源码,发现ijk底层源码基本都是C语言编写的。看来有必要简要回顾下大学的c语言语法了。

    01.

    分类

    C语言

    备注

    语言由来

     

    1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言

     

     

    语言特性

     

    面向过程式

    易于学习。

    结构化语言。

    它产生高效率的程序。

    它可以处理底层的活动。

    它可以在多种计算机平台上编译。

     

     

    数据结构

     

    基本类型:它们是算术类型,包括两种类型:整数类型和浮点类型。

     

    枚举类型:它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量

     

    void 类型:类型说明符 void 表明没有可用的

     

    派生类型:它们包括:指针类型、数组类型、结构类型、共用体类型和函数类型

     

    枚举:

    enum DAY

    {

          MON=1, TUE, WED, THU, FRI, SAT, SUN

    };

    enum DAY day;

     

     

    数组:与java类似

    double salary = balance[9]

    api与java类似

     

     

    指针:

     

    结构体:

     

    与java的区别:没有string,只有char

    在 C 语言中,字符串实际上是使用 null 字符 '\0' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。

     

    char greeting[] = "Hello";

     

     

     

    变量&运算符

     

    与java没啥区别

     

     

     

    流程控制&异常处理

     

    条件分支和循环跟java一模一样

     

    异常处理跟java不同:

    C 语言不提供对错误处理的直接支持,但是作为一种系统编程语言,它以返回值的形式允许您访问底层数据。在发生错误时,大多数的 C UNIX 函数调用返回 1 NULL,同时会设置一个错误代码 errno,该错误代码是全局变量,表示在函数调用期间发生了错误。您可以在 errno.h 头文件中找到各种各样的错误代码。

     

     

     

     

     

    函数

     

    与java没啥区别
    函数参数:
    如果函数要使用参数,则必须声明接受参数值的变量。这些变量称为函数的形式参数。

    形式参数就像函数内的其他局部变量,在进入函数时被创建,退出函数时被销毁。

    当调用函数时,有两种向函数传递参数的方式

     

    传值调用

    该方法把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数不会影响实际参数

     

    引用调用

    通过指针传递方式,形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作

     

     

     

     

    指针(key point)

    指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。

    int *ip; /* 一个整型的指针 */

    double *dp; /* 一个 double 型的指针 */
    float *fp; /* 一个浮点型的指针 */

    char *ch; /* 一个字符型的指针 */

     

    所有实际数据类型,不管是整型、浮点型、字符型,还是其他的数据类型,对应指针的值的类型都是一样的,都是一个代表内存地址的长的十六进制数。

    不同数据类型的指针之间唯一的不同是,指针所指向的变量或常量的数据类型不同。

     

    一个栗子:

     

     

     

    结构体(key point)

    C 数组允许定义可存储相同类型数据项的变量,结构 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。

     

    struct Books { char title[50]; char author[50]; char subject[100]; int book_id; } book;

     

     

     

    多线程支持

    等ijk看到这个的时候再去查资料

     

    常见库

    到时候直接看文档

     

    02.一个涉及结构体的demo

    //
    //  main.c
    //  CTest
    //
    //  Created by niehongtao on 2019/9/19.
    //  Copyright © 2019年 niehongtao. All rights reserved.
    //
    
    #include <stdio.h>
    
    // 声明一个结构体,没有声明变量
    typedef struct {
        int id;
        char name[20];
        int math;
        int english;
        int c;
        int avargrade;
    } Stu;
    int main(int argc, const char * argv[]) {
        // 1.结构体学习
        Stu stu[5] = {
            {1, "小明", 90, 98, 100, (90 + 98 + 100)/3},
            {2, "小明1", 91, 92, 100, (91 + 92 + 100)/3},
            {3, "小明2", 92, 93, 100, (92 + 93 + 100)/3},
            {4, "小明3", 93, 94, 100, (93 + 94 + 100)/3},
            {5, "小明4", 94, 95, 100, (94 + 95 + 100)/3}
        };
        // 以下写法是错误的,因为C语言是很多现代开发语言的鼻祖,所以有一些比较过时或者比较死的规定是需要遵守的,用起来没java写法那么方便
    //    Stu stu[0] = {1, "小明", 90, 98, 100, (90 + 98 + 100)/3};
    //    Stu stu[1] = {2, "小明1", 91, 92, 100, (91 + 92 + 100)/3};
    //    Stu stu[2] = {3, "小明2", 92, 93, 100, (92 + 93 + 100)/3};
    //    Stu stu[3] = {4, "小明3", 93, 94, 100, (93 + 94 + 100)/3};
    //    Stu stu[4] = {5, "小明4", 94, 95, 100, (94 + 95 + 100)/3};
        
        Stu mm = {6, "mmm", 94, 95, 100, (94 + 95 + 100)/3};
        printf("name : %s\navargrade: %d\n", mm.name, mm.avargrade);
    
        for (int i = 0; i < 5; i ++ ) {
            printf("name : %s\navargrade: %d\n", stu[i].name, stu[i].avargrade);
        }
        
        // 2.指针
        // 每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址
        // 指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。
        int var1;
        printf("var1 变量地址:%p\n", &var1);
        
        Stu var = {6, "mmm", 94, 95, 100, (94 + 95 + 100)/3};
        Stu *ip;
        // 在指针变量中存储 var 的地址
        ip = &var;
        printf("Address of var variable: %p\n", &var  );
        // 在指针变量中存储的地址
        printf("Address stored in ip variable: %p\n", ip );
        // 使用指针访问值
        // ->操作符:
        printf("Value of *ip variable: %d\n", ip->avargrade);
        
        // C 中的 NULL 指针
        // 在变量声明的时候,如果没有确切的地址可以赋值,为指针变量赋一个 NULL 值是一个良好的编程习惯。赋为 NULL 值的指针被称为空指针。
        // NULL 指针是一个定义在标准库中的值为零的常量
        int  *ptr = NULL;
        printf("ptr 的地址是 %p\n", ptr  );
        
        return 0;
    }
    

    03.指针的一个demo

    指向结构体变量的指针

    https://www.cnblogs.com/dire/p/5222968.html

    04.结构体与指针

    05.与JAVA的垃圾回收机制不同,C语言的内存是需要手动管理的(★★★)

    c内存管理:

    https://www.runoob.com/cprogramming/c-memory-management.html

    06.工具

    语法参考资料:

    https://www.runoob.com/cprogramming/c-structures.html

    在线编译工具:

    https://c.runoob.com/compile/11

    mac下IDE:xcode/atom(不过还是xcode好用)

    https://www.jianshu.com/p/00bfbce6a490

    ----- 总结------

    C语言中最重要的需要理解的部分就是:指针,函数的指针,指针的指针,但是最基本的还是要把一个小的模型理解即可:

    int avr;

    int *p;

    p = &avr;

    展开全文
  • TXL C语言语法说明

    2019-04-11 11:41:45
    TXL C语言语法说明 TXL提供的C语言文法的解释说明 解析文件下载地址:http://www.txl.ca/examples/Grammars/GnuC/GnuC.tar.gz 1 token C语言语法 TXL token 数值型 long,hex,float,dotfloat 字符串 ...

    TXL C语言语法说明

    TXL提供的C语言文法的解释说明
    解析文件下载地址:http://www.txl.ca/examples/Grammars/GnuC/GnuC.tar.gz

    1 token

    C语言语法 TXL token
    数值型 long,hex,float,dotfloat
    字符串 stringlit,
    标识符 id
    函数定义 function_definition
    声明(不带分号) declaration
    结构体 struct_or_union_specifier
    语句 statement
    表达式 expression

    2 语句

    语句 TXL token C语法
    简单语句 simple_statement 跳转语句、空语句、赋值语句
    跳转语句 jump_statement goto, continue, break, return
    空语句 null_statement
    赋值语句 expression_statement
    结构语句 structured_statement if语句、for语句、while语句、switch语句、do语句
    if语句 if_statement
    for语句 for_statement
    while语句 while_statement
    switch语句 switch_statement
    do语句 do_statement

    3 表达式

    表达式 TXL token C语法
    条件表达式 conditional_expression (条件)?(表达式):(表达式)
    构造器表达式 constructor_expression (构造函数类型) { 初始化列表 }
    下标表达式 postfix_expression id[]
    sizeof表达式 sizeof_expression sizeof()
    强制转换表达式 cast_expression ()
    乘法表达式 multiplicative_expression *, /, %
    加法表达式 additive_expression +, -
    移位表达式 shift_expression >>, <<
    关系表达式 relational_expression <, >, <=, >=
    相等表达式 equality_expression ==, !=
    赋值表达式 assignment_expression =, *=, /=, %=, +=, -=, >>=, <<=, &=, ^=, |=
    常量表达式 constant_expression
    AND表达式 AND_expression &
    异或表达式 exclusive_OR_expression ^
    或表达式 inclusive_OR_expression |
    逻辑与表达式 logical_AND_expression &&
    逻辑或表达式 logical_OR_expression ||
    展开全文
  • c语言语法结构导语:C语言是世界上最流行、使用最广泛的高级程序设计语言之一。下面是C语言入门的语法结构,欢迎参考!顺序结构顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行...

    c语言语法结构

    导语:C语言是世界上最流行、使用最广泛的高级程序设计语言之一。下面是C语言入门的语法结构,欢迎参考!

    顺序结构

    顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三步曲的程序就是顺序结构。

    选择结构

    选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。选择结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的.选择语句。

    循环结构

    循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供四种循环,即goto循环、while循环、do while循环和for循环。

    模块化程序结构

    C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数。因此,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。

    【c语言语法结构】相关文章:

    展开全文
  • C语言语法微记录

    2020-04-24 15:36:22
    写c++写了快2年,标准库用法大大加强了开发效率,C语言还是大一的时候学习,老的项目看到有些C语言用法都忘记了。特地开始记录一下忘记的C语言语法。 ...

    写c++写了快2年,标准库用法大大加强了开发效率,C语言还是大一的时候学习,老的项目看到有些C语言用法都有些忘记了。特地开始记录一下忘记的C语言语法。

    1.C可变参数写法

    其中 va_arg 是返回当前 valist指向的值 然后指向下一个参数。

    2.string用多了 char*都有点忘记了 记住几个函数 memset  strcpy_s  strcat_s  strlen  操作之前一定要知道空间 不知道也要分配足够。

    3.结构体写法,引用别人博客

    展开全文
  • c语言语法总结

    2019-04-23 21:48:38
    学习c语言进行总结的语法,制作成详细教程,供初学者参考。
  • 标准C语言语法 历史: 1969年之前所有的操作系统都是用汇编语言编写 肯.汤普逊 1969年 在BCPL语言的基础之后 编写了B语言 用B语言写了UNIX操作系统的内核代码 丹尼斯.里奇 1972发明C语言 在B语言的基础之上开发了...
  • c语言语法

    2017-10-18 13:51:14
    学习完这一套15个函数,你的c语言就过关了,数组,指针,函数,结构体,共用体,枚举,都不是事儿。
  • C语言语法规则.doc

    2020-04-06 15:19:53
    精选文库 PAGE PAGE 1 -- C语言基本语法规则 C 的令牌Tokens C 程序由各种令牌组成令牌可以是关键字标识符常量字符串值或者是一个符号例如下面的 C 语句包括五个令牌 这五个令牌分别是 分号 ; 在 C 程序中分号是语句...
  • C语言语法基础

    2012-12-08 16:55:35
    程序设计语言都有自己的语法规则,必须...本章叙述C语言语法基础,包括标识符的命名规则、常量与变量的概念、基本输入/输出函数的用法、运算符与表达式的运算机制。建议本章授课10学时,上机4~6学时,自学12学时。
  • C语言语法》pdf版

    2008-09-28 19:04:48
    C语言语法》pdf版 记号、关键字、标识符、常量……
  • 带你一起学习C语言语法

    千次阅读 2017-09-22 11:40:53
    《带你学C带你飞》第一季讲解内容:C语言语法,我们会讲变量、数组、函数、指针、结构、标准库这样一些纯粹的C语言知识。 基本上你大学第一学期学的就是咱第一季的内容,我知道很多朋友学完C语言一时感觉没什么用?...
  • C语言语法笔记

    2016-04-13 16:39:35
  • c语言和java语法有区别吗?c语言和java在语法上有区别,区别是:1、C语言有指针,java没有指针;C语言语法比较简单,但是它的亮点指针很容易出错,想要好好的运用指针是件很难的事情,用好了,对程序有很好的帮助...
  • c语言语法分析器

    2015-06-16 10:48:29
    本程序实现一个分析C语言的词法分析+语法分析。 注意: 1.文法简略,没有实现的部分,可以在此文法的基础上进行扩充,本程序的采用自顶向下的LL(1)文法。 2.可以自动实现求First 集和 Follow 集。 3.处终结符外...
  • C语言语法规则.pdf

    2020-09-01 14:11:24
    C 语言基本语法规则 C 的令牌 Tokens C 程序由各种令牌组成令牌可以是关键字标识符常量字符串值或者 是一个符号例如下面的 C 语句包括五个令牌 这五个令牌分别是 分号 ; 在 C 程序中分号是语句结束符也就是说每个...
  • C语言语法问题

    2020-02-14 19:59:22
    C语言:有个疑惑 不知道为什么 if(~(P1IN & BIT3)) 的写法,单片机不能在P1.3口为0时执行程序,但是改为 if(~P1IN & BIT3) 或者直接写判断==0就是正确执行if里的程序。 问了hlw,他说&是按位与,不是用...
  • //一开始只是想归纳C语言语法的,后来写着写着就写偏了。。。 我觉得编程是门实践性很强的专业,很多语法上细碎的东西可能记不住,但只要敲一下试验一下就行。 会想到要归纳C语言的语法,起因是在看题解的时候...
  • c语言语法大全

    2014-04-10 01:08:51
    如果你在参加一些编程比赛的话,这里有很多有趣的算法,供你参考与借鉴,有100多个逻辑比较复杂的算法,与生活中的一些有趣的事结合在一起,学习起来不会感觉到枯燥
  • c语言和java的语法区别是什么发布时间:2020-06-10 11:53:18来源:亿速云阅读:172作者:Leahc语言和java的语法区别是什么?针对这个问题,今天小编总结这篇有关c语言和java的文章,希望能帮助更多想解决这个问题的...
  • C语言语法

    2019-09-25 13:57:36
    转载于:https://www.cnblogs.com/linfa/p/4943537.html
  • c语言语法格式规范(1)常量的非法与合法 首先确定常量的类型 整型 确定进制,查看各位数的范围是否超界。 8进制常量以前导 0 开始,每位数只能到7 例如:05188 非法 16进制常量以 0x 开始,每位从 0 ~ f 例如:0...
  • c语言语法规则 c99版

    千次阅读 2010-04-22 09:37:00
    c语言语法规则,c99版词汇语法词汇元素 记号: 关键字 标识符 常量 字符串 标点符号 预处理记号: 头文件名 标识符 预处理数 常量字符 字符串 运算符 非上述范围内的任一非空白字符关键字 关键字:...
  • 在众多编程语言之中,想必很多人都听说过Python和C语言,在进行编程学习之前,大家都会问:python和c语言的区别有哪些?我该如何选择?接下来我们来看看吧。python与C的区别如下:1、语言类型:Python是一种基于解释...
  • c语言语法陷阱总结

    2016-12-04 19:21:45
    学习C语言也有一段时间了,关于语法上的错误,现在基本上也没犯过,不过,我还是想小结一下。一、优先级问题运算优先级的问题,其实在背乘法表,的时候就已经开始接触了。那时候我们知道在加减乘除的混合运算中,先...
  • c语言语法分析

    2013-04-27 22:42:37
    C语言语法进行分析时,采用“贪心算法”,即从左到右一个字符一个字符地读入,如果该字符可能组成一个符号,那么在读入下一个字符,判断已经读入的两个字符组成的字符串是否是一个符号的组成;如果可能,继续读入...
  • C语言的编译原理及过程前几天有个朋友问我关于C语言的编译原理和编译的过程,当时我也没有说明白,今天特意在书上和网上查阅资料,简单的总结了一下关于C语言的编译原理及过程。 集成开发环境是用于提供程序开发环境...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,850
精华内容 7,540
关键字:

c语言语法

c语言 订阅