欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    典型C语言练习题.pdf

    • 资源ID:90895204       资源大小:5.27MB        全文页数:59页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    典型C语言练习题.pdf

    C语言习题集习题一一.填空题1.C程序是由()构成的,一 个 C程序中至少包含(一 个 ma i n 函数)。因此,()是 C程序的基本单位。2.C程序注释是由(/*)和(*/)所界定的文字信息组成的。3.函数体一般包括()和()o,判断题1.一个C程序的执行总是从该程序的ma i n 函数开始,在 ma i n 函数最后结束。(12.ma i n 函数必须写在一个C程序的最前面。【】3.一个C程序可以包含若干的函数。【】4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。但是可以增加程序的可读性。【】5.C程序的注释只能是一行。【】6.C程序的注释不能是中文文字信息。【】8 .可以使用T ur b o C来编译和连接一个C程 序【】9 .可以使用I T ur b o C来运行一个C量。1 0 .可以使用T ur b o C来实时调试(即动态调试)一个C,o 三.简答题1 .写出一个C程序的基本结构。2 .简要叙述使用T ur b o C 2.0 编译和运行一个程序的步骤。四.编程题1 .提高题:参照课本例1.1,试编写一个C程序,输出如下信息。(提示:使用键盘上的一些符号)。2 .提高题:试编写一个C程序,输出如下信息。试试看,可以输出其他组合图案吗?习题二选择题1、合法的字符常量是。A)t B)A C)a D)x322、合法的字符常量是。A)084 B)84 C)ab D)x433、是 C 语言提供的合法的数据类型关键字。A)Float B)signed C)integer D)Char4、在以下各组标识符中,合法的标识符是。(1)A)B01B)table.1C)0_tD)k%(2)A)Fast.B)voidC)pblD)(3)A)xy_B)longdoubleC)*pD)CHAR(4)A)sjB)IntCLxyD)w_y235、属于合法的C 语言长整型常量的是。A)5876273 B)OL C)2E10 D)(long)58762736、下面选项中,不是合法整型常量的是。A)160 B)-Oxcdg C)-01 D)-0 x48a7、判断int x=Oxaffbc;x 的结果是。A)赋值非法 B)溢出 C)为 affb D)为 ffbc8、下面选项中,均是合法浮点数的是。A)+le+l B)-.6 0 C)123e D)-e3A)5e-9.4 B)12e-4 C)1.2e-.4 D).8e-4A)03e2 B)-8e5 C)+2 e-l D)5.e-09、在 C 语言中,要求参加运算的数必须时整数的运算符是oA)/B)*C)%D)=10、在 C 语言中,字符型数据在内存中以 形式存放。A)原码 B)BCD码 C)反码 D)ASCII码1】、下列语句中,符合语法的赋值语句是。A)a=7+b+c=a+7;B)a=7+b+=a+7;C)a=(7+b b+,a+7);D)a=7+b,c=a+7;12、是非法的C 语言转义字符。A)b B)Oxf C)037 D)13、对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,是正确的。A)语法错误 B)f 为 5.0 C)f为 0.0 D)f 为 2.014、与代数式(x*y)/(u*v)不等价的C 语言表达式是。A)x*y/u*v B)x*y/u/v C)x*y/(u*v)D)x/(u*v)*y15、在 C 语言中,数字029是一个。A)八进制数B)十六进制数C)十进 制 数 D)非法数16、C 语言中整数一8 在内存中的存储形式为。A)1111111111111000 B)100000000001000C)000000000001000 D)111111111111011117、对于char cx=039;语句,正确的是。A)不合法 B)ex的 ASCII值是33C)c x 的值为四个字符 D)c x 的值为三个字符18、若 intk=7,x=12;则能使值为3 的表达式是。A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5 D)(x%=k)-(k%=5)19、为了计算s=10!(即 10的阶乘),则 s 变量应定义为.A)int B)unsigned C)long D)以上三种类型均可20、以下所列的C 语言常量中,错误的是。A)OxFF B)1.2e0.5 C)2L D)7221、假 定 x 和 y 为 double型,则表达式x=2,y=x+3/2的 值 是。A)3.500000 B)3 C)2.000000 D)3.00000022、设变量n 为 float型,m 为 int类型,则以下能实现将n 中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是。A)n=(n*100+0.5)/100.0C)n=n*100+0.5/100.0B)m=n*100+0.5,n=m/l00.0D)n=(n/100+0.5)*100.023、以下合法的赋值语句是A)x=y=100 B)d-C)x+y D)c=int(a+b)24、下选项中不属于C 语言的类型是。A)signed short int B)unsigned long intB)unsigned int D)long short25、设以下变量均为int类型,则值不等于7 的表达式是。A)(x=y=6,x+y,x+l)B)(x=y=6,x+y,y+l)C)(x=6,x+l,y=6,x+y)D)(y=6,y+l,x=y,x+l)26、在 16位 C 编译系统上,若定义lo n g a;,则能给a 赋 40000的正确语句是。A)a=20000+20000:B)a=4000*10;C)30000+10000;D)a=4000L*10L;二.填空题1.在C 语 言 中(以 16位 PC 机为例),一 个 char数据在内存中所占字节数为,其 数 值 范 围 为 ;一 个 in t数据在内存中所占字节数为一,其数值范围为一;一个long数据在内存中所占字节数为一,其数值范围为 :一 个 float数据在内存中所占字节数为,其数值范围为。2.C 语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为。3.字符常量使用一对 界定单个字符,而字符串常量使用一对 来界定若干个字符的序列。4.在C 语言中,不同运算符之间运算次序存在_ _ _ _ 的区别,同一运算符之间运算次序存在_ _ _ _ _ _的规则。5.设x,i,j,k都是int型变量,表达式x=(i=4,j=16,k=32)计算后,x 的值为6.设 x=2.5,a=7,y=4.7,贝 U x+a%3*(int)(x+y)%2/4 为。7.设 a=2,b=3,x=3.5,y=2.5,!i!l(float)(a+b)/2+(int)x%(int)y 为。8.数学式子 的 C 语言表达式为 o9.数学式子 的 C 语言表达式为 o10.已知:char a=a,b=b,c=c,i;则表达式 i=a+b+c 的值为。11.已知int a=12,n=5;WJ:表达式运算后a 的值各为。a+=aa-=2a*=2+3a/=a+an%=(n%=2)a+=a-=a*=a12.设int a;float f;double i;则表达式10+a,+i*f值 的 数 据 类 型 是。13.若a 为 int型变量,则表 达 式(a=4*5,a*2),a+6的值为。14.假设所有变量均为整型,则表达式(a=2,b=5,a+,b+,a+b)的值为。15.已知a,b,c是一个十进制数的百位,十位,个位,则该数的表达式是 o16.定义:double x=3.5,y=3.2;则表达式(int)x*0.5的值是,表达式y+=X+的值是 o17.定义:int m=5,n=3;则 表 达 式 m/=n+4的值是,表达式m=(m=l,n=2,n-m)的值是_ _ _ _,表达式 m+=m-=(m=l)*(n=2)的值是 18.表达式5%(3)的值是,表达式5%(3)的值是 o19.若a 是 int变量,则执行表达式a=25/3%3后,a 的值是20.数学式子 的 C 语言表达式为:三.判断题1.在C 程序中对用到的所有数据都必须指定其数据类型。【】2.一个变量在内存中占据一定的存储单元。】3.一个实型变量的值肯定是精确的。【】4.对几个变量在定义时赋初值可以写成:inta=b=c=3;1 5.自增运算符(+)或自减运算符(-)只能用于变量,不能用于常量或表达式。16.在C 程序的表达式中,为了明确表达式的运算次序,常使用括号“()【17.%运算符要求运算数必须是整数。【】8.若a 是实型变量,C 程序中允许赋值a=10,因此实型变量中允许存放整型数【】9.在C 程序中,逗号运算符的优先级最低。【】10.C 语言不允许混合类型数据间进行运算。【】四.简答题1.为什么C 语言的字符型可以进行数值运算?2.简述匕 和“a”的区别。3.程序:int m=12;m=15;为什么整型变量m 的值在运算后不是当初的12,而 是 15?4.将下面各数用八进制和十六进制数表示:十进制 32-1 -32768 2002-128 0八进制十六进制6.华氏温度F 与摄氏温度c 的转换公式为:c=(F-32)*5/9,则 float c,F;c=5/9*(F-32)是其对应的C 语言表达式吗?如果不是,为什么?五.程序阅读题1.写出以下程序运行的结果。main()(charcl=,ac2=,b;c3=,cc4=,10r,c5=,116,;printf(44a%c b%ctc%ctabcn,c I,c2,c3);printf(4 4tb%c%cM,c4,c5);2.写出以下程序运行的结果。main()(int i,j,m,n;i=8;j=10;m=+i;n=j+;六.编程题1.假设m 是一个三位数,则写出将m 的个位,十位,百位反序而成的三位数(例如:123反序为321)的 C 语言表达式。2.已知int x=10,y=12;写出将x 和 y 的值互相交换的表达式。习题三一.选择题LC语言的程序一行写不下时,可以。A)用逗号换行 B)用分号换行C)在任意一空格处换行 D)用回车符换行2.putchar()函数可以向终端输出一个。A)整型变量表达式值 B)实型变量值C)字符串 D)字符或字符型变量值3.执行下列程序片段时输出结果是。u n s i g n e d i n t a=6 5 5 35;p r i n t f Ct%d,a);A)6 5 5 35 B)-1 C)-32 7 6 7 D)14.执行下列程序片段时输出结果是。f l o a t x=-1 0 2 3.0 1 2p r i n t f C n%8.3f;x);p r i n t f C%1 0.3r,x);A)1 0 2 3.0 1 2,-1 0 2 3.0 1 2 B)-1 0 2 3.0 1 2,-1 0 2 3.0 1 2C)1 0 2 3.0 1 2,-1 0 2 3.0 1 2 D)-1 0 2 3.0 1 2,-1 0 2 3.0 1 25.已有如下定义和输入语句,若要求a l,a 2,c l,c 2的值分别为1 0,2 0,A和B,当从第一列开始输入数据时,正确的数据输入方式是。i n t a l,a 2;c h a r c l,c 2;s c a n f C%d%c%c,&a l,&a 2,&c l,&c 2);A)1 0 A 2 0 B/B)1 0 A 2 0 B ZC)1 0 A 2 0 B/C)1 0 A 2 0 B Z6.对于下述语句,若 将1 0赋给变量k l和k 3,将2 0赋给变量k 2和k 4,则应按方式输入数据。i n t k 1,k 2,k 3,k 4;s c a n f(t t%d%d,&k 1,&k 2);s c a n f(d,%d”,&k 3,&k 4);A)1 0 2 0/B)1 0 2 0/C)1 0,2 0 /D)1 0 2 0/1 0 2 0/1 0 2 0 Z 1 0,2 0/1 0,2 0/7.执行下列程序片段时输出结果是。i n t x=1 3,y=5;p r i m f(d”,x%=(y/=2);A)3 B)2 C)1 D)08.下列程序的输出结果是。m a i n ()i n t x=0 2 3;p r i n t f(%d,-x);)A)1 7 B)1 8 C)2 3 D)2 49.已有如下定义利输入语句,若要求a l,a 2,c l,c 2的值分别为1 0,2 0,A和B,当从第一列开始输入数据时,正确的输入方式是。int al,a2;char cl,c2;scanfCt%d%d,&al,&a2);scanf(tt%c%c,&cl,&c2);A)1020A B/B)10 20ZA B/C)10 20 A B/D)10 20ABZ10.执行下列程序片段时输出结果是。int x=5,y;y=2+(x+=x+,x+8,+x);printf(%d”,y);A)13 B)14 C)15 D)1611.若定义x 为 double型变量,则能正确输入x 值的语句是。A)scanf(,x);B)scanf(4%f&x);C)scanf(lfD)scanfC%5.1f&x);12.若运行时输入:12345678/,则下列程序运行结果为。main()int a,b;scanf(tt%2d%2d%3d,&a,&b);printf(t%dn,a+b);)A)46 B)579 C)5690 D)出错13.已知i,j,k为 in t型变量,若从键盘输入:1,2,3 回车,使 I 的值为1,j的值为2,k 的值为3,以下选项中正确的输入语句是。A)scanf(tt%2d%2d%2d,&i,&j,&k);B)scanf(d_%d_%d”,&i,&j,&k);C)scanf(d,%d,%d”,&i,&j,&k);D)scanf(ui=%dj=%d,k=%d,&i,&j,&k);14.若int x,y;double z;以下不合法的scanf函数调用语句是。A)scanf(d%lx,%le”,&x,&y,&z);B)scanf(tt%2d*%d%lf;&x,&y,&z);C)scanf(%x%*d%o”,&x,&y);D)scanf(t%x%o%6.2f,&x,&y,&z);15.有输入语句:scanf(a=d,b=%d,c=%cr,&a,&b,&c);为使变量 a 的值为 1,b 的值为3,c 的值为2,则正确的数据输入方式是A)132/C)a=l b=3 c=2/B)1,3,2/D)a=l,b=3,c=2/二.填空题1.一个C 程序由若干个文件组成,而一个这样的文件可以由若干个和 以及 组成。2.C 语句可以分为 ,_ _,_ ,和 等 5 种类型。3.C 控制语句有 种。4.一个表达式要构成一个C 语句,必须 o5.复合语句是用一对 界定的语句块。6.printf函数和scanf函数的格式说明都使用 字符开始。7.scanf处理输入数据时,遇到下列情况时该数据认为结束:(1),(2),(3),8.已有int i,j;float x;为将-10赋给i,12赋给J 410.34赋给x:则对应以下scanf函数调用语句的数据输入形式是 o9.C 语言本身不提供输入输出语句,其输入输出操作是由 来实现的。10.般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:0三.程序阅读题1用下面的 scanf 函数输入数据,使 a=3,b=7,x=8.5,y=71.82,cl=A,c2=a,问在键盘上如何输入?main()int a,b;float x,y;char cl,c2;scanfC4a=%d b=%d,&a,&b);scanf(%f%e,&x,&y);scanf(4t%c%c,&cl,&c2);2.写出以下程序的输出结果。main()int y=3,x=3,z=l;printf(u%d%dn”,(+x,y+),z+2);3.写出以下程序的输出结果。main()int a=12345;float b=-198.345,c=6.5;printf(*a=%4d,b=%-10.2e,c=%6.2fn,ab,c);4.写出以下程序的输出结果。main()int x=-2345;float y=-12.3;printf(u%6D,%06.2Fx,y);5.写出以下程序的输出结果。main()int a=252;printf(ua=%o a=%#on,a,a);printf(ua=%x a=%#xn,a,a);6.写出以下程序的输出结果。main()int x=12;double a=3.1415926;printf(44%6d#,%-6d#n,x,x);printf(“14.101f#n,a);四.程序填空题1.下列程序的输出结果是16.00,请 填(1)空使程序完整。main()int a=9,b=2;float x=1 ,y=l.l,z;z=a/2+b*x/y+1/2;pri ntf(=l)&(x=200)&(x=l)ll(x=200)ll(x=l)&(x=200)&(x=l)II(x=200)II(x=210)5.C 语言对嵌套if 语句的规定是:else总 是 与。A)其之前最近的if配对 B)第一个if配对C)缩进位置相同的if配对 D)其之前最近的且尚未配对的if配对6.设:皿 2=1b=2,。=3,1)&(11=0(1)后门的值为。A)1 B)2 C)3 D)47.下面 是错误的if语 句(设 int x,a,b;)A)if(a=b)x+;B)if(a=y)x=y;y=x;elsex+;y+;printf(d,%d,x,y);)A)有语法错误,不能通过编译 B)若输入3 和 4,则输出4 和 5C)若输入4 和 3,则输出3 和 4 D)若输入4 和 3,则输出4 和 510.若 w=l,x=2,y=3,z=4,则条件表达式 wx?w:y=l)1 1 (x=l I x=l&x=l)&(x0 11 +b0)+c;printf(d,%d,%d“ab,c);)A)0,0,0 B)1,1,1 C)1,0,1 D)0,1,113.下述程序的输出结果是omain()int x=-1,y=4,k;k=x+=0&!(y=0);printf(%d,%d,%d”,k,x,y);)A)0,0,3 B)0,1,2 C)1,0,3 D)1,1,214.以下程序输出结果是 omain()int x=l,y=0,a=0,b=0;switch(x)case kswitch(y)case 0:a+;break;case 1 :b+;break;case 2:a+;b+;break;case 3:a+;b+;)printf(44a=%d,b=%d,a,b);)A)a=l,b=O B)a=2,b=1 C)a=l,b=l D)a=2,b=215.下述程序的输出结果是。main()int a,b,c;int x=5,y=10;a=(y=x+)?-y:+x;b=y+;c=x;printf(%d,%d,%d”,&b,c);)A)6,9,7 B)6,9,6 C)7,9,6 D)7,9,716.当a=l,b=3,c=5,d=4时,执行完下面一段程序后x 的 值 是。if(ab)if(cd)x=l;elseif(ac)if(bd)x=2;else x=3;else x=6;else x=7;A)1 B)2 C)3 D)417.在下面的条件语句中(其中S1和 S2表示C 语言语句),只 有 一个在功能上与其他三个语句不等价。A)if(a)Sl;elseS2;B)if(a=0)S2;else SI;C)if(a!=O)Sl;else S2;D)if(a=0)SI;else S2;18.若int i=0;执行下列程序后,变量i 的正确结果是。switch(i)case 9:i+=l;case 10:i+=l;case 11:i+=l;default:i+=l;)A)10 B)11 C)12 D)1319.若有说明语句 int i=5,j=4,k=6;float f;则执行 f=(i j&ivk)?i:(jbc,b&c+l,c+=l,则表达式值相等的是 OA)和 B)和 C)和 D)和二.填空题1.C 语 言 提 供 6种 关 系 运 算 符,按 优 先 级 高 低 它 们 分 别是,等。2.C语 言 提 供 三 种 逻 辑 运 算 符,按 优 先 级 高 低 它 们 分 别是,,o3.设a=3,b=4,c=5,写出下面各逻辑表达式的值。表达式 表达式运算后的值a+bc&b=c!(ab)&!c II 1!(a+b)+c-l&b+c/24.写出数学式子 的 C 语言表达式。5.将条件“y 能被4 整除但不能被100整除,或 y 能被400整除”写成逻辑表达式 O6.设x,y,z均 为 int型变量;写出描述“x,y和 z 中有两个为负数 的C 语言表达式:7.已知 A=7.5,B=2,C=3.6,表达式 AB&CA II AB 的值是 O8.有 int x=3,y=-4,z=5;则表达式(x&y)=(xllz)的值为 .9.若有 x=l,y=2,z=3,则表达式(xvy?x:y)=z+的值是10.执行以下程序段后,a=_,b=_,c=_ oint x=10,y=9;int a,b,c;a=(x=y+)?x :y+;b=x+;c=y;三.判断题Lif语句中的表达式不限于逻辑表达式,可以是任意的数值类型。【】Zswitch语句可以用if语句完全代替。【】3.switch语句的case表达式必须是常量表达式。【】4.if语句,switch语句可以嵌套,而且嵌套的层数没有限制。【】5.条件表达式可以取代if语句,或者用if语句取代条件表达式。】6.switch语句的各个case和 default的出现次序不影响执行结果。7.多个case可以执行相同的程序段。【】8.内层break语句可以终止嵌套的sw itch,使最外层的switch缄。【9.switch语句的case分支可以使用 复合语句,多个语句序列。】lO.switch语句的表达式与case表达式的类型必须一致。【】四.简答题1.C 语言中如何表示嗔”和“假”?系统如何判断一个量的嗔”和“假”?2.请将以下语句改成switch语句。if(s0)&(s=3)&(sl)&(s8)x=3;else x=1;else x=0;五.程序阅读题1.若运行时输入1 0 0/,写出以下程序的运行结果。main()int a;scanf(%d,&a);printf(s”,(a%2!=0)?No:Yes);2.写出以下程序的运行结果。main()int a=2,b=7,c=5;switch(a0)case 1:switch(b=A 1 1 cv=Z)?c-32:c+32;printf(44%c,c);)2.下面程序输入两个运算数x,y和一个运算符号op,然后输出该运算结果的值,例如输入3+5/得到结果8;请判断下面程序的正误,如果错误请改正过来。main()(float x,y,r;char op;scanf(“f%c%F,&x,&op,&y);switch(op)case:r=x+y;case:r=x+y;case:r=x+y;case:n=x+y;)printf(4%r,r);七.程序填空题L根据以下函数关系,对输入的每个X值,计算出相应的y 值,请填(3)空使程序完整。main()(int x,c,m;float y;scanf(d”,&x);if(1 )c=-l;else c=2;switch(c)case-1 :y=0;break;case 0:y=x;break;case 1 :y=10;break;case 2:case 3:y=-0.5*x+20;break;default:y=-2;if(3 )printfC4y=%fy);elseprimf(em)r!);)2.以下程序输出x,y,z三个数中的最小值,请 填(2)空使程序完整。main()int x=4,y=5,z=8;int u,v;u=xy?1 ;v=u100)break;)printf(n%d”,s);C)int k,s=O;for(k=1 ;k=100;s+=+k);printf(*tn%d,s);s+=k;if(+k=100)goto Repeatprintf(n%d”,s);D)k=l;dos+=k;while(+k0;x-)if(x%3=0)printf(“d”,-x);continue;A)741B)852C)963D)8754216.以下不是死循环的程序段是。A)int i=100;while(1)i=i%100+1;if(i 100)break;C)int k=0;do +k;while(k=0);B)fo r(;);D)int s=36;while(s);s;7.下 述 程 序 段 的 运 行 结 果 是。int a=l,b=2,c=3,t;while(ab=A&c=a&c=z)n+;)A)c=getchar()B)getchar()C)c=getchar()D)scanf(%c”,&c)9.下述语句执行后,变量k 的 值 是。int k=1;while(k+10);A)10 B)11 C)9 D)无限循环,值不定10.下面程序的输出结果是。main()int k=0,m=0,i,j;for(i=0;i2;i+)for(j=0;j3;j+)k+;k-二 j;)m=i+j;printf(ttk=%d,m=%d,k,m);)A)k=0,m=3 B)k=0,m=5 C)k=l,m=3 D)k=l,m=511.下面for循 环 语 句。int i,k;for(i=0,k=-l;k=l;i+,k+)printf(*);A)判断循环结束的条件非法 B)是无限循环C)只循环一次 D)一次也不循环12.语句while(旧);括号中的表达式!E 等价于 oA)E=0 B)E!=l C)E!=0 D)E=l13.以下是死循环的程序段是。A)for(i=l;)if(i+%2=0)continue;if(i+%3=0)break;)B)i=32767;do if(i0)break;while(+i);C)for(i=l;)if(+I10)continue;D)i=l;while(i);14.执行语句for(i=l;i+4;);后变量i 的值是。A)3B)4C)5D)不定1 5.以下程 序 段。x=-l;d o x=x*x;w h i l e (!x);A)是 死 循 环B)循环执行2次C)循环执行1次 D)有语法错误1 6.下面程序的功能是在输入的一批正数中求最大者,输 入0结束循环,选择 填空。m a i n ()i n t a,m a x=0;s c a n f(u%d,&a);w h i l e ()i f (m a x a)m a x=a;s c a n f (d”,&a);)p r i n t f(4 +y;x=i+)i=x ;B)f o r(;x+=i );C)w h i l e (1)x+;D)f o r (i=1 0 ;i )s u m+=i ;1 8.下面程序段的运行结果是。x=y=0;w h i l e (x 1 5)y+,x+=+y ;p r i n t f(4%d,%d,y,x);A)2 0,7 B)6,1 2 C)2 0,8 D)8,2 01 9.以下f o r循环的执行次数是。f o r (x=0,y=0;(y=1 2 3)&(x 4);x+);A)无 限 循 环B)循环次数不定 C)4次 D)3次20.若运行以下程序时,输入2 4 7 3/,则程序的运行结果是。main()int c;while(c=getchar()!=n)switch(c-2)case 0:case 1 :putchar(c+4);case 2:putchar(c+4);break;case 3:putchar(c+3);default:putchar(c+2);break;)printf(n”);)A)668977 B)668966 C)66778777 D)6688766二.填空题l.C 语言三个循环语句分别是语句,语句和语句。2.至 少 执 行 一 次 循 环 体 的 循 环 语 句 是 o3.循 环 功 能 最 强 的 循 环 语 句 是。5.程序段for(a=1 ,i=-1;-1 i 1;i+)a+;printfC4%2d,a););printf(2d”,i);的运行结果是。三.判断题1.在while循环中允许使用嵌套循环,但只能是嵌套while循1;。【)2.在实际编程中,do-while循环完全可以用for循环替换。【】3.continue语句只能用于三个循环语句中。【】4.在不得已的情况下(例如提高程序运行效率),才使用goto谛J。5.语句标号与C 语言标识符的语法规定是完全一样的。【】6.for循环的三个表达式可以任意省略,while,do-while也是如此。【】7.do-while允许从外部转到循环体内。【】8.while的循环控制条件比do-while的循环控制条件严格。【】9.do-while循环中,根据情况可以省略while。lO.do-while循环的while后的分号可以省略。四.程序阅读题1.写出下面程序运行的结果。main()int x,i;for(i=l;i=100;i+)x=i;if(+x%2=0)if(+x%3=0)if(+x%7=0)printf(%d”,x);2.写出下面程序运行的结果。main()int i,b,k=O;for(i=l;i=5;i+)b=i%2;while(b=0)k+;)printf(44%d,%dM,k,b);3.写出下面程序运行的结果。main()int a,b;for(a=l,b=1 ;a=20)break;if(b%3=l)b+=3;continue;)b-=5;)printf(%drT,a);4.写出下面程序运行的结果。main()int k=l,n=263;do k*=n%10;n/=10;while(n);printf(4t%dn,k);5.写出下面程序运行的结果。main()int i=5;doswitch(i%2)case 4:i ;break;case 6:i ;continue;)i-;i-;printfC0);6.写出下面程序运行的结果。main()int i,j;for(i=0;i=0;j-)if(j+i)%2)j_;printf(50)break;while(a=14);printf(ua=%d y=%dn,a,y);)8.写出下面程序运行的结果。main()inti,j,k=19;while(i=k-l)k-=3;if(k%5=0)i+;continue;else if(k5)break;i+;printf(ti=%d,k=%dn,i,k);9.写出下面程序运行的结果。main()int y=2,a=l;while(y!=-l)do a*=y;a+;while(y);printf(44%d,%dn,a,y);)10.写出下面程序运行的结果。main()int i,k=0;for(i=l;i+)k+;while(k i*i)k+;if(k%3=0)goto loop;)loop:printf(%d,%n”,i,k);六.程序填空题1.下述程序用“碾转相除法”计算两个整数m和n的最大公约数。该方法的基本思想是计算m和n相除的余数,如果余数为0则结束,此时的被除数就是最大公约数。否则,将除数作为新的被除数,余数作为新的除数,继续计算m和n相除的余数,判断是否为0,等等,请 填(3)空使程序完整。main()int m,n,w;scanf(*%d,%d,&m,&n);w h i l e (n)w=1 ;m=2 ;n=3 1;)p r i n t f(%d,m);2.下面程序的功能是输出1至1 0 0之间每位数的乘积大于每位数的和的数,请 填(3)空使程序完整。m a i n ()i n t n,k=l,s=0,m ;f o r (n=l ;n s)p r i n t f(d d”,n);3.下面程序段的功能是计算1 0 0 0!的末尾有多少个零,请填空使程序完整。m a i n ()i n t i,k;f o r (k=0,i=5;i =1 0 0 0;i+=5)m=i;w h i l e (1 )k+;m=m/5 ;4.下面程序接受键盘上的输入,直到按/键为止,这些字符被原样输出,但若有连续的一个以上的空格时只输出一个空格,请填(3)空使程序完整。main()(char ex,front=,0,;while(1 !=n)if(cx!=,)putchar(cx);if(cx=)if(2 )putchar(3 )front=cx;)5.下面程序按公式求和并输出结果,请填(3)空使程序完整。main()(1 ;int k;for(k=l;k=100;k+)s+=k;for(k=l;k=50;k+)s+=k*k;for(k=l;k=10;k+)s+=2 ;printf(t4sum=3】”,s);七.编程题1.输入两个正整数m 和 n,求其最大公约数和最小公倍数。2.输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。3 .求(即求 1!+2!+3!+1 9!+2 0!)。4.有一个分数数列:求出这个数列前2 0项之和。5.提高题:打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。习题六一.选择题1.在C语言中,引用数组元素时,其数组下标的数据类型允许是A)整型常量 B)整型表达式C)整形常量或整形表达式 C)任何类型的表达式2.以下对一维整型数组a的正确说明是。A)i nt a(1 0);B)i nt n=1 0,an;C)i nt o;D)#defi ne SI ZE 1 0s canf(d”,&n);i nt aSI ZE;i nt an;3.若有定义:i nt a1 0,则对数组a元 素 的 正 确 引 用 是。A)a1 0 B)a3.5 C)a(5)D)a 1 0-1 0 4.以下能对一维数组a进 行 正 确 初 始 化 的 语 句 是。A)i nt a 1 0=0,0,0,0,0;B)i nt a1 0=;C)i nt a=0 ;D)i nt a1 0=1 0*1;5.若有定义:i nt a,则对数组a元素的正确引用是。A)a2 4 B)al,3 C)a(5)D)a1 0-1 0 J6.以下能对二维数组a进行正确初始化的语句是。A)i nt a口=1,0,1,5,2,3;B)i nt a3=l,2,3,4,5,6);C)i nt a2 4=l,2,3,4,5,6);D)i nt a3=1,0,1,U ;7.以下不能对二维数组a进行正确初始化的语句是。A)i nt a2 3=0;B)i nt a3=l,2,0;C)i nt a2 3=l,2,3,4,5,6;D)i nt a3=1,2,3,4,5,6);8.若有说明:i nt a3 4=0;则下面正确的叙述是。A)只有元素a 可得到初值0B)此说明语句不正确C)数组a中各元素都可得到初值,但其值不一定为0D)数组a中每个元素均可得到初值09.若有说明:i nt a4=0,0;则下面不正确的叙述是。A)数组a的每个元素都可得到初值0B)二维数组a的第一维大小为1C)因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1D)只有元素a0 和可得到初值0,其余元素均得不到初值01 0.若二维数组a有m歹U,则计算任一元素在数组中位置的公式为.(设a0 位于数组的第一个位置上)A)i*m+j B)j*m+i C)D)i*m+j+l11.若有说明:3叫3=1,2,3,4,5,6,7;则数组2 第一维大小是0

    注意事项

    本文(典型C语言练习题.pdf)为本站会员(无***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开