《C语言程序设计23章练习题及答案高职.docx》由会员分享,可在线阅读,更多相关《C语言程序设计23章练习题及答案高职.docx(6页珍藏版)》请在第一文库网上搜索。
1、C语言程序设计2-3章练习题及答案习题21 .简述算法的概念。2 .算法应具备哪些特性?3 .分别说明什么是自然语言描述法?什么是框图语言描述法?什么是伪语言描述法?什么是NS框图语言描述法?它们的优缺点各是什么?4 .在结构化程序设计方法中,有哪几种基本结构?5 .请用框图语言和N-S框图语言分别写出打印乘法九九口诀表的算法。6 .请用伪语言写出求n!的算法。7 .仿照【例2-3的程序,依照流程图,编写【例2-1】程序。8 .仿照【例2-3的程序,依照流程图,编写【例2-2】程序。9 .仿照【例2-3的程序,依照流程图,编写【例24】程序。10.仿照【例2-3的程序,依照流程图,编写【例2-
2、5】程序。习题参考答案11 .简述算法的概念。答:算法就是为解决一个具体的问题而使用的确定的、有限的方法和步骤。12 .算法应具备哪些特性?答:算法应具备有穷性、确定性、可行性、输入、输出等五种特性。13 .分别说明什么是自然语言描述法?什么是框图语言描述法?什么是伪语言描述法?什么是N-S框图语言描述法?它们的优缺点各是什么?答:用人们日常使用的语言来描述算法,称为算法的自然语言描述法。框图语言描述法是用一些特殊符号来描述算法流程的算法。N-S框图语言描述法是一种将具体的功能都写在一个矩形框内,框内又可以包含其他的从属框的描述方法。伪语言描述法是用介于自然语言和计算机语言之间的文字符号来描述
3、算法。(优缺点略)14 .在结构化程序设计方法中,有哪几种基本结构?答:在结构化程序设计方法中有顺序结构、分支结构和循环结构三种。15 .请用伪语言写出打印乘法九九口诀表的算法。参考算法如下:初始化i=1j=1printf(,%d*%d=%-3d,ij,i*j);/-3d表示左对齐,占3位j+列号加1如果列号卜=行号i转到。i+行号加1如果行号i10转到。算法结束。16.习题3.选择题D关于C语言数据类型的叙述,正确的是()。A.枚举类型不是基本类型B,数组不是构造类型C.变量必须先定义后使用D.不允许使用空类型2)对于C语言源程序,以下叙述错误的是()。A.可以有空语句B.函数之间是平等的,
4、在一个函数内部不能定义其他函数C.程序调试时如果没有提示错误,就能得到正确结果D.注释可以出现在语句的前面3)下面关于C语言用户标识符的描述,正确的是()。A.不区分大小写B.用户标识符不能描述常量C.类型名也是用户标识符D.用户标识符可以作为变量名4)以下()是正确的变量名。A.5fB.ifC.f.5D._f55)以下()是正确的常量。A.E-5B.1E5.1C.,a12,D.3276616)以下()是正确的变量名。A.a.beeB.-p11C.intD.p_117)以下()是正确的字符常量。A.cB.V,C.,W,D.32a8)以下()是不正确的字符串常量。A.,abcB.,112,12,
5、C.OD.9)以下()是错误的整型常量。A.-OxcdfB.018C.OxeD.01110)以下()是正确的浮点数。A.e3B.62C.2e4.5D.12311)若有说明语句:charc=95;则变量C包含()个字符。A.1B.2C.3D.语法错误12)若有定义:inta=2;则正确的赋值表达式是()。A.a-=(a*3)B.doub1e(-a)C.a*3D.a*4=313)语句x=(a=3,b=+a);运行后,x、a、b的值依次为()。A.3,3,4B.4,43C.4,4,4D.3,4,314)语句a=(34)+3%2;运行后,a的值为()。A.0B.1C.2D.315) Char型变量存放
6、的是()。A.ASCII代码值B.字符本身C.十进制代码值D.十六进制代码值16)若有定义:intx,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()。A.3,3B.4,4C.4,3D,3,417)若有定义:inta;则语句=(3*4)+2%3;运行后,a的值为()。A.12B.14C.11D.1718)若有定义:inta,b;doub1eX,则以下不符合C语言语法的表达式是()。A.x%(-3)B.a+=-2C.a=b=2D.x=a+b19)若有定义:intx=2,y=3;f1oati;,则以下符合C语言语法的表达式是()。A.x=x*3=2B.x=(y=1)C.i=f1oat
7、(x)D.i%(-3)20)设doub1e型变量a,b,c,e均有值;对代数式(3ae)(bc),不正确的C语言表达式是()OA.abc*e*3B.3*a*ebcC.3*a*eb*cD.a*ecb*32 .填空题1)设a为Short型变量,描述“a是奇数”的表达式是。2)若有定义:血=5力=28=1;则表达式2上|也二二:的值是。3)已知Charc=Ab)&(y=cd)的值为6)若有定义:inta=2,b=3;f1oatx=35,y=2.5;则表达式(f1oat)(a+b)2+(int)x%(int)y的值是。7)若有定义:intb=7;f1oata=2.5,c=4.7;则表达式a+(b2*(
8、int)(a+c)2)%4的值是。3 .程序设计题1)已知圆半径的r=2.5,圆柱高h=1.8,求圆周长,圆柱体积。2)要将“China”译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母。例如,字母A”后面第4个字母是“E,用”E“代替A“。因此,China应译为“G1mrev。请编写1程序,用赋初值的方法使c1、C2、C3、c4、c5五个变量的值分别为C、E、i、a,经过运算,使c1、C2、C3、C4、c5分别变为G、T、m、r、e、,并输出。(1)输入事先已编好的程序,并运行该程序。分析是否符合要求。(2)改变c1、C2、C3、C4、C5、的初值为:叮、o、d、F、,对译码规
9、律作如下补充:W用4代替,X用B代替,Y用C代替,Z用D代替。修改程序并运行。(3)将译码规律修改为:将字母用它前面的第4个字母代替,例如:E用A代替,Z用U代替,D用Z代替,C用Y代替,B用X代替,A用V代替。修改程序并运行。3)输入秒数,将它按小时、分钟、秒的形式来输出。例如输入24680秒,则输出6小时51分20秒。第3章习题参考答案1、选择题(DC(2)CD(4)D(5)D(6)D(7)C(S)A(9)B(IO)B(H)A(12)A(13)C(14)B(15)A(16)C()B(18)A(W)B(20)C2、填空题(1)a%2!=0或a%2=10(2)0。(3),0o(4)3.5Q(5
10、) O(6)3.5o4.5。3、程序设计题(1):#inc1udemain()(f1oatr=0,h=0,1=0,v=0,pi=0;pi=3.1415926;Printf(请输入圆半径及圆柱的高,用逗号分隔:);scanf(u%f,%f,&r,&h);1=2*pi*r;v=pi*r*r*h;Printf(圆周长为:%6.2fn,1,1);Printf(%圆柱体积为:%6.2fn,*,v);1(2):#inc1udemain()(charc1=C,c2=h,c3=,i,c4=,n,c5=a;Printf(原字符为:%c%c%c%c%cn,cI,c2,c3,c4,c5);c1+=4;c2+=4;c
11、3+=4;c4+=4;c5+=4;Printf(加密后的字符为:%c%c%c%c%cn,cI,c2,c3,c4,c5);c1=T,c2=,o,c3=,d,c4=a,c5=,y,;Printf(题目(2)原字符为:%c%c%c%c%cn,c1,c2,c3,c4,c5);*c1=,w,c2-x,c3=,y,c4=z,c5=,w,;*/c1-=22;c2-=22;c3-=22;c4-=22;c5-=22;Printf(题目(2)加密后的字符为:%c%c%c%c%cn,c1,c2,c3,c4,c5);Printf(题目(3)原字符为:%c%c%c%c%cn,c1,c2,c3,c4,c5);c1-=4;c2-=4;c3-=4;c4-=4;c5-=4;Printf(题目(3)加密后的字符为:%c%c%c%c%cn,c1,c2,c3,c4,c5);1(3):#inc1udemain()(1ongx=0;inth=0,m=0,s=0;Printf(请输入秒数,为一个正整数:);scanf(u%d,&x);h=x3600;m=x%360060;s=x%3600%60;Printf(你输入的秒数为%d小时%d分d秒n,h,m,s);)