75. 【6:T】C语言不能嵌套定义函数,但可以嵌套调用函数。 76. 【6:F】C语言可以嵌套定义函数,但不能嵌套调用函数。 77. 【6:F】C语言不能嵌套定义函数,也不能嵌套调用函数。 78. 【6:F】C语言可以嵌套定义函数,也可以嵌套调用函数。 79. 【1:T】函数是C程序的主要组成部分。
80. 【1:F】C语言有自己的输入输出语句,可以在函数中直接使用。 81. 【2:T】可以用自然语言来表示一个算法。 82. 【2:F】一个算法只能有一个输出。
83. 【3:T】在计算机高级语言中,数据有两种表现形式:常量和变量。 84. 【3:F】int型变量任何时候都可以直接赋值给char型变量使用。 85. 【4:F】一个if语句中必须有一个else子句。 86. 【4:T】条件运算符是C语言中唯一的三目运算符。
87. 【5:F】while语句和do…while语句任何时候都可以互换,程序运行结果相同。 88. 【5:T】for语句中,三个表达式都可以省略。 四、改错题(程序改错4题,每题错误5处):(要求列出错误所在的程序行号并修改) 1、【5:1)去掉分号4)加入sum=1 6)scanf(“%d”,&n); 8)while(i<=n) 12) printf(\】求1?2?3?4?……?n
1) #include
4) long int sum; 5) int n,i=1;
6) scanf(\7) printf(“\\n”); 8) while(i 12) printf(\13) } 2、【4:5)scanf(“%d”,& x); 8)x>=0&&x<=10 9)y=2*x-1; 11)y=3*x-1; 12)printf(“y=%d”,y);】编程计算下面分段函数, 输入x, 输出y x?0?x?1?y??2x?10?x?10?3x?11x?10? 1) #include 3) { int x,y; 4) printf(“\\n Input x:\\n”); 5) scanf(“%d”, x); 6) if(x<0) 7) y=x-1; 8) else if(x>=0||x<=10) 9) y=2x-1; 10) else 11) y=3x-1; 16 12) printf(“y=%d”,&y); 13) } 3、【5:2)main() 4) long sum=0; 5) for(n=100;n<=300;n++) 7) if(n%3==0) 8) sum=sum+n;】求100~300间能被3整除的数的和。 1) include 5) for(n=100,n<=300,n++) 6) { 7) if(n%3=0) 8) sum=sum*n; 9) } 10 printf(“%ld ”,sum); 11 } 4、【6:5) for(j=0;j<5;j++) 6) scanf(“%d”,&a[j]); 8) for(j=1;j<5;j++) 9) if(max 1) #include 3) { int max,j,m; 4) int a[5]; 5) for(j=1;j<=5;j++) 6) scanf(“%d”,a); 7) max=a[0]; 8) for(j=1;j<=5;j++) 9) if(max>a[j]) 10) max=a[j]; 11) printf(“\\n最大值:%d”, max) 12) } 5、【5:4、n<=7。8、a改为 &a 。10、&&改为||。11、for(i=1;i<=a;i++)。15、return 0。】读取7个数(1-50)的整数值,每读取一个值,程序打印出该值个数的*。 1) #include \2) main( ) 3) {int i,a,n=1; 4) while(n<7) 5) { 6) do 7) { 8) scanf(\9) } 10) while(a<1&&a>50); 11) for(i=0;i<=a;i++) 12) printf(\13) printf(\14) n++;} 15) return0; 16) } 6、【6:7、for (i=0;i<10;i++)。8、scanf(\。11、for(i=0;i<9-j;i++)。13、{t=a[i];a[i]=a[i+1];a[i+1]=t;}。15、去掉最后的分号。】输入10个整数,要求对它们按由小到大的顺序排列并 17 输出。 1) #include 4) int a[10]; 5) int i,j,t; 6) printf(\ 7) for (i=0;i<9;i++) 8) scanf(\9) printf(\ 10) for(j=0;j<9;j++) 11) for(i=0;j<9-j;i++) 12) if (a[i]>a[i+1]) 13) {t=a[i];a[i]=a[i+1],a[i+1]=t;} 14) printf(\15) for(i=0;i<10;i++); 16) printf(\17) printf(\18) return 0; 19) } 7、【6:1、row=0。4、a[3][4] 。6、for (i=0;i<=2;i++)。7、for (j=0;j<=3;j++)。9、max=a[i][j]。】有一个3х4的矩阵,要求编程求出其中值最大的那个元素的值,以及所在的行号和列号。 1) #include 3) {int i,j,row=1,colum=0,max; 4) int a[3][3]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}}; 5) max=a[0][0]; 6) for (i=0;i<2;i++) 7) for (j=0;j<=i;j++) 8) if (a[i][j]>max) 9) {max=a[j][j]; 10) row=i; 11) colum=j; 12) } 13) printf(\14) return 0; 15) } 8、【7:3、加分号。13、改为for(k=2;k=i)。16、k改为i。】找出大于 m 的最小素数,用fun 函数的实现,并将其作为函数值返回。 1) #include 3) { int fun( int m) 4) int n; 5) scanf(\ 6) printf(\7) } 8) int fun( int m) 9) { 10) int i,k; 11) for(i=m+1;;i++) 12) { 13) for(k=1;k 18 15) if(ki;i++)或 for(i=2;i<=m-1;i++)或for(i=2;m-1=>i;i++) 16)if(m%i==0) k=0; 17) return k;】 下列给定程序中,函数fun的功能是:判断m是否为素数,若是返回1,否则返回0。主函数的功能是:按每行5个输出1-100之间的全部素数。请改正程序中的5个错误,使它能得出正确的结果。 1)main() 2){ 3) int m,k=0; 4) for(m=1;m<100;m++) 5) if(fun(m)==1) 6) { 7) printf(\8) if(k%5=0)printf(\9) } 10) } 11)void fun(int m) 12){ 13) int i,k=1; 14) if(m<=1) k=0; 15) for(i=1;i 1)fun() 2){ 3) int n,j; 4) float s=0.0,t; 5) for(n=1;n<=20;n++) 6) { 7) s=1; 8) for(j=1;j<=n;j++) 9) t=t*n; 10) s+t=s; 11) } 12) printf(\13)} 14)int main() 15){ 16) fun(); 17) return0; 18)} 11.【7)a=b; 8)b=t; 15)r=a%b; 17)return b;或return (b);或return(b); 25)return 0;】 19 函数fun的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。例如,若给num1和num2分别输入49和21,则输出的最大公约数为7。请改正程序中的错误,使它能得出正确的结果。 1)int fun(int a,int b) 2){ 3) int r,t; 4) if(a 6) t=a; 7) b=a; 8) a=t; 9) } 10) r=a%b; 11) while(r!=0) 12) { 13) a=b; 14) b=r; 15) r=a/b; 16) } 17) return a; 18)} 19)int main() 20){ 21) int num1,num2,a; 22) scanf(\23) a=fun(num1,num2); 24) printf(\25) return0; 26)} 12.【3)double sum=0.0; 5)while(s[i]!=0)或while!(s[i]==0)或while!(0==s[i]) 11)sum/=c;或sum=sum/c; 12)return sum;或return(sum); 19)while(x[i++]!=0)】 在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程序中,函数fun的 功能是:计算数组元素中值为正数的平均值(不包括0)。 例如,数组中元素的值依次为39,-47,21,2,-8,15, 0,则程序的运行结果为19.250000。请改正程序中的错误,使它能得出正确的结果。 1)double fun(int s[]) 2){ 3) int sum=0.0; 4) int c=0,i=0; 5) while(s[i]=0) 6) { 7) if (s[i]>0) 8) {sum+=s[i];c++;} 9) i++; 10) } 11) sum\\=c; 12) return c; 13)} 14)int main() 20