明白一些变量

熟悉一些语句

组合一些函数

C语言——》库  帮你写好放在库中

魔数 凭空变出来的数字,不知道 数字表示的含义,影响代码的可读性。

C语音的参数传递 非常特殊,传递的是一个替身。

---------------------------------------------

main函数是C程序的入口

#include<stdlib.h>

system("pause");   //暂停

system("cls");//清屏

printf   输出系统库函数

变量 是一个名字,代表一个内存地址(占用内存的大小),这个内存值是可以在程序里面进行改变的。

变量的中值就是内存中存的数据。

变量的数据类型表示这个变量占用的内存大小。

C语言的基本数据类型

short:短整形,16bit(两个字节,一个字节=8bit)

  无符号:0~2^16-1  表示正数

  有符号:-2^8~2^8-1 表示正负数

int:整形,32bit

  无符号:0~2^32-1

  有符号:-2^16-1~2^16-1

float:单精度浮点型,32bit

double:双精度浮点型,64bit

long:长整形,32bit

char:字符型,8bit

bool:布尔类型,0和1,8bit   true(真)/false(假)

void:空类型,函数声明没有返回值的时候,使用 void

sizeof:计算变量或者数据类型占用内存的大小。

在数据类型前面加 undsigned 关键字,变量就是无符号类型数据。

inum+=2  和 inum=inum+2 意思相同

inum-=2  和  inum=inum=2 意思相同

inum3=inum++  表示后++,先把变量的值付给左边的变量,然后自己进行一个+1操作

inum2=++inum  表示前++,先把变量进行一个+1操作,在把+1之后的值付给左边的变量

inum3=inum--  表示后--,先把变量的值付给左边的变量,然后自己进行一个-1操作

inum2=--inum 表示前--,先把变量进行一个-1操作,再把-1之后的值付给左边的变量。

scanf:获取基本数据类型数据

gets:获得一个字符串

————————————————

if(条件表达式)

{

语句块

}

else if(条件表达式)

{

语句块

}

else

{

语句块

}

————————————————

switch(数字)

{

  case 数字:

    break;

  

  case 数字:

    break;

  default:

    break;

}

————————————————

for(表达式1;表达式2;表达式3)

{

}

————————————————

wihile(条件表达式)

{

  循环体

}

————————————————

do

{

  循环体

}while(条件表达式)

————————————————

break  退出循环

continue  跳转到循环开始,重新执行

\0  表示字符串的结束,是一个不可显示的字符

char array[]="hello";  不指定数组大小,这种必须初始化

char array[10]={0};没有明确的值,全部清零的初始化,只有在定义的时候才能这么初始化

**************************************************

atoi  字符串转换为整形数字

atof  字符串转换为单精度浮点型

atol  字符串转换为长整形数

指针用之前要判断指针变量是不是为空,用完了如果不为空,还要释放。

指针就是 变量的地址。

指针也是类型的,指针的类型指明这个指针指向什么数据类型的地址。

int * PA=null;//定义一个整形指针,这个变量可以保存整形标量的地址

int a=10;

PA=&a;//&取地址符

int b=*PA;//获得PA保存的地址中的值

int iSize=10;

int * PInt=(int *)malloc(sizeof(init)*iSize);//相当于10个元素的整形数组

free(PInt);//释放内存

***********************************************

在C语言中参数的传递有两种:

1)值传递:它是把一个数值传到函数内

2)指针传递:在函数内部可以改变指针所指地址内的值,这个值调用结束后,这个改变一直有效。

int & AA 是C++中的引用

******************************

安存储介质:磁盘文件、磁带文件

按文件编码方式(存储形式):文本文件、二进制文件

文件操作:

打开文件——》文件读写——》关闭文件

打开文件:建立用户程序与文件的联系,为文件分配一个文件的缓冲区。

读写文件:是指对文件的读、写、追加和定位操作

关闭文件:切断文件和程序的联系,释放文件缓冲区。

C语言知识总结的更多相关文章

  1. 【转】R语言知识体系概览

    摘要:R语言的知识体系并非语法这么简单,如果都不了R的全貌,何谈学好R语言呢.本文将展示介绍R语言的知识体系结构,并告诉读者如何才能高效地学习R语言. 最近遇到很多的程序员都想转行到数据分析,于是就开 ...

  2. STM32F4 阿波罗 库函数与C语言知识

    先聊一聊: 之前使用32都是用的库函数,但是没有理解为什么那么操作,有很多的文件我也不知道要看哪一个,感觉云里雾里,没有学清楚一件东西的感觉不太好,于是就在前几天一直跟着比较详细的视频学习.开始老师讲 ...

  3. C语言知识汇总,史上最全面总结,没有之一

    C语言基础 C语言学习路线 C语言入门笔记 初识C语言 简单的C程序示例 我们编写的C代码是怎样跑起来的? 简单示例,VS2019调试C语言程序 C语言基础-数据类型 深入理解变量,变量的声明,定义, ...

  4. 老师不讲的C语言知识

    老师不讲的C语言知识 导语: 对于工科生,C语言是一门必修课.标准C(ANSI C)这个看似简单的语言在硬件底层编程.嵌入式开发领域还是稳坐头把交椅.在20年5月份,C语言就凭借其在医疗设备上的广泛应 ...

  5. Go语言知识查漏补缺|基本数据类型

    前言 学习Go半年之后,我决定重新开始阅读<The Go Programing Language>,对书中涉及重点进行全面讲解,这是Go语言知识查漏补缺系列的文章第二篇,前一篇文章则对应书 ...

  6. 关于C语言知识调查

    因为上一篇随笔对这一部分写得不够清楚,因此在这篇做一些补充. 你是怎么学习C语言的? 起初,对于C语言的学习主要是通过老师课堂的教学,完成相关的课后作业.与我的技能相比的话,他们都有一个共同点需要去实 ...

  7. 基础语言知识JAVA

    1. 总结: JAVA比较重要的博客: http://www.runoob.com/java/java-tutorial.html     (JAVA教程) http://blog.csdn.net/ ...

  8. [Java面试九]脚本语言知识总结.

    核心内容概述 1.JavaScript加强,涉及到ECMAScript语法.BOM对象.DOM对象以及事件. 2.Ajax传统编程. 3.jQuery框架,九种选择器为核心学习内容 4.JQuery ...

  9. JavaScript语言知识收藏

    接触Web开发也已经有一段时间了,对javascript的认识也比以前有了更加深入的认识了,所以觉得应该整理一下. 一.JavaScript不支持函数(方法)的重载,用一个例子证明如下: functi ...

  10. C语言知识整理(3):内存管理(详细版)

    在计算机系统,特别是嵌入式系统中,内存资源是非常有限的.尤其对于移动端开发者来说,硬件资源的限制使得其在程序设计中首要考虑的问题就是如何有效地管理内存资源.本文是作者在学习C语言内存管理的过程中做的一 ...

随机推荐

  1. c\c++复习基础要点16----枚举类型

    枚举类型: 语法格式: enum 枚举类型名 {变量值列表}; 例如: enum  Weekday{sun, mon, tue, wed, thu, fri, set}; 声明了枚举类型后,就可以定义 ...

  2. 用mysqlslap压测mysql

    参考文献:http://my.oschina.net/costaxu/blog/108568 上面网友详细的列举了用mysqlslap对mysql的压力测试结果,我也照葫芦画瓢试了一次,结果如下: 以 ...

  3. codeforces 710C

    C. Magic Odd Square time limit per test 1 second memory limit per test 256 megabytes input standard ...

  4. Linux命令 — 设置或查看网络配置命令ifconfig

    ifconfig命令用于设置或查看网络配置,包括IP地址.网络掩码.广播地址等.它是linux系统中,使用频率最高的关于网络方面的命令. 1. 命令介绍 命令格式: ifconfig [interfa ...

  5. json字符串、json对象、数组 三者之间的转换

    json字符串转化成json对象 // jquery的方法 var jsonObj = $.parseJSON(jsonStr) //js 的方法 var jsonObj = JSON.parse(j ...

  6. [AngularJS] Accessing The View-Model Inside The link() When Using controllerAs

    If u using controller & controllerAs in directive, then the link()'s 4th param 'controller' will ...

  7. 基于GPUImage的实时美颜滤镜

    1.背景 前段时间由于项目需求,做了一个基于GPUImage的实时美颜滤镜.现在各种各样的直播.视频App层出不穷,美颜滤镜的需求也越来越多.为了回馈开源,现在我把它放到了GitHub https:/ ...

  8. Java序列化之Serializable

    Java的序列化流程如下: Java的反序列化流程如下: 注意:并不是所有类都需要进行序列化,主要原因有两个 1)安全问题.Java中有的类属于敏感类,此类的对象数据不便对外公开,而序列化的对象数据很 ...

  9. 动态代理与AOP

    1. 代理的分类: 静态代理:每个代理类只能为一个接口服务 动态代理:可以通过一个代理类完成全部的代理功能(由JVM生成实现一系列接口的代理类,即:生成实现接口的类的代理) 2. 动态代理: 在Jav ...

  10. xslt语法之---基础语法

    1. XSLT常用元素: 1.1 <xsl:template>:创建模板     Match属性的作用是使模板和XML元素相关联 <xsl:template match=" ...