有趣的C语言代码

看一下这段代码输出的是什么

1 #include <stdio.h>
2 int main()
3 {
4     int i = 43;
5     printf("%d\n", printf("%d", printf("%d", i)));
6     getchar();
7     return 0;
8 }

C语言的特色
  C语言是一个有结构化程序设计、 具有变量作用域( variable scope) 以及递归功
能的过程式语言。
  C语言传递参数均是以值传递( pass by value) , 另外也可以传递指针( a pointer
passed by value) 。
  不同的变数类型可以用结构体( struct) 组合在一起。
  只有32个保留字( reserved keywords) , 使变量、 函数命名有更多弹性。
  分的变量类型可以转换, 例如整型和字符型变量。
  通过指针( pointer) , C语言可以容易的对存储器进行低级控制。
  编译预处理( preprocessor) 让C语言的编译更具有弹性。

认识C语言
   C是一种通用的编程语言, 广泛用于系统软件与应用软件的开发。 于1 969年至
1 973年间, 为了移植与开发UNIX操作系统, 由丹尼斯·里奇与肯·汤普逊, 以B语
言为基础, 在贝尔实验室设计、 开发出来。
   C语言具有高效、 灵活、 功能丰富、 表达力强和较高的可移植性等特点, 在程序
员中备受青睐, 成为最近25年使用最为广泛的编程语言。 目 前, C语言编译器普
遍存在于各种不同的操作系统中, 例如Microsoft Windows, Mac OS X,Linux, Unix
等。 C语言的设计影响了众多后来的编程语言, 例如C++、 Objective­C、 Java、
C#等。
   二十世纪八十年代, 为了避免各开发厂商用的C语言语法产生差异, 由美国国家
标准局为C语言订定了一套完整的国际标准语法, 称为ANSI C, 作为C语言的标
准。 二十世纪八十年代至今的有关程序开发工具, 一般都支持符合ANSI C的语
法。
  优点:

1、简洁紧凑、灵活方便
2、运算符丰富
3、数据类型丰富
4、表达方式灵活实用
5、允许直接访问物理地址,对硬件进行操作
6、生成目标代码质量高,程序执行效率高
7、可移植性好
8、表达力强

这是一门经过40多年还经久不晒的计算机语言, 而且比较贴近底层, 这
样不仅仅可以学习语言本身, 还可以了解一些更加深入的知识。

转载于:https://www.cnblogs.com/tangshiguang/p/6735448.html

C — 对C语言的认识相关推荐

  1. Go语言的错误异常处理机制及其应用

    一.背景 在日常编写golang程序或阅读别人的golang代码时,我们总会看到如下的一堆代码块: xx, err = func(xx) if err != nil {//do sth. to tac ...

  2. Go 知识点(19)— Go 语言中的野指针

    野指针是一种指向内存位置是不可知的指针,一般是由于指针变量在声明时没有初始化所导致的.在 Go语言中,布尔类型的零值为 false,数值类型的零值为 0,字符串类型的零值为 "", ...

  3. gcc 自动识别的文件扩展名,gcc/g++ -x 选项指定语言,不同 gcc 版本 -std 编译选项支持列表

    对于执行 C 或者 C++ 程序,需要借助 gcc(g++)指令来调用 GCC 编译器. 对于以 .c 为扩展名的文件,GCC 会自动将其视为 C 源代码文件 对于以 .cpp 为扩展名的文件,GCC ...

  4. OpenCV 笔记(07)— Mat 对象输出格式设置(Python 格式、CSV 格式、NumPy 格式、C 语言格式)

    首先是下面代码中将要使用的 r 矩阵的定义.需要注意,我们可以通过用 randu 函数产生的随机值来填充矩阵, 需要给定一个上限和下限来确保随机值在期望的范围内. Mat r = Mat(2, 3, ...

  5. 利用牛顿法求平方根-Go语言实现

    牛顿法解释 百度的解释如下: 通俗的解释就是:多数方程不存在求根公式,牛顿提出了一种用迭代来求方程近似根的方法.思路就是不断取切线,用线性方程的根逼近非线性方程f(x)=0f(x)=0f(x)=0的根 ...

  6. 翻转二叉树 c语言实现 递归 栈 队列

    前言 题目比较好理解,就是翻转二叉树 代码 c语言实现 #include<stdio.h> #include<stdlib.h> #include<string.h> ...

  7. 字符串全排列的问题 python和c语言实现

    前言 这是一个的经典的问题 设计一个算法,输出一个字符串字符的全排列. 比如,String = "abc" 输出是"abc","bac",& ...

  8. 快速排序的递归和非递归实现 c语言版本

    代码 挖坑法 解释 选取一个关键字(key)作为枢轴,一般取整组记录的第一个数/最后一个,这里采用选取序列第一个数为枢轴,也是初始的坑位. 设置两个变量i = l;j = r;其中l = 0, r = ...

  9. c语言中字符串数组的地址存放以及%s输出单个字符导致程序崩溃的问题

    代码 总结下c语言中字符串数组的地址存放问题 #include <iostream> using namespace std; #include<bits/stdc++.h>i ...

  10. 关于C语言中的数组指针、指针数组以及二级指针

    概念解释 数组指针:首先它是一个指针,它指向一个数组,即指向数组的指针:在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道.数组指针指向的是数组中的一个具体元素,而不是整个数组,所 ...

最新文章

  1. bit,byte,汉字,KB,MB,GB,TB...
  2. 服务机器人---设计中的仿真
  3. arcgis中字段计算器利用python比较大小
  4. java. tcp. 权限,java - tcpdump的不能够写PCAP文件。没有权限 - SO中文参考 - www.soinside.com...
  5. DirectSound学习笔记(4):设备性能
  6. Unity(八)脚本生命周期
  7. ATTCK实战系列一(内网渗透入门)
  8. oracle罗马字符转数字,一些关于罗马字符的知识
  9. Sql代码美化工具:Sql Pretty Printer for SSMS V3.6.1
  10. JAVA自学知识点评定标准--自尚学堂马士兵
  11. 3D打印是什么?如何工作的?
  12. 聚焦 | 今年,金山云不一样的除夕夜
  13. public static void mian(String[]args)剖析
  14. 深入理解Java内存模型的volatile语义
  15. 【Python】使用Scikit-Learn进行机器学习步骤介绍
  16. PDF中的图片如何提取出来?分享两种提取方法
  17. 计算机管理系统在哪里,图文详解win10设备管理器在哪打开
  18. cxonev4验证用户_cxone软件配置
  19. mysql里的die_mysql中die函数的问题
  20. 函数式接口:Lambda表达式的优点

热门文章

  1. Calling JNI Functions with Java Object Arguments from the Command Line
  2. 彻底弄懂dalvik字节码【二】
  3. 利用FRIDA攻击Android应用程序(一)
  4. 使用Android Studio打Andorid apk包的流程
  5. 安卓APP动态调试技术
  6. clickhouse常用sql
  7. android代码 根据黑名单拦截短信,滴滴将小范围测试短信报警 司、乘两端同步试运行“黑名单”...
  8. python实现udp聊天室_python网络编程基础--socket的简介,以及使用socket来搭建一个简单的udp小程序...
  9. python绘制饼图explode_python通过matplotlib生成复合饼图
  10. BZOJ-2618-凸多边形-CQOI2006