admin 管理员组

文章数量: 1184232


2024年4月21日发(作者:声音素材网)

/8522.3x二、填空题(25道小题,共34分)

1、C语言程序执行的入口点是 主函数main 。

2、设y是int型变量,请写出判断y为奇数的关系表达式

y%2!=0 。

3、设x是int型变量,请写出x是偶数并且不能被3整除的表达式

y%2==0&&y%3!=0 。

4、设a,b为int型变量,x,y为float型变量,且设a=5,b=10,x=3.5,y=10.8。

为了得到以下的输出格式和结果,请将对应的输出语句补充完整。

//输出格式及结果:a=5,b=10,x+y=14.3

printf(" a=%d,b=%d,x+y=%4.1f”,a,b,x+y );

//或 cout<< ;

5、for(;;)语句相当于while( 1 )

6、C语言中结束一次循环的语句是 continue 。

7、如C程序中对一个函数的调用在前,定义在后,则必须在调用前

对该函数进行 声明 。

8、在函数定义中, 形式参数 是被调函数接收调用者数

据的主要途径。

9、若被调函数是标准库函数,则在使用前需在程序的开头用

#include 命令将被调函数的信息包含进来。

10、在语句 int fun(float f, int i); 中,变量f和i具有 相同的

作用域。

11、标识符在程序中可引用的区域称为 作用域 。

12、比较两个字符串大小的函数是 strcmp() 。

13、array是一个一维整形数组,有10个元素,前6个元素的初值是

9,4,7,49,32,-5,

请写出正确的说明语句 int array[10]={9,4,7,49,32,-5}; 。

14、字符串是以 ‘0’ 为结束标志的一维字符数组。

15、若用数组名作为函数调用的实参,传递给形参的将是数组 的起

始地址 。

16、若有定义int i;int *p=&i;则&*p等价于 &i 。

17、下面的程序求区间[100,200]内10个随机整数中的最大数、最小

数。

#include//或 #include

#include

void main( )

{

int max, min,x;

x= rand( )%101+100;

printf("%4d",x);//cout<

max = x; min =x;

for(int i=1;i<10;i++)

{

x= rand()%101+100 ;

printf("%4d",x);//cout<

if(x > max) max=x ;

if(x < min) min=x ;

}

printf("n最大数:%4d,最小数: %4dn",max,min);

//cout<

}

18、下面程序的功能是从键盘输入的10个整数中,找出第一个能被

7整除的数。若找到,打印此数后退出循环;若未找到打印“no exist”。

#include //或 #include

void main()

{

int i,a;

for(i=1;i<=10;i++)

{

scanf("%d",&a);//或cin>>a;

if( a%7==0 )

{

printf("%d",a); //或cout<

break;

}

}

if( i>10 ) printf("no exist");//或cout<<"no exist";

}

19、下面这个程序打印出以下这个三角形.请填空。

0

11

222

3333

44444

555555

6666666

77777777

888888888

9999999999

void main()

{

int i,j;

for(i=0;i< 10 ;i++)

{

for(j=0;j< i+1 ;j++)

printf(“%d”, i ) ;

printf("n"); //或 cout<

}

}

20、以下程序通过函数SunFun和F(x)求解x^2+1的累加和,x=0到

10。这里F(x)=x^2+1。请填空。

(说明:x^n即x的n次幂)

#include //或 #include

void main()

{

printf("The sun=%dn", SunFun(10) );

//或 cout<<"The sun="<< )<

}

SunFun(int n)

{ int x,s=0;

for(x=0;x<=n;x++) s+=F( x );

return s;

}

F(int x)

{ return ( x*x+1 );}

21、函数fun的功能是计算x^n。主函数中已经正确定义m、a、b变

量并赋值,并调用fun函数计算:m=a^4+b^4-(a+b)^3。

(说明:x^n即x的n次幂)

#include //或 #include

double fun(double x,int n)

{

int i; double y=1;

for(i=1;i<=n;i++)

y=y*x ;

return y ;

}

void main()

{

double m,a,b;

a=7.3;

b=5.1;

m= fun(a,4)+fun(b,4)+fun(a+b,3) ;

printf("m=%lfn",m); //或 cout<<"m="<

}

22、以下程序可计算10名学生1门课成绩的平均分。

float average(float array[])

{int i;

float aver,sum=array[0];

for(i=1; i<10 ;i++)

sum+= array[i] ;

aver=sum/10;

return(aver);

}

void main()

{

float score[10],aver;

int i;

printf("input 10 scores:");//或cout<<"input 10 scores:";

for(i=0;i<10;i++)

scanf("%f",&score[i]);//或cin>>score[i];

aver= average(score) ;

printf("the average score is:%f",aver);//或cout<<"the average score

is"<

}

23、下面程序的功能是检查一个二维数组是否对称(即a[i][j]是否等于

a[j][i])。

#include //或 #include

void main()

{ int a[4][4]={1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4};

int i,j,found=1;

for(i=0;i<4;i++)

{for(j=0; j<4 ;j++)

if( a[i][j]!=a[j][i] )

{

Found=0 ;

break;

}

if(found==0)

break;

}

if(found==1)

printf("yes");//或cout<"no";

else

printf("no");//或cout<"yes";

}

24、以下程序中,函数SumColumMin的功能是:求出M行N列二维

数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主

函数输出。请填空。

#define M 2

#define N 4

void SumColumMin(int a[M][N],int *sum)

{ int i,j,k,s=0;

for(i=0;i

{ k=0;

for(j=1;j

if(a[k][i]>a[j][i])k=j;

s+= a[k][i] ;

}

*sum =s;

}

void main()

{ int x[M][N]={3,2,5,1,4,1,8,3},s;

SumColumMin( x, &s );

printf("%dn",s); //或 cout<

}

25、fun函数的功能是:首先实现在N行M列的二维数组a中,找出

各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值

返回。请填空。

#define N 5

int fun(int a[N][N])

{int row,col,max,min;

for(row=0;row

{for(max= a[row][0] ,col=1;col

if( max

max=a[row][col];

if(row==0) min=max;

else if( min>max ) min=max;

}

return min;

}

26、C语言程序设计包括编写源代码、 编辑、编译 、

连接和运行等步骤。

27、C语言中唯一的三目运算符是 条件运算符 ? : 。

28、有一个函数原型如下所示:

abc(float x,float y);

则该函数的返回类型为 int 。

29、在C语言中,形参的缺省存储类是 auto 。

30、设int a[2][3]={{5},{6}}; 则数组元素 a[0][0] 的值

为5。

31、若有定义int a[4][5]={{1,2,3},{3,2,1,6},{1}};则二维数组a中元素

a[2][2]的值是 0 。

32、已知有以下的说明,

int a[]={8,1,2,5,0,4,7,6,3,9};

那么a[*(a+a[3])]的值为 0 。

33、下面程序输出1至100之间每位数的乘积小于每位数的和的数。

#include //或 #include

main()

{

int n,k=1,s=0,m;

for(n=1;n<=100;n++)

{

k=1;s=0;

m=n ;

while (m!=0)

{k*=m%10;

s+=m%10;

m= m/10 ;

}

if(k

}

}

34、以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输

出结果。请填空。

int fun ( int n)

{

int m=0,f=1,i;

for(i=1; i<=n; i++)

{ m+=i*f;

f= -f ;

}

Return m ;

}

void main()

{

printf("m=%dn", f(10) ); //或

cout<<"m="<< )<

}

35、C源程序的扩展名是 .c或.cpp 。

36、已知整型变量a=6,字符型变量ch='A',浮点数变量f=2.1,则表达式

ch+a+f 的值为

73.1 。 (提示:'A'的ASCII码为65)

37、表示条件:10

x>10&&x<100||x<0 。

38、由顺序、选择和循环三种基本结构构成的算法称为 结构化的

算法 。

39、C语言中至少执行一次循环体的循环语句是 do{……}

while () 。

40、C语言程序的基本单位是 函数 。

41、程序中变量的生存期各不相同。在程序运行前就分配存储空间的

变量是 全局变量(外部变量) 。

42、C语言中构成数组的各个元素具有相同的 数据类

型 。

43、如果在程序中调用了strcat函数,则需要预处理命令即头文件

#include

44、有如下程序段 int *p,a=10,b=1; p=&a; a=*p+b; 执行该程序段后,

a的值为 11 。

45、斐波那契数列中的头两个数是0和1,从第三个数开始,每个数等

于前两个数的和,即:0,1,1,2,3,5,8,13,21,...等。下面这个程序就是求

斐波哪契数列的前20个数。请填空。

#include //或 #include

void main()

{

int f,f1,f2,i;

f1=0;f2=1;

printf("%dn%dn",f1,f2); //或 cout<

for(i=3;i<=20; i++ )

{

f= f1+f2 ;

printf("%dn",f); //或 cout<

f1=f2;

f2= f ;

}

}

46、下面程序的功能是求出用数字0至9可以组成多少个没有重复的

三位偶数。

#include //或 #include

void main()

{int n,i,j,k;

n=0;

for(i=1;i<=9;i++)

for(k=0;k<=8; k++ ,k++ )

if(k!=i)

for(j=0;j<=9;j++)

if( j!=k && j!=i )

n++;

printf("%d",n);//cout<

}

47、以下程序的功能是:在主函数中输入一个整数n,调用函数

计算n的所有因子(不包括1与自身)之和。

#include //或 #include

int fun(int x)

{

int s=0,i;

for(int i=2;i<=x-1;i++)

if( x%i==0 )

s+=i;

return s ;

fun

}

void main()

{

int n, sum;

printf("请输入一个整数:"); //或 cout<<"请输入一个整数:

";

scanf("%d", &n); //或 cin>>n;

printf("%d的所有因子(不包括1与自身)之和是%d",

fun(n) );

//或 cout<< ;

}

48、以下程序中,主函数调用了LineMax函数,实现在N行M列的

二维数组中,找出每一行上的最大值。请填空:

#define N 3

#define M 4

void LineMax(int x[N][M])

{ int i,j,p;

for(i=0;i

{ p=0;

for(j=1;j

if(x[i][p]

printf("The max value in line %d is %dn",i, x[i][p] );

//或 cout<<"The max value in line "<

"<< )<

}

}

main()

{ int x[N][M]={1,.5,7,4,2,6,4,3,8,2, 3,1};

LineMax(x) ;

}

49、设有说明语句:char a= '72';则变量a包含 1 个字符。

50、已知float x=2.5,y=4.7;int a=7;,表达式x+a/3*int(x+y)%2的值为

2.5 。

51、下面程序功能是计算100到1000之间有多少个其各位数字之和

是5的数。

#include //或 #include

void main()

{ int i,s,k,count=0;

for(i=100;i<=1000;i++)

{

s=0;k=i;

while( k!=0 )

{s=s+k%10;

k= k/10 ;

}

if( s==5 )

{

printf("%4d",i);//或cout<

count++;

}

}

printf("n%dn",count);//或cout<

}

52、下面程序的功能是打印100以内个位数为6且能被3整出的所有

数。

#include //或 #include

main()

{

int i,j;

for(i=0; i<100 ;i++)

{

j= i ;

if( j%3!=0||j%10!=6 ) continue;

printf("%d,",j); //或cout<

}

}

53、以下search函数的功能是利用顺序查找法从数组a的10个元素

中对关键字m进行查找。顺序查找法的思路是:从第一个元素开始,

从前往后依次与关键字比较,直到找到此元素或查找到数组尾部时结

束。若找到,返回下标,否则返回-1;

int search(int a[],int m)

{

int i;

for(i=0;i<10;i++)

if( a[i]==m )

return(i);

return(-1);

}

void main()

{

int a[10],m,i,no;

for(i=0;i<10;i++)

scanf("%d",&a[i]);//cin>>a[i];

scanf("%d",&m);//cin>>m;

no=search( a, m );

if( no!=-1 )

printf("found!%d",no+1);//cout<<"found!"<

else

printf("not found!");//cout<<"not found!";

}

54、按照优先级从高到低的顺序写出C语言中的三种逻辑运算符 !

&& || 。

55、若要输出字段宽度为4的十进制数printf函数应使用格式说明

"%4d",字段宽度为10实数应使用 %10f 。

56、假定a和b为int型变量,则执行以下语句后b的值为

0 。

a=1; b=10; do { b-=a; a++; } while (b);

57、在一个函数体内调用另一个函数,称为嵌套调用;函数调用自身,

称为 递归调用 。

58、函数可以嵌套调用,但是不可以嵌套 定义 。

59、 外部变量(全局变量) 在函数外部定义,作用域从定义

点开始到文件的结束。

60、有如下语句 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则*(p+8)的值为

9 。

61、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输

出最高成绩和最低成绩,当输入负数时结束,请填空。

#inlude //或 #include

void main()

{

Float x,amax,amin ;

scanf("%f",&x); //或 cin>>x;

amax=x;

amin=x;

while( x>=0 )

{

if(x>amax)

amax=x;

if( x

amin=x;

scanf("%f", &x); //或 cin>>x;

}

printf("amax=%f, amin=%fn", amax, amin);

//或 cout<<"amax="< }

62、C语言是一种 面向过程 (选择面向对象或面向过程)

高级程序设计语言。

63、字符串"abn012/""的长度为 10 。

64、C语言中结束本层循环的语句是 break 。

65、程序根据判断条件是否成立,从而选择执行不同的程序段。这样

的程序结构叫分支结构 。

66、调用函数和被调用函数之间交流信息的通道是 参

数 。

67、函数的返回值是通过函数中的 return 语句获

得的。

68、若有以下说明和语句, 则p1-p2的值为 5 。

int a[10], *p1, *p2;

p1=a;

p2=&a[5];

69、有语句char str1[10],str2[10]={"china"}; 则能将字符串china赋给

数组str1的正确语句是

strcpy(str1,str2) ; 。

70、如图所示,该算式在四个字母所在处欠缺四个数位,下面这个程

序用穷举法搜寻解法。请填空。

1A8

* 3B

_________

C73D

#include //或 #include

void main()

{

int A,B,C,D;

int x,y,z;

for(A=1;A<=9;A++)

for(B=1;B<=9;B++)

for(C=1;C<=9;C++)

for(D=1;D<=9;D++)

{

x=100 + 10*A + 8;

y=30+B;

z= 1000*C +700 +30 +D;

if( x*y==z )

printf("A=%d,B=%d,C=%d,D=%dn", A,B,C,D);

//

cout<<"A="<

}

}

71、C语言程序编译的过程是以 源程序文件 为单位的。

72、当具有块作用域的局部变量与具有文件作用域的全局变量同名时,

局部 变量优先。

73、若有定义:static int a[3][4]={{1,2},{0},{4,6,8,10)); 则初始化后,a[1][2]

的值为 0 。

74、函数strlen("China")返回的值为 5 。

75、在C语言程序设计中,生成可执行程序(.exe文件)的步骤是 编

辑、编译、连接 。

76、C语言中基本的数据类型有 int flaot double char

bool 。

77、主函数main定义如下:

void main()

{

int a,b;

cin>>a>>b;

if(b>a)

{

int t;

t=a; a=b; b=t;

}

}

其中t的作用域称作 复合语句(分程序、程序块) 。

78、以下程序从读入的整数数据中,统计大于零的整数个数和小于零

的整数个数.用输入零来结束输入,程序中用变量i统计大于零的整数

个数,用变量j统计小于零的整数个数.请填空.

#include //或 #include

// #include

main()

{

int n,i,j;

printf("输入非零的整数(输入零结束程序)"); //或 cout<<"输

入非零的整数(输入零结束程序)";

i=j=0;

scanf("%d",&n); //或 cin>>n;

while ( n!=0 )

{

if(n>0)

i= i+1 ;

if(n<0)

j= j+1 ;

scanf("%d",&n); //或 cin>>n

}

printf("i=%4d j=%4dn",i,j);//或 cout<<"i="<

j="<

}

79、以下循环体的执行次数是 1 。

main() { int i,j; for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d n",i); }

80、若有声明语句char * pCh;则系统为变量pCh分配的内存单元字节

数是 4 个。


本文标签: 函数 程序 C语言 功能 变量