C语言第四章习题-2010.10.14更新.doc_第1页
C语言第四章习题-2010.10.14更新.doc_第2页
C语言第四章习题-2010.10.14更新.doc_第3页
C语言第四章习题-2010.10.14更新.doc_第4页
C语言第四章习题-2010.10.14更新.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

练习4-1一、选择题1已知:char c=A; int i=1, j;,执行语句j=!c&i+;,则i和j的值是( )。A1,1B1,0C2,1D2,02已知:int x=1, y=2, z;,则执行z=xy?+x:+y;,则z的值为( )。A1B2C3D43已知:int a=4, b=5, c;,则执行表达式c=a=ab后变量a的值为( )。A0B1C4D54已知:char ch=A;,则表达式ch=(ch=A&chx?w:y10?x+100:x-10);printf(%d,w+|z+);printf(%d,!wz);printf(%d,w&z);A0111B1111C0101D01007已知:a=b=c=1且a、b、c均为int型变量,执行以下语句:+a|+b&+c;则变量a值为( ),b值为( )。 A不正确B0C2D1 A1B2C不正确D08执行下面语句后x的值为( )。int a=14, b=15, x;char c=A;x=(a&b)&(ca);ATRUEBFALSEC0D19要判断char型变量m是否是数字,可以使用下列表达式( )。A0=m&m=9B0=m&m=9C0=m&m=1)&(x=200)&(x=1)|(x=200)|(x=1)&(x=200)&(x=1)|(x=200)|(x=210)11设x、y和z是int型变量,且x=3, y=4, z=5,则下面表达式中值为0的是( )。Ax&yBx=yCx|y+z&y-zD!(x=y&chB&!y的值是( )。A0B语法错C1D“假”13判断char型变量c1是否为小写字母的正确表达式为( )。Aa=c1=a)&(c1=c1)|(z=a)&(c1=z)二、读程序、写结果14下面程序的运行结果:( )、( )、( )、( )、( )。#include main()int i=16, j, x=6, y, z;j=i+1; printf(%dn, j);/*输出*/x*=i=j; printf(%dn, x);/*输出*/x=1; y=2; z=3;x+=y+=z;printf(%dn, z+=xy?x+:y+);/*输出*/x=0x02ff; y=0xff00;printf(%dn, (x&y)4|0x005f);/*输出*/x=y=z=-1;+x|+y&+z;printf(%d%d%dn, x, y, z);/* */- 10 - -练习4-2一、选择题1下面程序的输出是( )。#include main()int x=1, y=0, a=0, b=0;switch (x)case 1:switch (y)case 0: a+; break;case 1:b+; break;case 2:a+; b+; break;printf(a=%d, b=%dn, a, b);Aa=2, b=1Ba=1, b=1Ca=1, b=0Da=2, b=22若有说明:int x ,y;,不能实现以下函数关系的程序段是( )。Aif (x=0) else if (x=0) y=0; if (x!=0) if (x=0) if (x0) y=1; else y=1; if (x0) y=1; if (x0) y=1; else y=0; else y=0; else y=-1; else y=-1;3已知:int x, a, b;,下列选项中错误的if语句是( )。Aif (a=b) x+;Bif (a=b) x+;Cif (a-b) x+;Dif (x) x+;4若int i=10;,执行下列程序后,变量i的正确结果是( )。switch (i)case 9: i+=1;case 10:i+=1;case 11:i+=1;default:i+=1;A10B11C12D135设有说明语句:int a=1, b=0;,则执行以下语句后输出为( )。switch (a)case 1:switch (b)case 0: printf(*0*); break;case 1: printf(*1*); break;case 2:printf(*2*); break;A*0*B*0*2*C*0*1*2*D有语法错误6阅读下列程序,其运行结果是( )。#include main()char c=A;if (0=c=39) printf(YES);else printf(NO);AYESBNOCYESNOD语句错误7下列程序的运行结果为( )。#include main()int a=2, b=-1, c=2;if (ab)if (b0) c=0;else c+=1;printf(%dn, c);A0B1C2D38阅读程序,其运行结果是( )。#include main()int a=-1, b=1, k;if (+a0)&(b-=0) printf(%d %dn, a, b);else printf(%d %dn, b, a);A-1 1B0 1C1 0D0 09选择运行结果。#include main()char ch;ch=getch();switch (ch)case 65: printf(%c, A);case 66: printf(%c, B);default:printf(%sn, other);如程序可以正常运行,当从键盘输入字母A时,输出结果为( )。AABABotherCAotherD编译错误,无法运行10当a=1, b=3, c=5, d=4时,执行完成下面一段程序后x的值是( )。if (ab)if (cd) x=1;elseif (ac)if (bd) x=2;else x=3;else x=6;else x=7;A1B2C3D6二、填空题11以下程序的输出结果是( )。main()int a=100, x=10, y=20, ok1=5, ok2=0;if (xy)if (y!=10)if (!ok1) a=1;else if (ok2) a=10;a=-1;printf(%dn,a);12阅读以下程序:main()int t, h, m;scanf(%d, &t);h=(t/100)%12;if (h=0) h=12;printf(%d:, h);m=t%100;if (m10) printf(0);printf(%d,m);if (t1200|t=2400) printf(AM);else printf(PM);若运行时输入:1605,程序的运行结果是( )。13若运行时输入:3 5/,则以下程序的运行结果是( )。main()float x, y; char o; double r;scanf(%f%f%c, &x, &y, &o);switch (o)case +: r=x+y; break;case -: r=x-y; break;case *: r=x*y; break;case /: r=x/y; break;printf(%f, r);练习4-3一、选择题1 以下不是死循环的语句为( )。Afor ( ; ; x+=i)Bwhile (1) x+; Cfor (i=10; ; i-) sum+=i;Dfor (; (c=getchar()!=n; ) printf(%c, c);2执行语句for (i=0; i+3; );后,变量i的值为( )。A2B3C4D53下面的for语句( )。for (x=0, y=0; (y!=123)&(x4); x+);A是无限循环B循环次数不定C循环执行4次D循环执行3次4与语句while (!x)等价的语句是( )。Awhile (x=0)Bwhile (x!=0)Cwhile (x!=1)Dwhile (x)5定义int i=1;,执行语句while (i+5);后,i的值为( )。A3B4C5D66若a=1, b=10为int型变量,则执行以下语句后b的值为( ),a的值为( )。dob-=a;a+; while(b-0); A9B2C1D8 A4B2C1D37若int a=5;,则执行以下语句后打印的结果为( )。doprintf(%2dn,a-); while(!a);A5B不打印任何内容C4D陷入死循环8若 int x;,且有下面的程序片段,则输出结果为( )。for (x=3; x6; x+) printf(x%2)?*%d:#%dn, x);A*3B#3C#3D*3#4 #4 *3 *4#5 *5 *5 #59等比数列的第一项a=1,公比q=2,下面程序的功能是求满足前n项和小于100的最大n,请选择填空。( ),( )。#include main()int a, q, n, sum;a=1; q=2; n=sum=0;do;+n;a*=q; while (sum100);printf(%dn,n);Asum+Bsum+=aCsum*=aDa+=sumAn=n-2Bn=nCn+Dn-=1二、读程序,写结果10下列程序的运行结果为:i=( ),j=( ),k=( )。#include main()int a=10, b=5, c=5, d=5;int i=0, j=0, k=0;for (; ab; +b) i+;while (a+c) j+;do k+;while (ad+);printf(%d,%d,%dn,i,j,k);11下面过程的运行结果:是( ),是( )。#include main()int i, j;for (i=0, j=10; ij; i+=2, j-);printf(%dn, i );/*输出*/printf(%dn, j);/*输出*/12下面程序的运行结果是( )。#include main()int k, j, m;for (k=5; k=1; k-)m=0;for (j=k; j=5; j+) m=m+k*j;printf(%dn,m);练习4-4读程序,写结果1下面程序的运行结果是( )。#include main()int i=0, j=0, k=0, m;for (m=0; m4; m+)switch (m)case 0: i=m+;case 1: j=m+;case 2: k=m+;case 3: m+;printf(n%d,%d,%d,%d, i, j, k, m);2下面程序的运行结果是( )。#include main()int i=1;while (i=15)if (+i%3!=2) continue;else printf(%d ,i);printf(n);3若运行以下程序时,从键盘输入Adescriptor(表示回车),则下面程序的运行结果是( )。#include main()char c;int v0=0, v1=0, v2=0;doswitch (c=getchar()case a: caseA:case e: caseE:case i: caseI:case o: caseO:case u: caseU: v1+=1;default: v0+=1; v2+=1; while (c!=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论