sokaoti.com
c语言程序填空(含答案) .

若有如下函数模板定义,则正确使用该函数模板的语句是( )。templatevoid add(type a, type b, type 和c){ c=a+b ; }

A.float x,y,z;add(x,y,z) ;

B.int x,y,z;add(x,y,和z) ;

C.float x,y ;int z;add(x,y,z) ;

D.float x,y ;int z;add(x,y,和z) ;


参考答案:A


以下选项错误的是

A.main()

{ int x,y,z;

x=0;y=x-1;

z=x+y;}

B.main()

{ int x,y,z;

x=0,y=x+1;

z=x+y;}

C.main()

{ int x;int

int y;

x=0,y=x+1;

z=x+y;}

D.main()

{ int x,y,z;

x=0;y=x+1;

z=x+y,}


正确答案:D


已知:int x,y;double z;则以下语句中错误的函数调用是( )。A)scanf("%d,%1x,%1e",&x,&y,&z); B)scanf("%1d*%d&1f",&x,&y,&z);C)scanf("%x%*d%o",&x,&y); D)scanf("%x%o%6.2f",&x,&y,&z);


正确答案:B
B项的格式应该为scanf("%1d*%d%1f",&x,&y,&z);


x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是

A.INPUTx、y、z;

B.scanf("%d%d%d",&x,&y,&z);

C.scanf("%d%d%d",x,y,z);

D.read("%d%d%d",&x,&y,&z);


正确答案:B


x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是( )。A.INPUT x,y、z;

x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是( )。

A.INPUT x,y、z;

B.scanf(”%d%d%d”,&x,&y,&z.);

C.sCanf(”%d%d%d”,x,y,z.);

D.read(”%d%d%d”,&x,&y,&z.);


正确答案:B
考查格式输入函数scanf的使用。scanf函数的一般格式是:scanf(格式控制,地址表列)该格式中,地址表列中应是变量地址,而不是变量名。


决战期末【程序填空】功能:写一个函数,求一个字符串的长度,在main函数中输入字 符串,并输出其长度。 len=length(str);Int length(p) N+; P+;【程序改错】功能:将一个字符串中的大写字母转换成小写字母。bool (char)fun(char *c) fun= c;(return *c) puts(*p);(putchar(*p)【程序设计】功能:编写函数实现两个数据的交换,在主函数中输入任 意三个数据,调用函数对这三个数据从大到小排序。-*/#includevoid wwjt(); void swap(int *a,int *b) /*Program*/ /* End */main() int x,y,z; scanf(%d%d%d,&x,&y,&z); if(xy)swap(&x,&y); if(xz)swap(&x,&z); if(yz)swap(&y,&z); printf(%3d%3d%3d,x,y,z); wwjt();void wwjt() FILE *IN,*OUT; int m,n; int i2; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); for(n=0;n3;n+) for(m=0;mn2) swap(pointer1,pointer2); if(n1n3) swap(pointer1,pointer3); if(n2n3) void swap(int *p1,int *p2)【程序改错】功能:将s所指字符串的反序和正序进行连接形成一个新串放在 t所指的数组中。例如:当s所指的字符串的内容为ABCD时,t所指数组中 的内容为DCBAABCD。 d = len(s);(strlen(s) for (i = 1(i=0); id; i+) t2*d = /0(0);【程序设计】功能:把20个随机数存入一个数组,然后输出该数组中的 最小值。其中确定最小值的下标的操作在fun函数中 实现,请给出该函数的定义。 -*/#include #define VSIZE 20 void wwjt(); int vectorVSIZE ; int fun(int list,int size) /*Program*/ /* End */ main() int i; for (i=0;iVSIZE;i+) vectori=rand(); printf(Vector%d=%6dn,i,vectori); i=fun(vector,VSIZE); printf(nMininum: Vector%d=%6dn,i,vectori); wwjt(); void wwjt() int i,t; FILE *fp ; fp = fopen(out.dat, w) ; for (i=0;iVSIZE;i+) fprintf(fp,Vector%d=%6dn,i,vectori); t=fun(vector,VSIZE); fprintf(fp,nMininum: Vector%d=%6dn,t,vectort); fclose(fp) ; /*-【程序填空】功能:输出9*9口诀。 for (i=1;i10;i+) for(j=1;j10;j+) printf(%d*%d=%-3d,i,j,result);【程序改错】功能:以下程序把两个数按由大到小的顺序输出来.swap( int *p1,*p2)(int t) scanf(%d%d,a,b(&a,&b);printf(max=%d,min=%dn,p,q(*p,*q);【程序设计】功能:求1到100之间的偶数之积。-*/ #include void wwjt(); double fun(int m) /*Program*/ /* End */ main() printf(ji=%fn,fun(100); wwjt();void wwjt() FILE *IN,*OUT; int iIN,i; double dOUT; IN=fopen(23.IN,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(23.out,w); if(OUT=NULL) printf(Please Verify The Current Dir. it May Be Changed); for(i=0;i=a&c=A&cZ&cz) 【程序改错】功能:编写input()和output()函数输入,输出5个学生的数据记录。#include #define N 5struct student char num6; char name8; int score4; stuN;input(stu)struct student stu; /*FOUND*/ int i;j; for(i=0;iN;i+) printf(n please input %d of %dn,i+1,N); printf(num: ); scanf(%s,&stui.num); printf(name: ); scanf(%s,stui.name); for(j=0;j3;j+) /*FOUND*/ printf(score %d.,j); scanf(%d,&stui.scorej); printf(n); print(stu)struct student stu; int i,j; printf(nNo. Name Sco1 Sco2 Sco3n); /*FOUND*/ for(i=0;i=N;i+) printf(%-6s%-10s,stui.num,stui.name); for(j=0;j3;j+) printf(%-8d,stui.scorej); printf(n); main() input(); print();/*-【程序设计】功能:产生20个30,120上的随机整数放入二维数组a54 中,求每行元素的和。-*/#include stdlib.h#include void wwjt(); void row_sum(int a54,int b5) /*Program*/ /* End */main()

以下程序执行后的输出结果是( )。include usingnamespacestd;void try(int,int,int,in

以下程序执行后的输出结果是( )。 #include <iostream> using namespace std; void try(int,int,int,int); int main ( ) { int x,y,z,r; x=1; y=2; try(x,y,z,r); cout<<r<<end1; return 0; } void try(int x,int y, int z,int r) { z = x+y; x = X*X; y = y*y; r = z+x+y; }

A.18

B.9

C.10

D.不确定


正确答案:D
解析:本题常见的错误解答是:把x=1,y=2代入到函数try中,逐步计算出r=8。最后得到r的输出值是8。下面是正确解答。根据程序逐步分析:①程序中定义了一个名为try的void型函数,即函数try()没有任何返回值。②而try()函数在主函数中是以一条独立语句的方式被调用的,且主函数最后输出变量r的值。③但在主函数中,并没有对变量r赋值。④在C++语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以,虽然在函数try()中,r的值为8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。


下列函数定义中,会出现编译错误的是 ______。

A.max(int x,int y,int *z) { *z=x>y? x:y;}

B.int max(int x,y) {int z; z=x>y? x;y; return z; }

C.max(int x,int y) { int z; z=x>y? x:y; return(z); }

D.int max(int x,int y) { return(x>y?x:y);}


正确答案:B
解析:本题考查函数的定义。选项B中函数形参y没有说明数据类型。


下列函数定义中,会出现编译错误的是

A.max(int x,int y,int *z) { *z=x>y ? x:y; }

B.int max(int x,y) { int z; z=x>y ? x:y; return z; }

C.max(int x,int y) { int z; z=x>y?x:y; return(z); }

D.int max(int x,int y) { return(x>y?x:y); }


正确答案:B
解析:定义函数时,若需要声明形式参数时,则每个形式参数都必须单独声明类型。


以下程序的运行结果是()。includevoid sub(int x,int y,int*z){*Z=y-x;}void main()

以下程序的运行结果是( )。 #include<iostream.h> void sub(int x,int y,int*z) {*Z=y-x;} void main() {int a,b,c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); cout<<a<<“,”<<b<<“,”<<c<<endl;}

A.5,2,3

B.-5,-12,-7

C.-5,-12,-17

D.5,-2,-7


正确答案:B
解析: 在C++语言中,调用函数不可能改变实参指针变量的值,但可以改变实参指针变量所指变量的值。


下列程序执行后,屏幕的输出是()。includeusing namespace std;void swap(int x,int y)

下列程序执行后,屏幕的输出是( )。 #include<iostream> using namespace std; void swap(int x,int y) { int temp=x; x=y; y=temp; cout<<"x="<<x<<"",y=""<<y<<end1; } int main() { int x=3,y=2; swap(x,y); cout<<"x="<<x<<",y="<<y<<end1; return 0; }

A.x=3,y=2 x=3,y=2

B.x=2,y=3 x=3,y=2

C.x=2,y=3 x=2,y=3

D. x=3,y=2 x=2,y=3


正确答案:B

更多 “c语言程序填空(含答案) .” 相关考题
考题 设函数findbig已定义为求3个数中的最大值。以下程序将利用函数指针调用findbig函数,请填空。main(){ int findbig(int,int,int); int (*f)(),x,y,z,big; f=; scanf("%d%d%d",&x,&y,&z); big=(*f)(x,y,z); printf("big=%d\n",big);}正确答案:findbig在main()函数中,int findbig();是对被调函数的说明,其功能是告诉系统在本函数中将用到该函数且返回整型值。int (*f)();说明f是一个指向函数的指针变量,此函数带回整型的返回值。赋值语句f=findbig;的作用是将函数findbig的入口地址赋给指针变量f,这时f就是指向函数findbig的指针变量。要注意的是,在给函数指针变量赋值时,只需给出函数名而不必给出参数,因为是将函数的入口地址赋给f,而不涉及实参与形参的结合问题。故本题答案为findbig。

考题 请填写空格: include using namespace std; void fun(int x,int y,int * z) { *2 = x请填写空格:include<iostream>using namespace std;void fun(int x,int y,int * z){ *2 = x + y;}void main(){int a=100,b=100,c,*p=&c;fun(a,b,p);【 】; //输出调用fun函数后返回a、b的和。}正确答案:cout*p;cout*p; 解析:函数 fun()通过指针可以带回返回值,a、b的和存放在*p中。

考题 若有以下变量和函数说明:includecharCh='*';void sub(int x,int y,char ch,double*若有以下变量和函数说明: #include<iostream.h> charCh='*'; void sub(int x,int y,char ch,double*Z) { switch(ch) { case'+':*Z=x+y;break; case'-':*Z=x-y;break: case'*':*Z=x*y;break; case'/':*z=x/y;break: } } 以下合法的函数调用语句是( )。A.sub(10,20,Ch,y);B.sub(1.2+3,2*2,'+',&Z);C.sub(sub(1,2,'+',&y),sub(3,4'+',&x),'-',&y);D.sub(a,b,&x,ch);正确答案:B

考题 以下程序执行后的输出结果是include.using namespace std;void try(int,int,int,int)以下程序执行后的输出结果是 #include<iostream>. using namespace std; void try(int,int,int,int); int main() { int x,y,z,r; x=1; y=2; try(x,y,z,r); cout<<r<<end1; return 0; } void try(int x,int y, int z,int r) { z = x+y; x = x*x; y = y*y; r = z+x+y; }A.18B.9C.10D.不确定正确答案:D解析:本题考核函数调用(参数的传递)。本题常见的错误解答是:把x=1,y=2代入到函数try中,逐步计算出r=8。最后得到r的输出值是8。以下是正确解答,根据程序逐步分析:程序中定义了一个名为try的void型函数,即函数try没有任何返回值。而try函数在main函数中是以一条独立语句的方式被调用的,且main函数最后输出变量r的值。但在main函数中,并没有对变量r赋值。在C++语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以虽然在函数try中,r的值为8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。

考题 X、Y、2被定义为int型变量,若从键盘给X、Y、Z输入数据,正确的输入语句是______。A.INPUT X,Y,Z;B.scanf("%d%d%d",&X,&Y,&Z);C.scanf("%d%d%d",X,Y,Z);D.read("%d%d%d",&X,&Y,&Z);正确答案:B解析:C语言中没有输入输出语句,它是通过C语言提供的函数来实现的,本题C中,应为变量地址。

考题 以下程序输出结果是 ______。includevoid fun(int x,int y,int z){z=x+y;}void main以下程序输出结果是 ______。 #include<iostream.h> void fun(int x,int y,int z){z=x+y;} void main() { int a=10; fun (2,2,a); cout<<a; }A.0B.4C.10D.无定值正确答案:C

考题 x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是A.INPUT x、v、z;B.scanf("%d%d%d",&x,&y,&z);C.scanf("%d%d%d",x,y,z);D.read("%d%d%d",&x,&y,&z);正确答案:B解析:scanf函数的一般格式是:scanf(格式控制,地址表列)该格式中,地址表列中应是变量地址,而不是变量名。注意:调用putchar和getchar函输出和输入字符。

考题 下列函数定义中,会出现编译错误的是A.max(int x,int y,int*z) {*z=x>y?xy;}B.int max(int x,y) {int z; z=x>y?xy; return z; }C.max(int x,int y) {int z; z=x>y?xy;return(z); }D.int max(int x,int y) { return(x>y?xy);}正确答案:B解析:本题考核的知识点是函数的定义方法。选项B中在说明形参时,省略了第二个参数的类型,故选项B编译不能通过。

考题 X、Y、Z被定义为int型变量,若从键盘给X、Y、Z输入数据,正确的输入语句是______。A.INPUT X,Y,Z;B.scanf("%d%d%d",&X,&Y,&Z);C.scanf("%d%d%d",X,Y,Z);D.read("%d%d%d",&X,&Y,&Z);正确答案:B解析:C语言中没有输入输出语句,它是通过C语言提供的函数来实现的,本题C中,应为变量地址。

考题 下面程序的运行结果是void swap(int *a,int *b){ int *t; t=a;a=b;b=t;}main(){ int x=3,y=5,*p=&x,*q=&y; swap(p,q); printf("%d%d\n",*p,*q);}正确答案:35观察本题的程序可以看出,被调函数swap()实现的功能是交换变量的值,但由于函数不返回任何值,所以在main()函数中打印出的变量的值并没有发生交换,即仍为3和5。