1、C+语言程序设计电大形考作业教诲部人才培养模式改革和开放教诲项目湖 州 广 播 电 视 大 学C+语言程序设计形成性考核作业学生姓名 学 号 班 级 湖州广播电视大学 编制C+语言程序设计平时作业一批阅得分教师签名一、单项选取题 1. C+源程序文献默认扩展名为( )。 A. cpp B. exe C. obj D. lik 2. 由C+源程序文献编译而成目的文献默认扩展名为( )。 A. cpp B. exe C. obj D. lik 3. 由C+目的文献连接而成可执行文献默认扩展名为( )。 A. cpp B. exe C. obj D. lik 4. C+程序从上机到得到成果几种操作环
2、节依次是( )。 A. 编译、编辑、连接、运营 B. 编辑、编译、连接、运营 C. 编译、运营、编辑、连接 D. 编辑、运营、编辑、连接 5. 如下标记符中不全是保存字是( )。 A. case for int B. default then while C. bool class long D. goto return char 6. 能作为C+程序基本单位是( )。 A. 字符 B. 语句 C. 函数 D. 源程序文献 7. 程序中主函数名字为( )。 A. main B. MAIN C. Main D. 任意标记符 8. C+程序基本模块为( )。 A. 表达式 B. 标记符 C. 语句
3、 D. 函数 9. 可用作C+语言顾客标记符一组标记符是( )。A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof 10. 存储如下数据,占用存储字节最多是( )。 A. 0 B. 0 C. “0” D. 0.0 11. 程序运营中需要从键盘上输入多于一种数据时,各数据之间应使用( )符号作为分隔符。 A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车 12. 设”int a=12;”,则执行完语句”a+=a*a;”后,a值是( )。 A. 12 B. 144 C. 156 D. 288 1
4、3. 假设在程序中 a、b、c 均被定义成整型,所赋值都不不大于1,则下列能对的表达代数式表达式是( )。A. 1.0/a*b*c B. 1/(a*b*c) C. 1/a/b/(float)c D. 1.0/a/b/c 14. 设”int a=15,b=26;”,则”cout0 & x=10相反表达式为( )。A. x10 B. x10C. x=0 | x0 & x10 17. x0 | y=5相反表达式为( )。A. x=0 | y!=5 B. x0 | y!=5 D. x0 & y=5 18设x和y均为bool量,则x & y为真条件是( )。 A. 它们均为真 B. 其中一种为真 C.
5、它们均为假 D. 其中一种为假 19设x和y均为bool量,则x | y为假条件是( )。 A. 它们均为真 B. 其中一种为真 C. 它们均为假 D. 其中一种为假 20. 字符串”a+b=12n”长度为( )。 A. 6 B. 7 C. 8 D. 9 21. 假定下列x和y均为int型变量,则不对的赋值为( )。 A. x+=y+ B. x+=y+ C. x=+y D. +x=+y 22. 下列符号常量定义中,错误定义是( )。 A. const M=10; B. const int M=20; C. const char ch; D. const bool mark=true; 23.
6、循环语句“for(int i=0;in;i+) couti*i ;”中循环体执行次数为( )。 A. 1 B. n-1 C. n D. n+1 24. 在下面循环语句中循环体执行次数为( )。 for(int i=0;in/2) break; A. n/2 B. n/2+1 C. n/2-1 D. n-1 25. 在下面循环语句中内层循环体S语句执行总次数为( )。 for(int i=0;in;i+) for(int j=i;jn;j+) S; A. n2 B. (n+1)/2 C. n(n-1)/2 D. n(n+1)/2 26. 在下面循环语句中循环体执行次数为( )。 int i=0,
7、s=0;while(s20) i+;s+=i; A. 4 B. 5 C. 6 D. 7 27. 在下面循环语句中循环体执行次数为( )。 int i=0;do i+;while(i*i10); A. 4 B. 3 C. 5 D. 2 28. 当解决特定问题时循环次数已知时,普通采用( )来解决。 A. for循环 B. while循环 C. do循环 D. switch语句 29. 循环体至少被执行一次语句为( )。 A. for循环 B. while循环 C. do循环 D. 任一种循环 30. switch语句可以改写为( )语句。 A. for B. if C. do D. while
8、31. do语句可以改写为( )语句。 A. 复合 B. if C. switch D. while 32. 在下面一维数组定义中,哪一种有语法错误。( ) A. int a=1,2,3; B. int a10=0; C. int a; D. int a5; 33. 在下面字符数组定义中,哪一种有语法错误。( )。 A. char a20=”abcdefg”; B. char a=”x+y=55.”; C. char a15; D. char a10=5; 34. 在下面二维数组定义中,对的是( )。 A. int a5; B. int a5; C. int a3=1,3,5,2; D. in
9、t a(10); 35. 假定一种二维数组定义语句为“int a34=3,4,2,8,6;”,则元素a12值为( )。 A. 2 B. 4 C. 6 D. 8 36. 假定一种二维数组定义语句为“int a34=3,4,2,8,6;”,则元素a21值为( )。 A. 0 B. 4 C. 8 D. 6 37. 若定义了函数 double *function(),则函数function返回值为( )。 A. 实数型 B.实数地址 C.指向函数指针 D.函数地址 38. 如下说法中对的是( )。 A. C+程序总是从第一种定义函数开始执行 B. C+程序总是从main函数开始执行 C. C+函数必要
10、有返回值,否则不能使用函数 D. C+程序中有调用关系所有函数必要放在同一种程序文献中 39. 如下论述中不对的是( )。 A. 在一种函数中,可以有多条return语句 B. 函数定义不能嵌套,但函数调用可以嵌套 C. 函数必要有返回值 D. 不同函数中可以使用相似名字变量 40. 函数重载是指( )。 A. 两个或两个以上函数取相似函数名,但形参个数或类型不同 B. 两个以上函数取相似名字和具备相似参数个数,但形参类型可以不同 C. 两个以上函数名字不同,但形参个数或类型相似 D. 两个以上函数取相似函数名,并且函数返回类型相似 41. 如下关于函数模板论述对的是( )。 A. 函数模板也
11、是一种详细类型函数 B. 函数模板类型参数与函数参数是同一种概念 C. 通过使用不同类型参数,函数模板可以生成不同类型函数 D. 用函数模板定义函数没有类型 42. 下列( )调用方式是引用调用。 A. 形参和实参都是变量 B.形参是指针,实参是地址值 C. 形参是引用,实参是变量 D.形参是变量,实参是地址值 43. 为了提高程序运营速度,可将不太复杂功能用函数实现,此函数应选取( )。 A. 内联函数 B.重载函数 C.递归函数 D.函数模板 44. 函数原型语句对的是( )。 A. int Function(void a); B.void Function (int); C. int F
12、unction(a); D.void int(double a); 45. C+中函数返回值类型是由( )决定。 A. return语句中表达式类型 B.该函数定义时类型 C.调用函数时调用语句 D.系统依照成果 46. 如下函数返回成果是( )。 int function(char *x) char *p=x;while(*p+);return(p-x-1); A. 求字符串长度 B.将字符串x连接到字符串p背面 C. 将字符串x复制到字符串p中 D.将字符串x反向存储 47. 函数调用func(exp1,exp2),(exp3,exp4,exp5)中所含实参个数为( )个。 A. 1 B.
13、 2 C. 4 D. 5 48. 设有如下函数定义 int f(char *s) char *p=s; while(*p!=0) p+; return(p-s); 在主函数中用coutf(“good”)调用上述函数,则输出成果为( )。 A. 3 B. 4 C. 5 D. 6 49. 如下对的函数原型语句是( )。 A. double fun(int x,int y) B. double fun(int x;int y) C. double fun(int,int); D. double fun(int x,y); 50. 如下对的说法是( )。 A. 顾客调用原则库函数前,必要重新定义 B.
14、 顾客可以重新定义原则库函数,若如此,该函数将失去原有含义 C. 系统不容许顾客重新定义原则库函数 D. 顾客调用原则库函数前,不必使用预编译命令将该函数所在文献涉及到顾客源文献中二、填空题 1. C+语言是在_语言基本上发展起来。 2. C+语言编译单位是扩展名为_文献。 3. 行尾使用注释开始标记符为_。 4. 多行注释开始标记符和结束标记符分别为_和_。 5. 用于输出表达式值原则输出流对象是_。 6. 用于从键盘上为变量输入值原则输入流对象是_。 7. 一种完整程序中必要有一种名为_函数。 8. 一种函数函数体就是一条_语句。 9. 当执行cin语句时,从键盘上输入每个数据后必要接着输
15、入一种_符,然后才干继续输入下一种数据。 10. 在C+程序中包括一种头文献或程序文献预编译命令为_。 11. 程序中预解决命令是指以_字符开头命令。 12. 一条表达式语句必要以_作为结束符。 13. 在#include命令中所包括头文献,可以是系统定义头文献,也可以是_定义头文献。 14. 使用#include命令可以包括一种头文献,也可以包括一种_文献。 15一种函数定义由_和_两某些构成。 16若一种函数定义处在调用它函数之前,则在程序开始可以省去该函数_语句。 17C+头文献和源程序文献扩展名分别为_和_。 18程序文献编译错误分为_和_两类。 19当使用_保存字作为函数类型时,该函
16、数不返回任何值。 20当函数参数表用_保存字表达时,则表达该参数表为空。 21从一条函数原型语句“int fun1(void);”可知,该函数返回类型为_,该函数带有_个参数。 22. 当执行cout语句输出endl数据项时,将使C+显示输出屏幕上光标从当前位置移动到_开始位置。 23. 假定x=5,y=6,则表达式x+*+y值为_。 24. 假定x=5,y=6,则表达式x-*-y值为_。 25. 假定x=5,y=6,则执行表达式y*=x+计算后,x和y值分别为_和_。 26. 假定x=5,y=6,则执行表达式y+=x-计算后,x和y值分别为_和_。 27. C+常数0x145相应十进制值为_
17、。 28. C+常数0345相应十进制值为_。 29. 十进制常数245相应十六进制C+表达为_。 30. 十进制常数245相应八进制C+表达为_。 31. signed char类型值域范畴是_至_之间整数。 32. int和float类型数据分别占用_和_个字节。 33. float和double类型数据分别占用_和_个字节。 34. bool和char类型数据分别占用_和_个字节。 35. unsigned short int和int类型长度分别为_和_。 36. 字符串”Thiss a book.n”长度为_。 37. 字符串”nThiss a pennn”长度为_。 38. 在C+中
18、存储字符串”abcdef”至少需要_个字节。 39. 在C+中存储字符串”a+b=c”至少需要_个字节。 40. 假定x和y为整型,其值分别为16和5,则x%y和x/y值分别为_和_。 41. 假定x和y为整型,其值分别为16和5,则x/y和double(x)/y值分别为_和_。 42. 假定x是一种逻辑量,则x & true值为_。 43. 假定x是一种逻辑量,则x | true值为_。 44. 假定x是一种逻辑量,则x & false值为_。 45. 假定x是一种逻辑量,则x | false值为_。 46. 假定x是一种逻辑量,则!x | false值为_。 47. 假定x是一种逻辑量,则
19、x & !x值为_。 48. 假定x是一种逻辑量,则x | !x值为_。 49. 数学算式C+表达式为_。 50. 数学算式C+表达式为_。 51. 数学算式C+表达式为_。 52. 设enum Printstatusready,busy,error;则 coutbusy输出成果是_。 53. 设enum Printstatusready=2,busy,error;则coutbusy输出成果是_。 54. 常数-4.205和6.7E-9分别具备_和_位有效数字。 55. 枚举类型中每个枚举值都是一种_,它值为一种_。 56. 常数100和3.62数据类型分别为_和_。 57. 若x=5,y=1
20、0,则计算y*=+x表达式后,x和y值分别为_和_。 58. 假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)值分别为_和_。 59. 假定x=10,则表达式x=10?20:30值为_。 60. 表达式sqrt(81)和pow(6,3)值分别为_和_。三、程序填充题,对程序、函数或类中划有横线位置,依照题意按标号把适当内容填写到程序下面相应标号背面。1. 斐波那契数列第1和第2个数分别为0和1 ,从第三个数开始,每个数等于其前两个数之和。求斐波那契数列中前20个数,规定每行输出5个数。#includevoid main() int f,f1,f2,i; cou
21、t” 斐波那契数列:n”; f1=0;f2=1; coutsetw(6)f1setw(6)f2; for(i=3;i=20;i+) f=_(1)_;coutsetw(6)f;if(_(2)_) coutendl;f1=f2;f2=_(3)_; coutendl; (1) (2) (3) 2. 计算值。 #include void main() double x,p1=1,p2=1,s=0; int i,j=1; coutx; for(i=1;i=10;i+) p1*=_(1)_; p2*=_(2)_; s+=j*p1/p2; /j值为(-1)i+1 j=_(3)_; coutsendl; (1
22、) (2) (3) 3. 打印出2至99之间所有素数(即不能被任何数整除数)。 #include #include void main() int i,n; for(n=2;_(1)_;n+) int temp=int(sqrt(n); /求出n平方根并取整 for(i=2;_(2)_;i+) if(n%i=0) _(3)_; if(itemp) coutn ; coutn; (1) (2) (3) 4. 采用辗转相除法求出两个整数最大公约数。 #include void main() int a,b; coutab; while(a=0 | _(1)_) coutab; while(b) i
23、nt r; r=a%b; _(2)_;_(3)_; /分别修改a和b值 coutaendl; /输出最大公约数 (1) (2) (3) 5. 把从键盘上输入一种不不大于等于3整数分解为质因子乘积。如输入24时得到输出成果为“2 2 2 3”,输入50时得到输出成果为“2 5 5”,输入37时得到输出成果为“37”。 #include void main() int x; coutx;while(_(1)_); int i=2; do while(_(2)_) couti ; x/=i; _(3)_; while(ix); if(x!=1) coutx; cout=i & _(3)_); ret
24、urn p*a*b; (1) (2) (3) 7. 在输出屏幕上打印出一种由字符*构成等腰三角形,该三角形高为5行,从上到下每行字符数依次为1,3,5,7,9。 #include void main() int i,j; for(i=1;_(1)_;i+) for(j=1;j=9;j+) if(j=5-i | _(2)_) cout ; else _(3)_; coutendl; (1) (2) (3) 8. 记录字符串中英文字母个数程序。 #include int count (char str); void main() char s180; cout s1; cout ”count=”count(s1)=a & stri=z |_(1)_ ) _(2)_; _(3)_; (1) (2) (3) 9. 主函数调用一种fun函数将字符串逆序。 #include #include _(1)_; void main( ) char s80; cins; _(2)_; cout”逆序后字符串:”sendl ;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1