1、 break;a. n/2 b. n/2+1 c. n/2-1 d. n-1 题目5在下面循环语句中,内层循环体S语句的执行总次数为( i+) for(int j=i; j j+) S;a. n2 b. (n+1)/2 c. n(n-1)/2 d. n(n+1)/2 题目6在下面的do循环语句中,其循环体被执行的次数为(int i=0; do i+; while(i*i10);a. 4 b. 3 c. 5 d. 2 题目7在下面的一维数组定义中,有语法错误的选项是(a. int a=1,2,3; b. int a10=0;c. int a;d. int a5;题目8在下面的二维数组定义中,语法
2、正确的选项是(a. int a5;b. int a5;c. int a3=1,3,5,2;d. int a(10);题目9假定一个二维数组的定义语句为“int a34=3,4,2,8,6;”,则元素a11的值为(a. 2 b. 4 c. 6 d. 8 题目10”,则元素a21的值为(a. 0 c. 8 d. 6 二、判断题(共20分,每小题1分。叙述正确则回答“是”,否则回答“否”)题目11在执行“typedef int DataType;”语句后,标识符DataType与保留字int具有完全相同的含义和作用。 对题目12在switch语句中,每个case和冒号之间的表达式只能是常量。题目13
3、为了结束本层循环类语句或switch语句的执行过程,在语句体中需要使用break语句。题目14在程序中执行到break语句时,将结束所在函数的执行过程,返回到调用该函数的位置。错题目15在程序执行完成任一个函数调用后,将结束整个程序的执行过程,返回到操作系统或C语言集成开发环境界面窗口。 错题目16假定一维数组的定义为“char* a8;”,则该数组所含元素的个数大于8。题目17假定二维数组的定义为“int a35;”,则该数组所占存储空间的字节数为60。题目18假定二维数组的定义为“char aMN;”,则该数组所含元素的个数为M+N。题目19假定二维数组的定义为“double aMN;”,
4、则每个数组元素的行下标取值范围在0M-1之间。题目20假定二维数组的定义为“double aMN;”,则每个数组元素的列下标取值范围在0N之间。题目21存储一个空字符串需要占用0个字节的存储空间。题目22使用“typedef char BB1050;”语句定义标识符BB为含有10行50列的二维字符数组类型。题目23存储字符a需要占用1个字节的存储空间。题目24空字符串的长度为1。题目25字符串a:xxk数据的长度为13。题目26为了存储一个长度为n的字符串,所使用的字符数组的长度至少为n+1。题目27strcmp函数用于进行两个字符串之间的比较。题目28strcpy函数用于把一个字符串拷贝到另
5、一个字符数组空间中。题目29一个二维字符数组a1020能够最多存储9个字符串。题目30一个二维字符数组a1020能够存储的每个字符串的长度不超过20。三、填空题:写出下列每个程序运行后的输出结果(共40分,每小题4分)题目31#include void main() int x=5; switch(2*x-3) case 4: printf(%d ,x); case 7:,2*x+1); case 10:,3*x-1); default:%s,defaultn); 11 14题目32 void main() int i,s=0;for(i=1;=5;i+) s+=i*i;printf(s=%d
6、n,s);s=55题目33 int i, s1=0, s2=0; for(i=0;10;i+) if(i%2) s1+=i; else s2+=i;%d %dn,s1,s2);25 20题目34int n=6,y=1; while(n) y*=n-;y=%dn,y);y=720题目35 const int M=20; int i,c2,c3,c5; c2=c3=c5=0; for(i=1;=M; i+) if(i%2=0) c2+; if(i%3=0) c3+; if(i%5=0) c5+;%d %d %dn,c2,c3,c5);10 6 4题目36 int i,s; for(i=1,s=0;
7、i+) if(i%3=0) continue; s+=i;%dn27题目37 int a8=12,39,26,41,55,63,72,40; int i, i1=0, i2=0;8; if(ai%2=1) i1+; else i2+;,i1,i2);4 4题目38 int a10=4,5,6,15,20,13,12,7,8,9; int i,s4=0; switch(ai%4) case 0: s0+=ai;break; case 1: s1+=ai; case 2: s2+=ai; s3+=ai;4; i+) printf(,si);44 27 6 22题目39 char a=abcdbfb
8、gacd; int i1=0, i2=0, i=0; while(ai) if(ai=) i1+;b) i2+;i+;,i1,i2,i);2 3 11题目40 int a34=1,2,7,8,5,6,10,6,9,12,3,4; int m=a00; int i,j;3; for(j=0; j+) if(aijm) m=aij;,m);12四、简答题:根据下列每个题目要求编写程序(共20分,每小题4分)题目41编写一个函数,函数头格式为“double Mean(double aMN,int m,int n)”,要求返回二维数组amn中所有元素的平均值,假定在计算过程中采用变量v存放平均值。do
9、uble Mean(double aMN,int m,int n) double v=0.0;m; j+) v+=aij; v/=m*n; return v;题目42编写一个递归函数“int FF(int a, int n)”,求出数组a中所有n个元素之积并返回。int FF(int a , int n) int mul=1; if(n=1)mul*=a0; else mul=an-1*FF(a,n-1); return mul;/*void main() int a6=1,2,3,4,5,6;,FF(a,6);*/题目43编写一个主函数,利用while循环,求出并显示满足不等式1+1/2+1
10、/3+1/n5的最小n值。 int i=0; double s=0; /或int i=1; double s=1; while(s5) s+=(double)1/+i;n=%dn,i);题目44编写一个主函数,求出满足不等式22+42+.+n21000的最大n值,假定分别用i和s作为取偶数值和累加值的变量,并限定使用do循环编程。 /用i作为依次取值偶数的变量 int s=0; /用s作为累加变量 do i+=2; s+=i*i; while(s1000);,i-2);题目45编写一个主函数,计算并输出12+22+.+n2值,其中n值由键盘输入。 int i; /用i作为计数(循环)变量 int n;输入一个自然数: scanf(%d,&n);=n; i+) s+=i*i;