试卷编号:10765
所属语言:C语言
试卷方案:TC_150604083824
试卷总分:480分
共有题型:1种
一、程序填空共48题(共计480分)
第1题(10.0分)题号:423 难度:易第2章/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:考查字符串数组的应用。输出26个英文字母。
-------------------------------------------------------*/
#include
void main (void)
{
char string[256];
int i;
/***********SPACE***********/
for (i = 0; i < 26; 【?】)
/***********SPACE***********/
string[i] = 【?】;
string[i] = '\0';
/***********SPACE***********/
printf ("the arrary contains %s\n",【?】);
}
答案:
=======(答案1)=======
i++
=========或=========
++i
=========或=========
i=i+1
=========或=========
i+=1
=======(答案2)=======
'A' + i
=========或=========
i+'A'
=========或=========
65 + i
=========或=========
i+65
=======(答案3)=======
string
第2题(10.0分)题号:405 难度:中第2章/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:要求输出结果为:
A,B
65,66
-------------------------------------------------------*/
#include
void main()
{
/***********SPACE***********/
char a,【?】;
/***********SPACE***********/
a=【?】;
b='b';
a=a-32;
/***********SPACE***********/
b=b-【?】;
printf("%c, %c\n%d,%d\n",a,b,a,b);
}
答案:
=======(答案1)=======
b
=======(答案2)=======
'a'
=========或=========
97
=======(答案3)=======
32
第3题(10.0分)题号:162 难度:中第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:下列程序的功能为:输出100以内能被4整除且个位数为8的所有整数;
请填写适当的符号或语句,使程序实现其功能。
-------------------------------------------------------*/
#include
main()
{ int i,j;
/***********SPACE***********/
for(i=0;【?】; i++)
{ j=i*10+8;
/***********SPACE***********/
if ( 【?】)
/***********SPACE***********/
【?】;
printf("%d",j);
}
}
答案:
=======(答案1)=======
i<10
=======(答案2)=======
j%4!=0
=======(答案3)=======
continue
第4题(10.0分)题号:27 难度:中第1章
/*-------------------------------------------------------
【程序填空】
--------------------------------------------------------- 功能:统计一个字符串中的字母、数字、空格和其它字符的个数。-------------------------------------------------------*/ #include
void fun(char s[],int b[])
{
int i;
for (i=0;s[i]!='\0';i++)
if ('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z')
b[0]++;
/***********SPACE***********/
else if (【?】)
b[1]++;
/***********SPACE***********/
else if (【?】 )
b[2]++;
else
b[3]++;
}
main ()
{
char s1[80];int a[4]={0};
int k;
gets(s1);
/***********SPACE***********/
【?】;
puts(s1);
for(k=0;k<4;k++)
printf("%4d",a[k]);
}
答案:
=======(答案1)=======
'0'<=s[i] && s[i]<='9'
=========或=========
s[i]>='0' && s[i]<='9'
=========或=========
'0'<=s[i] && '9'>=s[i]
=========或=========
s[i]>='0' && '9'>=s[i]
=========或=========
48<=s[i] && s[i]<=57
=========或=========
s[i]>=48 && s[i]<=57
=========或=========
48<=s[i] && 57>=s[i]
=========或=========
s[i]>=48 && 57>=s[i]
=========或=========
!( s[i] < 48 || s[i] > 57 )
=========或=========
!( s[i] < '0' || s[i] > '9' )
=======(答案2)=======
s[i] == ' '
=========或=========
s[i] == 32
=======(答案3)=======
fun(s1,a)
第5题(10.0分)题号:134 难度:中第1章/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:用冒泡法对数组a 进行由小到大的排序。
-------------------------------------------------------*/
#include
void fun(int a[],int n){
int i,j,t;
/***********SPACE***********/
for (j=0; 【?】;j++)
/***********SPACE***********/
for (i=0; 【?】;i++)
/***********SPACE***********/
if(【?】) {
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
main(){
int i,a[10]={3,7,5,1,2,8,6,4,10,9}; /***********SPACE***********/ 【?】;
for(i=0;i<10;i++)
printf("%3d",a[i]);
}
答案:
=======(答案1)=======
j<=n-1
=========或=========
n-1>=j
=========或=========
j<=-1+n
=========或=========
-1+n>=j
=========或=========
j =========或========= n>j =========或========= j =======(答案2)======= i =========或========= n-j-1>i =========或========= i =========或========= n-1-j>i =========或========= i<=n-j-2 =========或========= i<=n-2-j =======(答案3)======= a[i]>a[ i + 1 ] =========或========= a[ i + 1 ] =======(答案4)======= fun(a,10) 第6题(10.0分)题号:133 难度:中第1章/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:下面的程序是求1!+3!+5!+……+n!的和。 -------------------------------------------------------*/ #include main(){ long int f,s; int i,j,n; /***********SPACE***********/ 【?】; scanf("%d",&n); /***********SPACE***********/ for(i=1;i<=n; 【?】) { f=1; /***********SPACE***********/ for(j=1; 【?】;j++) /***********SPACE***********/ 【?】; s=s+f; } printf("n=%d,s=%ld\n",n,s); } 答案: =======(答案1)======= s=0 =======(答案2)======= i+=2 =========或========= i=i+2 =========或========= i++,i++ =======(答案3)======= j<=i =========或========= i>=j j =========或========= i+1>j =======(答案4)======= f = f * j =========或========= f*=j 第7题(10.0分)题号:31 难度:难第1章/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:用冒泡法对数组a 进行由小到大的排序。 -------------------------------------------------------*/ #include void fun(int a[],int n) { int i,j,t; /***********SPACE***********/ for (j=0; 【?】;j++) /***********SPACE***********/ for (i=0; 【?】;i++) /***********SPACE***********/ if(【?】) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } } main() { int i,a[10]={3,7,5,1,2,8,6,4,10,9}; /***********SPACE***********/ 【?】; for(i=0;i<10;i++) printf("%3d",a[i]); } 答案: =======(答案1)======= j<=n-1 =========或========= n-1>=j =========或========= j<=-1+n =========或========= -1+n>=j =========或========= j =========或========= n>j =========或========= j =======(答案2)======= i =========或========= n-j-1>i =========或========= i =========或========= n-1-j>i =========或========= i<=n-j-2 =========或========= i<=n-2-j =======(答案3)======= a[i]>a[ i + 1 ] =========或========= a[ i + 1 ] =======(答案4)======= fun(a,10) 第8题(10.0分)题号:431 难度:易第2章/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:计算圆周率的近似值。 -------------------------------------------------------*/ #include #include main() { int s,n; /***********SPACE***********/ double 【?】,t; t=1;pi=0;n=1;s=1; /***********SPACE***********/ while(【?】>=2e-6) { pi+=t;n+=2;s=-s;t=s/n; } /***********SPACE***********/ pi*=【?】; printf("pi=%.6f\n",pi); } 答案: =======(答案1)======= pi =======(答案2)======= fabs(t) =======(答案3)======= 4 第9题(10.0分)题号:614 难度:中第20章/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:以下程序的功能是:输出a、b、c三个变量中的最小值。 -------------------------------------------------------*/ #include main() { int a,b,c,t1,t2; /***********SPACE***********/ scanf("%d%d%d",&a,&b, 【?】); t1=a /***********SPACE***********/ t2=c printf("%d\n",t2); } 答案: =======(答案1)======= &c =======(答案2)======= c:t1 第10题(10.0分)题号:20 难度:中第1章/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:求两个非负整数的最大公约数和最小公倍数。 -------------------------------------------------------*/ #include main() { int m,n,r,p,gcd,lcm; scanf("%d%d",&m,&n); if(m p=m*n; r=m%n; /***********SPACE***********/ while(【?】 ) { /***********SPACE***********/ m=n;n=r; 【?】; } /***********SPACE***********/ gcd=【?】; lcm=p/gcd; /***********SPACE***********/ printf("gcd=%d,lcm=%d\n", 【?】); } 答案: =======(答案1)======= r != 0 =========或========= r =======(答案2)======= r=m%n =========或========= r=m-m/n*n =======(答案3)======= n =======(答案4)======= gcd,lcm =========或========= n,lcm 第11题(10.0分)题号:480 难度:难第2章/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:输出Fibonacci数列的前15项,要求每行输出5项。 Fibonacci数列:1,1,2,3,5,8,13........... -------------------------------------------------------*/ #include main() { /***********SPACE***********/ int 【?】[15],i; fib[0]=1;fib[1]=1; for (i=2;i<15;i++) /***********SPACE***********/ fib[i]=【?】; for(i=0;i<15;i++) { printf("%d\t",fib[i]); /***********SPACE***********/ if ( 【?】 ) printf("\n"); } } 答案: =======(答案1)======= fib =======(答案2)======= fib[i-2]+fib[i-1] =========或========= fib[i-2] + fib[i-1] =======(答案3)======= i%5 == 4 第12题(10.0分)题号:18 难度:易第1章/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:将一个数组中的元素按逆序存放。 -------------------------------------------------------*/ #include #define N 7 main () { static int a[N]={12,9,16,5,7,2,1},k,s; printf("\n the origanal array:\n"); for (k=0;k printf("%4d",a[k]); /***********SPACE***********/ for (k=0;k { s=a[k]; /***********SPACE***********/ 【?】 ; /***********SPACE***********/ 【?】 ; } printf("\n the changed array:\n"); for (k=0;k /***********SPACE***********/ 【?】 ("%4d",a[k]); } 答案: =======(答案1)======= k++ =========或========= k= k + 1 =========或========= k+=1 =========或========= ++k =======(答案2)======= a[k]=a[N-k-1] =========或========= a[k]=a[N-1-k] =========或========= a[k]=a[6-k] =========或========= *(a+k)=*(a+N-k-1) =========或========= *(a+k)=*(a+N-1-k] =========或========= a[k]=a[-1+N-k] =========或========= a[k]=a[-1-k+N] =========或========= a[k]=a[-k-1+N] =========或========= a[k]=a[-k+N-1] =========或========= *(a+k)=*(a+N-k-1) =========或========= a[6-k]=s =======(答案3)======= a[N-k-1]=s =========或========= a[N-1-k]=s =========或========= a[6-k]=s =========或========= a[N -k -1]=s =========或========= *(a +N -k -1)=s =======(答案4)======= printf 第13题(10.0分)题号:627 难度:中第20章/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:调用函数fun计算m=1-2+3-4+……+9-10,并输出结果。 -------------------------------------------------------*/ #include int fun( int n) { int m=0,f=1,i; /***********SPACE***********/ for(i=1;【?】;i++) { m+=i*f; /***********SPACE***********/ 【?】; } /***********SPACE***********/ return 【?】; } main() { printf("m=%d\n", fun(10)); } 答案: =======(答案1)======= i<=n =======(答案2)======= f= -f =======(答案3)======= m 第14题(10.0分)题号:165 难度:中第2章 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:下列程序从键盘输入所需数据,求出z的值并输出,要求输出结果保留2位小数。 -------------------------------------------------------*/ #include /***********SPACE***********/ 【?】 main() { int x; double y,z; /***********SPACE***********/ scanf("【?】",&x,&y); z=2*x*sqrt(y); /***********SPACE***********/ printf("z=【?】",z); } 答案: =======(答案1)======= #include =========或========= #include "math.h" =======(答案2)======= %d%f =========或========= %d,%f =======(答案3)======= %.2f 第15题(10.0分)题号:439 难度:中第2章/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:1982年我国第三次人口普查,结果全国人口为10.3亿,假如人口增长率为5%。编写一个程序求在公元多少年总人口 翻了一番。 -------------------------------------------------------*/ #include void main() { double p1=10.3,p2,r=0.05; int n=1; /***********SPACE***********/ p2=p1*【?】; /***********SPACE***********/ while(p2<=【?】) { n++; /***********SPACE***********/ p2=p2*【?】; } /***********SPACE***********/ n=【?】; printf("%d年人口总数翻了一番,即为%g亿人\n",n,p2); } 答案: =======(答案1)======= (1+r) =========或========= (r+1) =======(答案2)======= 2*p1 =========或========= p1*2 =======(答案3)======= (1+r) =========或========= (r+1) =======(答案4)======= n+1982 =========或========= 1982+n 第16题(10.0分)题号:159 难度:中第95章/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 说明:下面程序的功能是输出数组s中最大值元素的下标,请填写程序所缺内容。 -------------------------------------------------------*/ #include"stdio.h" void main( ) { int k, p; int s[ ]={1,9,7,2,10,3}; /***********SPACE***********/ for(p=0,k=p; p<6; 【?】) /***********SPACE***********/ if(s[p]>s[k]) 【?】; printf("%d\n" ,k); } 答案: =======(答案1)======= p++ =======(答案2)======= k=p 第17题(10.0分)题号:23 难度:中第1章/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:求一个二维数组中每行的最大值和每行的和。 -------------------------------------------------------*/ #include main() { int a[5][5],b[5],c[5],i,j,k,s=0; for(i=0;i<5;i++) for(j=0;j<5;j++) a[i][j]=random(40)+20; for(i=0;i<5;i++) { /***********SPACE***********/ k=a[i][0]; 【?】 ; for(j=0;j<5;j++) { /***********SPACE***********/ if(k s=s+a[i][j]; } b[i]=k; /***********SPACE***********/ 【?】 ; } for(i=0;i<5;i++) { for(j=0;j<5;j++) /***********SPACE***********/ printf("%5d", 【?】 ); printf("%5d%5d",b[i],c[i]); printf("\n"); } } 答案: =======(答案1)======= s=0 =======(答案2)======= k=a[i][j] =======(答案3)======= c[i]=s =======(答案4)======= a[i][j] 第18题(10.0分)题号:4 难度:中第1章/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:下面的程序是求1!+3!+5!+……+n!的和。 -------------------------------------------------------*/ #include main() { long int f,s; int i,j,n; /***********SPACE***********/ 【?】; scanf("%d",&n); /***********SPACE***********/ for(i=1;i<=n; 【?】) { f=1; /***********SPACE***********/ for(j=1; 【?】;j++) /***********SPACE***********/ 【?】; 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include 一.程序阅读题 1.若运行时输入100↙,写出以下程序的运行结果。main ( ) { int a ; scanf(“%d”,&a); printf(“%s”,(a%2!=0)?”No”:”Yes”); } 答案: Yes 2.写出以下程序的运行结果。 main ( ) { int a=2,b=7,c=5; switch (a>0) { case 1: switch (b<0) { case 1: printf(“”); break ; case 2: printf(“!”); break ; } case 0: switch (c==5) { case 1: pritnf(“*”) ; break ; case 2: printf(“#”) ; break ; default : printf(“#”) ; break ; } default : p rintf(“&”); } printf(“\n”); } 答案: *& 3.写出下面程序运行的结果。 main ( ) { int i,b,k=0 ; for (i=1; i<=5 ; i++) { b=i%2; while (b--==0) k++ ; } printf(“%d,%d”,k,b); } 答案:2 0 4.写出下面程序运行的结果。 main ( ) { int k=1,n=263 ; do { k*= n%10 ; n/=10 ; } while (n) ; printf(“%d\n”,k); } 答案:36 5.写出下面程序运行的结果。 { int a=10,y=0 ; do { a+=2 ; y+=a ; if (y>50) break ; } while (a=14) ; printf(“a=%d y=%d\n”,a,y) ; } 答案:a=16 y=60 数组部分: 1.写出下面程序的运行结果。 main ( ) 答案: { int a[6][6],i,j ; for (i=1; i<6 ; i++) for (j=1 ; j<6 ; j++) a[i][j]=(i/j)*(j/i) ; for (i=1;i<6 ; i++) { for (j=1 ; j<6 ; j++) printf(“%2d”,a[i][j]) ; printf(“\n”); } } 2.写出下面程序的运行结果。 main ( ) { int i=0; char a[ ]=”abm”, b[ ]=”aqid”, c[10]; while (a[i]!=’\0’ && b[i]!=’\0’) { if (a[i]>=b[i]) c[i]=a[i]-32 ; else c[i]=b[i]-32 ; i++; } c[i]=’\0’; puts(c); } 答案:AQM 3.当运行下面程序时,从键盘上输入AabD↙,则写出下面程序的运行结果。 main ( ) { char s[80]; int i=0; gets(s); while (s[i]!=’\0’) { if (s[i]<=’z’ && s[i]>=’a’) s[i]=’z’+’a’-s[i] ; i++; 程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); } 【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p 1.下列程序由键盘输入一个文件名,然后把从键盘输入的字符依次存放到磁盘文件中,直到输入一个"#"为止。 #include "" main( ) { FILE *fp; char ch,filename[10]; scanf("%s",filename); /*用户输入存在磁盘上的文件名*/ if((fp= ⑦ (filename,"w"))==NULL) { printf("cannot open file\n"); exit(0); } while((ch=getchar())!='#') ⑧ ; fclose(fp); } 2.下列程序的功能是输出一个整数x的绝对值。将程序补充完整,填在空内。 #include <> main() { int x, ① ; scanf("%d",&x); y= ② ; printf("%d\n",y); } 3.下列程序的功能是输出1~100之间能被7整除的所有整数。将程序补充完整,填在空内。 main() { int i; for(i=1; ③ ;i++) { if(i%7) ④ ; printf("%d ",i); } } 4.以下程序用以删除字符串中所有的空格,请填空。 main() { char s[100]={"Our teacher teach C language!"}; int i,j; for(i=j=0;s[i]!= '\0';i++) if(s[i]!= ' ') { ⑤ ;j++;} s[j]= ⑥ ; printf("%s\n",s); } 5.结构体数组中存有三个人的姓名和年龄,以下函数fun的功能是输出三人中最年长者的姓名和年龄。 struct man { char name[20];int age;}person[]={{"Mary",16},{"Tom",21},{"Jim",18}}; void fun( ⑦ person[ ] ) { int i,old=0; for(i=0;i<2;i ++) if(person[old].age C语言程序填空题及答 案 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289- 程序填空题 1、 #include } 3、 #include VB程序阅读题与程序填空题综合练习 1、阅读下面程序,当单击窗体之后,窗体上输出的是。 Private Sub Form_Click( ) Dim i As Integer, j As Integer Dim k As Integer k=0 For i = 0 To 10 Step 3 For j = 1 To 10 If j > = 5 Then i = i +4: Exit For j = j + 1 k = k + 1 Next If i > 8 Then Exit For Next Print k End Sub 2、阅读下面的事件过程。单击窗体后,在文本框Text1和Text2中显示的内容分别 是和;若将程序中A语句与B语句的位置互换,再次执行程序,单击窗体后在Text1和Text2中显示的内容分别是和。 Private Sub Form_Click( ) Dim x As Integer, y As Integer x = 1 : y = 0 Do While x < 3 y = y + x 'A语句 x = x + 1 'B语句 Loop Text1.Text = x Text2.Text = y End Sub 3、下面程序段中,k循环共执行次,在窗体上显示的结果是。 Dim b As Integer, k As Integer b = 1 For k =1 To 5 b = b * k If b > = 15 Then Exit For Else k = k + 1 End If Next k Print k, b 4、以下是按钮cmdl的Click事件过程,求1~100之间的所有质数。质数的个数显示在窗 体上,在划线处填上缺少的内容。 Private Sub cmdl_Click( ) Dim intNum As Integer, int1 As Integer, int2 As Integer intNum = 0 For int1 = For int2 = 2 To int1 \2 If (int1 Mod int2) = 0 Then intNum=1 End If Next If sNum = sNum + 1 End If Next Print End Sub 5、若命令按钮的名称为CmdExit,程序要求单击以上命令按钮时,程序停止运行。请在画线处中填入适当的内容。 Private Sub CmdExit_ ( ) End Sub 6、下面的事件过程判断文本框txt1中输入的数所在区间,并在文本框txt2中输出判断结果。在画线处填入正确的内容。 Private Sub Comandl_Click( ) Dim int1 As Integer int1 =val (txt1.Text) Select Case int1 Case txt2.Text = "值为0" Case txt2.Text = "值在1和10之间(包括1和10)" Case txt2.Text = "值大于10" 第四章模块化程序设计练习题及参考答案 一、填空题 1、以下程序的运行结果是(111),把x定义为静态变量运行结果是(123)。void increment(void) { int x=0; x+=1; printf("%d",x);} main() { increment(); increment(); increment(); } 2、若输入的值是-125,以下程序的运行结果是(-125=-5*5*5) #include "" main() { int n; void f(int n); scanf("%d",&n); printf("%d=",n); if(n<0) printf("-"); n=fabs(n); fun(n); } void fun(int n) { int k,r; for(k=2;k<=sqrt(n);k++) { r=n%k; while(r==0) { printf("%d",k); n=n/k; if(n>1)printf("*"); r=n%k; } } if(n!=1) printf("%d\n",n); } 3、设有以下宏定义: #define WIDTH 80 #define LENGTH WIDTH+40 则执行赋值语句:v=LENGTH*20;(v为int型)后,v的值是(880) 4、设有以下宏定义: #define WIDTH 80 #define LENGTH (WIDTH+40) 则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是(2400) 5、下面程序的运行结果是(5) #define DOUBLE(r) r*r main() { int x=1,y=2,t; t=DOUBLE(x+y); printf("%d\n",t);} 6、下面程序的运行结果是(36) #define MUL(z) (z)*(z) main() { printf("%d\n",MUL(1+2)+3); } 7、下面程序的运行结果是(212) #define POWER(x) ((x)*(x)) main() { int i=1; while(i<=4) printf("%d,",POWER(i++)); } 8、下面程序的运行结果是(9) #define MAX(a,b) (a>ba:b)+1 main() { int i=6,j=8,k; printf("%d\n",MAX(i,j)); } 二、选择题 1、以下正确的说法是(D)建立自定义函数的目的之一是: A)提高程序的执行效率 B)提高程序的可读性 C)减少程序的篇幅 D)减少程序文件所占内存 2、以下正确的说法是(B) A)用户若需调用标准库函数,调用前必须重新定义 B)用户可以重新定义标准库函数,若如此,该函数将失原有含义。 C)系统根本不允许用户重新定义标准库函数。 D)用户若需调用标准函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调用。 3、以下正确的函数定义形式是(C) A)double fun(int x,int y) B)double fun(int x;int y) C)double fun(int x,int y); D)double fun(int x,y) 4、以下正确的说法是(D)。在C语言中: A)实参与其对应的形参各占用独立的存储单元。 B)实参和与其对应的形参共占用一个存储单元。 C)只用当实参和与其对应的形参同名时才共占用存储单元。 三、程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include 第1.题*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:下面的程序是求1!+3!+5!+……+n!的和。 -------------------------------------------------------*/ #include 模块三循环程序设计习题及答案 一、填空题 1、当在数据处理中要重复执行相同的操作时,宜采用程序结构来实现。 2、循环的3要素是、、。 3、在循环语句体中包含另一个循环语句的用法称为。 4、执行循环语句体中的break语句后将使用包含它的循环语句。 5、要结束当前正在执行循环体语句而直接进入下一循环周期,需要执行语句。 6、在for语句中表达式允许省略,但不能少,语句for( ; ;) ;构成的是循环。 7、在for语句中,省略表达式2时,则循环为循环。 8、执行语句for(i=1;i++<4; );后变量i的值是。 9、要使用循环程序提前结束本次循环周期并开始下一个循环周期,应在循环体内有条件使用语句。 10、在每次循环周期均要执行一次的语句,称为。 11、for语句括号内的3个表达式的作用分别是、和循环控制变量的更新。 二、选择题 1、若k为整形变量,则while循环共循环()。 k=5; while(k>=0) k-1; A、无限循环 B、6次 C、5次 D、4次 2、与while( ! n) ; 中表达式!dn等价的是()。 A、dn>=0 B 、dn!=0 C、dn == 0 D、dn != 1 3、以下程序段,while循环执行的次数是() int k=0; while( k == 1) k++; A、无限次 B、有语法错,不能执行 C、一次也不执行 D、执行1次 4、在C语言中,当do while语句中的条件为()时,结束该循环。 A、0 B、1 C、TRUE D、非0 5、下面程序段的输出结果是() do { b-=a; a++; }while(b--<0); A、10,-1 B、2,8 C、9,0 D、4,-3 6、以下描述正确的是() A、由于do while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。 B、do while循环由do开始,用while结束,在while(表达式)后面不能写分号 C、在do while循环体中,一定要有能使while后面匠值变为零的操作 D、do while循环中,根据情况可以省略while 7、若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)。 s=c; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是() A、s=a+b; B、s=a+c; C、s=s+c; D、s=b+c; 8、假定a,b,c,d均已定义为整型变量,且a、c均已赋值,a大于0,c大于0,则与程序段for(d=a,b=1;b<=c;b++) d--;功能等价的语句是() A、d=a+b; B、d=a+c; C、d=a-b; D、d=a-c 9、下列关于for循环的说法正确的是() A、for循环只能用于循环次数已经确定的情况 #include 数不得多于或少于20。 请改正程序中的4个错误,使它能得出正确的结果。 -------------------------------------------------------- 答案: =======(答案1)======= printf("%8.0f",f1); =======(答案2)======= for(i=1;i<20;i++) =======(答案3)======= f1=f2; =======(答案4)======= f2=f3; 题目:要求输出结果为: A,B 65,66 答案: =======(答案1)======= b; =======(答案2)======= 'a' =========或========= 97 =======(答案3)======= 32 题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1 (或-1)和一些质数(素数)因子的形式。如N=150时,可分解成1×2×3×5×5;N=-150时,可分解为-1×2×3×5×5。 下边程序能实现这种分解过程。当N=150,输出以下分解结 果:N= 1* 2* 3* 5* 5 答案 n>0 i=2 r=n%i n=n/i 题目:输入一个学生的生日(年:y0、月:m0、日:d0),并输入当前日期(年:y1、月:m1、日:d1)。求出该学生的 年龄(实足年龄) 答案: =======(答案1)======= 程序填空题一 1. 下面C语言程序将两个递增有序的数值a和b 合并一个数组c,并保持递增次序,最后输出数组c. #include < stodio.h> #define M6 #define N5 main( ) {int a[M]={1,3,5,7,9,11} b[N]={2,4,6,8,10} int c[M+N] int i ,j, k; i=j=k=0 while( 1 ) if a[i] printf(%dxt,c[k]; ) 其中(1)(2)(3)(4)处分别填一数据,使程序达到其功能。 答案: 1:i 解:(1)(*f)(x+y)/(*g)(y-x) (2)cos,sin,a,b [解析]本题考察的是函数的声明。要填写的两个空都出现在return语句中,所以要仔细分析函数的返回值。本题的第二个空相对要容易一些,只要根据题干和乘号前面的调用语句对比一下即可得到调用语句的四个参数。第一个空相对要难一些,函数fgh定义时用到了函数指针(*f)和(*g)是为了增加函数的灵活性。根据函数h的定义以及题干要求,可以看出函数fgh应该表示的是乘号两边的某一项。(*f)和(*g)用来表示sin或cos,参数x 和y的加减法运算作为sin或cos函数的参数,故应填写(*f)(x+y)/ (*g)(y-x)。 程序填空:阅读程序。在划线处填写适当的表达式或语句,使程序完整并符合题目要求 1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。 main( ) { char ch; ch=getchar(); if( ch>=?a?&&ch<=?z?|| ch>=?A?&&ch<=?Z?) printf("It is an English character\n"); else if( ch>=?0?&&ch<=?9?) printf("It is a digit character\n"); else if( ch== …?) printf("It is a space character\n"); else printf("It is other character\n"); } 2.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。用输入0来结束输入,用i,j来放统计数,请填空完成程序。 void main() { int n,i=0,j=0; printf(“input a integer,0 for end\n”); scanf(“%d”,&n); while (n或n!=0 ) { if(n>0) i=i+1 ; else j=j+1; } printf(“i=%4d,j=%4d\n”,i,j); } 3.编程计算1+3+5+……+101的值 #include c语言程序填空题及答案 程序填空题 1、 #include printf("%d\n",k); } 2、 #include void main() { char c; c=getchar(); if(______1______) // c>='a' && c<'v' c=c+5; else if (c>='v' && c<='z') ______2______ //c=c-21; putchar(c); } 4、 #include '【程序填空】 '------------------------------------------------------- '功能:下面的程序段用于实现以下功能:利用冒泡法将一组整数' 从小到大排序。 '------------------------------------------------------- Private Sub Form_Click() Const n = 15 Dim a(1 To n) As Integer, work As Boolean Dim i As Integer, j As Integer, x As Integer Randomize For i = 1 To n a(i) = Int((90 * Rnd) + 10) Next i For i = 1 To n Print a(i); Next i Print '**********SPACE********** For i = n To 2 【?】step-1 work = True For j = 1 To i - 1 If a(j) > a(j + 1) Then x = a(j): a(j) = a(j + 1): a(j + 1) = x '**********SPACE********** 【?】work=False End If Next j '**********SPACE********** If work Then 【?】Exit For Next i For i = 1 To n Print a(i); Next i End Sub 答案 1). Step -1 2). work = False 或work=0 或not work = true 3). Exit For '功能:以下程序用于判断一个正整数(≥3)是否为素数。 '------------------------------------------------------- 2005届计算机专业《VFP》程序填空与阅读试卷汇编一 班级姓名 一、程序填空(每空3分,共27分) 1.有一商场的商品销售数据库XS.DBF,其记录如下: 记录号商品名单价数量总价 1 电冰箱2000 3 6000 2 彩电1800 5 9000 3 电冰箱2010 1 2010 4 空调机1600 2 3200 5 彩电1900 2 3800 …… 下面程序用于分类统计各种商品总的销售数量和总的销售额(总价),并计算出平均 销售单价。 SET TALK OFF USE XS INDE ON __________________ TO SY ____________________ TO TJK USE TJK REPL _____________________ LIST USE SET TALK ON 2.任意输入两个正整数X和Y,求X与Y的最小公倍数。 SET TALK OFF INPUT "X="TO X INPUT "Y="TO Y IF X>Y T=X X=Y Y=T ENDI N=Y DO WHILE N<=__________________ IF ________________ EXIT ENDI N=_______________________ ENDDO ?"最小公倍数是:"+STR(N) SET TALK ON 3.现有一数据库CJ.DBF,该数据库文件中仅有一个数值型字段"数据",且无记录。要求键盘输入十个数,将这些数保存到CJ.DBF的"数据"字段中,并由大到小显示出来。 SET TALK OFF USE CJ K=1 DO WHIL K<=10 _________________ @K+5,1 SAY "第"+STR(K,2)+"数是:" GET 数据 READ __________________ ENDD INDE ON _______________ TO TMP LIST USE SET TALK ON 二、程序填空(每空3分,共18分) 1.男子100米短跑成绩已录入数据库Male100.DBF,现要求将前3名运动员的成绩转入获奖数据库gainer.dbf和gainer.txt文件中。阅读下列程序, 填写空位处的代码,使程序能正确有效地实现上述要求。 set Talk off clear @14,20 say "请稍候…" use Male100 ___________ on 成绩/D To temp use Temp Copy _________________ To gainer.dbf use gainer copy to gainer.txt _________________ use @14,20 say "操作完毕!" Return 2.现有一户籍数据库People.DBF,存贮有该地区各位公民的档案资料,现要求按"出生日期"字段(日期型),以索引查询方式,快速查找并显示所有与指定出生日期相同的记录。 Set Talk off Set Safe off Clear use people Index On 出生日期To Ipeople Born=" / / " @14,20 Say "请输入查询的出生日期:" Get Bom picture _________ Read ________________________ Do while .NOT.EOF( ).AND. _________________ Display Skip Enddo 第一套 1.完成程序填空,实现求两数最小公倍数 #include 《JA V A程序设计》复习题之(三)阅读程序题 三、程序阅读题 1.阅读以下程序 import java.io.*; public class Reverse2 { public static void main(String args[ ]){ int i,n=10; int a[] = new int[10]; try { BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); a[i] = Integer.parseInt(br.readLine() ); } catch (IOException e) { }; for (i= n-1; i >= 0; i=i-2) System.out.print(a[i]+" "); System.out.println(); } } 请写出该程序的功能: 该程序使用字符缓冲输入流从键盘输入10个数,然后倒序并间隔打印出来。 2.阅读以下程序 import java.io.* ; public class abc { public static void main(String args[ ]) { int i, s = 0 ; int a[] = { 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120 }; for ( i = 0 ; i< a.length ; i++ ) if (i % 3 == 0) s += a[i]; System.out.println("s=" + s); } } 请写出该程序的输出结果: s=260 3、阅读以下程序: import java.io.*; public class TestRandomAccess { public static void main(String args[]) { int data_arr[]={65,66,56,23,27,1,43,65,4,99}; try { RandomAccessFile randf=new RandomAccessFile("temp.dat","rw"); for (int i=0; iC语言程序的设计填空题及答案复习用
程序阅读及填空(答案)
C语言程序设计程序填空题库及答案
程序填空题
C语言程序填空题及答案
vb程序阅读题与填空题
模块化程序设计练习题及答案
c语言程序填空题完整
-程序填空部分试题及答案
循环程序设计习题及答案
程序填空
湖南省计算机二级3[1].(6分)程序阅读填空
C语言-程序填空练习题
c语言程序填空题及答案
程序填空
VFP程序填空与阅读试题
c++程序填空十套
Java复习题(三)阅读程序题_软件