{}体里的语句不管在一行还是在多行,之间都是要有;

for与for之间可以是独立的,也可以是相互嵌套的

For( ; i<5; )=for( ;i<=4;  )

一般都是在循环里面进行判断,比如for里的if

For()   if()等后面如果是一句,可以不加{} 如果是多个句,则要加,因为不加时候,默认只执行一句

在循环遍历中,只需要结果,不需要过程时,可以对结果进行高一级的分类,然后分支输出

每个代码段是干嘛的要养成注释的好习惯

做比较找最大最小的时候要注意用中间介

自己写个排序代码

2维数组的初始化有两种,2维数组对于2维画面的显示是很有效

1维数组一般用于排序  字符串默认以\n结束  数组是存储数据一个很重要的工具

字符串用“ ” 字符串其实与字符码有关

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

指针变量  指针可以返回多个值

变量的名字  变量的地址  变量的地址的地址(2层了)

指针变量的本质就是:变量的地址(通过变量的地址,可以访问变量的内存的值)  adder=&key

指针是对变量访问的另外一个方法,通过访问变量的指针来访问变量的值

指针本身自己是变量,也有自己的地址,于是衍生出指针的指针……  *****a

就是利用指针间接的访问另外一个变量    指针有点像寄存器  一个地址肯定对应一个变量

Int *p; (p为指针变量,指向的值是int型的)

*********************终于发现我的键盘不能长时间重按***********************

指针变量的初值  p=&i;(常用)

P=null;

P=(int *)  1732;(不提倡)

注意:指针的类型:指的是所指向变量的类型,不是地址值的类型

*p(用于访问指向的变量的值)  p是指针,但是*p是变量的值

指针的值 变量的地址  变量的值

*p++=*(p++)

使用指针可以操作被指变量的值,一旦被指,则就是被掌控了,类似于病毒

函数调用的先后顺序是在主函数里面来顺序控制

指针变量的函数里面一定有对于指针的赋值,然后在调用的时候是用&来调用

在形参里面,是*P,这时候已经是变量的值了

形参是函数定义的时候的  引用调用是更为灵活

当参数返回值大于一个的时候,就可以用指针,这就是指针的妙处,通过调用指针变量可以来改变主函数中的变量值。

关于return返回值一般是一个,所以之前的方法不行了,这时候新的技术,指针就出现了。

数组感觉是动态的指针,可以通过指针给数组赋值  其实c中,本质的运行程序都是通过指针进行的

数组作为函数的参数的时候,其实是基地址作为变量

数组作为函数的参数,函数里面一般都是对与数组进行处理的

数组和指针可以完成同样的工作,一般用指针吧

注意:循环里面肯定是嵌套着判断,但是那和分支的判断是不同对的性质

字符串一般是以数组的形式出现,一般与字符码有关   gets()用于接收字符串

字符指针  字符串常量本质是指向字符串首地址的指针

数组的一切可以用指针来做   %s是输出字符串

Printf() 在字符串方面,函数的参数是首地址(其实这时候更像scanf())

这是在字符串和其他变量之间的区别

注意:字符串指针和其他指针是不同的

新的指针的初始化: char *p=”abcde”;   指向一个字符串变量

用指针比用数组少占内存   指针字符串比数组字符串更加方便

可以把一个数组给一个指针变量,因为数组的本质其实就是该数组的首地址

Char *s,str[];

S=str;

Scanf(“%s”,s);

习惯与定义指针的初值都为NULL

处理字符串时候要有string.h   Ctype.h  stdlib.h

字符串的输入都是以回车或是空格为判断结束的  在存储的时候都是附加\0

Puts() 在输出时,遇到\0则自动转化的\n

Scanf()遇到空格或回车符结束输入  gets()是遇到回车符结束

Char

*strcpy(cahr *a,char *b)  ——把b复制到a,覆盖a.一般用于字符串之间的赋值

Strlen(); 长度不包括附加的  字符串相关的函数里都是以数组进行存储的

一个字符串名,其实指的是字符串的初始地址

Strcmp(a,b)     >返回正数 <返回负数 =返回0  字符串的比较其实是比较当不同位的码值的大小

Negative(消极,负的)

指针就是用来实现内存的动态分配

if里的Exit(); 类似于函数里面的return();

Pree(); 动态存储释放函数,参数为内存区域的指针

定义指针的时候 int *是一个整体

内存的动态分配,用完之后要释放

Void *malloc(长度) 它返回一个指针

If  (p=(int *)malloc(n*sizeof(int)))==null)   意思就是申请失败

计数的动态存储分配函数calloc()

Void *calloc(n,每个段的长度值) 它会进行内存的初始化

Realloc(void *a,长度值)  ——分配调整函数(调整已经分配的内存的大小)

结构变量 structure

C编程经验总结4的更多相关文章

  1. iOS开发编码建议与编程经验

    作者:乞力马扎罗的雪(GitHub) 原文 在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码.那么,有一个良好的编码习惯将会非常重要.下面将会罗列使用Objective-C来开发iOS的 ...

  2. C++的XML编程经验――LIBXML2库使用指南[转]

    C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...

  3. Python/Numpy大数据编程经验

    Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点.   ...

  4. 编程经验点滴----在 Oracle 数据库中保存空字符串

    写程序这么多年,近几天才发现,向 Oracle 数据库表中,保存空字符串 '' ,结果成了 null. 由于数据库数值 null 的比较.判断,与空字符串 '' 存在差异.一不留神,代码中留下了 bu ...

  5. C++的XML编程经验――LIBXML2库使用指南

    C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...

  6. Kittenblock画笔基础,移动留下痕迹的蝴蝶,图形化编程经验分享

    Kittenblock画笔基础,移动留下痕迹的蝴蝶,图形化编程经验分享 跟很多学生聊过,很多学生不是不努力,只是找不到感觉.有一点不可否认,同样在一个教室上课,同样是一个老师讲授,学习效果迥然不同.关 ...

  7. Linux-shell编程经验记录

    Linux-shell编程经验总结 1.接收用户输入 #读取用户输入并且将输入保存到input变量中 read -p "请输入:" input #也可以先输出信息再进行读取,这里的 ...

  8. 写给已有编程经验的 Python 初学者的总结【转】

    当我开始学习Python的时候,有些事我希望我一早就知道.我花费了很多时间才学会这些东西.我想要把这些重点都编纂到一篇文章当中.这篇文章的目标读者,是刚刚开始学习Python语言的有经验的程序员,想要 ...

  9. 写给已有编程经验的 Python 初学者的总结

    当我开始学习Python的时候,有些事我希望我一早就知道.我花费了很多时间才学会这些东西.我想要把这些重点都编纂到一篇文章当中.这篇文章的目标读者,是刚刚开始学习Python语言的有经验的程序员,想要 ...

  10. <三>年编程经验、何去何从?

    SharePoint开发经验3年+,基本的SharePoint模板开发都胜任: Asp.net基础一般,Html.Css.JavaScript.JQuery.Ajax.Sql.服务器等也都有所涉猎,对 ...

随机推荐

  1. Java多线程使用wait和notify实现生产者消费者模型

    Java多线程使用wait和notify这两个关键字的学习,通过实现生成者与消费者来成对研究比较科学. 从两个字的意义来讲就是等待与通知这个简单道理. 现在先模拟一个缓存区存储,是用一个list实现的 ...

  2. DEDE会员注册邮件验证时,用户无法收到邮件的解决方法

    本文以qq邮箱.163邮箱和易网库提供的企业邮箱为例,简要介绍在织梦(DEDECMS)中设置SMTP验证发送邮件的方法 一.在织梦中使用qq邮箱发送邮件 1.在织梦中使用qq邮箱发送邮件, 需要确保q ...

  3. C#开发usb通知之bulk传输

    usb通信分为4种传输方式,下位机通信协议用的是块传输,也就是bulk传输,C#下实现的usb通信使用的是开源的LibUsbDotNet,主要的就是需要在C#中添加LibUsbDotNet.dll引用 ...

  4. mysql-数据库模式定义语言(DDL)

    库的管理 /* 一.库的管理 创建.修改.删除 二.表的管理 创建.修改.删除 创建: create 修改: alter 删除: drop */ #一.库的管理 #.库的创建 /* 语法: creat ...

  5. vue换一换功能原型

    <html> <meta charset="utf-8"> <head> <script src="https://cdn.bo ...

  6. 转:ArcGIS10.1正式版安装与破解

    一.准备文件 ArcGIS10.1安装包:ArcGIS_Desktop_10.1_129026(en) 认证服务:Pre-release_license_manager 注册机:arcgis10.1K ...

  7. Android TextView之空格占位法

    在Android布局中进行使用到空格,为了实现文字的对齐.具体要怎么使用了? •请忽视文中‘& #160’中&和#之间的空格 空格: & #160; 窄空格: & #8 ...

  8. 【工作中学习1】两个设计模式:Singleton(单例)和 Adapter(适配器)

    好久没有写自己的学习小博客,罪过罪过..最近本菜鸟在项目中接触到经常用到的设计模式,首先是Singleton(单例),这个相信大家都会用到很多,所以自己用代码实现一下,有助于自己学习理解,如有不对,请 ...

  9. SQL varchar转float实现数字比较

    select * from table where cast('经纬度' as float ) < 90

  10. System Center Configuration Manager 2016 必要条件准备篇(Part2)

    步骤2.下载并安装Windows ADK.WDS组件 注意:在Configuration Manager服务器(CM16)上以本地管理员身份执行以下操作 当我们使用Configuration Man ...