关于Z序的总结

   Z 序:一个重叠窗口的堆,每个窗口在Z 序中 都有唯一一个位置。一个窗口的Z 序 ,指明了该窗口在重叠窗口堆中的位置。这个窗口堆 是沿着一个虚拟的轴——“ Z 轴”,从屏幕上垂直向屏幕外延伸。 Z 序顶部的窗口覆盖 Z 序中的其他窗口。 Z 序底部的窗口被 Z 序中的其他窗口覆盖。

   系统用一个单链表维护 Z 序。系统按照顶端窗口、顶层窗口和子窗口的分类 ,将窗口插入到 Z 序表中。顶端窗口覆盖其他所有非顶端窗口,而不管它是不是活动窗口或是不是前台窗口。顶端窗口有 WS_EX_TOPMOST 风格。在 Z 序中,所有顶端窗口都在非顶端窗口之前。在 Z 序中,子窗口是按着他的父窗口进行分组的。

   应用程序一旦创建了一个窗口,系统就将其放入Z 序中 同类窗口的顶部。可以调用 BringWindowToTop() 函数,把某窗口拉到 Z 序中同类窗口的顶部。可以利用 SetWindowPos() 和 DeferWindowPos() 函数对 Z 序进行重新排列。

     用户在激活不同的窗口过程中会改变 Z 序。因为系统会将活动窗口,放置在 Z 序中同类窗口的顶部 。当一个窗口变成 Z 序中的顶层窗口时,它的所有子窗口也变为顶层窗口。可以用 GetTopWindow() 来查找一个父窗口的所有子窗口,并返回( Z 序中)顶部子窗口的句柄。用 GetNextWindow() 函数,可以获得 Z 序中的前一个或后一个窗口的句柄。

   对于顶端窗口,顶层窗口和子窗口,如果只考虑同一类的话,如果有多个,总会一个覆盖另一个。但是这三类是按照上面讲的排列的。也就是有人讲的:
1.TopMost在最上面
2,顶级窗口次之
3,子窗口在父窗口之上
4,同级窗口当前激活窗口在前

HDWP hdwp = BeginDeferWindowPos(2);

hdwp = DeferWindowPos( hdwp, hStatic, NULL, 0, 0,100, 20, SWP_NOACTIVATE | SWP_NOZORDER |SWP_NOMOVE );
hdwp = DeferWindowPos( hdwp, hEdit, NULL, 0, 0, 100, 20, SWP_NOACTIVATE | SWP_NOZORDER |SWP_NOMOVE );
EndDeferWindowPos( hdwp );

其作用和SetWindowPos()差不多。

 

6.HWND GetWindow(HWND hWnd,UINT uCmd)

此函数的作用是:返回与hWnd有某种关系的窗口的句柄,uCmd有以下几种意思:

GW_CHILD :  如果指定窗口是父窗口,则获得的是在Z序顶端的子窗口的句柄,否则为NULL。函数仅检查指定父窗口的子窗口,不检查继承窗口。

GW_ENABLEDPOUP: (WindowsNT 5.0)返回的句柄标识了属于指定窗口的处于使能状态弹出式窗口(检索使用第一个由GW_HWNDNEXT 查找到的满足前述条件的窗口);如果无使能窗口,则获得的句柄与指定窗口相同。

GW_HWNDFIRST :返回的句柄标识了在Z序最高端的相同类型的窗口。如果指定窗口是最高端窗口,则该句柄标识了在Z序最高端的最高端窗口;如果指定窗口是顶层窗口,则该句柄标识了在z序最高端的顶层窗口:如果指定窗口是子窗口,则句柄标识了在Z序最高端的同属窗口。

GW_HWNDLAST :返回的句柄标识了在z序最低端的相同类型的窗口。如果指定窗口是最高端窗口,则该柄标识了在z序最低端的最高端窗口:如果指定窗口是顶层窗口,则该句柄标识了在z序最低端的顶层窗口;如果指定窗口是子窗口,则句柄标识了在Z序最低端的同属窗口。

GW_HWNDNEXT :返回的句柄标识了在Z序中指定窗口下的相同类型的窗口。如果指定窗口是最高端窗口,则该句柄标识了在指定窗口下的最高端窗口:如果指定窗口是顶层窗口,则该句柄标识了在指定窗口下的顶层窗口;如果指定窗口是子窗口,则句柄标识了在指定窗口下的同属窗口。

GW HWNDPREV :返回的句柄标识了在Z序中指定窗口上的相同类型的窗口。如果指定窗口是最高端窗口,则该句柄标识了在指定窗口上的最高端窗口;如果指定窗口是顶层窗口,则该句柄标识了在指定窗口上的顶层窗口;如果指定窗口是子窗口,则句柄标识了在指定窗口上的同属窗口。GW_OWNER :返回的句柄标识了指定窗口的所有者窗口(如果存在)。返回值:如果函数成功,返回值为窗口句柄;如果与指定窗口有特定关系的窗口不存在,则返回值为NULL。

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
I 数学分析(Proofs) 简介(Introduction) 0.1 参考文献(References) 1 什么是证明?(What is a Proof?) 1.1 命题(Propositions) 1.2 谓词(Predicates) 1.3 公理化方法(The Axiomatic Method) 1.4 我们的公理(Our Axioms) 1.5 证明命题的含义(Proving an Implication) 1.6 证明「有且仅有」(Proving an「If and Only If」) 1.7 案例证明(Proof by Cases) 1.8 反证法(Proof by Contradiction) 1.9 证明的实战演练(Good Proofs in Practice) 1.10 参考文献(References) 2 良原则(The Well Ordering Principle) 2.1 良证明(Well Ordering Proofs) 2.2 良证明模式(Template for Well Ordering Proofs) 2.3 素数因子分解(Factoring into Primes) 2.4 良集合(Well Ordered Sets) 3 逻辑公式(Logical Formulas) 3.1 命题中的命题(Propositions from Propositions) 3.2 计算机程中的命题逻辑(Propositional Logic in Computer Programs) 3.3 等价性和有效性(Equivalence and Validity) 3.4 命题的代数(The Algebra of Propositions) 3.5 SAT 问题(The SAT Problem) 3.6 谓词公式(Predicate Formulas) 3.7 参考文献(References) 4 数学上的数据类型(Mathematical Data Types) 4.1 集合(Sets) 4.2 列(Sequences) 4.3 函数(Functions) 4.4 二元关系(Binary Relations) 4.5 有限基数(Finite Cardinality) 5 简介(Induction) 5.1 一般归纳法(Ordinary Induction) 5.2 强归纳法(Strong Induction) 5.3 强归纳法、一般归纳法和良法(Strong Induction vs. Induction vs. Well Ordering) 6 状态机(State Machines) 6.1 状态和转换(States and Transitions) 6.2 不变量原则(The Invariant Principle) 6.3 部分正确性和终止(Partial Correctness & Termination) 6.4 稳定婚姻问题(The Stable Marriage Problem) 7 递归数据型(Recursive Data Types) 7.1 递归定义和结构归纳法(Recursive Definitions and Structural Induction) 7.2 Matched Brackets 字符串(Strings of Matched Brackets) 7.3 非负整数递归函数(Recursive Functions on Nonnegative Integers) 7.4 算术表达式(Arithmetic Expressions) 7.5 递归数据型在计算机科学中的简介(Induction in Computer Science) 8 无限集(Infinite Sets) 8.1 无限基数集(Infinite Cardinality) 8.2 停止问题(The Halting Problem) 8.3 集合的逻辑(The Logic of Sets) 8.4 这些真的有效吗?(Does All This Really Work?) II 结构(Structures) Introduction 9 数论(Number Theory) 9.1 可分性(Divisibility) 9.2 最大公约数(The Greatest Common Divisor) 9.3 神秘的素数(PrimeMysteries) 9.4 算术的基本定理(The Fundamental Theorem of Arithmetic) 9.5 Alan Turing 9.6 模运算(Modular Arithmetic) 9.7 余数运算(Remainder Arithmetic) 9.8 Turing's Code (Version 2.0) 9.9 乘法逆运算和消除(Multiplicative Inverses and Cancelling) 9.10 欧拉定理(Euler's Theorem) 9.11 RSA 公钥加密(RSA Public Key Encryption) 9.12 SAT 与它有什么关系?(What has SAT got to do with it?) 9.13 参考文献(References) 10 有向图和部分排(Directed graphs & Partial Orders) 10.1 顶点度(Vertex Degrees) 10.2 步长与路径(Walks and Paths) 10.3 临近矩阵(Adjacency Matrices) 10.4 Walk Relations 10.5 有向非循环图标和时(Directed Acyclic Graphs & Scheduling) 10.6 局部排(Partial Orders) 10.7 通过集合遏制表征局部排(Representing Partial Orders by Set Containment) 10.8 线性排(Linear Orders) 10.9 乘积排(Product Orders) 10.10 等价关系(Equivalence Relations) 10.11 关系属性总结(Summary of Relational Properties) 11 通信网络(Communication Networks) 11.1 路由(Routing) 11.2 Routing Measures) 11.3 网络设计(Network Designs) 12 简单图(Simple Graphs) 12.1 Vertex Adjacency and Degrees) 12.2 美国性别人口统计(Sexual Demographics in America) 12.3 一些常见的图(Some Common Graphs) 12.4 同构(Isomorphism) 12.5 二部图&匹配(Bipartite Graphs & Matchings) 12.6 Coloring 12.7 Simple Walks 12.8 连接(Connectivity) 12.9 森林和树(Forests & Trees) 12.10 References 13 平面图(Planar Graphs) 13.1 在平面中绘制图(Drawing Graphs in the Plane) 13.2 平面图的定义(Definitions of Planar Graphs) 13.3 欧拉公式(Euler's Formula) 13.4 在平面图中限定边的数量(Bounding the Number of Edges in a Planar Graph) 13.5 Returning to K5 and K3;3 13.6 Coloring Planar Graphs 13.7 Classifying Polyhedra 13.8 平面图的另一种特征化(Another Characterization for Planar Graphs) III 计数(Counting) Introduction 14 逼近求和(Sums and Asymptotics) 14.1 养老金的价值(The Value of an Annuity) 14.2 幂级数求和 Sums of Powers) 14.3 逼近求和(Approximating Sums) 14.4 Hanging Out Over the Edge) 14.5 乘积(Products) 14.6 Double Trouble 14.7 渐进的符号表示(Asymptotic Notation) 15 基数法则(Cardinality Rules) 15.1 由计算另一项计算该项(Counting One Thing by Counting Another) 15.2 计算列(Counting Sequences) 15.3 广义乘积法则(The Generalized Product Rule) 15.4 除法法则(The Division Rule) 15.5 子集计算(Counting Subsets) 15.6 重复列(Sequences with Repetitions) 15.7 Counting Practice: Poker Hands 15.8 鸽巢原理(The Pigeonhole Principle) 15.9 包含与排斥(Inclusion-Exclusion) 15.10 组合证明(Combinatorial Proofs) 15.11 References 16 母函数(Generating Functions) 16.1 无穷级数(Infinite Series) 16.2 使用母函数进行计数(Counting with Generating Functions) 16.3 部分分式(Partial Fractions) 16.4 求解线性递归(Solving Linear Recurrences) 16.5 形式幂级数(Formal Power Series) 16.6 References IV 概率论(Probability) Introduction 17 事件和概率空间(Events and Probability Spaces) 17.1 Let's Make a Deal 17.2 四步法(The Four Step Method) 17.3 Strange Dice 17.4 生日原则(The Birthday Principle) 17.5 集合论和概率论(Set Theory and Probability) 17.6 References 18 条件概率(Conditional Probability) 18.1 Monty Hall Confusion 18.2 定义和符号(Definition and Notation) 18.3 条件概率的四步法(The Four-Step Method for Conditional Probability) 18.4 为什么树状图如此有效(Why Tree Diagrams Work) 18.5 全概法则(The Law of Total Probability) 18.6 辛普森悖论(Simpson's Paradox) 18.7 独立性(Independence) 18.8 相互独立性(Mutual Independence) 18.9 概率与置信度(Probability versus Confidence) 19 随机变量(Random Variables) 19.1 随机样本(Random Variable Examples) 19.2 独立性(Independence) 19.3 分布函数(Distribution Functions) 19.4 期望(Great Expectations) 19.5 线性期望(Linearity of Expectation) 20 平均偏差(Deviation from the Mean) 20.1 马尔可夫定理(Markov‘s Theorem) 20.2 切比雪夫定理(Chebyshev's Theorem) 20.3 方差的性质(Properties of Variance) 20.4 随机样本估计(Estimation by Random Sampling) 20.5 估计置信度(Confidence in an Estimation) 20.6 随机变量加和(Sums of Random Variables) 20.7 Really Great Expectations 21 随机步(Random Walks)
Shop7z网上购物系统旗舰版集众家之所长,大气超美观页面+商品组合套餐+限时抢购秒杀+图片批量上传+淘宝数据包导入+可选手机版+弹出式分类菜单+不同规格不同价格+新订单邮件通知+销售报表打印与Excel输出+物流跟踪打印查询+会员积分及优惠券+邮件群发+图片在线管理+销售统计报表+五种价格体系+礼品礼券等等等。。。。 Shop7z网上购物系统旗舰版采用弹出式动态商品分类菜单,是当今非常流行的菜单模式,集大分类—小分类—子分类于一体弹出直观展示,同时分类菜单右侧会显示本分类的最新商品信息,非常美观! Shop7z旗舰版整合了商品组合套餐功能,即可以任意选择几款商品作为一个商品套餐来让用户购买,然后设定一个更低廉的价格,购买一个套餐即购买了本套餐中包含的所有商品,即让用户得到了实惠,也使网站的销售业绩更加突出诱人。网站商品可以任意灵活组合、重复组合套餐,在每个商品的展示页中都会显示它所隶属的组合类别,这也是Shop7z独有的网站促销宝典。 Shop7z网上购物系统旗舰版支持限时抢购秒杀活动,加入限时抢购的商品均可设置限时抢购的结束时间,期间商品页会倒计时显示抢购时间,此期间可以对加入抢购的商品设置更低一些的价格,吸引人们对商品的购买欲望,到期结束后会页面会自动显示抢购结束,但可以继续原价购买,这是网店非常流行的销售模式。 Shop7z率先支持不同规格不同价格功能!!添加宝贝时可以设置任意组规格的不同价格,例如某一商品有多种型号,但不同型号价格不同,就可以设置不同的型号对应的不同价格,用户在购买此商品时须选择的型号不同价格也会不同。此功能和淘宝中的套餐功能是一样的,是当今开网店中必不可少的功能。 Shop7z系统增加新订单邮件通知功能,后台可设置开启或关闭。管理员可以自定义新订单邮件通知的具体内容,有客户下订单后,系统会自动给下单者及管理员发送邮件,比如设置用QQ邮箱,QQ系统会自动弹出邮件通知,非常方便! Shop7z网上购物系统支持多种排浏览,方便用户过滤、选择浏览商品,非常人性化。如支持按价格、人气、销量的上下排,以及按文字或图片式浏览显示,同时还支持每页商品个数的自定义浏览,如此智能化的功能大大提高了人们的浏览积极性。 支持邮件群发功能,此功能需要服务器支持Jmail组件,在设置好邮件服务器后,可以在线实现邮件群发,支持选择商城的注册用户,系统自动读取用户邮箱地址,在线给商城用户群发邮件,邮件内容支持图文混排、上传图片等信息。 Shop7z网上购物系统新增管理员登陆日志功能,对所有试图登陆后台的信息均自动记录,大大提高了网站的安全性,对管理员排查安全隐患提供了最有力的证据,同时新增图片在线管理功能,对添加商品、新闻等一切信息所上传的图片,可以在线归类浏览,同时还可以清理不需要的图片,进行删除,以节约宝贵的网站空间资源, Shop7z旗舰版支持立即购买功能,此功能也叫快速购买,支持匿名购买,在商品中直接立即购买,输入送货的基本信息即可提交订单,并可完成在线支付过程,省去了正常购物中若干个下一步的繁琐过程,使购物简洁明了一步到位!当然系统同时支持正常的下单购物流程,可以方便的查看订单、管理个人资料等信息。 强大的广告位管理也是本系统的一大特色。Shop7z网上购物系统旗舰版除了可以设定某个分类在首页展示之外,还可以对在首页展示的分类设置扩充广告位,每个分类支持设置最多5个广告图片,即分类越多广告位越多,分类右侧同时会显示本类别下的10个小类,这样能够满足不同开店客户的需求! Shop7z网上购物系统拥有强大的管理功能和完善的在线支付平台体系。后台管理菜单合理分配,管理目录清晰明了。支持多种最新版本在线支付接口,如支付宝、网银在线、财付通等接口,支持多级商品分类划分功能,可以方便的划分各商品类别的上下级关系,支持单商品多分类展示功能,订单方面设计完美,如支持订单模糊查询、订单状态的编辑及打印等功能,灵活的DIY可以设置首页类别商品在首页显示的位置及状态。 商品管理方面,支持商品批量在线修改,一次性批量修改商品名称、价格、所属品牌等信息。同时系统支持单个商品分属两个分类功能,对于某些行业是很适用的,支持商品价格5级会员显示,相应会员显示对应价格功能。支持商品多图预览功能!鼠标指向图片移到位置,可以对图片细节进行观看,同时支持商品图片批量上传,对已上传的图片可以重复调用,系统还支持某些行业的尺码与颜色选择功能,以及购买量的设置,同时支持网页分享与收藏功能,最大限度的留住客户。 Shop7z网上购物系统支持自定义导航条及首页功能。商品分类管理功能一气呵成,可以方便的设置商城三级分类,以及对商品分类的从属关系的设置。支持商城首页导航条自定义,根据个人需要,可以设置某个商品分类是否在导航条上显示,设置后的导航条鼠标指向相应分类同时会显示出所有下属类别,点开后显示相应商品;强大的DIY首页功能同样如此,除了特价和促销商品外,可以设置某个类别下的商品是否于首页显示,合理的设置类别显示不仅使网站显的大气,而且会使网站内容丰富充沛。 完善的购物流程体系是Shop7z的显著特色!首先后台设置网站的送货方式以及相应的金额,并设置好支付方式即在线支付设置,各在线支付开关及配置以及收款帐号等信息。用户通过前台购物车购物提交订单后,可以输入自己的收货信息,然后选择送货方式即可,系统会根据不同的送货方式自动调整送货费用并计入订单价格,最后选择要用的支付方式,如支付宝、财付通等支付方式进行付款即可。如果用户在下完订单后并未及时付款,通过用户中心的订单管理也可以再次发起付款操作。 Shop7z网上购物系统支持淘宝数据批量导入,您在淘宝开店的同时,可以一次性批量把淘宝网上的店铺商品批量导入网趣商城旗舰版,大大减轻了您的重复工作。只需点击导入即可全部完成,让您的网店与淘宝网数据同步更新。 Shop7z网上购物系统现已整合最新版Kindeditor编辑器。全新编辑器执行速度更快、效率更高。兼容所有浏览器。彻底解决原有编辑器只支持IE的垢病!。新版编辑器同时增加图片在线批量上传功能,可以单次上传任意张图片一次搞定!。且支持图片在线批量预览、重复调用功能。增加谷歌地图在线调用。可以调用全球任何位置的地理位置并插入。支持文件、文件、视频在线上传。大大的方便了使用。 商品品牌划分。系统支持商品品牌分类功能,支持品牌LOGO上传功能。商品列表页支持多种分类浏览,包括一行四个商品图片式、单条商品小图列表显示以及纯文字式显示,可以根据不同喜好自行选择,商品搜索方面支持按品牌、编号、名称进行模糊查询操作。 Shop7z拥有强大的订单管理功能,具体表现在: 一、支持按订单号码查询和按下单用户以及日期查询订单,支持模糊查询功能。 二、支持按点选查看订单6种状态下的所有订单信息 三、支持订单的快递单打印功能 四、支持物流单号、发货日期等填写设置功能。 五、支持订单文本打印!本功能以纯文本加普通单线黑表格方式进行打印订单,方便归纳与统计!  六、前台导航条支持订单搜索,方便及时查看订单的实时状况 七、支持发货管理,填写物流公司及单号后发货,系统自动进入发货状态。 八、商品销售报表统计!按日期统计一段时间内商品订单状态 九、支持订单优惠券。优惠券抵减相应订单金额的功能。。 十、支持新订单邮件自动通知,支持DIY订单邮件内容 十一、支持商品销售报表打印+报表Excel输出功能! 支持商品评论与留言功能。客户可以在商品页对商品进行评论,后台审核后显示并可回复评论内容增加互动。同时商城留言版可以对商城进行留言,管理员同样可以回复及删除操作。 支持网站友情链接设置。Shop7z支持网站LOGO图片或文字式友情链接,并可设置显示方式,支持网站调查栏目功能,可以发起调查信息,根据用户投票显示调查结果。 Shop7z网上购物系统采用当今流行的全屏幕的风格,流行而时尚,独特且新颖!优美的外观设计、给用户以美的视觉冲击,这是您网店成功的第一步。系统拥有多种广告位,所有广告图片内容均可以直接在线上传管理。首页大图切换广告不仅可以设置图片链接还可以设置提示文字,是非常不错的促销广告。系统支持滚动发货管理显示。系统将根据订单状态,自动读取已发货订单信息并滚动显示, 已付款的客户提供方便的查询服务。 支持积分兑换礼品功能,用户通过购物获赠的积分可以到礼品礼券栏目选择自己喜欢的礼品进行兑换。同时支持优惠券功能设置,均可在后台添加,如购物满一定金额赠送100元优惠券,客户下次购物时可以使用优惠券抵减订单金额,是一种非常不错的促销手段。同时购物车环节同样支持购物满一定金额满运费的设置。这些都是网上开店中常用的促销模式,非常实用。 支持网站底部帮助栏目自定义。可以设置商城底部如购物指南、运货说明、支付方式、服务政策、关于我们中的内容信息,自由增加或删除,网站最底部版权信息支持图文混排的编辑模式,根据自己的喜爱自由编辑该区域的内容。 Shop7z网上购物系统支持客服QQ浮动聊天功能,可以设置多个QQ号码,系统准确判断在线状态,同时还支持旺旺、MSN在线聊天设置功能,客服菜单状态可开启或关闭。 系统集多种智能化开关设置于一体,后台可以对网站的初始化进行方便的设置,如模板方面支持多种色调的设置、首页显示的新新闻条目数、商品的列数行数、以及商品的小图尺寸等等。 为确保网站数据万无一失,系统拥有强大的数据库在线管理功能。系统支持在线备份数据库、并支持在线恢复数据,也可以选择不同的备份进行恢复。支持数据库压缩功能,这是非常实用的功能,如网站商品过多,数据库会变得庞大且有冗余数据,使用压缩功能可使数据库大大减小,同时也会提高页面打开速度。支持查看当前数据库大小、下载数据库备份的功能。支持删除备份的数据库功能。为网站及时进行备份和恢复提供了良好的支持! Shop7z网上购物系统具有大的关键词设置功能,整个网站可以设置其搜索关键词,在SEO方面表现出众,可以设置任意个商品不同的搜索关键字和描述,同时经过优化过程在搜索引擎优化上有了更大的飞跃,用户只需要通过在后台进行相关优化设置即可轻松实现在各大搜索引擎的靠前显示。 商城会员管理。管理员可以设置前台已注册用户的所有信息,如可以设置用户的帐号状态是否可用、会员身份级别、联系方式等,还可以查看某个会员的所有订单信息统计。还支持用户根据密码提示问题和答案找回密码功能。管理员设置方面可以添加任意个管理员帐号信息,并设置不同的管理权限,方便权限的划分。 灵活多变的配送计费模式。Shop7z网上购物系统拥有超强的送货计费方式。系统支持按普通计件和按重量计费两种模式,普通计件适合大部分商城使用,根据用户选择的送货方式不同计费即可。对于量大批发的商城,如超重物品则可以按运费计件,根据重量不同、送货地址不同分别设置计费模式。 支持商城新闻发布。可以添加网站新闻内容,标题支持Html语法调用,同时增加新闻搜索功能,可以对新闻标题进行模糊搜索便于查找已发布过的内容。 支持商品最近浏览功能,可以为用户列出最近所浏览过的所有商品记录,方便用户收藏或购买自己喜欢的商品,提高用户的购买欲望,为用户提供了很好的浏览保存记录功能。 在线支付方面,支持支付宝、财付通中介担保交易接口,支持北京网银在线和Pyapal贝宝接口,所有接口均为最新版本确保可用。用户只需到相应网站上申请支付帐号即可使用,所有接口系统均已订成。可以任意设置所有接口的开关,对于不需要用的接口直接关闭即可。
C语言常见错误小结 2008-06-12 10:55:08 C语言的最大特点是:功能强、使用方便灵活。C编译的程对语法检查并不象其它高级语言那么严格,这就给编程人员留下 “灵活的余地”,但还是由于这个灵活给程的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。看着有错的程 ,不知该如何改起,本人通过对C的学习,积累了一些C编程时常犯的错误,写给各位学员以供参考。 1.书写标识符时,忽略了大小写字母的区别。 main() { int a=5; printf("%d",A); } 编译程把a和A认为是两个不同的变量名,而显示出错信息。C认为大写字母和小写字母是两个不同的字符。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。 2.忽略了变量的类型,进行了不合法的运算。 main() { float a,b; printf("%d",a%b); } %是求余运算,得到a/b的整余数。整型变量a和b可以进行求余运算,而实型变量则不允许进行“求余”运算。 3.将字符常量与字符串常量混淆。 char c; c="a"; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符列。C规定以“\”作字符串结束标志,它是由系统自动加上的,所以字符串“a”实际上包含两个字符:‘a'和‘\',而把它赋给一个字符变量是不行的。 4.忽略了“=”与“==”的区别。 在许多高级语言中,用“=”符号作为关系运算符“等于”。如在BASIC程中可以写 if (a=3) then … 但C语言中,“=”是赋值运算符,“==”是关系运算符。如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。 5.忘记加分号。 分号是C语句中不可缺少的一部分,语句末尾必须有分号。 a=1 b=2 编译时,编译程在“a=1”后面没发现分号,就把下一行“b=2”也作为上一行语句的一部分,这就会出现语法错误。改错时,有时在被指出有错的一行中未发现错误,就需要看一下上一行是否漏掉了分号。 { z=x+y; t=z/100; printf("%f",t); } 对于复合语句来说,最后一个语句中最后的分号不能忽略不写(这是和PASCAL不同的)。 6.多加分号。 对于一个复合语句,如: { z=x+y; t=z/100; printf("%f",t); }; 复合语句的花括号后不应再加分号,否则将会画蛇添足。 又如: if (a%3==0); I++; 本是如果3整除a,则I加1。但由于if (a%3==0)后多加了分号,则if语句到此结束,程将执行I++语句,不论3是否整除a,I都将自动加1。 再如: for (I=0;I<5;I++); {scanf("%d",&x); printf("%d",x);} 本意是先后输入5个数,每输入一个数后再将它输出。由于for()后多加了一个分号,使循环体变为空语句,此时只能输入一个数并输出它。 7.输入变量时忘记加地址运算符“&”。 int a,b; scanf("%d%d",a,b); 这是不合法的。Scanf函数的作用是:按照a、b在内存的地址将a、b的值存进去。“&a”指a在内存中的地址。 8.输入数据的方式与要求不符。 ①scanf("%d%d",&a,&b); 输入时,不能用逗号作两个数据间的分隔符,如下面输入不合法: 3,4 输入数据时,在两个数据之间以一个或多个空格间隔,也可用回车键,跳格键tab。 ②scanf("%d,%d",&a,&b); C规定:如果在“格式控制”字符串中除了格式说明以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。下面输入是合法的: 3,4 此时不用逗号而用空格或其它字符是不对的。 3 4 3:4 又如: scanf("a=%d,b=%d",&a,&b); 输入应如以下形式: a=3,b=4 9.输入字符的格式与要求不一致。 在用“%c”格式输入字符时,“空格字符”和“转义字符”都作为有效字符输入。 scanf("%c%c%c",&c1,&c2,&c3); 如输入a b c 字符“a”送给c1,字符“ ”送给c2,字符“b”送给c3,因为%c只要求读入一个字符,后面不需要用空格作为两个字符的间隔。 10.输入输出的数据类型与所用格式说明符不一致。 例如,a已定义为整型,b定义为实型 a=3;b=4.5; printf("%f%d\n",a,b); 编译时不给出出错信息,但运行结果将与原意不符。这种错误尤其需要注意。 11.输入数据时,企图规定精度。 scanf("%7.2f",&a
黑金开发板的例程代码,可以用来学习FPGA与软件结合的开发设计 ALINYO ZYNQ开发平台基础教程 文档修订记录 版本时间 描述 1.01 2019/3/8 初始版本 我们承诺本教程并非一劳永逸,固守不变的文档。我们会根据论坛上大家的反馈意见,以 及实际的开发实践经验积累不断的修正和优化教程 http://www.alinx.com.cn 3/391 ALINYO ZYNQ开发平台基础教程 首先感谢大家购买芯驿电子科技(上海)有限公司出品的zYNQ的开发板AX7z035!您 对我们和我们产品的支持和信任给我们增添了永往直前的信心和勇气。 播下一粒种子,收获一片森林”,更是芯驿电子科技(上海)有限公司的美好愿望,同 时我们会在黑金动力社区hp:www.heijin.org和大家一起讨论,一起学习,一起进步,一起 成长。 http://www.alinx.com.cn 4/391 ALINYO ZYNQ开发平台基础教程 目录 版权声明 目录 245 第一章软件包说明和开发板检测∴…….… ,11 11软件包说明. 12开发板检测 121检测需要自备的工具… 12.2开发板线缆连接… 15 123开始测试… ∴17 第二章ZYNQ简介… 2 21PS和PL互联技术…… 22 22zYNQ芯片开发流程的简介 23学习zYNQ要具备哪些技能 .29 231软件开发人员 29 23,2逻辑开发人员 29 第三章 vado开发环境 30 3vado软件介绍 30 32 /vado软件版本 30 33vado软件 Windows下安装 31 第四章PL的“He‖ o World led实验.. 41LED硬件介绍… 38 4.2创建 Vivado工程. 43创建 Verilog HDl文件点亮LED. 44 44添加管脚约束 .49 45添加时约束… 53 4.6生成B『T文件…… 58 4.7下载调试… 60 第五章HDM输出实验 53 51硬件介绍… ∴63 52程设计… 5.3添加XDC约束文件 65 54下载调试 66 55实验总结 .167 第六章HDM|直通A调试实验 168 http://www.alinx.com.cn 5/391 ALINYO ZYNQ开发平台基础教程 61硬件介绍… 62程设计 68 63使用 Vivado调试…………………8 64下载调试 ..73 65实验总结 66常见问题… 76 661网络被综合以后找不到… 662找不到 Debug内核 第七章PL端DDR3读写测试实验…. 77 71硬件介绍 7 7.2 Vivado工程建立 721创建一个PL端ddr3测试工程 78 7.2.2配置ddr3|P. 79 72.3添加其他测试代码 95 73下载调试 74实验总结 95 第八章GTX收发器误码率测试 IBERT实验 ∴96 81硬件介绍… 96 82 Vivado工程建立 83编译下载调试…… 100 84实验总结 a.a...::::aaa. 102 第九章体验ARM,裸机翰出" Hello world 103 91硬件介绍 103 92 Vivado工程建立 103 93SDK调试 112 94实验总结 124 95常见问题 .124 951通过 vivado启动SDK后没有窗口弹出….. 124 第十章PS点亮P的LED灯… 126 101Vⅳado工程建立 .:::::a::.a::::::a( 126 10.2XDC文件约束P管脚. 134 103SDK程编写 36 104下载调试 139 105实验总结… 141 第十一章Ps定时器中断实验… 142 111 Vivado工程建立 .142 112SDK程编写. 143 113下载调试 147 http://www.alinx.com.cn 6/391 ALINYO ZYNQ开发平台基础教程 114实验总结 .148 第十二章P按键中断实验 149 121 Vivado工程建立… 149 122下载调试 .153 12.3实验总结 158 第十三章以太网实验(W|P)… ∴159 131Vado工程建立 159 1311Ps端的以太网配置 160 1312PL端AX以太网配置… 161 1313添加约束文件 灬170 132SDK程… .::::::::.·:::·:.::.:::::::::::·:.:· 171 132WP库修改 171 132.2创建基于LWP模板的APP 177 133下载调试… 178 1331PL端以太网测试 1332PS端以太网测试… 180 134实验总结 .182 第十四章自定义P实验… 183 141PWM介绍… ∴183 4.2 vado工程建立 184 1421创建一

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值