C语言复习结构框架知识点.doc
《C语言复习结构框架知识点.doc》由会员分享,可在线阅读,更多相关《C语言复习结构框架知识点.doc(54页珍藏版)》请在咨信网上搜索。
1、思维导图1:C语言程序设计知识结构第一课 C语言程序设计基础思维导图2:第一课 C语言程序设计基础本课主要知识点:1.知识点:C程序基础l C语言是一种结构化程序设计语言。三种基本结构:顺序、选择、循环。例1:(2010-09-11)以下关于结构化程序设计的叙述中正确的是(C)A) 一个结构化程序必须同时由顺序、分支、循环三种结构组成B) 结构化程序使用goto语句会很便捷C) 在C语言中,程序的模块化是利用函数实现的D) 由三种基本结构构成的程序只能解决小规模的问题例2:(2011-03-26)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是(A)A)C语言程序仅可以
2、编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对【解析】计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。 翻译的方式有两种,一个是编译,一个是解释。C语言程序仅可以编译。例3:(2011-03-26)以下叙述中错误的是( D)A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件【解析】C程序开发过程:编辑(.c)编
3、译(.obj)链接可执行文件(.exe)2.知识点:C语言程序的构成l C程序是由函数构成的,一个C程序有且仅有一个main函数。一个函数由两部分组成:函数的首部和函数体。函数体包括声明部分和执行部分。一个C程序总是从main函数开始执行(即程序的入口),由main函数结束,(即程序的出口)。例1:(2010-03-12)以下叙述正确的是(B)A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x)C) C语言函数不可以单独编译D) C语言中除了main函数,其他函数不可作为单独文件形式存在例2:(2011-09-11)以下叙述中错误的是 (C) A.C语言
4、编写的函数源程序,其文件名后缀可以是CB.C语言编写的函数都可以作为一个独立的源程序文件C.C语言编写的每个函数都可以进行独立的编译并执行D.一个C语言程序只能有一个主函数3.知识点:标识符l 命名规则: 标识符中只能包含字母 (a-z,A-Z),数字(0-9),下划线(_)。第一个字符必须是字母或下划线。类型说明符:int,float,double等语句定义符:if,for,while等l 分类都是小写 关键字(32个) (有固定含义,不可改变)库函数的名字:printf , scanf 等编译预处理命令名:include等 预定义标识符 (有特殊含义,可以改变) 用户自定义的标识符 格式合
5、法,不能使用关键字,见名知意例1:(2010-03-13)以下C语言用户标识符中,不合法的是(D)A)_1 B)AaBc C)a_b D)a-b4.知识点:数据类型例1:(2010-03-16)以下关于C语言数据类型使用的叙述中错误的是(D)A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型【解析】结构数据类型是根据已定义的一个或多个数据类型用构造的方法来定义的,一个结构类型的值可以分解成若干个“成员”或“元素”,每个“成员”都是
6、一个基本数据类型或又是一个构造类型,C项正确。C语言没有逻辑类型,故D项错误。例2:(2011-03-26)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是(B)A)-369 B)369 C)0.369 D)整数集合1,2,3,4,5【解析】无符号整数类型为只有正整数和0,所有选择B。5.知识点:常量l 整型常量十进制整常数:没有前缀,其数码为0-9。例如65535,-568八进制整常数:以0开头,其数码为0-7。例如015十六进制整常数:以0X或0x开头,其数码为0-9,A-F或a-f。例如0x2A长整型数:整型常数后缀为L或l。例如358000L无符号数:整型常数后缀为U或u
7、。例如158ul 实型常量的形式小数形式:必须有小数点,小数点前后不能同时没有数字。指数形式:aEn(其中a表示十进制数,E阶码标志,n阶码)。E前E后必须有数字,E后必为整数,可以带符号。例如2.1E-3、5E8例1:(2011-09-13)以下选项中关于C语言常量的叙述错误的是:(D)A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.经常被使用的变量可定义成常量【解析】根据常量的基本概念,则不难判断A、B、C均正确。例1:(2009-04-13)以下选项中,能用作数据常量的是(D)A)o115
8、 B)0118 C)1.5e1.5 D)115L【解析】八进制整常数以0开头,A项错误;八进制整常数的数码味0-7,B项错误;实型常量的指数形式E后必为整数,故C项错误;长整型数后缀为L或l,故D项正确。例2:(2010-03-26)以下选项中可用作C程序合法实数的是( A)A).1e0 B)3.0e0.2 C)E9 D)9.12E【解析】实型指数表示方式“E前E后比有数,E后必须是整数”,故选Al 字符常量:用单引号括起来的一个字符。包括普通字符常量和转义字符。普通字符常量:如a、A、1。转义字符:由一对单引号引起来的以开头的若干字符的组合。如n表示回车换行、表示反斜线符、表示单引号符、”表
9、示双引号、ddd表示八进制数、xhh表示十六进制数。例3:(2010-09-15)以下选项中能表示合法常量的是(C)A)整数:1,200 B)实数:1.5E2.0 C)字符斜杠: D)字符串:“007”【解析】表示整常量不能用逗号分隔,A项错误;实型常量的指数形式E后必为整数,故B项错误;007是转义字符,只能用单引号括起来,不能用双引号或其他括号,故D项错误。例4:(2010-03-26)以下选项中不能用作C程序合法常量的是( B)A)1,234 B)123 C)123 D)x7G【解析】A中的,在编译时会出错的,直接写成1234即可,B是一个三位八进制数代表的字符,C是一个数字常量,D是一
10、个字符串,其中x7是一个一位十六进制数代表的字符,也即D中的字符串是两个字符,如果sizeof的话是3,如果strlen的话是2。6.知识点:变量l 整型变量和实型变量以考试标准Viusal c+6.0为例,说明各类型变量所占的位数。 类型所占位数所占字节数类型所占位数所占字节数short162unsigned int324int324unsigned long324long324float324unsigned short162double648例1:(2010-09-38)有以下程序#include main(0)int s,t,A=100;double B=6;s=sizeof(A);
11、t=sizeof(B);printf(“%d,%dn”,s,t);在VC6平台上编译运行,程序运行后的输出结果是(C)A)2,4 B)4,4 C)4,8 D)10,6【解析】在VC6平台上,int型占4个字节,double型占8个字节,故答案是C。l 字符变量:一个字符变量只能存放一个字符。字符串不能存放在字符变量中,只能用字符数组或指针存放字符串。例1:(2009-09-22)有以下定义语句,编译时会出现编译错误的是(C)A)char a=a; B)char a=n; C)char a=aa; D)char a=x2d;【解析】一个字符变量只能存放一个字符,A项字符变量存放的是普通字符常量;
12、B、D项字符变量存放的转义字符;字符常量只能是单个字符,不能是字符串,aa不是单个字符,故C项错误。7.知识点:ASCII码l 0的ASCII码值为48;A的ASCII码值为65;a的ASCII码值为97。l 大写字母与小写字母的ASCII码值相差32。例1:(2009-09-23)有以下程序#include main()char c1,c2;c1=A+8-4;c2=A+8-5;printf(“%c,%dn”,c1,c2);已知字母A的ASCII码为65,程序运行后的输出结果是(A)A)E,68 B)D,69 C)E,D D)输出无定值【解析】A的ASCII码值为65,8的ASCII码值为56
13、,4的ASCII码值为52,65+56-52=69,对应于字符E。5的ASCII码值为53,65+56-53=68,对应于字符D。字符变量c1以%c格式输出,即E。字符变量c2以%d格式输出,即68。故答案是A。8.知识点:进制转换l 十进制转换成二进制、八进制、十六进制:将十进制的数字除以2(8、16),得到的商数继续除以2,直到商为0,然后将各次相除所得的余数从后往前排列。l 二进制、八进制、十六进制转换成十进制:将二(八、十六)进制数的每一位数从高位到低位乘以2的n-1次幂,n为该位所在的位数。l 二进制与八进制之间的转换:每个八进制数字转换成3位二进制数字。l 二进制与十六进制之间的转
14、换:每个十六进制数字转换成4位二进制数字。例1:(2010-09)以下程序运行后的输出结果是 2008 。#include main()int a=200,b=010;printf(“%d%dn”,a,b);【解析】八进制数010转换成十进制数为8,按“%d%d”格式分别输出a、b,即2008。9.知识点:运算符的优先级级别由大到小:(逻辑)非 算(术运算符) 关(系运算符) (逻辑)与 (逻辑)或 条(件运算符) 赋(值运算符)10.知识点:强制类型转换运算符l 一般形式:(类型说明符)(表达式)l 功能:把表达式的运算结果强制转换成类型说明符所表示的类型例1:(2009-04-06)表达式
15、(int)(double)(5/2)+2.5)的值是4。【解析】(int)(double)(5/2)+2.5)(int)(double)2)+2.5)(int)(2.000000+2.5)(int)(4.500000) 4。例2:以下程序运行后的输出结果是 () 。main() int a;a=(int)(double)(3/2)+0.5+(int)1.99*2);printf(%dn,a);答案:3【解析】(3/2)=1,(double)(3/2)+0.5=1.5,(int)1.99*2=2,所以(double)(3/2)+0.5+(int)1.99*2=3.5,故a=3。11.知识点:算术
16、运算符: +、*、/、%:参与运算的量均为整型。/:当除号左右两边都是整数的时候,商也要是整数,如果不是整数则舍弃小数部分。当参与运算量有一个为实型,则商为double型。例1:(2011-09-14)若有定义语句:int a=10;double b=3.14;,则表达式A+a+b值得类型是 (C)A.charB.intC.doubleD.float【解析】各种类型数据混合运算时,最终结果的类型可依据以下转换规律:char - short - int - long - float - double例1:(2011-09-15)如有定义语句:int x=12,y=8,z;,在其后执行语句z=0.
17、9+x/y,则z的值为 (B)A.1.9 B.1 C.2 D.2.4【解析】x,y,z均为整型变量,因此x/y结果为1,即z=0.9+1=1.9,z最终结果为1例1:(2010-09-14)有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是(A)A)a%(int)(x-y) B)a=x!=y; C) (a*y)%b D)y=x+y=x【解析】参与%运算的左右操作数均为整型,故A项正确,C项错误。B项是赋值语句,不是表达式。赋值运算符左边必须是变量,而不是表达式,而D项中x+y=x,错误。12.知识点:逗号表达式l 一般形式:表达式1,表达式2表达式nl 求值
18、过程:自左向右依次求解,最后一个表达式的值为整个逗号表达式的值。例1:(2009-04-14)设有定义:int x=2;以下表达式中,值不为6的是()A)x*=x+1 B)x+,2*x C)x*=(1+x) D)2*x,x+=2【解析】A项x=x*(x+1)=2*(2+1)=6;B项x+后,x的值为3,2*x的值为6,整个逗号表达式的值为6;C项x=x*(1+x)=2*3=6;D项x=x+2=2+2=4,整个逗号表达式的值为4。故答案是D。13.知识点:自增自减运算符+i i自加1后再参与运算 i+ i参与运算后再自加1-i i自减1后再参与运算 i- i参与运算后再自减1+和- -的运算对象
19、只能为变量,不能是常量或表达式。例1:(2009-09-06)若有定义语句:int a=5;则表达式:a+的值是 5 。【解析】表达式a+的值是a未加1之前的值,即5。.l 当+或与printf语句结合时,若+/-x的形式,则先自增/自减,然后输出;若x+/-的形式,则先输出x原值,在进行自增/自减操作。例2:(2011-03-26)有以下程序#include main() int x=011;printf(%dn,+x);程序运行后的输出结果是(C)A)12 B)11 C)10 D)9【解析】011是一个八进制的数,转为十进制则为1*8+1=9;+x是x先自增1再参与其他运算,所以先x自增1
20、为10再输出即为10,故选C。14.知识点:赋值表达式l 一般形式:变量名=表达式l 赋值运算符左边必须是变量,而不是表达式。例1:(2010-03-14)若有定义:double a=22;int i=0,k=18;则不符合C语言规定的赋值语句是( C)A)a=a+,i+; B)i=(a+k)=(i+k); C)i=a%11; D)i=!a;【解析】a为double型,参与%运算的操作数均为整型,故C项错误。例2:(2011-03-26)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是(A)A)a=(b=4)=3; B)a=b=c+1; C)a=(b=4)+c; D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习 结构 框架 知识点
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。