《C语言程序设计形考任务(共18页).docx》由会员分享,可在线阅读,更多相关《C语言程序设计形考任务(共18页).docx(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上一、选择题(共20分,每小题2分)题目1当处理特定问题时的循环次数已知时,通常采用的语句是( )。选择一项:a. for b. while c. do-while d. switch 正确答案是:for题目2在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成的语句是( )。选择一项:a. for b. if c. do d. while 正确答案是:if题目3for语句能够被改写成的语句是( )。选择一项:a. 复合 b. if c. switch d. while 正确答案是:while题目4下面循环语句执行结束后
2、输出的i值为( )。for(int i=0; in/2) coutiendl; break;选择一项:a. n/2 b. n/2+1 c. n/2-1 d. n-1 正确答案是:n/2+1题目5在下面循环语句中,内层循环体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 正确答案是:n(n+1)/2题目6在下面的do循环语句中,其循环体被执行的次数为( )。int i=0; do i+; while(i*i10);选择一项:a. 4 b.
3、 3 c. 5 d. 2 正确答案是:4题目7在下面的一维数组定义中,有语法错误的选项是( )。选择一项:a. int a=1,2,3; b. int a10=0; c. int a; d. int a5; 正确答案是:int a;题目8在下面的二维数组定义中,语法正确的选项是( )。选择一项:a. int a5; b. int a5; c. int a3=1,3,5,2; d. int a(10); 正确答案是:int a3=1,3,5,2;题目9假定一个二维数组的定义语句为“int a34=3,4,2,8,6;”,则元素a11的值为( )。选择一项:a. 2 b. 4 c. 6 d. 8
4、正确答案是:8题目10假定一个二维数组的定义语句为“int a34=3,4,2,8,6;”,则元素a21的值为( )。选择一项:a. 0 b. 4 c. 8 d. 6 正确答案是:0二、判断题(共20分,每小题1分。叙述正确则回答“是”,否则回答“否”)题目11在执行“typedef int DataType;”语句后,标识符DataType与保留字int具有完全相同的含义和作用。选择一项:对 错 正确的答案是“对”。题目12在switch语句中,每个case和冒号之间的表达式只能是常量。选择一项:对 错 正确的答案是“对”。题目13为了结束本层循环类语句或switch语句的执行过程,在语句体
5、中需要使用break语句。选择一项:对 错 正确的答案是“对”。题目14在程序中执行到break语句时,将结束所在函数的执行过程,返回到调用该函数的位置。选择一项:对 错 正确的答案是“错”。题目15在程序执行完成任一个函数调用后,将结束整个程序的执行过程,返回到操作系统或C语言集成开发环境界面窗口。选择一项:对 错 正确的答案是“错”。题目16假定一维数组的定义为“char* a8;”,则该数组所含元素的个数大于8。选择一项:对 错 正确的答案是“错”。题目17假定二维数组的定义为“int a35;”,则该数组所占存储空间的字节数为60。选择一项:对 错 正确的答案是“对”。题目18假定二维
6、数组的定义为“char aMN;”,则该数组所含元素的个数为M+N。选择一项:对 错 正确的答案是“错”。题目19假定二维数组的定义为“double aMN;”,则每个数组元素的行下标取值范围在0M-1之间。选择一项:对 错 正确的答案是“对”。题目20假定二维数组的定义为“double aMN;”,则每个数组元素的列下标取值范围在0N之间。选择一项:对 错 正确的答案是“错”。题目21存储一个空字符串需要占用0个字节的存储空间。选择一项:对 错 正确的答案是“错”。题目22使用“typedef char BB1050;”语句定义标识符BB为含有10行50列的二维字符数组类型。选择一项:对 错
7、 正确的答案是“对”。题目23存储字符a需要占用1个字节的存储空间。选择一项:对 错 正确的答案是“对”。题目24空字符串的长度为1。选择一项:对 错 正确的答案是“错”。题目25字符串a:xxk数据的长度为13。选择一项:对 错 正确的答案是“错”。题目26为了存储一个长度为n的字符串,所使用的字符数组的长度至少为n+1。选择一项:对 错 正确的答案是“对”。题目27strcmp函数用于进行两个字符串之间的比较。选择一项:对 错 正确的答案是“对”。题目28strcpy函数用于把一个字符串拷贝到另一个字符数组空间中。选择一项:对 错 正确的答案是“对”。题目29一个二维字符数组a1020能够
8、最多存储9个字符串。选择一项:对 错 正确的答案是“错”。题目30一个二维字符数组a1020能够存储的每个字符串的长度不超过20。选择一项:对 错 正确的答案是“错”。三、填空题:写出下列每个程序运行后的输出结果(共40分,每小题4分)题目31#include void main() int x=5; switch(2*x-3) case 4: printf(%d ,x); case 7: printf(%d ,2*x+1); case 10: printf(%d ,3*x-1); break; default: printf(%s,defaultn); 11 14题目32#include v
9、oid main() int i,s=0; for(i=1;i=5;i+) s+=i*i; printf(s=%dn,s); 正确答案是:s=55题目33#include void main() int i, s1=0, s2=0; for(i=0;i10;i+) if(i%2) s1+=i; else s2+=i; printf(%d %dn,s1,s2); 正确答案是:25 20题目34#include void main() int n=6,y=1; while(n) y*=n-; printf(y=%dn,y); 正确答案是:y=720题目35#include const int M=
10、20; void main() int i,c2,c3,c5; c2=c3=c5=0; for(i=1; i=M; i+) if(i%2=0) c2+; if(i%3=0) c3+; if(i%5=0) c5+; printf(%d %d %dn,c2,c3,c5); 正确答案是:10 6 4题目36#include void main() int i,s; for(i=1,s=0;i10;i+) if(i%3=0) continue; s+=i; printf(%dn,s); 正确答案是:27题目37#include void main() int a8=12,39,26,41,55,63,
11、72,40; int i, i1=0, i2=0; for(i=0;i8;i+) if(ai%2=1) i1+; else i2+; printf(%d %dn,i1,i2); 正确答案是:4 4题目38#include int a10=4,5,6,15,20,13,12,7,8,9; void main() int i,s4=0; for(i=0; i10; i+) switch(ai%4) case 0: s0+=ai;break; case 1: s1+=ai;break; case 2: s2+=ai;break; default: s3+=ai;break; for(i=0; i4;
12、 i+) printf(%d ,si); 正确答案是:44 27 6 22题目39#include void main() char a=abcdbfbgacd; int i1=0, i2=0, i=0; while(ai) if(ai=a) i1+; if(ai=b) i2+; i+; printf(%d %d %dn,i1,i2,i); 正确答案是:2 3 11题目40#include void main() int a34=1,2,7,8,5,6,10,6,9,12,3,4; int m=a00; int i,j; for(i=0; i3; i+) for(j=0; jm) m=aij;
13、 printf(%dn,m); 正确答案是:12四、简答题:根据下列每个题目要求编写程序(共20分,每小题4分)题目41编写一个函数,函数头格式为“double Mean(double aMN,int m,int n)”,要求返回二维数组amn中所有元素的平均值,假定在计算过程中采用变量v存放平均值。double Mean(double aMN,int m,int n) int i,j; double v=0.0; for(i=0; im; i+) for(j=0; jn; j+) v+=aij; v/=m*n; return v; 题目42编写一个递归函数“int FF(int a, int
14、 n)”,求出数组a中所有n个元素之积并返回。int FF(int a, int n) if(n=1) return an-1; else return an-1*FF(a,n-1); 题目43编写一个主函数,利用while循环,求出并显示满足不等式的最小n值。#include void main() int i=0; double s=0; /或int i=1; double s=1; while(s5) s+=(double)1/+i; printf(n=%dn,i); 题目44编写一个主函数,求出满足不等式22+42+.+n21000的最大n值,假定分别用i和s作为取偶数值和累加值的变量
15、,并限定使用do循环编程。#include void main() int i=0; /用i作为依次取值偶数的变量 int s=0; /用s作为累加变量 do i+=2; s+=i*i; while(s1000); printf(n=%dn,i-2); 题目45编写一个主函数,计算并输出12+22+.+n2值,其中n值由键盘输入。#include void main() int i; /用i作为计数(循环)变量 int s=0; /用s作为累加变量 int n; printf(输入一个自然数: ); scanf(%d,&n); for(i=1; i=n; i+) s+=i*i; printf(s=%dn,s); 专心-专注-专业