ImageVerifierCode 换一换
格式:DOCX , 页数:48 ,大小:40.99KB ,
资源ID:20055419      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20055419.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言习题Word下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言习题Word下载.docx

1、【答案】B【例6】(2003年9月)以下叙述中正确的是()。A.C程序中注释部分可以出现在程序的任意合适地方。B.花括号“”和“”只能作为函数体的定界符。C.构成C程序的基本单位是函数,所有函数名都可以由用户命名。D.分号是C语言之间的分隔符,不是语句的一部分。【答案】A【例7】(2003年9月)若已定义的函数有返回值,则以下关于该函数调用叙述错误的是()。A.函数调用可以作为独立的语句存在。B.函数调用可以作为一个函数的实参。C.函数调用可以出现在表达中。D.函数调用可以作为一个函数的形参。【答案】D在C语言中,当函数有返回值时可以作为表达式或表达式的一部分,而函数调用只能作为实参,不能作为

2、形参。第3章 数据类型、运算符、表达式与基本语句31数据类型(2000年4月)下列变量定义中合法的是()。A. short _a=1-.le-1 B.double b=1+5e2.5C. long do=0xfdaL D.float 2_and=1-e-3(2001年4月) 以下只有在使用时才为该类型变量分配内存的存储类说明是()。A.auto和 static B.auto和 registerC.register和 static D.extern和 register根据C 语言的规定,auto和register在C语言程序中当它们被用到时才会分配内存,在它们声明时并不占用内存空间的。(2002

3、年4月)以下选项中不属于C语言类型的是()。A.signed short int B.unsigned long intC.unsigned int D.long short(2002年9月)以下选项中合法的实型常数是()。A.5E2.0 B.E3 C.2E0 D.1.3E(2002年9月)已知大写字母A的ASCII码的值是65,小写字母a的ASCII码是97,则用八进制表示字符常量101是()。A.字符A B.字符a C.字符e D.非法的常量本题中101的八进制在十进制表示则是65,也就是A的ASCII码值。(2002年9月)C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是()。

4、A.void B.int C.float D.double(2003年9月)以下选项中可作为C语言合法整数的是()。A.10110B B.0386 C.0Xffa D.x2a2【例8】(2003年9月)已定义c为字符变量,则下列语句中正确的是()。A.c=97 B.c=“97” C.c=97 D.c=“a”【例9】(2004年4月)以下符合C语言语法的实型常量是()。A.1.2E0.5 B.3.14159E C.5E-3 D.E15【例10】(2002年4月) 设有以下变量定义,并已赋确定的值char w; int x; float y; double z;则表达式:w*x+z-y所求得的数据

5、类型为。【答案】double【考点解析】当不同数据类型一起运算时,如果有精度大的数据类型参加时,结果会上最后会以精度大的,这样能保持数据的精度。32运算符(2000年4月) 设有 int x=11; 则表达式 (x+*1/3) 的值是()。A.3 B.4 C.11 D.12【答案】A 【考点解析】在题目中,有三个运算符,其中“”可以把1/3看成一个整体,也就是一个数,那么根据运算符优先级知道,+的优先级比*高,那么先运行+,再运行*,最后结果是3。(2000年4月) 设 int x=1,y=1; 表达式(!x|y-)的值是()。A.0 B.1 C.2 D.-1【考点解析】在这一题中,我们要注意

6、的是-或+的位置,在这里y-是指先把y与!x进行或运算,后y再减1,那么这个表达式的值是1。如果-y是指y减1后再与!x进行或运算。(2000年4月) 设int b=2;表达式(b2)/(b1)的值是()。A.0 B.2 C.4 D.8【考点解析】移位运算是用于一个整数的二进制数向左或向右移动。先是把b化成二进制,再右移两位,则是0;而右移一位,则是1,所以整个表达式的结果是0。(2000年9月) C语言中运算对象必须是整型的运算符是()。A.%= B./ C.= D.=【考点解析】在C语言程序设计中“%”是表示求余运算,是必须是整形的数据类型,而其它三种运算符的运算对象可以是整形也可以是其它

7、数据类型。(2000年9月) 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是()。A.1 B.2 C.2.0 D.2.5【考点解析】在这一题中,我们清楚C语言中的自动数据类型的转换,在这里3/2是整形除以整形,所以结果自动转换成整形,再加上1,所以最后结果是2。(2001年9月) 整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是()。A.x | y B.x | y C.x & y D.x y【考点解析】|是C语言的逻辑或运算符,表示只要有一个表达式为真,则整个表达式都为真;|是按位或运算符,先是把操作数转化成二进制,再按位进行或运算;&是按位与运算

8、符,先是把操作数转化成二进制,再按位进行与运算;是按位异或运算符,先是把操作数转化成二进制,再按位异或运算,就是相同的为,不同的为1。(2002年9月) 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 & y+z/2的值是()。A.6 B.0 C.2 D.1【答案】【考点解析】在本题中,优先级最高的是括号,因此先计算x+y,跟着是!的优先级高,即运算!(x+y),接着是/ 的优先级高,即运算z/2,再是+、-的运算符优先级,在本表达式中优先级最低的是&,最后的结果是1。(2002年9月) 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+

9、b/b的值是()。A.6.500000 B.6 C.5.500000 D.6.000000【考点解析】在本题表达式中,优先级最高的是int,跟着是/,最后是+。根据优先级分析,先运算(int)5.5,是指对5.5取整,这里也是数据类型的强转换。跟着运算b/b,因为b是double类型,则结果也是double类型,最后运算“+”运算符,则可以计算出最后的结果。(2003年4月)下列关于单目运算符+、-的叙述中正确的是()。A.它们的运算对象可以是任何变量和常量。B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量。C.它们的运算对象可以是int型变量,但不能是doubl

10、e型变量和float型变量。D.它们的运算对象可以是char型变量、int型变量和float型变量。【考点解析】在C语言中,+、-是单目运算符,分别表示进行加1、减1运算,一般是在char、int、float数据类型中运算。(2004年9月)有以下定义语句double a,b; int w;long c;若各变量已正确赋值,则下列选项中正确的表达式是()。A. a=a+b=b+ B. w%(int)a+b)C. (c+w)%(int)a D. w=a=b【考点解析】在C语言程序设计中,表达式不允许作为值来直接赋值给表达式;在表达式中运用“%”时应该注意,运算符“%”的使用对象必须是整型;“=”

11、是关系运算符,在这里并不正确,赋值符应该是“=”。【例11】(2004年9月)若x和y代表整型数,以下表达式中不能正确表示数学关系x-y10的是()。A. abs(x-y)-10&x-y10C. !(x-y)10 D. (x-y)*(x-y)100【例12】(2004年9月)设有定义语句:charc1=92,c2=92; 则以下表达式中值为零的是()。A. c1c2 B. c1&c2 C. c1c2 D. c1|c233表达式(2000年9月) 若变量已正确定义并赋值,下面符合C语言语法的表达式是()。A.a:=b+1 B.a=b=c+2C.int 18.5%3 D.a=a+7=c+b【考点解

12、析】表达式是由运算符把字符连接起来所构成的。在上面选项中,A中的字符变量定义错误,C选项不是表达式,D选项中等号左边必须是一个可以确定的值。(2001年4月) 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。A.-3 B.9 C.-12 D.6 【考点解析】这题中,有多个赋值关系。从右到左计算,可以这样理解:首先a*a等于9,再计算a=a-9,得到a=-6,再计算a=a+(-6),所以最后答案是-12。(2002年4月)变量a已被定义为整型,下列表达式不正确的是( )。A. a=A+20 B. a-=a C. a=c+d D. a=c+d 【考点解析】在语言中我

13、们得知字符变量可以参与任何整数的运算,在项中,c和d如果是字符变量应刻有单引号括住,如果是其它变量应提前定义,以避免编绎出错。(2002年4月)若有定义:int a=8,b=5,c;执行语句c=a/b+0.4后,c的值为()。A. 1.4 B. 1 C.2.0 D.2【考点解析】在本题中,首先计算的是优先级高的/,a/b(8/5=1),再将1+0.4的值赋给c,由于c为整型变量所以要将1.4转换为整型,即是舍弃小数位0.4(c的值变为1)。(2002年9月) 与数学式子 对应的C语言表达式是()。A. 3*xn(2*x-1) B. 3*x*n(2*x-1)C. 3*pow(x,n)*(1/(2

14、*x-1) D. 3*pow(n,x)/(2*x-1)【考点解析】在C语言程序设计中,数学运算次方在C语言中运用函数pow()来表达,例如:x的y次方,在C语言中应该这样表达:pow(x,y),所在选项中,选项D表达写反了,则只有选项C才是正确的选项。(2002年9月) 以下选项中,与k=n+完全等价的表达式是()。A.k=n,n=n+1 B.n=n+1,k=n C.k=+n D.k+=n+1【答案】【考点解析】在本题中,k=n+为后辍运算,根据其运算规则,应先把n的值赋给k,然后n的值再加上1,选项的表达式与本题中的表达式等价。(2003年9月)以下选项中非法的表达式是()。A. 0=x10

15、0 B. i=j=0 C. (char)(65+3) D. x+1=x+1【考点解析】在C语言程序设计中,表达式不允许作为值来直接赋值给表达式。(2004年4月)设有定义:float a=2,b=4,h=3;以下语言表达式中与代数式1/2*(a+b)h计算结果不相符的是()。A. (a+b)*h/2 B. (1/2)*(a+b)*h C. (a+b)*h*1/2 D. h/2*(a+b)【考点解析】本题实质上是要把数学表达式在C语言程序设计中表达出来,在C语言中优先级最高是括号,那么先计算所有的括号,可以看到选项B中的(1/2)结果是0,那么整个表达式的结果就是0,而其它三项的结果并不是0。第

16、4章程序设计三种基本结构一、选择题:(2002年4月)下面的程序的输出结果是()。#includemain( ) int i=010,j=10; printf(%d,%d,+i,j-);A. 11,10 B. 9,10 C. 010,9 D. 10,9【答案】B (i的值是以八进制定义的)(2002年4月)以下的程序的输出结果是()。 int a=5,b=4,c=6,d; printf(dn,d=ab?)(ac?a:c):(b);A. 5 B. 4 C. 6 D. 不确定(2002年4月)以下程序的输出结果是()。 int a=4,b=5,c=0,d; d=!a&!b|!c;%dn,d);A.

17、 1 B. 0 C. 非0的数 D. -1 char x=040;%on,x1);A. 100 B. 80 C. 64 D. 32(2002年9月)已知i,j,k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2,k的值为3,以下选项中正确的输入语句是( )。A. scanf(%2d%2d%2d,&I,&j,&k); B. scanf(%d %d %dC. scanf(%d,%d,%dD. scanf(i=%d,j=%d,k=%d(2002年9月)若有以下程序 int k=2,i=2,m; m=(k+=i*=k); printf(“%d,%dn”,m,i);执行后的结果是()。

18、A. 8,6 B. 8,3 C. 6,4 D. 7,4【考点解析】根据C语言中printf函数的用法可知,格式控制参数是d,即是输出是十进制的数,复合运算表达式是右结合性,先从右边开始计算i*=k得i=i*k=2*2=4,k+=i得k=k+i=2+4=6,所以m的值为6。输出结果为m=6,i=4。(2003年4月)若有以下程序段(n所赋的是八进制数)int m=32767, n=032767;printf(“%d,%on”,m,n);执行后输出结果是()。A. 32767,32767 B. 32767,032767C. 32767,77777 D. 32767,77777(2003年4月)有以

19、下程序段int m=0,n=0,char c=;scanf(%d%c%dm,&c,&n);prinft(%d,%c,%dn,m,c,n);若从键盘上输入:10A10a)|(m=ab);%d,%dn,k,m);A. 0,0 B. 0,1 C. 1,0 D. 1,1(2003年9月)有定义语句:int x,y;若要通过scanf(x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是A. 11 12 B. 11, 12C. 11,12 D. 11, 12【例13】(2003年9月)设有以下程序段:int x=2002,y=2003;printf(“%dn”,(x,y

20、);则以下叙述中正确的是A. 输出语句中格式说明符的个数少于输出项的个数,不能正确输出。B. 运行时产生出错信息。C. 输出值为2002。D. 输出值为2003。【例14】main ( ) int x=3,y=2,z=1;,x/y&z);A. 3 B. 2 C. 1 D. 0 【例15】(2004年4月)有以下程序 int x=102,y=012;%2d,%2dn,x,y);A. 10,01 B. 02,12 C. 102,10 D. 02,10【例16】 unsigned char a,b; a=4|3; b=4&3;%d%dn,a,b);执行后输出结果是( )。A. 70 B. 07 C.

21、 11 D. 430【例17】(2004年9月)有以下程序 char a,b,c,d; scanf(%c,%c,%d,%d a,&b,&d);%c,%c,%c,%cn ,a,b,c,d);若运行时从键盘上输入:6,5,65,66。则输出结果是()。A. 6,5,A,B B. 6,5,65,66 C. 6,5,6,5 D. 6,5,6,6【考点解析】在C语言程序设计中,scanf函数的格式控制参数中“d”表示输入整数,“%c”表示输入字符,也就是说,前两个输入的数是以字符形式输入的,后两个输入的数是以整数形式输入的,输出时,全部都以字符形式输出,而刚才的后两个整数应该用ASCII码转化为字符。则输出的是6,5,A,B。【例18】 int m=3,n=4,x; x=-m+; x=x+8/+n; printf(“%dn”,x);A. 3 B. 5 C. -1 D.-2【考点解析】在本题中,根据C语言中printf函数的用法可知,格式控制参数是d,即是输出是十进制的数,表达式x=-m+可以转换成x=-(m+),可得x的值为-3,而表达式x=x+8/+n可以转换成x=x+8/(+n),代入x的值得x=-3+8/5=-2,所以最后的输出结果是-2。【例19】 char a=a,b; printf(“%c”,+a); printf(“%cn”,b=a+);程序

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1