程序填空题一(已查)
1. 下面C语言程序将两个递增有序的数值a和b合并一个数组c,并保持递增次序,最后输出数组c.
#define M 6
#define N 5
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 )/* 答案i if(a[i] else c[k++]=b[j++]; while( 2 ) /* 答案i c[k++]=a[i++]; while(j c[k++]=( 3 ) /* 答案b[j++]; */ for(k=0;k<( M+N );k++) /* 答案M+N */ printf(“%d\t”,c[k]); } 2.下面程序的作用是将以下给出的字符按其格式读入数组ss中,然后输出行、列号之和为3的数组元素,请在____处填入正确内容。 A a f c B d e b C g f D main() {static char ss[4][3]={'A','a','f','c','B','d','e','b','C','g','f','D'}; int x,y,z; for(x=0;【1】;x++)/*答案x<4*/ for(y=0;【2】;y++)/*答案y<3*/ { z=x+y;if(【3】)printf("%c\n",ss[x][y]);/*答案z==3*/ } } 程序填空题二(已查) 1下面程序的功能是不用第三个变量,实现两个数的对调操作。 main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; /* 答案a+b或者a^b */ b= ②; /* 答案a-b或者b^a */ a= ③;/* 答案a-b或者a^b */ printf("a=%d,b=%d\n",a,b); } 2下面程序的功能是根据近似公式:π/6≈ 1/1^2+1/2^2+1/3^2+ …… +1/n^2,求π值。 #include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ①; /* 答案1.0/(float)(i*i) */ return( ② );/* 答案sqrt(6*s) */ } 3下面程序的功能是计算1-3+5-7+ …… -99+101的值。 main() { int i,t=1,s=0; for(i=1;i<=101;i+=2) { ①;/* 答案t=t*i */ s=s+t; ②;/* 答案t=t>0?-1:1 */ } printf("%d\n",s); } 4下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( ① ) /* 答案 x>=0 */ { if(x>amax) amax=x; if( ② ) amin=x;/* 答案 x scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin); } 5下面程序的功能是将形参x的值转换为二进制数,所得的二进制数放在一个一维数组中返回,二进制数的最低位放在下标为0的元素中。 fun(int x,int b[]) { int k=0,r; do{ r=x% ①;/* 答案2 */ b[k++]=r; x/= ②;/* 答案 2 */ }while(x); } 6下面程序的功能是输出100以内的个位数为6、且能被3整除的所有数。 main() { int i,j; for(i=0;①;i++) /*答案i<=9 */ { j=i*10+6; if( ② ) countinue;/*答案 j%3!=0 */ printf("%d",j); } } 7下面程序的功能是用辗转相除法求两个正整数m和n的最大公约数。 int hcf(int m,int n) { int r; if(m { r=m; ①;/* 答案 m=n */ n=r; } r=m%n; while( ② ) /* 答案 r!=0 */ { m=n; n=r; r=m%n; } ③;/* 答案 return(n) */ } 8下面程序的功能是使用冒泡法对输入的10个浮点数从小到大进行排序。排好序的10个数分两行输出。程序如下: main() { ①; /* 答案 float a[10] */ int i,j; printf("Input 10 numbers please\n"); for(i=0;②;i++ ) /* 答案 i<=9 */ scanf("%f", &a[i]); printf("\n"); for(i=2;③;i++ ) /* 答案 i<=8 */ for(j=0;④;j++ ) /* 答案 j<=9-i */ if( ⑤ ) /* 答案 a[j]>a[j+1] */ { x=a[j]; ⑥;/* 答案a[j]=a[j+1] */ a[j+1]=x; } printf("The sorted 10 numbers;\n"); for(i=0;⑦;i++ ) /* 答案 i<=9 */ { if( ⑧ ) /* 答案 i%5==0 */ printf("\n"); printf("%f\t",a[i]); } printf("\n"); } 9下面程序的功能是读入20个整数,统计非负数个数,并计算非负数之和。 main() { int i,a[20],s,count; s=count=0; for(i=0;i<20;i++ ) scanf("%d", ① );/* 答案 &a[i] */ for(i=0;i<20;i++) { if(a[i]<0) ②;/* 答案 continue */ s+=a[i]; count++; } printf("s=%d\t count=%d\n",s,count); } 10下面程序的功能是删除字符串s中的空格。 main() { char *s="Beijing ligong daxue"; int i,j; for(i=j=0;s[i]!='\0';i++) if(s[i]!= ' ') ①;/* 答案 s[j++]=s[i] */ else ②;/* 答案 s[j]=s[i] */ s[j]= '\0'; printf("%s",s); } 11下面程序的功能是将字符串s中所有的字符'c'删除。请选择填空。 #include main( ) { char s[80]; int i,j; gets(s); for(i=j=0;s[i]!= '\0';i++ ) if(s[i]!= 'c') ①;/* 答案 s[j++]=s[i] */ s[j]= '\0'; puts(s); } 12下面程序的功能是输出两个字符串中对应相等的字符。请选择填空。 #include char x[]="programming"; char y[]="Fortran"; main() { int i=0; while(x[i]!= '\0' && y[i]!= '\0') if(x[i]==y[i]) printf("%c", ① );/* 答案 x[i++] */ else i++; } 13下面程序的功能是将字符串s中的每个字符按升序的规则插到数组a中, 字符串a已排好序。#include main() { char a[20]="cehiknqtw"; char s[]="fbla"; int i,k,j; for(k=0;s[k]!= '\0';k++ ) { j=0; while(s[k]>=a[j] && a[j]!= '\0' ) j++; for( ① ) /* 答案i=strlen(a);i>=j;i-- */ ②;/* 答案a[i+1]=a[i] */ a[j]=s[k]; } puts(a); } 14下面的函数index(char s[], char t[])检查字符串s中是否包含字符串t,若包含,则返回t在s中的开始位置(下标值),否则送回-1。 index(char s[], char t[]) { int i,j,k; for(i=0;s[i]!= '\0';i++ ) { for(j=i,k=0;① && s[j]==t[k];j++,k++) ;/* 答案 t[k]!= '\0' */ if( ② ) /* 答案 t[k]== '\0' */ return (i); } return(-1); } 15下面程序的功能是计算S= 1!+2!+…+n! 。 long fun(int n) { int i; long s=1; for(i=1;i ①;i++) /* 答案 <=n */ s*=i; return( ② );/* 答案 s */ } main() { int k,n; long s; scanf("%d",&n); s= ③;/*答案0 */ for(k=0;k<=n;k++) s+= ④;/* 答案 fun(k) */ printf("%ld\n",s); } 16以下程序是计算学生的年龄。已知第一位最小的学生年龄为10岁,其余学生的年龄一个比一个大2岁,求第5个学生的年龄。 age( int n ) { int c; if( n==1 ) c=10; else c= ①;/* 答案 2+age(n-1) */ return(c); } main() { int n=5; printf("age:%d\n", ② );/* 答案 age(5) */ } 17下面的函数是一个求阶乘的递归调用函数。 facto(int n) { if( n == 1 ) ①;/* 答案 return(1) */ else return( ② );/* 答案 n*facto(n-1) */ } 18下列函数是求一个字符串str的长度。 int strlen( char *str ) { if( ① ) return (0);/* 答案 str=='\0' */ ???else return ( ② );/* 答案 1+strlen(str+1) */ } 19函数revstr(s)将字符串s置逆,如输入的实参s为字符串"abcde",则返回时 s 为字符串"edcba"。递归程序如下: revstr( char *s ) { char *p=s, c; while(*p) p++; ①;/* 答案 p--*/ if(s { c=*s; *s=*p; ②;/* 答案 *p='\0' */ revstr(s+1); ③;/* 答案 *p=c */ } } 如下是由非递归实现的revstr(s)函数: revstr (char *s ) { char *p=s, c; while( *p ) p++; ④;/* 答案 p-- */ while( s { c=*s; ⑤ = *p;/* 答案 *s++ */ *p-- = c; } } 注释:在递归算法中,指针s指向字符串首部要反向的字符,即要将指针s所指向的字符与指针p 所指向的字符串尾的字符('\0')进行交换,在交换过程中,将尚没有交换的字符串的中间部分作为一个整体,进行递归处理。程序中首先执行"c=*s",将首字符存入临时变量;然后执行"*s=*p",将尾字符存入串首;执行"revstr(s+1)"是递归处理串的中间部分,这时,在 ②处应当填入"*p='\0'",即存入串结束标记。这是这一程序中的关键所在。在③处要完成将存在临时变量c中的字符存入串尾的工作,应当填写"*p=c"。 20下面函数用递归调用的方法,将str中存放的长度为n的字符串反转过来,例如原来是"ABCDE",反序为"EDCBA"。 void invent(char *str,int n) { char t; t=*str; *str=*(str+n-1); *(str+n-1)=t; if( n>2 ) invent ( ①,n-2);/* 答案 str+1 */ else ②;/* 答案 return */ } 21下面程序的功能是实现数组元素中值的逆转。 main() { int i,n=10,a[10]={1,2,3,4,5,6,7,8,9,10}; invert(a,n-1); for(i=0;i<10;i++) printf("%4d",a[i]); printf("\n"); } invert(int *s,int num) { int *t,k; t=s+num; while( ① ) /* 答案 s { k=*s;*s=*t;*t=k; ②;/* 答案 s++ */ ③;/* 答案 t-- */ } } 22下面函数的功能是将字符变量的值插入已经按ASCII码值从小到大排好序的字符串中。void fun(char *w,char x,int *n) { int i,p=0; while(x>w[p]) ①;/*答案 p++*/ for(i=*n;i>=p;i--) ②;/*答案w[i+1]=w[i]*/ w[p]=x; ++*n; } 23下面程序的功能是输入学生的姓名和成绩,然后输出。 #include struct stuinf { char name[20]; /* 学生姓名 */ int score; /* 学生成绩 */ } stu, *p; main ( ) { p=&stu; printf("Enter name:"); gets( ① );/*答案https://www.wendangku.net/doc/bf581828.html, */ printf("Enter score: "); scanf("%d",② );/*答案&stu.score */ printf("Output: %s, %d\n",③,④ );/*答案p->name */ /*答案p->score */ }: 24下面程序的功能是按学生的姓名查询其成绩排名和平均成绩。查询时可连续进行,直到输入0时才结束。 #include #define NUM 4 struct student { int rank; char *name; float score; }; ① stu[ ]={3,"liming",89.3,4,"zhanghua",78.2,1,"anli",95.1,2,"wangqi",90.6 };/*答案struct student */ main() { char str[10]; ?? int i; ?? do { printf("Enter a name"); ????? scanf("%s",str); ????? for( i=0;i ???????? if( ② ) /*答案strcmp(stu[i].name,str)==0*/ ???????? { printf("Name :%8s\n",stu[i].name); ????????printf("Rank :%3d\n",stu[i].rank); ????????printf("Average :%5.1f\n",stu[i].score); ????????③;/*答案 break */ ???????? } ???? if( i>=NUM ) printf("Not found\n"); ????}while( strcmp(str,"0")!=0 ); } 25下面函数将指针p2所指向的线性链表,串接到p1所指向的链表的末端。假定p1所指向的链表非空。 #define NULL 0 struct link { float a; struct link *next; }; concatenate (struct list * p1,struct list *p2 ) { if( p1->next==NULL ) p1->next=p2; else concatenate( ①,p2);/*答案p1->next */ } 26下面函数的功能是创建一个带有头结点的链表,将头结点返回给主调函数。链表用于储存 学生的学号和成绩。新产生的结点总是位于链表的尾部。struct student { long num; int score; struct student *next; }; struct student *creat() { struct student *head=NULL,*tail; long num; int a; tail= ① malloc(LEN);/*答案 (struct student *)*/ do{ scanf("%ld,%d",&num,&a); if(num!=0) { if(head==NULL) head=tail; else ②;/*答案 tail=tail->next */ tail->num=num; tail->score=a; tail->next=(struct student *)malloc(LEN); } else tail->next=NULL; }while(num!=0); return( ③ );/*答案head */ } 27下面程序的功能是统计文件中的字符的个数。 #include main() { long num=0; ① *fp;/*答案FILE */ if((fp=fopen("fname.dat", "r"))==NULL) { printf("Can't open the file! "); exit(0); } while( ② ) /*答案!feof(fp)*/ { fgetc(fp);num++;} printf("num=%d\n",num); fclose(fp); } 《J A V A程序设计》练习题 写出下面程序的运行结果 1、 import java.io.*; public class abc { public static void main(String args [ ]) { AB s = new AB("Hello!","I love JAVA."); System.out.println(s.toString( )); } } class AB { String s1; String s2; public AB(String str1, String str2) { s1 = str1; s2 = str2; } public String toString( ) { return s1+s2; } } 运行结果: Hello!I love JAVA 2、 import java.io.* ; public class abc { public static void main(String args[ ]) { int i, s = 0 ; int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 }; for ( i = 0 ; i < a.length ; i ++ ) if ( a[i]%3 = = 0 ) s += a[i] ; System.out.println("s="+s); } } 运行结果: S=180 //****3、import java.io.* ; public class abc { public static void main(String args[ ]) { System.out.println("a="+a+"\nb="+b); } } class SubClass extends SuperClass { int c; SubClass(int aa, int bb, int cc) { super(aa, bb); c=cc; } } class SubSubClass extends SubClass { int a; SubSubClass(int aa, int bb, int cc) { super(aa, bb, cc); A = aa+bb+cc; } void show() { System.out.println("a="+a+"\nb="+b+"\nc="+c); } } 运行结果:a=60 b=20 c=30 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【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++; 《Java语言程序设计基础教程》 练习思考题参考答案 第1章Java程序设计概述 1、1单项选择题 1.编译Java Application源文件将产生相应得字节码文件,扩展名就是什么 A、、java ???? B、、class ?C、、html??? D、、exe 解答:B 2.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中“一次编 译,随处运行”得特点. ?A、简单性????B、平台无关性 C、面向对象性???? D、安全性 解答:B 3.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中并行机制得 特点。 ?A、多线程???B、平台无关性 C、面向对象性??? D、安全性 解答:A 4。在Java语言中,下列哪些语句关于内存回收得说明就是正确得? ?A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存; C.内存回收程序允许程序员直接释放内存; D.内存回收程序可以在指定得时间释放内存对象 解答:B 5.一个Java源文件中最多只能有多少个public类。 ?A、1个?B、2个 C、3个? D、任意多个 解答:A 6。下面哪一个不就是Java语言所具有得特点。 A、没有全局变量,在类得定义外部没有任何得变量定义; ?B、不直接支持指针操作,而使用更安全得引用类型; C、支持子类对父类得多继承; D、具有自动垃圾收集功能; 解答:C 7。下面哪一个不就是Java开发工具包JDK得组成部分. ?A、Java得编译器; B、Java得解释器;? ?C、Java得API继承类库; ?D、Eclipse开发工具; 解答:C 8。JDK提供得编译器就是()。 ?A、java、exe???B、javac、exe C、javap、exe??? D、javaw、exe 解答:B 9。作为Java应用程序入口得main方法,其声明格式可以就是() A、public voidmain(String[]args) B、public static void main(String []args) C、public static void Main(String* args) D、public int main(String []args) 解答:B 10.下列说法正确得就是( A ) A、JAVA程序得main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序得main方法中如果只有一条语句,可以不用{}(大括号)括起来 11。下列哪些语句关于Java内存回收得说明就是正确得? ( B) A、程序员必须创建一个线程来释放内存 程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#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 JAVA复习 1、面向对象程序设计的三个特征是_封装、多态、继承。 2、Java语言的主要特点有简单性、安全性、面向对象、平台无关性。 3、Java是面向对象语言,类是客观事物的_抽象_ __,而对象是类的_实例_ __。 4、类_ _是Java程序中基本的结构单位。 5、Java语言是一种完全的_面向对象 _程序设计语言 6、布尔型常量有两个值,它们分别true_ _、_ false _ 7、表达式1/2*9的计算结果是0。 8、表达式“b”+10的值为_”b10”,‘b'+10的值为108__ 9、String s1=“China”; int n=s1.length( ); n的值为_5__ 10、_常量名__必须完全大写。 11、Java中用于定义整形变量的关键字有四个:byte、_short__、_int_ __、long。 12、在Java语言中,简单数据类型包括:整数类型、浮点类型、字符类型_和布尔类型。 13、Java的类型、单精度浮点型、布尔型数据的保留字分别是:float_、boolean。 14、JAVA语言中提供了两种类型的字符串类来处理字符串,它们是String_和StringBuffer类 15、Java程序的种类有:内嵌于_HTML__文件中,由浏览器 来观看的_applet___,必须继承__Applet__;可独立运行的_application___,必须包含_main()方法__ 16、Java语言中,所有的类都是Object的子类,Java的窗口通常是JFrame__的子类,抽象 _类只能定义但不能被实例化,_ 最终 _类不能被继承异常类都是_Exception_的子类。 17、Java源程序文件和字节码文件的扩展名分别为_.java___和_.class___ 18、一般Java程序的类体由两部分组成:一部分是_属性_,另一部分是_方法_ 19、子类对父类继承来的属性重新定义称为__重写__。子类对自身拥有的同名方法的重新定义称_重载___。 20、分别用__class_关键字来定义类,用_new__关键字来分配实例存储空间。 21、this指_当前对象___,super指_父对象___。 22、Java中类成员的限定词有以下几种:__ private_ _, public __ _, protected __ _, _缺省_ _。其中,_public __的限定的范围最大。_ private __的限定只能内部访问。Java中成员变量用___final__修饰符修饰的是常量。 23、在Java语言中,_ _包_是组织Java程序中类的一种手段,其作用与Windows系统中的__文件夹__类似。创建包的语句必须是文件的第一 __个语句 C语言程序填空题及答 案 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289- 程序填空题 1、 #include } 3、 #include 第四章模块化程序设计练习题及参考答案 一、填空题 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 51 在类体中,变量定义部分所定义的变量称为类的。 52 成员变量在整个类内都有效,变量只在定义它的方法内有效。 53 Java中成员变量又分为实例成员变量和。 55 写类的目的是为了描述一类事物共有的和功能。 57 成员变量和局部变量的类型可以是Java中的任何一种。 58 用修饰符说明的成员变量是类变量。 59 变量的名字与成员变量的名字相同,则成员变量被,该成员变量在这个方法内暂时失效。 60 用修饰符static说明的成员变量是。 61 如果局部变量的名字与成员变量的名字相同,将被隐藏。 62 方法定义包括两部分:和方法体。 63 在Java中,当一个方法不需要返回数据时返回类型必须是。 64 是指,一个类中可以有多个方法具有相同的名字和类型,但这些方法的参数必须不同。 65 在Java程序语言中,它允许在一个class中有几个方法,都有相同的名字,这种用法称为。 66 是一种特殊方法,它的名字必须与它所在的类的名字完全相同,并不返回任何数据类型。 67 Java中类的方法分为和类方法。 69 因为类体的内容由成员变量的定义和成员方法的定义两部分组成,对成员变量的操作只能放在中。 70 java中方法与类名相同,没有返回值,在创建对象实例时由new运算符自动调用。 71 在类方法中只能调用类变量和类方法,不能调用方法。 72 实例方法既能对类变量操作也能对实例变量操作,而类方法只能对类变量进行操作。 73 Java中类是创建对象的模板。 74 当使用一个类创建了一个对象时,我们也说给出了这个类的实例。 75 Java中用类创建一个对象包括对象的声明和为对象分配内存两个步骤。 76 对象声明的一般格式为类名对象名。 77 一个类通过使用new 运算符可以创建多个不同对象,这些对象将分配不同得内存空间。 78 一个类通过使用new运算符和类的类的构造方法为声明的对象分配内存。 79 对象创建完后,通过使用运算符“.”,对象可以实现对变量的访问和方法的调用。 80 Java中不同对象的实例变量将被分配不同的内存空间。 81 Java中如果类中的成员变量有类变量,那所有的对象的给这样的变量分配给相同的一处内存。 82 类方法和实例方法的区别在于类方法不但可以由对象调用还可以直接由类名调用,而实例方法却不可以。 83 类方法方法不但可以由对象调用还可以直接由类名调用,而实例方法却不可以。 84 类体中的方法分为:实例方法和类方法。 85 类体中的方法分为:实例方法和类方法 86 package 语句作为java源文件的第一条语句指明该源文件定义的类所在的包。 87 在java程序中,系统会自动引入https://www.wendangku.net/doc/bf581828.html,ng这个包,因此不需要再使用import 语 第1.题*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:下面的程序是求1!+3!+5!+……+n!的和。 -------------------------------------------------------*/ #include 1.下列程序由键盘输入一个文件名,然后把从键盘输入的字符依次存放到磁盘文件中,直到输入一个"#"为止。 #include "stdio.h" 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 Java企业面试题填空题及答案 ————————————————————————————————作者:————————————————————————————————日期: Java填空题 1 一个Java源程序是由若干个类组成。 2 class 是Java的关键字,用来定义类。 3 Java应用程序中有多个类时,java命令后的类名必须是包含了main 方法的那个类的名字。 4 一个Java应用程序必须且只有一个类含有main 方法。 5 在一个Java应用程序中main方法必须被说明为public static void 。 6 Java中所有程序都使用方法,应用程序以main 方法开始。 7 Java源文件中有多个类,但只能有一个类是public 类。 8 Java源程序编译后生成的字节码文件扩展名为class 。 9 用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。 10 Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字。 11 关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把这类词作为名字来用。 12 使用关键字boolean 来定义逻辑变量。 13 关键字就是Java语言中已经被赋予特定意义的一些单词。 14 结构化程序设计的基本数据类型包括逻辑类型、整数类型、字符类型、浮点类型。 15 Java中byte型数组在内存中的存储形式是补码。 16 对于int型变量,内存分配 4 个字节。 17 对于byte型变量,内存分配 1 个字节。 18 对于long型变量,内存分配8 个字节。 19 对于short型变量,内存分配 2 个字节。 20 结构化程序设计的基本数据类型包括整数类型、逻辑类型、字符类型、浮点类型。 21 使用关键字char 来定义字符变量。 22 结构化程序设计的基本数据类型包括字符类型、逻辑类型、整数类型、浮点类型。 23 java中,浮点型变量的类型有float和double 两种。 24 对于float型变量,内存分配 4 个字节。 25 对于double型变量,内存分配8 个字节。 26 结构化程序设计的基本数据类型包括浮点类型、逻辑类型、整数类型、字符类型。 27 Java使用Unicode 字符集。 28 混合运算中不同类型的数据先转化为同一类型,然后运算,其中不包括逻辑类型和字符类型。 29 混合运算中不同类型的数据先转化为同一类型,然后运算,其中不包括字符类型、逻辑类型。 30 当把级别高的变量的值赋予级别低的变量时,必须使用强制类型转换。 31 Java中关系运算符的运算结果是boolean 型。 32 Java中逻辑运算符的操作元必须是boolean 型数据。 33 整数类型数据在内存中以二进制的方式表示。 34 Java语言的控制语句有3种类型,即条件语句、循环语句、和转移语句。 35 Java中有两种类型的控制语句即if和switch 。 36 Java语言的控制语句有3种类型,即条件语句、循环语句、和转移语句。 模块三循环程序设计习题及答案 一、填空题 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. ( 1.0分) Java中预定义的数据类型中都有对应的 常量,对于整型直接数,他的形式又有 多种,以1-9开头的正负整数为十进制,以0开头的正负整数为八进制数,以0x 或者0X开头的正负整数 为数。 你的答案:十六进制 (得分1.0 分); 参考答案:十六进制 2. ( 2.0分) 一个类如果实现一个接口,那么它需要实现接口中的全部,否则该类就必须定义为。 你的答案:方法‖抽象类 (得分2.0 分); 参考答案:方法‖抽象(或abstract) 3. ( 3.0分) 下列程序实现从控制台输入并读取输出字符串.请将程序补充完整 import java.io.*; public class CharInput { public static void main(String args[]) throws java.io.IOException{ String s; InputStreamReader ir; BufferedReader in; ir=new____________(System.in); in=new____________(ir); while ((s=in._________)!=null) { System.out.println(“R ead;”+s); } } } 你的答案:InputStreamReader‖BufferedReader‖read line() (得分3.0 分); 参考答案: InputStreamReader‖BufferedReader‖readLine( ) 4. ( 1.0分) 线程类型中的yield()方法只能让相同优先级或者更高优先级、处于状态的线程获得运行机会。 你的答案:就绪 (得分1.0 分); 参考答案:就绪 5. ( 1.0分) 在非静态成员方法中,可以使用关键字访问类的其他非静态成员。 你的答案: this (得分1.0 分); 参考答案:this 6. ( 1.0分) Java定义的变量要求赋初值,如果没有显式赋值,整型变量获得的值是0,实型变量的值是,布尔类型数据的量是false,复合数据变量的值是分null。 你的答案: 0.0 (得分1.0 分); 参考答案:0.0 7. ( 1.0分) 程序int x = 16; int y= x<100?x*100:x*10; 变量y值 是。 你的答案: 1600 (得分1.0 分); 参考答案:1600 8. ( 1.0分) Throwable类有两个子类: _________类和Exception类。 你的答案: Error (得分1.0 分); 参考答案:Error 9. ( 2.0分) 程序填空题一 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)。《JAVA程序设计》习题
C语言程序的设计填空题及答案复习用
程序阅读及填空(答案)
java程序设计试题库
C语言程序设计程序填空题库及答案
JAVA填空题复习(有答案)
C语言程序填空题及答案
模块化程序设计练习题及答案
c语言程序填空题完整
Java填空题三
-程序填空部分试题及答案
程序填空题
Java企业面试题填空题及标准答案
循环程序设计习题及答案
程序填空
JAVA填空题标准答案 (103题)
湖南省计算机二级3[1].(6分)程序阅读填空