C语言学习

C语言的特点

  • 语言简单、紧凑、使用方便、灵活
  • 运算符丰富
  • 数据类型丰富
  • 具有结构化的控制语句
  • 语法限制不太严格,程序设计自由度大
  • C语言允许直接访问物理地址,可以对硬件进行直接操作
  • 生成代码质量高,程序执行效率高
  • 与汇编语言相比,C语言可移植性好

C程序小例子

  • 求两数之和

      #include<stdio.h>
    void main(){
    int a, b, sum;
    a = 12;
    b = 23;
    sum = a + b;
    printf("sum is%d\n", sum);//%d表示以十进制整数类型输出
    }
  • 求两个数中的最大值

      # include<stdio.h>
    void main(){//主函数
    int max(int x, int y); //对并调用函数max的声明
    int a, b, c;
    scanf("%d, %d",&a, &b); //输入变量a和b,&表示取地址的意思
    c = max(a,b);
    printf("max = %d\n", c); // 输出c
    } int max(int x, int y){//定义max函数
    int z;
    if(x > y) z = x;
    else z = y;
    return(z); //将z的值返回,通过max带回到调用函数的位置
    }

scanf函数的作用时将两个数值分别输入到a和b的地址所标志的单元中去,也就是输入给a和b。

  • 求5!

      # include<stdio.h>
    void main(){//主函数
    int i, t;
    t = 1;
    i = 2;
    while(i <= 5){
    t = t * i;
    i = i + 1;
    }
    printf("5! = %d\n", t);
    }

从上面可以看出:

  1. C程序是由函数公构成的,一个C程序至少且仅包含一个main函数,也可以包含一个main函数和其他若干个其他函数。所以函数是C程序的基本单位
  2. 一个函数有两个部分组成
    • 函数首部

    • 函数体:分为

      1)声明部分:这个部分定义所用到的变量和所调用的函数。

      2)执行部分

      在某些情况下也可以没有声明部分,甚至可以也没有执行部分。

  3. 一个C程序总是从main函数开始执行。
  4. 每个语句和数据声明的最后必须有一个分号,分号是C程序的必要组成部分。
  5. C语言本身没有输入输出语句,他的输入输出的操作是有库函数scanf和printf等函数来完成的。

程序的灵魂——算法

  • 算法的特性

    (1)有穷性;

    (2)确定性;

    (3)有零个或多个输入

    (4)由一个或多个输出

    (5)有效性

C语言的数据类型、运算符与表达式

  • 常量与变量

    常量就是其数值不能改变的量,常量分为:整型常量、实数型常量、字符常量。

      # define pai 30
    # include<stdio.h>
    void main(){//主函数
    int i, t;
    t = 2;
    i = pai * t;
    printf("i = %d", i);
    }

可以用define来在程序开头定义一个常量,这里的这个pai就是符号常量,是不能给符号常量赋值的,习惯上,符号常量用大写,变量名用小写。

###### 使用符号常量的好处
- 含义清楚
- 在需要改变一个变量是=时能做到“一改全改“。 ###### 变量
变量代表内存中具有特定属性的一个存储单元,用来存放数据,也就是变量的值。
C语言规定标识符只能是由**字母、数字、下划线三种字符组成,而且第一个字符必须为字母或下划线**
  • 整形数据

    整型数据在内存中以二进制的形式存放,整形变量将获得两个字节的存储单元,整形变量的基本类型符为int,可以根据数值的范围将其分为:基本整形、短整形,长整形。(int、short、long)

    一个整型数据的最大允许值为32767。超过这个范围将会造成数据溢出
  • 浮点型数据

    即实数,浮点数的两种表现形式:
  1. 十进制小数形式:0.0、0.123、123. 、123.0等

  2. 指数形式:123e3,表示:123*10^3. 字母E之前必须有数字,且在E后面的指数必须是整数。

    一个浮点型数据一般在内存中占4个字节(32位),浮点型数据是按指数形式存储的。

    浮点型数据分为:单精度float(32位)、双精度double(64),长双精度long double(128)。

  • 字符型数据

    C中字符常量是用单撇号括起来的一个字符。'a'、'x'。

    转义字符。

    • 字符变量

      用来存放字符常量,只能放入一个字符,不能再一个字符变量中方一个字符串。

      定义:char c1, c2;

      在编译系统中用一个字节来存放一个字符。或说一个字符变量在内存中占一个字节。

    • 大小写字母转换例子

        # include<stdio.h>
      void main(){//主函数
      char c1, c2;
      c1 = 'a';
      c2 = 'b';
      c1 = c1 - 32;
      c2 = c2 - 32;
      printf("%c%c", c1, c2);
    • 字符串常量

      字符串常量是一对双撇号括起来的字符序列。不能将一个字符串常量赋值给字符常量。

      **C规定在一个字符串常量的末尾加一个“字符串结束标志” ——"\0"。说明“a”在内存里面包含了两个字符。

  • 变量赋初值

  • 算术运算符和表达式:略

C语言基础一的更多相关文章

  1. 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)

    索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...

  2. 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)

    索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 一.SQL Server体系结构 1.1 数据库 ...

  3. C#语言基础

    第一部分 了解C# C#是微软公司在2000年7月发布的一种全新且简单.安全.面向对象的程序设计语言,是专门为.NET的应用而开发的.体现了当今最新的程序设计技术的功能和精华..NET框架为C#提供了 ...

  4. C语言基础回顾

    第一章 C语言基础 1.  C语言编译过程 预处理:宏替换.条件编译.头文件包含.特殊符号 编译.优化:翻译并优化成等价的中间代码表示或汇编代码 汇编:生成目标文件,及与源程序等效的目标的机器语言代码 ...

  5. 黑马程序员_ C语言基础(二)

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 概览 今天基础知识分为以下几点内容(注意:循环.条件语句在此不再赘述):   1.Hello W ...

  6. C#语言基础— 输入与输出

    C#语言基础— 输入与输出 1.1函数的四要素:名称.输入.输出.加工 1.2主函数:输出语句.输入语句: Static viod Main(string[] stgs)//下划线部分可以自己指定 { ...

  7. 【GoLang】GO语言系列--002.GO语言基础

    002.GO语言基础 1 参考资料 1.1 http://www.cnblogs.com/vimsk/archive/2012/11/03/2736179.html 1.2 https://githu ...

  8. R语言基础:数组&列表&向量&矩阵&因子&数据框

    R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...

  9. OC语言基础知识

    OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...

  10. Java学习总结(二)----Java语言基础

    1.     Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...

随机推荐

  1. SQL判断字符类型是否为数字

    用ISNUMERIC函数 确定表达式是否为一个有效的数字类型. 语法 ISNUMERIC ( expression ) 参数 expression 要计算的表达式. 返回类型 int 注释 当输入表达 ...

  2. 前端之 JS 实现全选、反选、取消选中

    需求 制作如下可选表格,实现“全选”.“反选”.“取消”功能 代码示例 <!DOCTYPE html> <html lang="zh-CN"> <he ...

  3. go语言之并发编程同步一

    前面介绍了采用go语法的并行操作以及channel.既然是并行操作,那么就涉及到数据原子性以及同步的问题.所以在Go里面也需要采用同步的机制. 互斥锁: 由标准库代码包sync中的Mutex结构体类型 ...

  4. Debussy的安装与使用

    1.概述 Debussy是NOVAS Software, Inc ( 思源科技 )发展的HDL Debug & Analysis tool,这套软体主要不是用来跑模拟或看波形,它最强大的功能是 ...

  5. requirejs源码分析: requirejs 方法–1. 主入口

    该方法是 主要的入口点 也是最常用的方法. req = requirejs = function (deps, callback, errback, optional) { //Find the ri ...

  6. PAT 天梯赛 L1-039. 古风排版 【字符串处理】

    题目链接 https://www.patest.cn/contests/gplt/L1-039 思路 先根据 len 和 n 判断 有几个 列和几行,然后 从最右边 到 最左边 从上到下 将字符串 录 ...

  7. $Java HttpClient库的使用

    (一)简介 HttpClient是Apache的一个开源库,相比于JDK自带的URLConnection等,使用起来更灵活方便. 使用方法可以大致分为如下八步曲: 1.创建一个HttpClient对象 ...

  8. 【鸟哥的Linux私房菜】笔记3

    正确地开机 最好不要使用root账号登陆!GNOME图形界面 View items as a list X WindowShell 文本交互界面bash是Shell的名称,Linux的默认壳程序就是b ...

  9. PHP的异常处理、错误的抛出及错误回调函数

    一.错误.异常和等级常量表 error:不能再编译期发现运行期的错误,不如试图echo输出一个未赋值的变量,这类问题往往导致程序或逻辑无法继续下去而需要中断. exception:程序执行过程中出现意 ...

  10. Service Meth and SideCar

    本文转自:http://philcalcado.com/2017/08/03/pattern_service_mesh.html SideCar: SideCar就是与Application一起运行的 ...