二、填空题(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<stdio.h>//或 #include <iostream.h>
#include<stdlib.h>
void main( )
{
int max, min,x;
x= rand( )%101+100;
printf("%4d",x);//cout<<setw(4)<<x;
max = x; min =x;
for(int i=1;i<10;i++)
{
x= rand()%101+100 ;
printf("%4d",x);//cout<<setw(4)<<x;
if(x > max) max=x ;
if(x < min) min=x ;
}
printf("\n最大数:%4d,最小数: %4d\n",max,min);
//cout<<endl<<"最大数:"<<max<<",最小数:"<<min<<endl;
}
18、下面程序的功能是从键盘输入的10个整数中,出第一个能被7整除的数。若到,打印此数后退出循环;若未到打印“no exist”。
#include <stdio.h> //或 #include <iostream.h>
void main()
{
int i,a;
for(i=1;i<=10;i++)
{
scanf("%d",&a);//或cin>>a;
if( a%7==0 )
{
printf("%d",a); //或cout<<a;
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<<endl;
}
}
20、以下程序通过函数SunFun和F(x)求解x^2+1的累加和,x=0到10。这里F(x)=x^2+1。请填空。
(说明:x^n即x的n次幂)
#include <stdio.h> //或 #include <iostream.h>
void main()
{
printf("The sun=%d\n", SunFun(10) );
//或 cout<<"The sun="<< )<<endl;
}
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 <stdio.h> //或 #include <iostream.h>
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=%lf\n",m); //或 cout<<"m="<<m<<endl;
}
22、以下程序可计算10名学生1门课成绩的平均分。
float average(float array[])
{int i;
float aver,sum=array[0];
for(i=1; i<10 ;i++)
strcmp比较数组 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"<<aver;
}
23、下面程序的功能是检查一个二维数组是否对称(即a[i][j]是否等于a[j][i])。
#include <stdio.h> //或 #include <iostream.h>
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<N;i++)
{ k=0;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论