c语言

c库:

标准C库里提供了很多的函数,只要在程序里包含了C库中对应的头文件(函数声明),就可以使用这些库函数了。

    #include  <stdio.h>
    printf    -- 标准格式化输出函数
    scanf    --  标准格式化输入函数

 

数值数据的表示:

凡是按进位的方式计数的数制叫做进位计数制,简称进位制。
             十进制、二进制、十六进制、八进制

   
基数与各数位的权。
   基数是指该进位制中允许选用的基本数码的个数。如最常用的十进制数,基数为10, 可选用0、1、2……9共10个不同数码中的任何一个。
 而位权的大小是以基数为底,数字所在位置的序号为指数的整数次幂。

基数为2的进位制叫二进制

二进制只有0、1两种数码,计数逢2进位
1010 =  1X23 + 0X22 + 1X21 + 0X20
            =  1X8 + 0X4 + 1X2 + 0X1
            =  10   

基数为16的进位制叫十六进制

十六进制有0、1、2…9、a、b、c、d、e、f 共16种数码,计数逢16进位
0x1010 =  1X163 + 0X162 + 1X161 + 0X160
            =  1X4096 + 0X256 + 1X16 + 0X1
            =  5012   

 

 

非数值数据表示:

计算机中数据的概念是广义的,机内除有前面提到的数值数据之外,还有文字、符号、图像、语言和逻辑信息等等,因为它们也都是以0、1形式存在,所以成为非数值数据
字符数据主要指数字、字母、通用符号、控制符号等等,在机器内都被变换成计算机能够识别的二进制编码形式。国际上被普遍采用的一种编码是美国国家信息交换标准代码,简称为ASCII

ASCII:

第一部分由 00H 到 1FH 共 32 个,一般用来通讯或作为控制之用,有些字符可显示于屏幕,有些则无法显示在屏幕上,但能看到其效果(例如换行字符、归位字符)。
第二部分是由 20H 到 7FH 共 96 个,这 96 个字符是用来表示阿拉伯数字、英文字母大小写和底线、括号等符号,都可以显示在屏幕上。
第三部分由 80H 到 0FFH 共 128 个字符,一般称为『扩充字符』,这 128 个扩充字符是由 IBM 制定的,并非标准的 ASCII 码。这些字符是用来表示框线、音标和其它欧洲非英语系的字母。

 

词法符号:

任何高级语言都有自定义的词法符号和支持的数据类型。
词法符号是语言的基本组成单位,数据类型是数据的基本属性。
词法符号是程序设计语言中有若干字符组成的有意义的最小语法单位。
按照词法符号在程序中的作用,可以分为:
关键字、 标识符、分隔符、运算符和标点符号

 

关键字
   关键字是由系统预定义的词法符号,有特定的含义,不允许用户重新定义。下面是一些基本关键字:
    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          unsighed      void
    volatile        while     
                                   所有关键字均为小写

volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。

 

标识符
   标识符是由程序员按照命名规则自行定义的词法符号,用于定义宏名、变量名、函数名和自定义类型名等。C语言的命名规则如下:
    1)   标识符由一个或多个字母、数字或下划线组成
    2)标识符的第一个字符必须是字母或下划线
    3)标识符不能与任何关键字相同

大小写敏感
命名有一定含义,便于记忆,增加可读性

 

运算符
   运算符是表示运算的词法符号,C语言有非常丰富的运算符,按功能可以分为:
    算术运算符、 逻辑运算符、关系运算符、位运算符、赋值运算符、 递增递减运算符、地址运算符、逗号运算符、sizeof运算符

 

算术运算符:+,-,*,/,%,++,--;
 位操作运算符:&,|,~,^,<<,>>
 逻辑运算符:!,&&,||;
 比较运算符:<,>,>=,<=,==,!=;
 赋值运算符:=,+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=;
 其他运算符:[],(),->,,(逗号运算符),new,delete,new[],delete[],->*。

 

分隔符
   分隔符是用来分隔其他的词法符号,主要包括:
             空格符、制表符、换行符号、注释
     通过对分隔符的恰当运用,使得代码的外观格式更为清晰易读,还可以帮助分析程序中的语法错误

 

标点符号
   C语言中的标点符号有逗号、分号、冒号、花括号、圆括
   号。标点符号的作用与分隔符相似,但用法非常严格,有
   着明确的语法规定。有些标点符号出现在表达式中时,当
   作运算符使用

逗号:
在定义变量语句中,用于分隔变量名
在函数的参数表中,用于分隔函数参数
分号:
用于表达式语句的结束
在for循环语句中,分隔括号内的三个表达式之间
单独出现,构成一条空语句
冒号:
用于语句标号的结束
用于switch。。。Case语句中case快中
花括号:
用做枚举类型定义的开始和结束
用做数组初始值定义的开始和结束
用做函数体的开始和结束
用做语句块的开始和结束
用做结构类型定义块的开始和结束
圆括号:
用在函数头定义中,作为参数表的开始和结束
用在流程控制语句中,作为条件表达式的开始和结束
用在函数调用中,作为参数表的开始和结束

时间: 2024-09-22 08:27:28

c语言的相关文章

IE浏览器的语言显示问题

一.将语言新增到 Internet Explorer 1. 开启 Internet Explorere,单击浏览器右上角的 [工具] 按钮,选择 [Internet 选项]. 2. 切换到 [常规] 标签页,点击 [语言]. 3. 在 [语言首选项] 视窗中,点击 [添加]. 4. 在 [添加语言] 中,从列表中选取语言,再单击 [确定]. 电脑常识 5. 将语言新增到 Internet Explorer. 6. 如果有多个语言,可透过 [上移] 和 [下移] 按钮,对语言进行优先顺序排列,当网

c语言如何输出菱形

 适有同学问起一些C语言题目,本想上网搜索了事,但网上的方法都是分为上下部分用两个嵌套for循环输出.我想有没有合起来输出的呢,这样符合简洁又美观的要求呢?答案是有的. 题目:输出行列都相等的菱形,如5行5列: 行列 12345 1      * 2     *** 3    ***** 4     *** 5      *   分析: 当行数等于总行数的一半时,'*'是递增的,递增为2. 当行数大于总行数的一半时,'*'是递减的,递增为2.   设有一个行列为n的菱形, 我们用变量i作为行数,

Java有哪些常用语?Java常用语言汇总

  Java有哪些常用语?不介绍Java 常用语,对Java 的总体介绍就是不完整的.尽管促使Java 诞生的源动力是可移植性和安全性,但在Java 语言最终成型的过程中,其他一些因素也起了重要的作用.接下来,绿茶小编就一一来介绍一下. · 简单(Simple) · 安全(Secure) · 可移植(Portable) · 面向对象(Object-oriented) · 健壮(Robust) · 多线程(Multithreaded) · 体系结构中立(Architecture-neutral)

用C语言实现python的扩展模块

用C语言实现python的扩展模块 示例1: 1    Example.c int add(int a,int b) {         return a+b; } int sub(int a,int b) {         return a -b; } int mul(int a,int b) {         return a*b; } int div1(int a,int b) {         if(0 == b)         {                 return

求助贴:c语言编程问题

问题描述 求助贴:c语言编程问题 解决方案 在你的程序里scanf()函数返回的是一个正整数,无论你输入的是不是-1,他接收的一直是一个参数,所以返回的一直是1.并且还是使用"%lu"来接收参数的,输入-1一定不会退出程序的,输入1.2scanf()只接收到了1,因为1.2不符合输入的规则"%lu",也会返回1.程序不会停下 解决方案二: 疑惑:1.输入0有效,输出真确2.输入-1不退出,-1被强制转换为int类型3.输入1.2输出1个奇数后又printf();然后

Python:十年语言之冠

最近我发现了这个PYPL--编程语言流行指数.它对各种语言的流行指标进行了二次发掘.作者指出TIOBE指数很可能不能反映出真实情况,归咎于一些编程语言的名称会导致误解.他引入了一些新术语,利用谷歌趋势得出来不同的结论. 通过作者的研究,我们可以得知,在过去的十年里,Python语言获得了最大的增长幅度.从图片上我们可以看到10年内它的非常漂亮的线性增长,恭贺Python语言! 这个图表的数据非常的有意思,没有大起大浮并不是件坏事,这表明不断的有群体(来自Java和PHP--一个大部落)希望学习这

Web脚本开发语言比较

我们都一定对比过编程的轻松与简单性.虽然我们都确认php和perl是最容易学习和编程的语言,但我仍旧想知道,如果用php.asp.jsp以及perl分别编写一个同样的程序,哪一个将最快. 进行这样的对比依赖于操作系统和硬件设备.对于我来说,在linux/apache上运行php是非常快的,即使机器属于低端Pro类型.当然,每个人都知道linux是多么的稳定与快速.IIS上的ASP运行可以非常快,但是也要求相当高的硬件性能. 至于Java,许多编程者都一直在抱怨它怎么会这么慢 - 有一个报告叫做"

用Keil、C语言对C8051F310编程,求例程。。

问题描述 用Keil.C语言对C8051F310编程,求例程.. 随意的例程就行如果有按键消抖,数码管显示,占空比调节就更好了感激不尽! 解决方案 硬件电路图都没有--

c语言基础-对于c语言该如何更好的学习。

问题描述 对于c语言该如何更好的学习. 我是个初学者,想问一下c语言在编程时有什么方法和技巧吗?编程时所用的冒泡法,递归,分别是什么意思 解决方案 C语言并不适合初学者,因为它比较原始和简陋,需要对计算机底层的细节有所了解,实现相同的功能,往往需要比别的语言多很多倍的代码量,而且语法检查不严格,初学者很难驾驭. 很多人学C语言并不是抱着学习本身为目的的,相反,不过是应付一个课程或者等级考试.但是这两者完全不同.所以在回答你的问题以前,先得搞清楚你属于什么情况. 解决方案二: 别急 慢慢来 以后都

c语言-请问怎么学好《C语言程序设计教程》

问题描述 请问怎么学好<C语言程序设计教程> 这本书下学期就要学了,可是看着迷迷糊糊,看不懂,有没有什么学习的捷径?什么配套的辅导书比较好?谢谢! 解决方案 简单来说,就是Reading+Coding. 阅读入门可以从谭浩强的<C程序设计>开始,国人所写比较符合我们的思维习惯,但是过于基础,许多细节问题没有讲到,所以看完那本可以接着看看<C语言深度解剖>. 另外还有两本国外的C语言经典著作<C程序设计语言><数据结构与算法分析--C语言描述>,可