在设计中经常会使用的对比方法有哪些?
1、字体颜色对比
运用色彩对比的文字排版可以起到突出重点、区分信息、装饰画面的作用,同时不同的颜色可以传递不同的情感,合理的运用色彩对比,可以让设计更符合所它所表达的内容的属性,在标题设计中会比较常用到此手法。
2、图文对比
图片与文字的组合方式有很多种,如:并列排版、文字绕排、图叠文、文叠图等等,图片出现的形式主要分规则的几何形和不规则的异形两种,这些我们都可以根据实际需要进行选择。
纯文字的版面虽然也可以排得很好看,但是会缺少有图片时的视觉冲击、感染力和美感,如果把图片去掉全填满文字,该版面的张力与美感瞬间就没有了。
3、立体字与扁平字对比
这种对比效果在广告设计中比较常见,例如把标题设计成3D的立体效果,副标或者内文用扁平效果,或者某个画面的主视觉就是立体,标题则直接用扁平字等等,出来的效果也很不错,空间感和视觉冲击力很强。
以上就是关于平面设计中常用的对比方法的分享,希望对大家有所帮助,想要了解更多内容,欢迎关注本平台。
重复、对比、对齐以及亲密性是版式设计中的四大原则,各种排版形式与规则都是基于这四大原则衍生而来,而掌握这些具有指导性的设计原则,能够帮助我们在短时间内,更快更好地达成设计目标。本期给大家讲解四大原则之 —— 对比原则。什么是对比原则「对比」强调事物之间的差异性,在设计时要避免页面上的视觉元素太过相似,如果元素之间是为了有所不同,那么加大反差,确保对比明显、页面清晰是很有必要的。在生活中我们可以随处发现对比的存在,对比形式也是多种多样的:人们习惯了生活中的对比,如果画面没有对比,会让人觉得单调乏味。对比可以突出重点,使版面具有层次感,内容要点展示更有条理,对比关系越清晰,视觉效果越强烈。有了对比,画面才会生动活泼、主次分明。对比的作用1. 突出重点恰当的对比可以很好的制造出焦点(画面主体),在版式编排中,有效利用视觉差异,通过构成要素之间的对比,把读者的注意力吸引到画面的主体部分上来,提高版面的注目效果,是版式设计的重中之重。利用鲜明的对比,可以形成强有力的反差效果,能第一时间让读者捕捉到主体和重点。此案例主要采用了色彩对比,主体人物和文字在版面中都异常显眼,因为它相比周围的视觉元素产生了很强的差异性。2. 丰富画面层次对比是版面建立有组织的层次结构最有效的方法。强烈的对比可以形成视觉落差,建立良好的信息层次,增强版面的节奏和明快感。3. 打破呆板、活泼生动通过对比的形式可以避免版面的单调与平淡,使版面更富趣味性,也使得版面更加鲜活、生动,产生良好的视觉体验,激发读者阅读和观看的兴趣。用方向、大小和色彩形成对比,使标题与正文的层级更清晰明了,同时加入肌理对比为主体打造立体感,让版面更活泼,更抓人眼球。文字编排对比理论上元素的一切可改变特征都是可以形成对比,本期只举例了部分常用的文字编排对比形式。1. 大小对比通过视觉元素体量之间的差异,来达到制造视觉冲突的效果。视觉元素体量大小上形成了层级的划分,体量越大则层级越高,也就越突出。在版面需要呈现的信息里一般会有标题、小标题、内文之分,也会有重点信息和非重点信息。把重要的信息放大,次要信息缩小,就形成了大小对比。这样做的好处是可以减少次要信息对重要信息的干扰,使之更容易被接收,大小对比还能使版面的层次更丰富。2. 粗细对比粗的字体比较沉重,细的字体比较轻盈,字体粗细变化形成了轻重对比。主体信息可以用较粗的字体,次要信息使用较细的字体,利用这种手法制造视觉流线,引导受众阅读信息。上面的案例中,只使用了思源黑体一种字体,但是采用不同的字体大小和粗细对比,也可以很好的区分信息主次层级。3. 字型对比如果版面里的信息比较多,而只使用一种字体的话,也许会显得单调,用字型进行对比,既能把不同的信息区别开来,也能丰富版面。不同的字体有不同的气质,而字型的对比就是不同气质的碰撞。在进行字型对比的时候也要深层次考虑:字型的选择是否和主体内容相匹配,字体的风格能形成多大反差等。4. 色彩对比运用色彩对比可以有效地突出重点、区分信息,还可以起到装饰画面的作用。大面积的背景色与少量的主体色形成了很强烈的对比效果,能够第一时间把读者视觉引导到文字信息和主角上。高明度、高饱和度的黄色主体文字和低明度、高冷的黑色背景形成强烈反差,使版面充满活力,也有效突出了文字信息。5. 方向对比把版面中的文字信息分别朝不同的方向排列,可以有效增加版面的动感和空间感。6. 疏密对比将大段的文字密集排版,可以让文字形成块状、视觉上更紧凑。剩下来的大面积可以用来展示画面主题,通过这样的疏密变化不但可以形成好的阅读节奏,也能更强化主题。7. 肌理对比肌理是指物体表面的组织纹理结构,不同的材质具有不同的触感和视觉体现。文字或背景添加肌理,运用粗糙与细腻、质朴与华丽、厚重与轻薄等对比,可以增添画面的丰富度和表现力。主体「叶」书法字有着手写的动感,本身就具有质感,置入水墨的纹理进一步强调了效果。可以很好的区分文字信息的主次关系,也增加了画面的视觉美感和艺术表现力。8. 动静对比在版式设计中常把有扩散感或具有流动性的图形或文字的编排称为「动」;而把水平或垂直性强、具有稳定性的图形或文字的编排称为「静」。「动」使整个版面充满活力,获得更高的注目度,而「静」使版面具有稳定的效果,将两者相结合可以产生一定的空间层次感。电影海报《影》恣意狂放的反白书法字作为背景具有强烈动感,和主角的静形成鲜明的对比,阴阳与刚柔并济,反映出浓浓的古典中式美学。9. 空间对比版式设计并不局限于一个平面上的层次,也可以让元素有一些前后关系。文字与形象之间叠压或前后错落编排,使版面出现层次关系,让版面更生动活泼。虚实对比也可以营造出空间层次,使用虚化的背景来突出前景,不仅能突出重点信息,而且能够较好营造氛围感、场景感和立体感。使用远近对比体现空间关系,根据透视原理,近则大,远则小,可以营造出近景、中景、远景的画面层次感。案例演示一为了让大家加深对「对比原则」的理解,提取本期文章的主要内容作为原始资料,运用「对比原则」进行设计示范。运用「亲密性原则」进行信息的分组和距离的调整;排版时要遵循「对齐原则」;运用「对比原则」进行信息层级主次的划分,加入文字大小、粗细对比;运用「重复原则」把同一级别的文字设置为相同的文字样式,增加条理性,加强统一性。
画面应该既要有对比、变化,又要有调和、统一。一切设计作品,只有处理好构图的对比与调和的关系,才能取得好的画面效果。
我们可以将构图的对比主要分为聚散对比、大小对比、方向对比、曲直对比、明暗对比六个方面。
①聚散对比。聚散对比指的是密集的图形和松散的空间所形成的对比关系。处理好这个关系,应注意保持好各个聚集点之间的位置联系,并且要有主要的聚集点和次要的聚集点之分。
②大小对比。大小对比容易表现出画面的主次关系。在设计中,经常把主要的内容和比较突出的形象,处理的较大些。
③曲直对比。曲直对比指的是曲线与直线的对比关系。画面中过多的曲线会给人不安定的感觉;而过多的直线又会给人过于呆板、停滞的印象。所以,应采用曲直相结合的方法。注意:这里讲的直线包括文字排列所形成的线。
④方向对比。凡是带有方向性的形象,都必须处理好方向的关系。在画面中,如果大部分元素的方向近似或相同,而少数元素的方向不同,就会形成“方向上”的对比。
⑤明暗对比。任何作品都必须有明暗关系的适当配置,不然会使画面浑沌而没有主次。
除了以上几种对比关系外,还有虚实、色彩、肌理等方面的对比关系,由于道理与上面是相同的,所以这里就不展开介绍了。在设计运用中,我们可以同时采用多种形式相结合的对比关系,使画面更加丰富多彩。
对比和变化是十分重要的构图技巧,在实际运用中,应注意对比因素之间的协调性。要做到画面中各个对比因素之间的协调统一:
①处理好全面的统筹安排,使画面的布局充实丰满,避免主体物偏挤在某个角落或平均分布。
②画面各部分要主次分明,同时主次关系要有联系。
③各对比因素之间,必须有疏密变化。
④注意画面明暗色调的对比,要有一定比例的重色块和亮色块。
⑤画面应注意整体的对比关系,避免过于繁琐的变化。
在设计中,运用对比的手法,突出某种形象和内容。例如:采用了曲线与直线的对比关系,使画面具有曲线柔美和动感的同时,又具有直线的直爽和豪迈感。推荐阅读:中规中矩!设计必备的构图法则!
任何一幅作品不能没有对比,但也绝不能没有调和。那么什么是调和呢?调和是指画面中各个组成部分整体上达到了和谐一致,并且能给人视觉上一定的美感享受。达到调和的最基本条件,就是在作品中必须有共同的因素存在。
①形象特征的统一。形象特征的统一是指整体的特征风格要调和统一,在多种形象元素存在的画面里,为达到形象特征的统一。
②色彩的统一。首先在明暗关系上做到统一;其次在色相上做到统一,具体的说就是以同类色为主调,配置以适度的间色,再以少量的对比色加以提示,起到画龙点睛的效果。
③方向的统一。凡是带有长度的形象,都具有方向性,一般情况下,在画面整体中,要有一个主流方向,同时也要有适当的接近主流方向的支流加以配合,这样的作品才会给人以美感。
统一总是和变化同时存在的,在设计中应注意两者的协调关系。
①接近的方法。各种不同有变化的部分,距离接近的物体较容易产生结合感;距离都接近的图案,具有相同要素的更易显得统一。如形体的大小类同、色彩的接近、肌理造型特性的接近都容易具有统一感。
②连续的方法。在构图中会经常使用到这种方法,把各种不同的形态或各种不同的色彩的图形,用一根任意形状的线不断地连接起来,从而形成一个整体。
③拼贴的方法。该方法是指将不同而复杂的造型要素,按一定规律排列起来,从视觉上得到另外一个整体而统一的形态。
导航设计的目的就是需要突出产品的核心,扁平化用户的任务路径。让用户能够顺利的在产品中畅行,让用户时刻清楚自己在应用中所处的位置,及如何前往目的页面。
产品的导航系统,是产品的信息结构在用户界面上的展现方式。移动端产品导航的设计没有最好之说,只有最合适,根据你的产品采取最合适的导航设计。
纵观应用市场上的APP,导航设计的模式总是几种的组合使用。下面我们来看一下常见的几种导航设计模式。
描述:
1、当产品的整个体验流中是以几个常用功能模块(一般不超过5个)贯穿的,意味着用户需要在多个标签入口之间来回切换;为了保证切换的效率,将贯穿产品整个体验的流的模块平铺在Tab Bar位置,保证了用户任务路径的扁平。
2、iOS原装App Podcast,5Tab。
优点:
1、可见性好,位置明显,易于发现,它能让用户直观了解到APP的核心功能;
2、操作性好,用户很方便就能触及到这个区域,并可在几个标签中快速切换且不会迷失方向,简单而高效;
3、符合习惯、ios原生控件,开发简单;
4、优先级较高、用户使用频繁,彼此之间相互独立。
缺点:
1、容纳个数有限,一般最多五个(不然需要结合其他方式,运用层级和收放)。
2、占据高度空间略大,一般都是文字+图标的形式。
描述:
顶部Tab是谷歌提出来的,为了区分与iOS的区别的一种导航模式,由于在顶部,手指难以触及,所以谷歌对应地提出了手势操作的解决方法:通过在屏幕左右滑动来切换标签。
实际项目中,顶部与底部配合使用的挺多。其实就是holo条。
优点:
扩展性好: 标签的个数没有上限,不过太多的话,越是后面的页面渗透率会越低;
占据空间小: 相比于底部Tab,顶部Tab一般占据的空间更小(因为不需要考虑手指点击,所以可以把区域缩小,只选用图标或者文字即可),可以把更多的空间安排给内容展示。
手势操作非常方便。
缺点:
可见性略逊:这是空间占据的区域变小之后的后果。
描述:
1、点聚式它将多个核心功能聚汇到主界面中显示,方便用户呼出使用。会搭载其他导航样式出现(如标签式)成为舵式导航。
2、与标签导航类似,就点聚工导航与标签导航的结合体,其中一个导航标签蕴含更多的操作选项,也可以理解为标签中蕴含更多二级导航标签。当页面有处于同一层级的几大部分内容,同时又需要一个非常重要且频繁操作的入口,就可以采用这种APP导航模式。
优点:
1、把类似生产内容的主功能按钮放在中间,标签更加突出醒目;
2、同时该主功能标签做了功能扩展,也因此给设计增加了一些个性化的亮点。
缺点:
1、占据高度空间略大,一般都是文字+图标的形式。
描述:
当你的应用信息足够扁平,可以尝试轮播导航;
优点:
能够最大程度的保证应用的页面简洁性,操作也是最方便;
缺点:
不能够快速的定位对应的分页内容;
描述:
1、宫格式导航被广泛应用于各平台系统的中心页面;
2、用在二级页作为内容列表的一种图形化形式呈现,或作为一系列工具入口的聚合;
3、用户频繁切换的概率是比较低;
4、在不同的文章中可能被称作:跳板(图标卡片式)、磁贴式。
优点:
1、扩展性非常好,便于组合不同的信息类型(运营位、广告位、内容块、设置等);
2、视野范围内可以展示的功能入口多,能够让用户整体上了解APP提供的服务,从而选择自己所需要的那个服务;
3、静态、动态结合可以展示出丰富的信息,同时保持视觉统一;
4、跨平台不受平台限制。
缺点:
1、每个宫格相互独立,它们的信息间也没有任何交集,无法跳转互通;
2、当排布过多的时候,用户容易眼花缭乱,选择压力较大;
描述:
1、宫格导航的变式吧,可用来呈现实时内容,比如新闻、菜谱、文章或照片,可以采用网格布局(比如一直播和ins)或轮盘布局(比如格瓦拉电影),还可以采用幻灯片模式进行展示。
2、陈列馆式设计模式最适合呈现经常更新的、视觉效果直观、彼此独立的内容。
优点:
1、相较于列表导航、宫格式导航的不同在于,陈列馆式导航有更丰富的表现形式、更加随意的组合效果(瀑布流等)以及丰富的动态效果(轮盘、幻灯片形式);
2、直观展现各项内容。
缺点:
1、不适合展现顶层入口框架;
2、容易形成界面内容过多,显得杂乱;
3、设计效果容易呆板。
描述:
1、抽屉式也是谷歌提出来的一种导航模式,由于虚拟按键的存在,所以在安卓上使用底部Tab会造成双底栏,视觉观感不佳;
2、一般用来放置对用户而言不太常用或者对于产品而言不太核心的功能,或者不那么需要频繁切换内容的应用,例如对设置、关于、个人信息等内容的隐藏;
3、更多的被应用于信息流产品设计中,这类产品注重核心内容的展示,用户的任务路径较为单一,几乎都是用于浏览产品的核心内容;至于其他比较低频的模块入口则会隐藏在当前界面后方,避免冗余的模块抢夺用户的眼球;
4、在不同的地方可能被称为:扩展菜单、侧边导航、汉堡导航;
5、“2/8”法则告诉我们,80%的用户只用那些20%功能,这20%功能就是信息流里面的核心功能;如果那80%不常用的功能也占用着最重要的位置,那么用户就会被打扰,产生臃肿感,甚至会放弃使用产品。
优点:
1、节省页面展示空间,让用户将更多的注意力聚焦到当前页面;
2、由于导航界面是隐藏在屏幕之外,展开之后整一页面都是导航菜单内容,所以可扩展和个性化的空间很大;
3、扩展性好,导航的个数没上限。
缺点:
1、用户不易发现,使用次功能需要二次点击,给用户在切换功能带来了操作成本;
2、可见性太差,用户还没能把汉堡菜单按钮和侧边栏联系起来,所以,侧边栏的渗透率很低;
3、不直观、不适用于主导航、如遇频繁操作的功能,用户不断开关抽屉体验不好。
描述:
1、与抽屉式导航的目的相同,都是为了突出内容。一般位于产品顶部,通过点击呼出导航菜单;
2、通常用来筛选同一信息模块下不同类别的信息,或者快速启动某些常用的功能模块,而不需要频繁的页面跳转 ;
3、Android中对应的控件为spinner控件,但该控件用于同一类别下不同视图之间的切换,而不是跳转至完全不同的视图。iOS中下拉菜单为自定义控件,可以实现不同类别之间的切换;
4、下拉导航还有一种变式,就是下来菜单中展示两级甚至多级,一般在电商产品中比较常见,因为品类和筛选条件众多。
优点:
1、菜单与界面的连贯性比抽屉式要好,容易让用户感知当前位置;
缺点:
2、位于屏幕上方,相对隐蔽且不能结合手势操作,不适合于频繁的切换功能使用;
3、考虑到导航菜单的可用面积较小,所以一般采用列表的形式展示菜单内容。
描述:
1、作为信息组织框架,是我们在产品设计中必不可少的一个信息承载模式。
2、适合用来显示较长或拥有次级文字内容的标题,每行可以融入较多信息。
3、与宫格导航类似,常用于二级页面,不会默认展示任何实质内容,所以通常app不会在首页使用它;
4、无论ios开发和android 都有现成的列表布局插件和模板。
优点:
1、由上至下查看符合习惯;
5、结构清晰,易于理解,冷静高效,能够帮助用户快速的定位去到对应的页面。
缺点:
1、条目太多或分布不合理会导致用户查找困难;
2、不适合需要频繁切换任务的情况。
一、哪个比较赚钱?
哪个比较赚钱的话题?从短期看一般跟互联网相关的产业,他的赚钱能力要比其他行业要强,相关它附带的一些职业也会比其他岗位工资要高。UI只是其中一小部分的内容,真正到一定阶段的设计师,其实他们处理的都是视觉设计和产品设计的内容。
单纯UI设计做得好,只能在最初级的阶段能产生一定的作用。同样的从长远的角度看室内设计也是一个不错的选择,特别你是处在二三线城市的话,会更为明显。在这些城市,如果你学了界面设计的话,有可能根本就找不到工作,因为那边的环境不需要这个岗位。
当然,这些都是外部的因素。其实更多应该关注你究竟喜欢是什么?
二、你的兴趣究竟是什么?
需要了解两者究竟是什么?可以通过这两种岗位招聘的职责,能清晰看到他们的一个差异。上面所说的条款,你是否能接受?哪个听上去对你的吸引力更大?那便是你可能真正需要学习的部分。因为学习本身是一件极耗费精力的事情。如果一开始就选错的话,只有,即有可能产生重大的决策失误。进而对自己的能力产生严重的怀疑。所以初期阶段基于上述四点进行分析,是可靠和安全的。
三、在你的城市哪个的需求量比较大?
不同的城市,在行业内待遇也是有高有低,低的在一线城市也只有5K,高的15K+走到一定的年龄和经验,可以不用考虑城市的问题,这个时候比拼的就是思维和视野,因为技法大家都差不多。
四、你有了解过这两者具体的工作内容是什么吗?
室内设计师是传统行业,UI设计师是互联网相关行业,虽然都属于设计类,但是学习的知识技能完全不是一个领域,不过ui设计和室内设计在软件和硬件要求上是一样的。要求精通各类修图做图软件,硬件要求有改革创新的意识,同时现在各大公司都要求过硬的手绘能力。
室内设计和ui设计学哪个更好?设计行业门槛很低基本上是一个人都可以去做,但是,我们自己要明白,你是寻求长远的发展,还是寻找一份短期的高工资工作。
一、什么是室内设计?UI设计又是什么?
1、室内设计:是根据建筑物的使用性质、所处环境和相应标准,运用物质技术手段和建筑设计原理,创造功能合理、舒适优美、满足人们物质和精神生活需要的室内环境。
2、UI设计:是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅是让软件变得有个性有品位,还要让软件的操作变得舒适简单、自由,充分体现软件的定位和特点。
二、室内设计、UI设计薪资待遇怎么样?
1、室内设计
据了解,一般室内设计师的保底工资是三四千,提成部分根据设计师本人的工作量而定,一般是多劳者多得,一些聪明的设计师,会有其它的一些合法收入。
总的来说,薪资待遇是可观的。近年来,随着人们对居住条件要求的提高,室内设计师已经成为一个备受关注的职业,装饰装修行业的迅猛发展,社会对于专业设计人员和专业技术人员的需求量也在逐年增加。
2、UI设计
UI设计师的收入一般月薪在3000~5000元,中等设计师的收入可上升至6000~7000元,而如果能晋升为设计总监,这一数据则可能达到万元以上,UI设计师前景是不错的。
三、室内设计和UI设计分别要学习什么?
1、室内设计
室内设计师需要具备一定的美术基础,做室内设计这一行的,审美能力很重要,没有好的审美,很难做出客户满意的设计。其次,需要掌握室内设计概论,具备了理论知识,才能更好地去实践。
同时,需要熟练掌握各类相关的设计软件,懂得用软件做室内设计图,做好界面设计,满足客户需求。另外,室内设计师还需要了解建筑、结构、设备、消防专业相关知识。
2、UI设计:主要学习的内容有手绘、平面设计、交互设计、代码知识等等。
细分的话,可以分为七个阶段的学习内容:
软件基础及平面手绘、电商广告创意设计、网页版式设计与配色技巧、移动端UI界面设计、Animate交互动画设计、网页前端制作、Javascript+jQuery+HTML5+CSS3。
相比之下,在掌握同等知识水平的基础下,UI设计的学习内容,要比室内设计的难度大。
综合上述的分析,相信大家对室内设计和UI设计有了一个大概的了解,而对于学室内设计还是学UI设计好这个问题,小编可以说,无论你选择学习哪一种设计,都必须有自己的兴趣所在,因为这两者的发展前景都是可以的,如果毫无兴趣,就算你基础再好,也难以坚持,成不了气候。
1
输入两个数值。
2
比较大小。
3
输出结果。
以整型为例,代码如下:
#include
int
main()
{
int
a,b
scanf("%d%d",&a,&b)
if(a>b)
printf("%d>%d\n",a,b)
else
if(a
==
b)
printf("%d=%d\n",a,b)
else
printf("%d<%d\n",a,b)
}
5.3.1if语句的三种形式
1.第一种形式为基本形式:if
if(表达式) 语句
其语义是:如果表达式的值为真,则执行其后的语句, 否则不执行该语句。其过程可表示为下图。
main(){
int a,b,max
printf("\n input two numbers: ")
scanf("%d%d",&a,&b)
max=a
if (max<b) max=b
printf("max=%d",max)
}
本例程序中,输入两个数a,b。把a先赋予变量max,再用if语句判别max和b的大小,如max小于b,则把b赋予max。因此max中总是大数,最后输出max的值。
2.第二种形式为: if-else
if(表达式)
语句1;
else
语句2;
其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。
其执行过程可表示为下图。
main(){
int a, b
printf("input two numbers: ")
scanf("%d%d",&a,&b)
if(a>b)
printf("max=%d\n",a)
else
printf("max=%d\n",b)
}
输入两个整数,输出其中的大数。
改用if-else语句判别a,b的大小,若a大,则输出a,否则输出b。
3.第三种形式为if-else-if形式
前二种形式的if语句一般都用于两个分支的情况。 当有多个分支选择时,可采用if-else-if语句,其一般形式为:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;
…
else if(表达式m)
语句m;
else
语句n;
其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。 if-else-if语句的执行过程如图3—3所示。
#include"stdio.h"
main(){
char c
printf("input a character:")
c=getchar()
if(c<32)
printf("This is a control character\n")
elseif(c>='0'&&c<='9')
printf("This is a digit\n")
elseif(c>='A'&&c<='Z')
printf("This is a capital letter\n")
elseif(c>='a'&&c<='z')
printf("This is a small letter\n")
else
printf("This is an other character\n")
}
本例要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。 在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之间为小写字母,其余则为其它字符。 这是一个多分
支选择的问题,用if-else-if语句编程,判断输入字符ASCII码所在的范围,分别给出不同的输出。例如输入为“g”,输出显示它为小写字符。
4.在使用if语句中还应注意以下问题:
1)在三种形式的if语句中,在if关键字之后均为表达式。 该表达式通常是逻辑表达式或关系表达式, 但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。
例如:
if(a=5) 语句;
if(b) 语句;
都是允许的。只要表达式的值为非0,即为“真”。
如在:
if(a=5)…;
中表达式的值永远为非0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。
又如,有程序段:
if(a=b)
printf("%d",a)
else
printf("a=0")
本语句的语义是,把b值赋予a,如为非0则输出该值,否则输出“a=0”字符串。这种用法在程序中是经常出现的。
2)在if语句中,条件判断表达式必须用括号括起来,在语句之后必须加分号。
3)在if语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用之后不能再加分号。
例如:
if(a>b)
{a++
b++}
else
{a=0
b=10}
5.3.2if语句的嵌套
当if语句中的执行语句又是if语句时,则构成了if 语句嵌套的情形。
其一般形式可表示如下:
if(表达式)
if语句;
或者为
if(表达式)
if语句;
else
if语句;
在嵌套内的if语句可能又是if-else型的,这将会出现多个if和多个else重叠的情况,这时要特别注意if和else的配对问题。
例如:
if(表达式1)
if(表达式2)
语句1;
else
语句2;
其中的else究竟是与哪一个if配对呢?
应该理解为:
if(表达式1)
if(表达式2)
语句1;
else
语句2;
还是应理解为:
if(表达式1)
if(表达式2)
语句1;
else
语句2;
为了避免这种二义性,C语言规定,else 总是与它前面最近的if配对,因此对上述例子应按前一种情况理解。
main(){
int a,b
printf("please input A,B:")
scanf("%d%d",&a,&b)
if(a!=b)
if(a>b) printf("A>B\n")
else printf("A<B\n")
else printf("A=B\n")
}
比较两个数的大小关系。
本例中用了if语句的嵌套结构。采用嵌套结构实质上是为了进行多分支选择,实际上有三种选择即A>B、A<B或A=B。这种问题用if-else-if语句也可以完成。而且程序更加清晰。因此,在一般情况下较少使用if语句的嵌套结构。以使程序更便于阅读理解。
main(){
int a,b
printf("please input A,B: ")
scanf("%d%d",&a,&b)
if(a==b) printf("A=B\n")
else if(a>b) printf("A>B\n")
else printf("A<B\n")
}