当前位置:文档之家› 2014C语言答案大全

2014C语言答案大全

2014C语言答案大全
2014C语言答案大全

(1)公式

1 程序填空

给定程序中,函数fun的功能是计算下式s=3/22-

5/42+7/62-…

+(-1)n-1(2×n-1)/(2

×n)2直到︱(2×

n-1)/(2×n2)︱≤10-3并把计算结果

作为函数值返回,例如:若形参e的值为-le-3,函数的返回值

为0.551690。

第1处x=3.0/4;

第2处while(x>e)

第3处

x=(2*i+1)/(t*t);

2.程序修改

/**found**/

double fun(int n)

/**found**/

s=s+(double)a/b;

3.程序设计

fun(int a[][M])

{int i,j,max=a[0][0]; for(i=0;i<2;i++)

for(j=0;j

if(max

max=a[i][j];

return max;}

1.程序填空

给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。例如:当形参n的值为10 的时,函数返回:9.6125588。

第一处s=0;

第二处

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

第三处

s=s+(2.0*i-1)*(2.0*i+1)/(t*t);

2.程序修改

/**found**/

for(i=0;str[i];i++)

/**found**/

if(substr*k+1+==’\0’)

3.程序设计

double fun(double

eps)

{ double s=1,t=1./3;

int n=1;

while(t>=eps)

{s+=t;n++;t=t*n/(2.0*

n+1)

;}

return(s*2.0);

}

1程序填空

给定程序中,函数

fun的功能是:计算

下式前5项的和作为

函数值返回。S=1×

3/22-3×5/42+5×

7/62-……+(-1)n-1(2

×n-1)×(2×n+1)/(2

×n)2例如,当形参

n的值为10时,函数

返回:-0.204491。

第1处k=1;

第2处t=2*j;

第3处k=k*(-1);

2.程序修改

/**found**/

K++;

/**found**/

if (m==k)

3 程序设计

void fun (int a[], int n,

int *max, int *d)

{int i;

*max=a[0];*d=0;

for (i=1; i

if (*max

{ *max=a[ i ];

*d=i;

}

}

1.程序填空

计算下式

s=1/(2*2)+3/(4*4)+5

/(6*6)+....(2n-1)/(2n

*2n)

..并把计算结果作为

函数值返回。

填空:(1)0(2)i++

(3)2.0*i

改错:(1)void fun

(char *s,char *t)(2)

t[2*d]='\0';

编程:int i,j=o;

for(i=1;i

2)

if

(i%2==0&&s[i]%2)t[j+

+]=s[i];

t[j]='\0';

1.程序填空

函数fun的功能是计

算f(x)=1+x-2/2!

+3/3!-4/4!+……的

前n项和。若

x=2.5,n=15时,函数

值为1.917914。

第一处f=1;

第二处t*=(-1)*x/i;

第三处f+=t;

2.程序修改

/**found**/

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

/**found**/

if(k>=0&&k<=6)

3.程序设计

double fun(int n)

{

double s=1’

long t=1;

int i;

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

t=t*i;

s+=1.0/t;}

return s;

}

1.程序填空

函数fun的功能是:

计算f(x)=1+x-x2∕

2!+x3∕3!-X4/4! 直

到∣xn/n!∣<10-6

若x=2.5,函数值为:

1.917915。

第1处t=x

第2处t*=(-1.0)*x/n;

第3处

while(fabs(t)>=1e-6)

2.程序修改

/**found**/

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

/**found**/

t=t%1000;

3程序设计

double fun(double x)

{int n=1;

double sn=1;

double xn=1,xn1=0;

while(fabs(xn-xn1)>=

0.000001)

{xn=xn*x*(0.5-n+1)/n

;

n+=1;

sn+=xn;}

return(sn);}

1.程序填空

给定程序中,函数

fun的功能是:计算

f(x)=1+x+x2/+…

+xn/n!的前n项。若

x=2.5,函数值为:

12.182340。

第1 处t=1 ;

第2 处for

(i=1 ;i

第3处t*=x/ i ;

2.程序修改

/**found**/

k= i ;

/**found**/

c=k%10;

3.程序设计

double fun (double x

[10])

{Int i;

double avg =0. 0,

sum =0. 0, abs =0. 0,

fc;

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

sum +=x[ i ];

avg =sum/10;

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

abs +=(x[i]- avg)*(x [i ]

-avg );

fc =sqrt (abs/10);

return fc ; }

1.程序填空

给定程序中,函数

fun的功能是:

f(x)=1+x+x2/+…

+xn/n!直到

|x/n!|<10-6,若

x=2.5,函数值为:

12.182494。

第1处f=1. 0+x ;

第2处t*=x/n

第3处f+=t ;

2.程序修改

/**found**/

d=1 ; s=0 ;

/**found**/

d=d/10 ;

3.程序设计

double fun (double

x[9])

{int i ;

double avg=0. 0,

sum=0. 0 ;

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

{avg =( x [i] + x

[i+1])/2;

sum += sqrt ( avg);} rturn sum ;}

(2)素数

1.程序填空

给定程序中,函数fun的功能是:统计所有<=n(n>2)的素数的个数,素数的个数作为函数值返回。第1处for ( j=2;

j

第2处if (i%j==0)

第3处if (j>=i)

2.程序修改

/**found**/

sum =0; j=0;

/**found**/

if (sum %4==2)

3 程序设计

double fun (int n) {int i ;

double sum=0.0;

if (n>1&&n<=100) { for ( i=1 ; i<=n; i++) sum +=1. 0/(2*i - 1)- 1. 0/(2* i);}

return sum;}

1.程序填空

用筛选法可得到2—n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值

置成0);接着从数表中找下一个非0数,并从数表中删去该

数的所有倍数,依此类推,直到所找的下一个数等于n为止。这样会得到一个序列:2、3、5、7、11、13、17、19、23……函数fun用筛选法找

出所有小于等于n的

素数,并统计素数的

个数作为函数值返

回。

第一处

for(j=a[i]*2;j<=n;j+=a

[i])

第二处while(a[i]=

=0)

第三处if(a[i]!=0)

2.程序修改

/**found**/

y=1;

/**foune**/

d=a-i;

3.程序设计

double fun(int n)

{int i;double

sum=0.0;

for(i=1;i

if(i%5==0||i%9==0)s

um+=1.0/i;

return sum;}

N×N矩阵

1 程序填空

N×N矩阵,根据给

定的m(m<=N)

填空:(1) i++ (2)

m (3) m

改错:(1)

while((high>=2)&&(n

<10)) (2) 缺分号

编程:float

x1=0.0,x0;

do

{x0=x1;

x1=cos(x0);

}while(fabs(x0-x1)>0.

000001);

return x1;

1. 程序填空

给定程序中,函数

fun的功能是:有

N*N矩阵,将矩阵的

外围元素顺时针旋

转。操作的顺序是:

首先将第一行元素

的值存入临时数组r,

然后使第一列成为

第一行,最后一行成

为第一列,最后一列

成为第一行,临时数

组中和元素成为最

后一列。

第一处

t[0][N-j-1]=t[j][0];

第二处

for(j=N-1;j>=0;j--)

第三处t[j][N-1]=r[j];

2. 程序修改

/**found**/

double f(double x)

/**found**/

return s;

3. 程序设计

double fun(int m)

{double s=0.0;

int i;

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

s+=log(1.0*i);

s=sqrt(s);

return s;}

1程序填空

给定程序中,函数

fun的功能是:将N

×N矩阵主对角线元

素中的值与反向对

角线对应位置上元

素中的值进行交换。

例如:若N=3有下列

矩阵:

1 2 3

4 5 6

7 8 9

交换后:

3 2 1

4 5 6

9 8 7

第1处void fun (int t

[] [N], int n)

第2处for (i=0; i

i++)

第3处t [i] [n-i-1]=s;

2 程序修改

/**found**/

fun (int a [], int m)

/**found**/

else if (m>a [mid])

3 程序设计

void fun (char

*a,char *p)

{ char *q=a;int

j=0;

while (*q&&q

if (*q!='

*')a[j++]=*q;

q++; }

while (*p) a [j++]

= *p++;a [j]=0; }

1 程序填空

给定程序中,函数

fun的功能是:有N

×N矩阵,以主对角

线为对称线,对称元

素相加并将结果存

放在左下三角元素

中,右上三角元素来。

第1处

void fun (int) (*t)[N]

第2处

t[i][j]=t[i][j]+t[j][i];

第3处

t[j][i]=0;

2程序修改

/**found**/

#define FU(m,n)

((m)/(n))

/**found**/

return (value); }

3程序设计

void fun (char *a)

{ int j=0;

char *p=a;

while (*p=='*')p++;

while (*p)

{a[j++]=*p;

p++; }

a[j]=0; }

1. 程序填空

给定程序中,函数

fun的功能是:计算

N*N矩阵的主对角

线元素和方向对角

线元素之和,并作为

函数值返回。注意:

要求先累加主对角

线元素中的值,然后

累加反响对角线元

素的值。

第一处sum=0;

第二处sum+=t[i][i];

第三处

sum+=t[i][n-i-1];

2. 程序修改

/**found**/

double r;

/**found**/

while(fabs(n-m)>0.00

1)

3. 程序设计

void fun(char *a,char

*h,char *p)

{ int j=0;

char *q=a;

while(*q&&q

a[j++]=*q++;while(*h

&&*p&&h

{ if(*h!=’*’)a*j+++=*

h;

h++; }

while(*p)a[j++]=*p++

;

a[j]=0; }

1 程序填空

给定程序中,函数

fun的功能是:将N 乘以N矩阵中元素的值按列右移一个

位置,右边被移出矩阵的元素绕回左边。第1处

for(i=0;i

第2处x=t[i][N-1];

第3处t[i][0]=x;

2 程序修改

/**found**/

s=s+(n+1.0)/n;

/**found**/

return t;

3程序编写

int fun(int t)

{ int f0=0,f1=1,f; do

{f=f0+f1;

f0=f1;f1=f; }

while(f

f; }

1.程序填空

给定程序中,函数fun的功能是:找出N*N矩阵中每列元

素中的最大值,并按顺序一次存放于形

参b所指的一维数组中。

第一处b[i]=a[0][i]; 第二处if

(b[i]

b[i]=a[j][i];

第三处fun(x,y);

2. 程序修改

/**found**/

int fun(int *x,int *y) /**found**/

t=*x;*x=*y;*y=t;

3. 程序设计

#include

#define MAX100

int fun(int lim,int aa[MAX])

{int i,j,k=0;

for(i=2;i<=lim;i++)

{ for(j=2;j<=(i/2);j++

)

if(i%j==0)break;

if(j>(i/2))aa[k++]=i; }

return k; }

1. 程序填空

给定程序中,函数

fun的功能是建立一

个N×N的矩阵。矩

阵元素的构成规律

是:最外层元素的值

全部是1;从外向内

第二层元素的值全

部为2;第三层元素

的值全部是3,…依

此类推。

第一处

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

第二处

for(j=i;j

第二处

a[k][i]=a[k][N-i-1]=i+1

;

2. 程序修改

/**found**/

aa[i]=m%k;

/**found**/

printf(“%d”,aa*i-1]);

3. 程序设计

fun(char (*a)[81],int

num,char **max)

{ int i,k=0,maxlen;

maxlen=strlen(a[k]);

for(i=1;i

{ if(strlen(a[i])>max

len)

{maxlen=strlen(a[i]);

k=i; } }*max=a[k];

}

1 程序填空

给定程序中,函数

fun的功能是:判定

形参a所指的N乘以

N(规定N为奇数)

的矩阵是否是“幻

方”,若是,函数返

回值是1;不是,函

数返回值为0.“幻方”

的判定条件是:矩阵

每行、每列、主对角

线及反对角线上元

素之和都相等。

第1处row=colum=0;

第2处

if((row!=colum)││

(row!=m1))return 0;

第3处return 1;

2 程序修改

/**found**/

t-=1.0/i;

/**found**/

return t;

3 程序设计

int fun(char *str)

{ char *p=str;

int i=0;

while(*p)

{ if(*p!=’ ’)

str[i++]=*p; p++; }

str[i]=0; }

(4)数组重

1. 程序填空

函数fun的功能是:

反形参a所指数组中

的奇数按原顺序依

次存放到a[0]、a[1]、

a[2]……中,把偶数

从数组中删除,奇数

个数通过函数值返

回。例如:若a所指

数组中的数据最初

排列为:9、1、4、2、

3、6、5、8、7,删

除偶数后a所指数组

中的数据为:9、1、

3、5、7,返回值为5。

第一处if(a[i]%2==1)

第二处j++;

第三处return j;

2. 程序修改

/**found**/

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

/**found**/

return (b);

3. 程序设计

void fun(char *a)

{ int j=0;

char *p=a;

while(*p){

if(*p!=’*’)

a[j++]=*p;

p++; }

a[j]=0; }

1 程序填空

函数fun的功能是:

把形参a所指数组中

的的最小值放在元

素a[0],接着把形参a

所指数组中的最大

值放a[1]元素中;再

把a所指数组中的次

小值放在a[2]中,把

a所指数组元素中的

次大值放在a[3];其

余以此类推。

第1处max=min=a[i];

第2处if(max

第3处if(min>a[j])

2 程序修改

/**found**/

switch(g)

/**found**/

case 1:return 1;

case 2:return 1;

3 程序设计

void fun(STREC *a)

{ int i;

for(i=0;i

a->ave=a->ave+a->s[i

];

a->ave/=N }

1. 程序填空

函数fun的功能是:

进行数字字符转换。

若形参ch中是数字

字符‘0’—‘9’,

则‘0’转换成‘9’,

‘1’转换成‘8’,‘2’

转换成‘7’, (9)

转换成‘0’;若是其

他字符则保持不变,

并将转换后的结果

做函数值返回。

第一处char

fun(char ch)

第二处if(ch>=’0’

&&ch<=’9’)

第三处return ‘9’

-(ch-‘0’);

2. 程序修改

/**found**/

b[k]=*p;

/**found**/

b*k+++=’ ‘;

3. 程序设计

double fun(STREC *h)

{ STREC

*p=h->next;

double av=0.0;

int n=o;

while(p!=NULL)

{ av=av+p->s;

p=p->next;

n++; }

av/=n;

return av; }

1. 程序填空

函数fun的功能是:

将形参a所指数组中

的前半部分元素中

的值和后半部分元

素中的值对换。形参

n中存放数组中数据的个数,若n为奇书,则中间元素不动。

第一处

p=(n%2==0)?n/2:n/2

+1;

第二处a[i]=a[p+i];

第三处a[p+i]=t;

2. 程序修改

/**found**/

float k;

/**found**/

if(*a<*c)

3.程序设计

int fun(STREC

*a,STREC *b)

{ inti,

max=a[0].s,n=0;

for(i=1;i

if(max

if(max==a[i].s)

b[n++]=a[i];

return n; }

1. 程序填空

给定程序中,函数的功能是:把形参s所指字符串下标为奇

数的字符右移到下

一个奇书位置,最右边呗移出字符串的

字符绕回放到第一

个奇数位置,下标为偶数的字符不动(注:字符串的长度大于

等于2)。例如,形参

s所指的字符串为:abcdefgh,执行结果为:ahcbedg。

第一处if(n%2==0)

k=n-1;

第二处c=s[k];

第三处s[1]=c; 2.程序修改

/**found**/

long s=0,t=0;

/**found**/

t=t/10;

3.程序设计

void fun(char*tt, int

pp[ ])

{ char *p=tt;

int i;

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

pp[i]=0;

while(*p)

,if(*p>=’a’&&*p<=’z’)

pp[*p-‘a’++=1;

p++; } }

1.程序填空

函数fun的功能是:

逆置数组元素是的

值。例如:若a所指

数组中的数据依次

为:1、2、3、4、5、

6、7、8、9,则逆置

后依次为:9、8、7、

6、5、4、3、2、1。

形参n给出数组中数

组中数据的个数。

第一处

for(i=0;i

第二处a[i]=a[n-1-i];

第三处a[n-i-1]=t;

2程序修改

/**found**/

n=*p-‘0’;

/**found**/

n=n*8+*p-‘0’;

3. 程序设计

STREC

fun(STREC*a,char *b)

{ STREC c;

Int i;

c.num*0+=’\0’;

c.s=-1;

for(i=0;i

if(strcmp(a[i].num,b)

==0)

{strcpy(c.num,a[i].nu

m);t.s=a[i].s;break; }

return c; }

1 程序填空

给定程序中,函数

fun的功能是:把形

参a所指数组中的最

大值放在a[0]中,接

着求出a所指数组中

的最小值放在a[1]中;

再把a所指数组元素

中的次大值放在a[2]

中,吧a组元素中的

次小值放在a[3]中,

依此类推。

第1处void fun (int

*a, int n)

第2处for (i=0; i

i+=2)

第3处for (j=i+1;

j

2 程序修改

/**found**/

sum=0.0;

/**found**/

if ((i+1)%5==0)

3 程序编写

double fun (STREC *a,

STREC *b, int *n)

{ int i;double

ave=0. 0;*n=0;

for (i=0; i

ave =ave=a[ i ]. S;

ave /=N;

for( i=0 ; i

if (a [i]. s

{ b[*n]=a[ i ];(*n)++;}

return ave;}

1. 程序填空

函数fun的功能是:

把形参a所指数组中

的偶数按原顺序依

次存放a[0]、a[1]、

a[2]……中,把奇数

从数组中删除,偶数

个数通过函数值返

回。

第一处

if(a[i]%2==0){

第二处a[j]=a[i];j++;

第三处return j;

2. 程序修改

/**found**/

fun(int n)

/**found**/

if(n==1)

3. 程序设计

void fun(char *a,int n)

{ char *p=a;

int j=0;

while(*p)p++;p--;

while(*p==’*’)p--;

p++;

while(j

{ p++;j++; }*p=0; }

1. 程序填空

给定程序中,函数

fun的功能是:计算

形参x所指数组中N

个数的平均值,(规

定所有数均为正数),

将所指数组中大于

平均值的数据移至

数据的前部,小于等

于平均数的移至x所

指数组的后部,平均

值作为函数值返回,

在主函数中输出平

均值和移动后的数

据。

第一处av=s/N;

第二处

y[j++]=x[i];x[i]=-1;}

第三处if(x[i]!=-1)

y[j++]=x[i];

2.程序修改

/**found**/

#include

/**found**/

upfst (char *p)

3. 程序设计

double fun(int

w[][N])

{ int i,j,n=0;

double sum=0;

for(i=0;i

{ sum+=w[0][i]+w[

N-1][i];

n+=2;}

for(i=1;i

{ sum+=w[i][0]+w[i]

[N-1]; n+=2; }

return sum/n; }

1. 程序填空

给定程序中,函数

fun的功能是:计算

形参x所指数组中N

个数的平均值,(规

定所有数均为正数),

将所指数组中小于

平均值的数据移至

数据的前部,大于等

于平均数的移至x所

指数组的后部,平均

值作为函数值返回,

在主函数中输出平

均值和移动后的数

据。第一处

for(i=0;i

av+=x[i]/N

第二处y[j]=x[i];

x[i]=-1;j++;}

第三处i++;

2.程序修改

/**found**/

num[k]=0;

/**found**/

switch(*s)

3.程序设计

int fun(int a [M][N]) { int tot=0,i,j;

for(i=0;i

{ tot +=a[0][i];

tot +=a[M-1][i]; } for(i=1;i

tot +=a[i][N-1]; } return tot; }

1. 程序填空

给定程序中,函数fun的功能是:a所指4×3矩阵中第k 行的元素与第0行元素交换。例如:有下列矩阵

1 2 3

4 5 6

7 8 9

10 11 12

若k为2,程序执行结果为

7 8 9

4 5 6

1 2 3

10 11 12

第一处void fun(int (*a)[N],int k)

第二处

for(i=0;i

第三处a[0][i]=a[k][i];

2. 程序修改

/**found**/

for(i=strlen(t)-1;i;i--) /**found**/

if(t[j]>t[j+1])

3.程序设计

void fun(char *ss) { char *p=ss;

inr i=0; while(*p)

{if((i%2)&&(*p>=’a’ &&*p<=’z’))

*p-=32;p++;i++;} Return ss } 1.程序填空

给定程序中,

函数fun的功能是:

将a所指的3×5矩

阵中第k列的元素左

移到第0列,第k列

以后的每列元素行

依次左移,原来左边

的各列依次绕到右

边。

第1处

for(p=1;p<=k;p++)

第2处

for(j=0;j

a[i][j]=a[i][j+1];

第3处

a[i][N-1]=temp;

2.程序修改

/**found**/

fun(int a[][M],int m)

/**found**/

a[j][k]=(k+1)*(j+1);

3.程序设计

void fun(int a,int

b,int*c)

{*c=(a%10)*1000+(b

%10)*100+(a/10)*10

+(b/10); }

1 程序填空

给定程序中,函数

fun的功能是:在3

×4的矩阵中找出在

行上最大,列上最小

的那个元素,若没有

符合条件的元素则

输出相应信息。

第1处

max=a[i][j];c=j;}

第2处find=0;

第3处i++;

2 程序修改

/**found**/

for(i=2;i<=m;i++)

/**found**/

y-=1.0/(i*i);

3 程序设计

int fun(int score[],int

m,int below[])

{ float av=0.0;

int i,j=0;

for(i=0;i

av+=score[i]; av/=m;

for(i=0;i

if(av>score[i])

below[j++]=score[i];

return j; }

1.程序填空

给定程序中,函数

fun的功能是:在任

意给定的9个正整数

中找出按升序排列

是处于中间的数,将

原数据序列中比该

中间数小的数用该

中间数替换,位置不

变,在主函数中输出

处理后的数据序列,

并将中间数作为函

数值返回。

1. b[k]

2. N/2

3. <

2. 程序修改

1.int t[t],i,num=0;

2.t[num++]=b[i];

3for(i=0;i

3 程序设计

{ int i,n; i=n=0;

while(s*i+!=’\0’)

{ if(s*i+>=’0’&&s*i+<=’

9’)n++;i++; }

return n; }

(5)数组平

均值

1 程序填空

给定程序中,函数

fun的功能是:计算

形参x所指数组中N

个数的平均值(规定

所有数均为正数),

作为函数值返回,并

将大于平均值的数

放在形参Y所指数组

中,在主函数中输出。

第1处av=0;

第2处av=av+x[i]/N;

第3处y[j++]=x[i];

2 程序修改

/**found**/

double fun(int m)

/**found**/

for(i=100;i<=m;i+=10

0)

3 程序设计

fun(STU a[],STU *s)

{ int i,min=a[0],s,j=0;

for(i=1;i

if(min>a[i].s)

{ j=i;min=a[i].s; }

*s=a[j]; }

1. 程序填空

给定程序中,函数

fun的功能是:计算

x所指数组中N个数

的平均值(规定所有

数均为正数),平均

值通过形参返回主

函数,将小于平均值

且最接近平均值的

数作为函数值返回,

在主函数中输出。

第一处*av=s/N;

第二处

d=*av-x[i];j=i;}

第三处return x[j];

2.程序修改

/**found**/

float fun(int n)

/**found**/

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

3.程序设计

int fun(int a[][N],int

m ) { int i,j;

for(i=0;i

for(j=i;j

a[i][j]*=m; }

(6)各位

数字

1 程序填空

给定程序中,函数

fun的功能是:将形

参n中,个位上为偶

数的数取出,并按原

来从高位到低位相

反的顺序组成一个

新的数。并作为函数

值返回。

1 .第1处if (t%2==0)

第2处x=10*x+t;

第3处n=n/10;

2 程序修改

/**found**/

*t=0;

/**found**/

if (d%2!=0)

3 程序设计

void fun (char

p[], char p2[])

{ char *p=p1;

while (*p)p++;

while(*p2)*p++=*p2

++; *p=0; }

1 程序填空

给定程序中,函数

fun的功能是:找出

100~999之间(含

100和999)所有整

数中个位上数字之

和为x(x为一正整数)

的整数,然后输出:

符合条件的整数个

数作为函数值返回。

第1处

while(t<=999)

第2处s1=t%10;

s2=(t/10)%10;s3=t/1

00; 第3处if

(s1+s2+s3==x)

2 程序修改

/**found**/

void fun (long s, long *t)

/**found**/

while (s>0)

3程序设计

int fun (STREC a[]) { STREC tmp;int i,j; for (i=0;i

for (j=0; j

if (a [i]. s

a [i]=a [j];a[j] =tmp; }}

1 程序填空

给定程序中,函数fun的功能是:找出100—x(x<=999)之间各位上的数字之

和为15的所有整数,然后输出,符合条件的整数个数作为函

数值返回。

第一处n=0;

第二处while(t<=x) 第三处t++;

2 程序修改

/**found**/

int i,s1;

/**found**/

t[i]=s[s1-i-1];

3程序设计

void fun(int a,int b,int *c)

{*c=(b/10)*1000+(a/ 10)*100+(b%10)*10+ (a%10);}

1 程序填空

给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原位从高位到低位的

顺序组成一个新的

数,并作为函数值返

回。

例如,从主函数输入

一个整数:27638496,

函数返回值为:

26845.

填空:(1)1 (2)s

(3)i*10

改错:(1)int fun(int

n,int xx[][M])

(2)printf("%d",xx[i][j]

);

编程:

*c=(a/10)*1000+(b%

10)*100+(a%10)*10+

(b/10);

(7)字符

串重组

1.程序填空

给定程序中,函数

fun的功能是:将s

所指字符串所有数

字字符移到所有非

数字字符之后,并保

持数字字符串和非

数字字符串原有的

先后次序。

第一处j++;

第二处s[i]=t1[i];

第三处

for(i=0;i

2.程序修改

/**found**/

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

/**found**/

*(pstr+i)=*(pstr+j);

3.程序设计

int fun(char *ss,char

c) {int cnt=0;char

*p=ss;

while(*p)

{if(*p==c)cnt++;p++;}

return cnt; }

1. 程序填空

给定程序中,函数

fun的功能是:在形

参ss所指字符串数

组中,删除所有串长

超过k的字符串,函

数返回所剩字符串

的个数。Ss所指字符

串数组中共有N个

字符串,且串长小于

M。

第一处

for(i=0;i

第二处if(len<=k)

第三处

strcpy(ss[j++],ss[i]);

2.程序修改

/**found**/

int k=0;

/**found**/

while(*p||*q)

3.程序设计

void fun(char *a)

{ int i=0,k;

while(a*i+!==’*’)i++;

k=i;while(a*i+!=’\0’)

{if(a*i+!=’*’)

a[k++]=a[i];i++; }

a*k+=’\0’;}

1. 程序填空

给定程序中,函数

fun的功能是:将形

参s所指定字符串中

所有的字母字符顺

序前移,其他字母顺

序后移,处理后字符

串的首地址作为函

数值返回。

第一处t[j]=s[i];j++;

第二处

for(i=0;i

t[j+i]=p[i];

第三处t[j+k]=0;

2.程序修改

/**found**/

while(*w)

/**found**/

if(*r==*p)

3.程序设计

void fun(char *s,char

t[]) { int i,j=0;

for(i=0;i

if(s[i]%2==0)t[j++]=s[i

];t[j]=0;}

1.程序填空

给定程序中,函数

fun的功能是:对形

参s所指字符串中下

标为奇数的字符

ASCII码大小递增排

序,并将排序后的下

标为奇数的字符取

出,存入形参p所指

字符串数组中形成

一个新串。

第1处t=i;

第2处

for(j=i+2;j

第3处p[j]=0;

2. 程序修改

/**found**/

while((fabs(t))>=num

)

/**found**/

t=s/n

3.程序设计

viod fun (char

a[ ],char b[],int n)

{strncpy (b,a,n);

b[n]=0;strcat(b,a+n+1

); }

1.程序填空

给定程序中,函数

fun的功能是:在形

参ss所指字符串数

组中,将所有串长超

过k的字符串右边的

字符删去,只保留左

边的k个字符。ss所

指字符串数组中共

有N个字符串,且串

小于M。

第一处void fun

(char (*ss)[M], int k)

第二处while (i

第三处

ss[i][k]=0;i++;}

2. 程序修改

/**found**/

t=1;

/**found**/

return(2*s);

3. 程序设计

void fun(char*a,int n)

{int i=0,k=0;

while(a*k+= =’*’)k++;

if(k>n) { i=n;j=k;

for(;a[j]!=0;j++)

a[i++]=a[j];a[i]=0;}}

1 程序填空

给定程序中,函数

fun的功能是:对形

参ss所指字符串数

组中的M个字符串

按长度由短到长进

行排序。Ss所指字符

串数组中共有M个

字符,且串长﹤N。

第1处for (j=i+1;

j

第2处k=j;

第3处strcpy

(ss[k], t);

2 程序修改

/**found**/

if (*str! =ch)

/**found**/

str [1]=0;

3 程序设计内容逆

fun (char *s)

{ char b[N];

int i=0, j;

meset (b,0,N);

for (j=strlen(s)-1; j>=0; j--)

b [i++]=s[j];

strcpy (s,b);

}

1 程序填空

给定程序中,函数fun的功能是:将形参s所知字符串中的所有数字字符顺序

前移,其他字符顺序后移,处理后新字符串的首地址作为函

数值返回。

第1处p[j]=s[i];j++;} 第2处

for(i=0;i

第3处return p;

2 程序修改

/**found**/

while(i

/**found**/

if(*a)

3 程序设计

void fun(char *s,char t[]) { int i,j=0;

for(i=0;i

=0&&(s[i]%2)))

t[j++]=s[i];t[j]=0;}

1程序填空

给定程序中,函数fun的功能是:判断形参s所指字符串是否是“回去”(Palindrome)若是,函数返回值为1;不是,函数返回值为0,“回文”是正读和反

读都是一样的字母

串(不区分大小写字

母)。

第1处1p=s;

第2处1p++;rp--;}

第3处

if(1p

2 程序修改

/**found**/

double fun(int n)

/**found**/

c=a;a+=b;b=c;

3程序设计

void fun(int m,int

k,int xx[])

{ int i,j=1,t=m+1;

while(j<=k)

{ for(i=2;i

if(t%i= =0)break;

if(i= =t) {xx[j-1]=i;j++;}

t++; } }

1 程序填空

给定程序中,函数

fun的功能是:将形

参s所指字符串所有

ASCII码小于97的字

符存入形

第1处

*(t+n)=*s;n++;}

第2处s++;

第3处return n;

2 程序修改

/**found**/

int j,c=0;float xa=0.0;

/**found**/

if(x[j]>=xa)

3 程序设计

p=m!/(n!*(m-n)!)

float fun(int m, int n)

{ float p;

p=1.0*jc(m)/jc(n)/jc(

m-n);return p; }

(8)字符串

出现次数

1. 程序填空

给定程序中,

函数fun的功能是:

统计形参s所指字符

串中数字字符出现

的次数,并存放在形

参t所指的变量中,

最后在主函数中输

出。例如,形参s所

指的字符串为:

abcdef35adgh3kjsdf7。

输出结果为:4。

第1处

for(i=0;s[i]!=NULL;i++

)

第2处if(s[i]>=’0’

&&s[i]<=’9’)n++;

第3处*t=n;

2. 程序修改

/**found**/

t=*x;*x=y;

/**found**/

return t;

3. 程序设计

#include

viod fun (int *a,int

*n)

{int i;*n=0;

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

if(((i%7)= =0││

(i%11)= =0

&&(i%77)!=0)

a[(*n)++]=i;}

1 程序填空

给定程序中,函数

fun的功能是:统计

长整数n的各个位数

上出现数1、2、3的

次数,并通过外部

(全局)变量c1、c2、

c3返回主函数。

第1处switch

(n%10)

第2处case 1: c1++;

break;

第3处case 2: c2++;

break;

2 程序修改

/**found**/

if (t==0)

/**found**/

*zero =count;

3 程序设计

double fun (int n)

{

double s=0, t=1;

int i ;

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

{ t*=1;

s+=1. 0/t;

}

return s;

}

1 程序填空

给定程序中,函数

fun的功能是:计算

出形参s所指字符串

中包含的单词个数,

作为函数值返回。为

便于统计,规定各单

词之间用空格隔开。

第1处n++;flag=1;}

第2处if(*s=

=’’)flag=0;

第3处s++;

2 程序修改

/**found**/

t+=s[k];

/**found**/

*aver=ave;

3程序设计

int fun(int *s,int t,int

*k)

{int i,pos=0,max=*s;

for(i=1;i

{if(max<*(s+i)){

max=*(s+i);

pos=i;}}

*k=pos;}

1 程序填空

给定程序中函数fun

的功能是:找出形参

s所指字符串中出现

频率最高的字母(不

区分大小写),并统

计其出现的次数。

第一处

ch=tolower(*s);

第二处k[n]+=1;

第三处if(max

max=k[n];

2 程序修改

/**found**/

float fun(int k)

/**found**/

return s;

3程序设计

double fun(int n)

{double s=0.0;

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

s=s+1.0/(i*(i+1));

rerurn s;}

1. 程序填空

给定程序中,函数

fun的作用是:统计

整型变量m中各数

字出现的次数,并存

放到数组a中,其中:

a[0]存放0出现的次

数,a[1]存放1出现

的次数,……a[9]

存放9出现的次数。

1.a[i]

2.m%10

3.m/10

2. 程序修改

1. b[i] = a[i[0];

2. for (j=1;

j<=N-1;j++)

3. if ( b[i] >a[i][j] )

3 程序设计

{int i,j;

double s=0.0, t;

for(i=0;i

for(j=i+1;j

if(a[i>a[j]])

{t=a[i];

a[i]=a[j];

a[j]=t;}

for(i=1;i

s+=a[i];returns/(n-2); }

(9)字符串加

1程序填空

给定程序中,函数fun的功能是:在形参s所知字符串中的每个数字字符之后

插入一个*号。

第1处if (s[ i ]>=' 0' &&s [ i ]<=' 9')

第2处while

(s[i+1+n]! =0)n++;

第3处s[j+1]=s [j];

2 程序修改

/**found**/

for (i =2 ; i<= m; i++) /**found**/

y+=1. 0/ ( i* i) ;

3 程序设计

void fun ( int a [3] [3], int b [3] [3])

{Int c [3] [3];

int i,j;for (i=0;i<3;i++) for (j=0; j<3; j++)

{ c [i][j]=a [j] [i] ;b [i] [j]=a[i] [j] +c [i] [j] ;}} 1 程序填空

给定程序中函数fun 的功能是:求出形参aa所指字符串数组中最长的字符串长度,其余字符串左边用字符*补齐,使其与最长字符串等长。

字符串数组中共有

M个字符串,且串长

第一处k=i;

第二处

for(j=len;j>=0;j--)

第三处ss[i][j]=’*’;

2 程序修改

/**found**/

result *=n--;

/**found**/

return result;

3程序设计

int fun(char s[],char c)

{char *p=s;int i=0;

while(*p)

{if(*p!=c)s[i++]=*p;

p++;}s[i]=0;}

1 程序填空

给定程序中,函数

fun的功能是:求出

形参ss所指字符串

数组中最长字符串

的长度,将其余字符

串右边用字符*补齐,

使其与最长的字符

串等长。Ss所指字符

串数组中有M个字

符串,且串长

在程序的下划线处

填入正确的内容并

把下划线删除,使程

序得出正确的结果。

第一处

n=strlen(ss[i]);

第二处ss[i][n+j]=’

*’;

第三处ss[i][n+j+1]=’

\0’;

2 程序修改

/**found**/

if(*p= =’’)

/**found**/

*(p-1)=toupper(*(p-1

));

3 程序设计

int fun(char *s,int

num)

{char ch;

int i,j;for(i=1;i<6;i++)

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

{if(*(s+i)<(s+j))

{ch=*(s+j);

*(s+j)=*(s+i);

*(s+i)=ch;}}}

(10)数字

字符串

1 程序填空

给定程序中,函数

fun的功能是:将a

和b所指的两字符串

转达换成面值相同

的整数,并进行相加

作为函数值返回,规

定字符串只含9个以

下数字字符。

第一处d=d*10+*s-

‘0’;

第二处s++;

第三处return

ctod(a)+ctod(b);

2 程序修改

1.void

fun(char*s,int*a,int*

b)

2.++(*a);

3 ++(*b);

/**found**/

*a=*a+1;

/**found**/

*b=*b+1;

3程序设计

float fun(float h)

{long w;

w=h*100+0.5;

return (float)w/100;}

1. 程序填空

给定程序

中,函数fun的功能

是:将形参s所指定

字符串中的数字字

符转换成对应的数

值,计算出这些数值

的累加和作为函数

值返回。

第1处

if(isdigit(*s))sum+=*s

-48;

第2处s++;

第3处return sum;

2. 程序修改

/**found**/

if((k%13= =0││

(k%17= =0))

/**found**/}

3. 程序设计

double fun(int n)

{double sum=0.0;

int i;

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

if((i%3= =0)&&(i%7=

=0))sum

+=i;

return sqrt(sum);}

(11)查找子串

1. 程序填空

给定程序中,函数

fun的功能是:在形

参ss所指字符串数

组中查找与形参t所

指字符串相同的串,

找到后返回该串在

字符串中的位置(下

标值),未找到则返

回-1。ss所指字符串

数组中共有N个内

容不同的字符串,且

串长小于M。

第一处

for(i=0;i

第二处

if(strcmp ss[i],t)==0

return i;

第三处if(n==-1)

printf(“\nDon’t

found!\n”);

2. 程序修改

/**found**/

a2=k/10;

/**found**/

return i;

3. 程序设计

void fun(char *a)

{char *p=a;

while(*p)p++;p--;

while(*p==’*’)p--;

p++;*p=0;}

1. 程序填空

给定程序中,函数

fun的功能是:在形

参ss所指字符串数

组中,查找含有形参

substr所指子串的所

有字符串并输出,若

没找到输出相应信

息。Ss所指字符串数

组中共有N个字符,

且串长小于M。程序

中库函数strstr(s1、

s2)的功能是早s1

串中查找s2子串,

若没有,函数值为0,

若有,为非0。

第一处

for(i=0;i

第二处

if(strstr(ss[i],substr)!=

NULL)

第三处if(find==0)

2. 程序修改公倍数

/**found**/

fun(int x,int y,int z)

/**found**/

return j;

3. 程序设计

void fun(char *a,int n,int h,int e)

{char *p=a;

int j=0,len=0;

while(*p){p++;len++;} while(j

a[j]=a[h+j];j++;}

a[j]=0;}

1 程序填空

在给定程序中,函数fun的功能是在形参

s所指字符串中寻找

与参数c相同的字符,并在其后插入一个

与之相同的字符,若找不到相同的字符

则函数不做任何处理。

第1处for (i=0;

s[ i ]!='\0' ;i++)

第2处n=0;

第3处s[j+1] =c ;

2 程序修改

/**found**/

double sum =0. 0;

/**found**/

sum/=c;

3 程序设计

float fun (int n)

{int i, j, t;

float s=0;

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

{t=0;

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

t+=j;s=s+1. 0/t;} return s;}

(12)字符串其它

1 程序填空

给定程序中,函数fun的功能是;求ss

所指字符串数组中

长度最短的字符串

所在的行下标,作为函数值返回,并把其

串长放在形参n所指

变量中。Ss所指字符

串数组中共M个字

符串,且串长﹤N。

第1处

for(i=0;i

第2处if (len<*n)

第3处return(k);

2 程序修改

/**found**/

if (( ' a '

<=tt[i])&&(tt[i]<= ' z

' ))

/**found**/

tt[ i ]- =32;

3程序设计

void fun (int m, int *k,

int xx[])

{int i , cnt=0;

for (i=0; i

if (isP(i)) xx

[cnt++]=i;

*k=cnt;}

1 程序填空

给定程序中,函数

fun的功能是:求ss

所知字符串数组中

长度最长的字符串

所在的行下标,作为

函数值返回,并把其

串长放在形参n所指

变量中。Ss所指字符

串数组中共m个字

符串,且串长>N。

第1处int fun( char

(*ss)[N], int *n)

第2处if ( i==0)

*n=len;

第3处*n=len;

2 程序修改

/**found**/

t+=1. 0/ i ;

/**found**/

return t;

3程序设计

int fun (char *str,

char *substr)

{int cnt =0 ;

char *p =str, *q ;

while (*p)

{q=strstr (p,substr) ;

if (q==NULL) break ;

p=q +strlen

(substr) ;cnt++;}

1. 程序填空

函数fun的功能是进

行字母转换。若形参

ch中小写英文字母,

则转换成相应的大

写英文字母;若形参

ch中是大写英文字

母,则转换成相应的

小写英文字母;并将

转换的结果作为函

数值返回。

第一处if((ch>=’

a’)&&(ch<=’z’))

第二处return

ch+’a’-‘A’

第三处return ch;

2. 程序修改

/**found**/

void fun(int *a)

/**found**/

a[j]=a[j-1];

3. 程序设计

int fun(int n)

{int s=0,i;

for(i=2;i

if(n%i==0)s+=i;

return s;}

(13)函数

1 程序填空

给定程序中,函数

fun的功能是用函数

指针指向要调用的

函数,并进行调用。

在规定的2 处使f

指向函数f1,在3

处使f指向函数f2.

当调用正确时,程序

输出:x1=5.000000,

x2=3.000000,

x1*x1+x1*x2=40.000

000请在程序下划线

处填入正确的内容

并把下划线删除,使

程序得出正确结果。

第1处double ( *f )

() ;第2处f = f 1;

第3处f = f 2;

2 程序修改

/**found**/

p= h - >next;

/**found**/

p= p - >next;

3.程序设计

int fun ( char * str)

{int i , j= strlen (str) ;

for ( i=0 ; i < j /2 ; i++)

if (str [ i ] ! = str [j- i -

1])return 0 ;

return 1 ;}

1.程序填空

给定程序中,函数

fun的功能是根据形

参i的值返回某个函

数年值。当调用正确

时,程序输出:

x1=5.000000,

x2=3.000000,

x1*x1+x1*x2=40.000

000第1处double

fun ( int i , double x ,

double y)

第2处renturn f1

(x) ;第3处return f2

(x, y) ;

2.程序修改

/**found**/

char *fun (char

*s ,char *t)

/**found**/

ss++;

/**found**/

tt++;

3.程序设计

void fun (char *w, int

m)

{int i ;

for ( i=0 ; i

fun 1 (w);}

(14)结构

1.程序填空

程序通过定义学生

结构体变量,存储了

学生的学号、姓名和

三门课的成绩。函数

fun的功能是将形参

a中所指结构体变量

中的数据给函数中

的结构体变量吧,并

修改b中的学号和姓

名,最好输出修改后

的数据。

第一处a

第二处https://www.doczj.com/doc/9e9199574.html,

第三处score[i]

2程序修改

1.s[j++]=s[i];

2.s[j]=0;

3. 程序设计

{while(*p)

{*q=*p;

p++;q++;}}

1.程序填空

程序通过定义学生

结构体变量,存储了

学生的学号、姓名和

三门课的成绩。函数

fun的功能是将形参

a所指结构体变量s

中的数据进行修改,

并把a中地址作为函

数值返回主函数,在主函数中输出修改

后的数据。

第一处struct student *

fun(struct student*a) 第二处

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

a->score[i]+=1;

第三处return a;

2. 程序修改

/**found**/

char *fun(char

(*sq)[M])

/**found**/

return sp;

3. 程序设计

#include void fun(int a,int

b,long *c)

{ *c=(b%10)*1000+(a /10)*100+(b/10)*10+ a%10;}

1 程序填空

程序通过定义学生

结构体变量,存储了学生的学号、姓名和三门课的成绩。函数fun的功能是:对形参b所指结构体变量中的数据进行修改,最后在主函数中输

出修改后的数据。

第一处

b->sno=10004;

第二处

strcpy(b->name,”LiJie”);

第三处fun(&t);

2 程序修改

/**found**/

double fun(double a,double x0)

/**found**/ if(fabs(x1-x0)>0.0000

1)

3 程序设计

double fun(STREC

*a,STREC *b,int *n)

{double t=0;

int i;*n=0;

for(i=0;i

t=t+a[i].s;t=t/N;

for(i=0;i

if(a[i].s>t)b[(*n)++]=a

[i];return t;}

1.程序填空

程序通过定义学生

结构体变量,存储了

学生的学号、姓名和

三门课的成绩。函数

fun的功能是将形参

a中的数据进行修改,

把修改后的数据作

为函数值返回主函

数进行输出。

第一处struct

student

fun(struct student a)

第二处

strcpy(https://www.doczj.com/doc/9e9199574.html,,”

LiSi”);

第三处

a.score[i]+=1;

2程序修改

/**found**/

if(p==n) return-1;

/**found**/

a[i]=a[i+1];

3 程序设计

void fun(int a,int

b,long*c)

{*c=(b/10)*1000+(a%

10)*100+(b%10)*10+

(a/10);}

1 程序填空

给定程序中函数fun

的功能是:调用fun

函数建立班级通讯

录。通讯录中记录每

位同学的编号、姓名

和电话号码。班级的

人数和学生信息从

键盘读入,每个人的

信息作为一个数据

块写到名为

mylife5.dat的二进

制文件中。

第一处int

fun(STYPE *std)

第二处FILE *fp;int i;

第三处

fwrite(&std{i},sizeof(

STYPE),1,fp);

2 程序修改

/**found**/

for(i=0;i

/**found**/

t[2*s1]=0;

3程序设计

void fun(int a,int

b,long *c)

{*c=(a/10)*1000+(b/

10)*100+(a%10)*10+

(b%10);}

1.程序填空

程序通过定义学生

结构体数组,存储了

若干个学生的学号、

姓名和三门课的成

绩。函数fun的功能

是将存放学生数据

的结构体数组,按照

姓名的字典序(从小

到大排序)。请在程

序的下划线处填入

正确的内容并把下

划线删除,使程序得

出正确的结果。

第一处struct

student t;

第二处

for(i=0;i

第三处

if(strcmp(a[i].name,a

[j].name)>0)

2程序修改

/**found**/

q=p+i;

/**found**/

while(q>p)

3程序设计

int fun(STREC

*a,STREC *b,int l,int

h)

{int i,j=0;

for(i=0;i

if((a[i].s>=1&&a[i].s<

=h)

b[j++]=a[i];

return j;}

1. 程序填空

人员的记录由编号

和出生年、月、日组

成,N名人员的数据

已在主函数中存入

结构体数组std中,

且编号唯一。函数

fun的功能是:找出

指定编号人员数据,

作为函数值返回,由

主函数输出,若指定

编号不存在,返回数

据中编号为空串。

第1处STU fun(STU

*std, char *num)

第2处if(strcmp

(std[i].num, num)

= =0)

第3处return

(std[i]);

2. 程序修改

/**found**/

r++; p++;

/**found**/

if(*r= =0)

3. 程序设计

#include

#include

void fun (char*s, char

t[])

{int i, j=0;

for(i=0;i

if(s[i]%2) t[j++]=s[i];

t[j]=0;}

1 程序填空

人员的记录由编号

和出生年、月、日组

成,N名人员的数据

已在主函数中存入

结构体数组std中。

函数fun的功能是:

找出指定出生年份

的人员,将其数据放

在形参k所指出的数

组中,由主函数输出,

同时由函数值返回

满足指定条件的人

数。

第1处if

(std[i].year==year)

第2处k[n++]=std[i];

第3处return (n);

2.程序修改

/**found**/

IsPrime (int n)

/**found**/

if (!(n%i))

3.程序设计

fun(STU a[],STU *s)

{int i, max =

a[0]. s, j=0;

for (i=1; i

{ if (max

{j=i;max =a[i].s; }

*s=a[j];}

1程序填空

给定程序通过定义

并赋值的方式,利用

结构体变量存储了

一名学生的学号姓

名和3门课的成绩。函数fun的功能是将该学生的各科成绩

都乘以一个系统a。第一处void

modify(STU *ss,float a)

第二处

ss->score[i]*=a;

第三处

modify(&std,a);

2 程序修改

/**found**/

if(k>0)

/**found**/

else if(k= =0)

3程序设计

int fun(int a[][N],int n) {int i,j;

for(i=0;i

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

a[i][j]*=n;}

1 程序填空

给定程序中,函数fun的功能是将形参指针所指结构体数

组中的三个元素按num成员进行升序

排列。

第1处void

fun(PERSON*std)

第2处PERSON temp;

第3处fun(std);

2 程序修改

/**found**/

int k,q,i;

/**found**/

pt[i]=str[k][i];

3 程序设计

int fun(int a[][N]) {int i,j;

for(i=0;i

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

a[i][j]=0;}

1程序填空

给定程序中,函数

fun的功能是:将形

参std所指结构体数

组中年龄最大者的

数据作为函数值返

回,并在main函数

中输出。

第一处max=*std;

第二处

if(max.age

max=std[i];

第三处

printf(“\nName:%s,A

ge:%d\n”,https://www.doczj.com/doc/9e9199574.html,,

max.age);

2 程序修改

/**found**/

void fun(int *a,int *b)

/**found**/

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

3程序编写

void fun(int

tt[M][N],int pp[N])

{int i,j,min,k;

for(i=0;i

{min=tt[0][i];k=0;

for(j=1;j

if(min>tt[j][i])

{min=tt[j][i];

k=j;}pp[i]=tt[k][i];}}

1 程序填空

程序通过定义并赋

初值的方式,利用结

构体变量存储了一

名学生的信息,函数

fun的功能是输出这

位学生的信息。

第1处void show

(STU tt)

第2处printf ("%5. if

" , tt . score [ i ]) ;

第3处show (std)

2.程序修改

/**found**/

m= i ;

/**found**/

if ( a [k]>a [m]) m=k;

3.程序设计

unsigned fun

( unsigned w)

{if ( w >=10000)

return w%10000;

if ( w >=1000)

return w%1000;

if ( w >=100)

return w%100;

return w%10;}

1 程序填空

程序通过定义学生

结构体变量,存储了

学生的学号、姓名和

三门课的成绩。所有

学生数据均以二进

制方式输出到文件

中。函数fun的功能

是重写形参filename

所指的文件中最后

一个学生的数据,即

用新的学生数据覆

盖该学生原来的数

据,其他学生的数据

不变。

第1处fp =fopen

( filename , " rb+" )

第2处fseek

(fp ,-1L*sizeof (STU),

SEEK_END);

第3处fwrite ( &n,

sizeof (STU), 1, fp) ;

2.程序修改

/**found**/

p= ( NODE *) malloc

(sizeof(NODE));

/**found**/

return h;

3.程序设计

int fun ( char *s )

{int k=1;

while (*s)

{ if (*s==' ')k++;

s++; }

return k ;}

(15)链表

1. 程序填空

给定程序中已建立

一个带头结点的单

向链表,链表中的各

结点按结点数据域

中的数据递增有序

链接。函数fun的功

能是:把形参x的值

放入一个新结点并

插入到链表中,插入

后各结点数据域的

值仍保持递增有序。

第一处s->data=x;

第二处q=p;

第三处q->next=s;

2. 程序修改

/**found**/

long k=1;

/**found**/

num/=10

3. 程序设计

float fun(float *a,int

n)

{int i;

float ave=0.0;

for(i=0;i

ave=ave+a[i];

ave=ave/n;

return ave;}

1 程序填空

给定程序中已经建

立一个带有头结点

的单项链表,在main

函数中将多次调用

fun函数,每调用一

次fun函数,输出链

表尾部结点中的数

据,并释放该结点,

使链表缩短。

第1处t=t- >next;

第2处printf ("%d" ,

t->data);

第3处free (t);

2 程序修改

/**found**/

fun (char *a )

/**found**/

printf ( "%c" , *a);

3 程序设计

char *fun (char *s,

char *t)

{int i ;

char *p =s ,*q=t;

for (i=0; *p&&*q ;

i++){p++ ; q++;}

if (*p==0&&*q==0)

return s;

if (*p) return s;

else return t;}

1 程序填空

给定程序中,函数

fun的功能是:计算

出带有头节点的单

向链表中各节点数

据域中值之和作为

函数值带回。

第1处s+=p->data;

第2处p=p->next;

第3处

printf(“\nsum=%d\

n”,fun(head));

2 程序修改

/**found**/

while(*r)

/**found**/

*a=*r;a++;r++;

3 程序设计

void fun(char *s,char

t[])

{int i,j=0;

for(i=1;i

t[j]=0;}

1.程序填空

给定程序中已建立

一个带有头结点的

单向链表,链表中的各结点按数据域递

增有序连接。函数fun的功能是:删除链表中数据域值相

同的结点,使之只保留一个。

第一处free(q);

第二处q=p->next;

第三处q=q->next; 2. 程序修改

/**found**/

p=j;

/**found**/

p=i;

3. 程序设计

void fun(int m,int

*a,int *n)

{int i;*n=0;

for(i=7;i<=m;i++)

if((i%7==0)||(i%11==

0))a[(*n)++]=i;}

1 程序填空

给定程序中,函数fun的功能是将不代头结点的单向链表

逆置。即若原链表中从头至尾结点数据

域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域

依次为:10、8、6、4、2.请在程序的下划线处填入正确的内

容并把下划线删除,使程序得出正确的

结果。

第1处NODE * fun (NODE *h)

第2处r=q

- >next ;

第3处q=r;

2 程序修改

/**found**/

if ( i % 2 || s

[ i ]%2==0 )

/**found**/

t [ j ]= ' \0 ' ;

3程序设计

# include

void fun ( int (*s)

[10] , int *b , int *n,

int mm, int nn)

{int i, j, np=0;

for ( i=0; i

for ( j=0; j

{b[np] = s [j] [i];

np=i*mm+j+1;}

*n=np ;}

1 程序填空

给定程序中,函数

fun的功能是将带头

结点的单向链表逆

置。即若原链表中从

头至尾结点数据域

依次为:2、4、6、8、

10,逆置后,从头至

尾结点数据域依次

为:10、8、6、4、

2.。

第1处p=h->next;

第2处if (p= =0)

return;

第3处p=q;q=r;

2 程序修改

/**found**/

r=t;

/**found**/

if(*r= =0)

3 程序设计

void fun (char

a[M][N]),char *b)

{int i;*b=0;

for(i=0;i

(b,a[i]);}

1 程序填空

给定程序中,函数

fun的功能是:将不

带头结点的单向链

表结点数据域中的

数据从小到大排序。

即若原链表节点数

据域从头到位的数

据为10、4、2、8、6,

排序后链表结点数

据域从头至尾的数

据为2、4、6、8、10.

第1处q=p->next;

第2处while(q)

第3处p=p->next;

2 程序修改

/**found**/

while(*s)

/**found**/

s++;

3程序设计

void fun(int*w, int p,

int n)

{int i,j=0,b[N];

for(i=p+1;i

+]=w[i];

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

b[j++]=w[i];

for(i=0;i

w[i]=b[i];}

1.程序填空

给定程序中,函数

fun的功能是:在带

有头结点的单向链

表中,查找数据域中

值为ch的结点。找

到后通过函数值返

回该结点在链表中

所处的顺序号:若不

存在值为ch的结点,

函数值返回0.

第一处while(p!=0)

第二处

if(p->data==ch)return

n;第三处

k=fun(head,ch);

2. 程序修改

/**found**/

for(i=0,t=0;p[i];i++)

/**found**/

c*t+=’\0’;

3. 程序设计

void fun(char *ss)

{int i;

for(i=1;i

=2)

,if(ss*i+>=’a’&&ss*i+<=

’z’)

ss[i]-=32;}}

1. 程序填空

给定程序中,函数

fun的功能是:统计

出带有头结点的单

向链表中结点的个

数,存放在形参n所

指的存储单元中。

第一处*n=0;

第二处p=p->next;

第三处

fun(head,&num);

2. 程序修改

/**found**/

a=NULL;

/**found**/

if(*r==*p)

3. 程序设计

void fun(char *s,char

t[ ])

{int i,j=0;

for(i=0;i

2)

if(s[i]%2==0)t[j++]=s[i

];t[j]=0;}

1 程序填空

给定程序中,函数

fun的功能是将带头

结点的单项链表结

点数据域中的数据

从小到大排序,即若

原链表节点数据域

从头至尾的数据为:

10、4、2、8、6,排

序后链表结点数据

域从头至尾的数据

为:2、4、6、8、10。

请在程序的下划线

处填入正确的内容

并把下划线删除,使

程序得出正确结果。

第1处p = h - >next ;

第2处q= p - > next;

第3处if (p - >

data >=q - >data))

2 程序修改

/**found**/

p= h->next;

/**found**/

p=p->next;

3 程序设计

void fun ( int (*s)

[10] , int *b, int *n,

int mm, int nn)

{int i, j, k ;

for (i=0 ; i

for (j=0; j

{k=i *nn +j ;

b [k] =s [ i ] [j ];}

*n= mm*nn;}

1. 程序填空

给定程序的主函数

中,已给出有结构体

构成的链表结点

a,b,c,各结点的数据

域中,函数fun()的作

用是:将a,b,c三个

结点链接在一个单

向链表,并输出链表

结点中的数据

1.pb

2.p->data

3p->next

2. 程序修改

1.int i,one=0,zero;

2.switch(s[i])

3.case

0:zero++;break;

3 程序设计{while(*s)

{*a=*s;a++s++;}

*a=*s;}

1 程序填空

程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生书数据,并按照从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。

第1处fp =fopen ( filename , " rb" );

第2处if ( s [ i ] . sno >s [ j ] .sno)

第3处fwrite (s,sizeof (STU), N, fp);

2 程序修改

/**found**/

p=s ;

/**found**/

while (*p++)

3程序设计

void fun ( int *a , int *b)

{int i , j ;

for ( i=0; i

for ( i=0; i

{ j=a [ i ]/10;

if ( j>10) b

[M-1]++;

else b [j ]++;}}

1 程序填空

给定程序的功能是:

从键盘输入若干行

文本(每行不得超过

80个字符),写到文

件myfile4.txt中,用

-1作为字符串输入

结束的标志。然后将

文件的内容读出显

示在屏幕上。文件的

读写分别由自定义

函数ReadText和

WriteText实现。

第1处void

WriteText(FILE*fw)

第2处

fputs(str,fw);fputs(“

\n”,fw);

第3处

printf(“%s”,str);

2 程序修改

/**found**/

void fun(long

s,long*t)

/**found**/

s1=s1*10;

3 程序设计

void fun(int a,int

b,long*c)

{*c=(b/10)*1000+(

a%10)*100+(b%10)*

10+(a/10);}

s1=s1*10;}

1. 程序填空

给定程序的功能是:

调用函数fun将指定

源文件中的内容复

制到指定的目标文

件中,复制成功时函

数的返回值是1,失

败是返回值是0.在

复制的过程中,把复

制的内容输出到终

端屏幕。主函数源文

件名放在变量

sfname中,目标文件

放在变量tfname中。

第一处

if((fs=fopen(source,”r

”))==NULL)

第二处

while(!feof(fs))

第三处fputc(ch,ft);

2. 程序修改

/**found**/

if(d%2==0)

/**found**/

s/=10;

3 程序设计

viod fun(char*s, chat

t[])

{int i,j=0;

for(i=1;i

2)

if(s[i]%2)

t[j++]=s[i];

t[j]=0;}

1 给定程序中,函数

fun的功能是将形参

给定的字符串、整数、

浮点数写到的文本

文件中,再用字符方

式从此文本文件中

逐个读入并显示在

终端屏幕上。请在程

序的下划线处填入

正确的内容分并把

下划线删除,使得程

序得出正确的结果。

注意:源程序存放在

考生文件夹下的

BLANK1.C中。

第1处FILE * fp;

第2处while

(!feof (fp)) {

第3处putchar

(ch) ; ch= fgetc (fp); }

2 程序修改

/**found**/

s [j++]=s [ i ];

/**found**/

s [ j ]= ' \ 0 ' ;

3 程序设计题

void fun (char s[] [N] ,

char *b)

{int i, j, n=0;

for (i=0; i

/*请填写其相应语

句完成其功能*/

{for ( j=0 ; j

{ b [n] =s [j ] [i ];

n= i *M+j+1;}}

b [n] = ' \0 ' ;}

程序通过定义学生

结构体变量,存储了

学生的学号、姓名和

三门课的成绩。所有

学生数据均以二进

制方式输出到

student.dat文件中。

函数fun的功能是从

指定文件中找出指

定学号的学生数据,

读入此学生数据,对

该生的分数进行修

改,使每门的分数加

3分,修改后重写文

件中该学生的数据,

即用该学生背后的

数据覆盖原数据,其

他学生数据不变;若

找不到,则什么都不

做。请在程序的下划

线处填入正确的内

容并把下划线删除,

使程序得出正确的

结果。

第1处while (!feof

(fp))

第2处if (n. sno

==sno) break ;

第3处fseek (fp,

-1L*sizeof(STU),SEEK

CUR) ;

2 程序修改

/**found**/

n=strlen (aa);

/**found**/

ch =aa [i];

3程序设计

double fun ( STREC

*h )

{double max=h

->s ;STREC *p ;

p=h->next ;

while (p)

{ if (p-s>max)

max=p->s ;

p=p->nest;}

return max ;}

1 程序填空

给定程序中,函数

fun的功能是将参数

给定的字符串、整数、

浮点数写到文件中,

再用字符串方式从

此文本文件中逐个

读入,并调用库函数

atof和atof将字符串

换成相应的整数和

浮点数,然后将其显

示在屏幕上。

第1处FILE * fp ;

第2处fclose (fp) ;

第3处fscanf

( fp , "%s % s % s" ,str,

str1 ,str2);

2 程序修改

/**found**/

t= ( STU *) calloc (sizeof (STU),m) ;

/**found**/

t [k] =b [ j ] ;

3程序设计

int fun ( int a [ ] , int n )

{int i , j =1 , k=a [0]; for ( i = 1; i

{ a [j++] =a [ i ] ;

k = a [ i ] ; }

a [ j ] = 0;return j ;}

1. 程序填空

给定程序中,函数fun的功能是:将自然数1—10以及它们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。

第一处

fprintf(fp,”%d%f\n ”,i,sqrt((double)i)); 第二处fclose(fp);

第三处

if((fp=fopen(fname,”r”))==NULL)

2. 程序修改

/**found**/

for(i=j+1;i

/**found**/

p=i;

3. 程序设计

#include void fun(int a,int

b,long *c)

{*c=(b%10)*1000+(a %10)*100+(b/10)*10 +(a/10);}

1. 程序填空

函数fun的功能是:输出a所指数组中的前n个数据,要求每行输出5个数。

1.i%5

2.\n

3 a[i]

2. 程序修改

1.return t;

2.for(i=0;i

t[i]=x[i];

3.x[i]=findmid(a,b,c);

3程序设计

{int i=0;

while(s[i]!=x&&i

i++;if(i==N)

return(-1);

else return();}

1. 程序填空

围绕山顶一圈有N

个山洞,编号为0、1、

2、3、……、N-1,

有一只狐狸和一只

兔子在洞中居住。狐

狸总想找到兔子并

吃掉它,它的寻找方

法是先到第一个洞

(即编号为0的洞)

中找;再隔一个洞,

即到编号为2的洞中

找;再隔2个洞,即

到编号为5的洞中找;

下次再隔3个洞,即

到编号为9的洞中

找;……。若狐狸找

一圈,请为兔子指出

所有不安全的洞号。

程序中用a数组元素

模拟一个洞,数组元

素的下标即为洞号,

数组元素中的值为0

时,表示该洞安全。

为一时表示该洞不

安全。

1.0

2.t

3.i+t

2. 程序修改

1.b[i]=0;

2.b[a[i]-‘a’+++;

3.if(b[max]

3 程序设计int i,n;

long t=0;

n=strlen(s);

for(i=0;i

{t=t*10;

t=t+(s[i]-‘0’);}

return t;}

1 程序填空

给定程序中,函数

fun的功能是:从三

个形参a、b、c中找

出中间那个数,作为

函数值返回。

第一处

t=a>b?(b>c?b:

(a>c?c:a)):((a

b>c)?c:b));

2 程序修改

/**found**/

c=c+32;

/**found**/

c=c+5;

3程序设计

double fun(int n)

{int i;

double fac=1.0;

double sum=1.0;

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

{fac+=sqrt(i);

sum+=fac;}

return sum;}

1 程序填空

甲乙丙丁四人同时

开始放鞭炮,甲每隔

t1秒放一个,乙每隔

t2秒放一个,丙每隔

t3秒放一个,丁每隔

t4秒放一个,每人各

放n次。函数fun的

功能是通过形参提

供的信息,求出总共

听到多少次鞭炮声

作为函数值返回。注

意,当几个鞭炮同时

炸响,只算一声响声,

第一声响是在第0秒。

1 第1处max t =t1;

第2处for (t=1; t<

max t*(n-1); t++)

第3处return count;

2 程序修改

/**found**/

int fun (int a,int b, int

c)

/**found**/

else return 1;

3 程序设计

double fun (int n)

{int i, j=0;

double s=0;

for (i=3;i<=n; i++){

for (j=2; j

if ( i %j==0)break;

if (j==i)

s =s+sqrt ( i );}

return s;}

1程序填空

给定程序中,函数

fun的功能是调用随

机函数产生的20个

互不相同的整数放

在形参a所指数组中

(此数组在主函数

中已置0)。

第1处while (n

第2处if ( x==a[ i ])

break ;

第3处if ( i==n) { a[n]

=x ; n++;}

2.程序修改

/**found**/

sum=0

/**found**/

scanf ("%d" , &a [ i ]

[ j ]) ;

3.程序设计

int fun ( int array[3]

[3])

{int i, j, arr [3] [3];

memcpy(arr,array,9*s

izeof(int) );

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

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

array [ i ] [ j ] =arr

[ j ] [ i ];

1程序填空

给定程序中,函数

fun的功能是:判断

形参s所指字符串是

否是“回去”

(Palindrome)若是,

函数返回值为1;不

是,函数返回值为0,

“回文”是正读和反

读都是一样的字母

串(不区分大小写字

母)。

第1处1p=s;

第2处1p++;rp--;}

第3处

if(1p

2 程序修改

/**found**/

double fun(int n)

/**found**/

c=a;a+=b;b=c;

3程序设计

void fun(int m,int

k,int xx[])

{int i,j=1,t=m+1;

while(j<=k)

{

for(i=2;i

if(t%i= =0)break;

if(i= =t){

xx[j-1]=i;

j++;

}t++;}}

C语言题库及答案

C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

C语言循环习题答案

循环习题集锦 一.选择题 1.for(i=0;i<10;i++);结束后,i的值是;(10) A 9 B 10 C 11 D 12 2.下面程序的循环次数是:(D) int k=0; while(k<10) {if(k<1) continue; if(k==5) break; k++; } A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是(10) main() { int s,k; for(s=1,k=2;k<5;k++) s+=k; printf(“%d\n”,s); } A 1 B 9 C 10 D 15 4.要使下面程序输出10个整数,则在下画线处填入正确的数是:(c)

for(i=0;i<= ;) printf(“%d\n”,i+=2); A 9 B 10 C 18 D 20 5.运行下面程序:(B) main() { int i=10,j=0; do { j=j+i; i--; }while(i>5); printf(“%d\n”,j); } 输出结果是: A 45 B 40 C 34 D 55 6.运行下面程序 #include “stdio.h” main() { int k=0,a=1; while(k<10) { for( ; ;) { if((k%10)==0)

break; else k--; } k+=11; a+=k; } printf(“%d %d\n”,k,a); } 则输出的结果是(C) A 21 32 B 21 33 C 11 12 D 10 11 7.以下叙述正确的是:(D) A.do---while语句构成的循环不能用其他语句构成的循环来代替。B.do---while语句构成的循环只能用break语句退出。 C.用do---while语句构成的循环,在while 后的表达式为非零时结束循环。 D.用do---while语句构成的循环,在while后的表达式为零时结束循环。 8.有如下程序: main() { int x=3; do{

c语言试题及答案

1、以下正确的说法是( B ) (A) 用户若需要调用标准库函数,调用前必须重新定义 (B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C) 系统根本不允许用户重新定义标准库函数 (D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是( A ) (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); 3、以下正确的函数形式是( D ) (A) double fun(int x, int y) { z=x+y; return z;} (B) fun(int x,y) { int z; return z;} (C) fun(x,y) { int x,y; double z; z=x+y; return z;} (D) double fun(int x, int y) { double z; z=x+y; return z;} 4、以下正确的说法是( A ) 在C语言中 (A) 实参和与其对应的形参各占用独立的存储单元 (B) 实参和与其对应的形参共占用一个存储单元 (C) 只有当实参和与其对应的形参同名时才共占用存储单元 (D) 形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是( A ) 该函数 (A) 没有返回值 (B) 返回若干个系统默认值 (C) 能返回一个用户所希望的函数值 (D) 返回一个不确定的值 6、以下不正确的说法是( B ) C语言规定 (A) 实参可以是常量、变量和表达式 (B) 形参可以是常量、变量和表达式 (C) 实参可以为任意类型 (D) 形参应与其对应的实参类型一致 7、以下正确的说法是( C ) (A) 定义函数时,形参的类型说明可以放在函数体内 (B) return后边的值不能为表达式 (C) 如果函数值的类型与返回值类型不一致,以函数值类型为准 (D) 如果形参与实参的类型不一致,以实参类型为准 8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B ) (A) 地址传递 (B) 单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式

C语言练习试题和答案

单项选择题: 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 [i] t 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# 语言中的简单数据类型包括(D)。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C。 A) B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

C语言循环例题

1. //输出a和b之间的所有素数, 10个素数为一行输出 #include #include #include int panDuanSuShu(int x) //判断x是否是素数 { int i,m,flag; //flag为1表示是素数,flag为0表示不是素数 m=(int)sqrt(x); if(x==2) { flag=1;} else { for(i=2;i<=m;i++) { if(x%i==0) { flag=0; break; } } if(i>m) { flag=1; } } return flag; } int shuChuSuShu(int a,int b) { int i,k=0;//i是循环变量,k表示已经输出了k个素数 for(i=a;i<=b;i++) { if(panDuanSuShu(i)==1) { printf("%6d",i); k++; if(k%10==0) { printf("\n");} } } printf("\n"); return k; } int main() { int a,b,t;

while(a<2||b<2) { printf("重新输入n和m:"); scanf("%d%d",&a,&b); } if(a>b) { t=a;a=b;b=t; } printf("%d和%d之间共有%d个素数",a,b,shuChuSuShu(a,b)); printf("\n\n"); return 0; } 2. //用户输入2个数,输出这2个数之间所有的超素数 //超素数(质数)的概念:7193是素数,719是素数,71是素数,7是素数,则7193是素数#include #include #include int isPrime(int n)//判断某数是否是素数 { int i,f,m=(int)sqrt(n); if(n==1) f=0; else { for(i=2;i<=m;i++) { if(n%i==0) break; } if(i>m) f=1; else f=0; } return f; } int supperPrime(int n)//判断某数是否是超素数 { int t=n; while(t>0) { if(isPrime(t)==1) t=t/10; else break; }

(完整版)C语言试题及答案解析

C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行

(完整版)C语言循环结构练习题带答案

第5章循环结构程序设计 练习题 1. 单项选择题 (1)语句while (!e);中的条件!e等价于 A 。 A. e==0 B. e!=1 C. e!=0 D. ~e (2)下面有关for循环的正确描述是 D 。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先执行循环体语句,后判定表达式 C. 在for循环中,不能用break语句跳出循环体 D. for循环体语句中,可以包含多条语句,但要用花括号括起来 (3)C语言中 D 。 A. 不能使用do-while语句构成的循环 B. do-while语句构成的循环必须用break语句才能退出 C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 D. do-while语句构成的循环,当while语句中的表达式值为零时结束循环 (4)C语言中while和do-while循环的主要区别是 A 。 A. do-while的循环体至少无条件执行一次 B. while的循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 (5)以下程序段 C 。 int x=-1; do { x=x*x; } while (!x); A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误 (6)下列语句段中不是死循环的是__C__。

第5章循环结构程序设计35 A. i=100; while (1) { i=i%100+1; if (i==20) break; } B. for (i=1;;i++) sum=sum+1; C. k=0; do { ++k; } while (k<=0); D. s=3379; while (s++%2+3%2) s++; (7)与以下程序段等价的是__A__。 while (a) { if (b) continue; c; } A. while (a) B. while (c) { if (!b) c; } { if (!b) break; c; } C. while (c) D. while (a) { if (b) c; } { if (b) break; c; } (8)以下程序的输出结果是_B___。 #include main() { int i; for (i=4;i<=10;i++) { if (i%3==0) continue; COUT<

C语言试卷及答案

一、选择题(每题 1 分,共 20 分) 1. C 语言程序的三种基本结构是顺序结构、选择结构和结构。 A、循环 B、递归 C、转移 D、嵌套 2. 下列标识符中,合法的是_______ 。 A) unsigned B) 5ab C) INT# D)_num2 3. 若float x ;x = 10/4 ;x的值是。 A、2.5 B、2.0 C、3 D、 2 4. 表达式!x 等价于。 A、x==0 B、x==1 C、x != 0 D、x != 1 5. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为。 A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算 6. 能将高级语言编写的源程序转换为目标程序的是。 A、链接程序 B、解释程序 C、编译程序 D、编辑程序 7. 下列语句定义pf为指向float类型变量f的指针,是正确的。 A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f; 8. 一个C程序的执行是从。 A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 9. 能正确表示“当x的取值在[1,10]或[[200,210]范围内为真,否则为假”的表达式是________。 A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B、(x>=1)||(x<=10)||(x>=200)||(x<=210) C、(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D、(x>=1)||(x<=10)&&(x>=200)||(x<=210) 10. 对两个数组a和b进行如下初始化 char a[]=“ABCDEF”;char b[]={ …A?,?B?,?C?,?D?,?E?,?F?}; 则以下叙述正确的是。 A、a和b数组完全相同 B、a和b长度相同 C、a和b中都存放字符串 D、a数组比b数组长度长 11. 是不正确的字符常量。 A、'\n' B、'1' C、"a" D、'\101' 12. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和等价。 A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 13. 设变量定义为“int x, *p=&x;”,则&*p相当于。 A、p B、*p C、x D、*&x 14. 有两个字符数组a、b,则以下正确的输入语句是。 A)gets(a,b); B) scanf(“%s%s”,a,b); C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”); 15. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。 A、地址传递 B、单向值传递

c语言试题及答案 ()

第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由

主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。

C语言函数题库及答案

C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C)

C语言循环结构练习题带答案.doc

第 5 章循环结构程序 设计 练习题 1.单项选择题 ( 1)语句 while (!e);中的条件!e等价于A。 A. e==0 B. e!=1 C. e!=0 D. ~e ( 2)下面有关for循环的正确描述是D。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先执行循环体语句,后判定表达式 C. 在 for循环中,不能用break 语句跳出循环体 D. for循环体语句中,可以包含多条语句,但要用花括号括起来 (3)C语言中D。 A.不能使用do-while语句构成的循环 B. do-while 语句构成的循环必须用break 语句才能退出 C. do-while 语句构成的循环,当while 语句中的表达式值为非零时结束循环 D. do-while 语句构成的循环,当while 语句中的表达式值为零时结束循环 ( 4) C 语言中 while 和 do-while 循环的主要区别是A 。 A. do-while的循环体至少无条件执行一次 B. while的循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 ( 5)以下程序段C。

int x=-1; do { x=x*x; } while (!x); A.是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误( 6)下列语句段中不是死循环的是__C__。 A.i=100; while (1) { i=i%100+1; if (i==20) break; } B.for (i=1;;i++) sum=sum+1; C.k=0; do { ++k; } while (k<=0); D.s=3379; while (s++%2+3%2) s++;

C语言试题及答案

一、单项选择题 1. 软件危机具有下列表现( d )。 I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住 III. 软件常常不可维护IV. 软件成本逐年上升 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。 A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是(D )。 A. 软件是一种逻辑实体,具有抽象性 ~ B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于(D )。 A. 软件危机的出现 B. 计算机硬件技术的发展 C. 软件社会化的需要 D. 计算机软件技术的发展 5. 软件开发技术不包含( d )。 A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( D )。 【 I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( b )。 I. 计算机辅助教学软件II. 软件测试工具 III. 办公自动化软件IV. 工程与科学计算软件

A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。 - A. 设计说明书 B. 需求规格说明书 C. 可行性分析报告 D. 用户手册 9. 以下关于数据流图的说法错误的是( c )。 A. 数据流图舍去了具体的物质,只剩下数据的流动、加工处理和存储 B. 数据流图是用作结构化分析的一种工具 C. 传统的数据流图中主要由加工、数据源点/终点、数据流、控制流、数据存储组成 D. 数据流图的绘制采用自上向下、逐层分解的方法 10. 数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( c )。 A. 数据库设计 B. 数据通信 C. 数据定义 D. 数据维护 11. 需求分析阶段的研究对象是( b )。 ¥ A. 系统分析员要求 B. 用户要求 C. 软硬件要求 D. 系统要求 12. 结构化方法的基本原则是( b )。 A. 模块化 B. 抽象与分解 C. 信息隐蔽 D. 逐步求精 13. 耦合度最高的是(b)耦合。 A. 环境 B. 内容 C. 控制 D. 数据 14. 内聚程度较低的是( a )内聚。 A. 偶然 B. 通讯 C. 顺序 D. 时间 15. 对一个程序来说,组成系统的模块数目( b ),则开发成本越小。 A. 越多 B. 越少 C. 顺序 D. 时间> 16. 画软件结构图时应注意调用关系只能是(B )。 A. 从下到上 B. 从上到下 C. 从左到右 D. 从右到左 17. 程序流程图中的箭头代表( b )。 A. 数据流 B. 控制流 C. 顺序流 D. 调用 18. 软件测试是软件质量保证的重要手段,下述( B )是软件测试的最基础环节。

C语言试题与答案

大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系

2019二级C语言题库参考答案解析

2019年C语言考题答案 1、程序填空题 给定的程序的功能是调用fun 函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat 的二进制中。 填空:( 1) STYPE(2)FILE(3)fp 改错:(1) for(i=0;i<=sl;i++)(2)t[2*sl]= 0“ 或t[sl+sl]= 0“ 编程: *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b% 10); 2、程序填空题给定程序的功能是:从键盘输入若干文本 (每行不超过80 个字符),写到文件myfile4.txt 中,用-1 作为字符串输出输入的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText 和Writetext 实现。 填空:(1)*fw(2)str (3) str 改错:(1)voidfun(longs,long*t)(2) s1=s1*10; 编程:int i,j=0,min=a[0].s; for(i=0;i

else if(min==a[i].s) b[j++]=a[i]; } return j; 3、程序填空题 给定程序中,函数fun 的功能是:讲自 然数1~10 以及它们的平方根写到名为myfile3.txt 的文本中,然后再按顺序读出显示在屏幕上。 填空:( 1) fp( 2)fclose(fp)(3)myfile3.txt 改错:( 1)for(i=j+1;i

C语言试题及答案

C语言试题及答案 Company number【1089WT-1898YT-1W8CB-9UUT-92108】

第1章C语言概述习题1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成

C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言 的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。

c语言试题及答案

《C语言》课程综合复习资料 一、单选题 1. 在C语言中,字符型数据在存中的存储形式是 A)原码 B)补码 C)反码 D)ASCII码 2. 在C语言中,十进制数47可等价地表示为 A) 2f B) 02f C) 57 D) 057 3. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为 A) 0 B) 1 C) 2 D) 3 4. 设有定义语句:char str[][20]={,"Beijing","中国石油大学"},*p=str; 则printf("%d\n",strlen(p+20)); 输出结果是 A)10 B) 6 C) 0 D) 20 5. 已定义以下函数: fun(int *p) { return *p; } 该函数的返回值是 A)不确定的值 B)形参p所指存储单元中的值 C)形参p中存放的值 D)形参p的地址值 6. C语言中,函数返回值的类型是由 A)return语句中的表达式类型决定 B)调用函数的主调函数类型决定 C)调用函数时的临时类型决定 D)定义函数时所指定的函数类型决定 7. 有以下函数定义: void fun( int n , double x ) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是 A) fun( int y , double m ); B) k=fun( 10 , 12.5 ); C) fun( 10 , 12.5 ); D) void fun( 10 , 12.5 ); 8. 以下选项中不能正确赋值的是 A) char b[]={′H′,′e′,′l′,′l′,′o′,′!′}; B) char b[10];b="Hello!";

c语言试题及答案

单选题 1 .在C语言中,下列类型属于构造类型的是(D ) A整型B .字符型C .实型D .数组类型 2.下列字符串不是标识符的是( D ) A.sum B. Average C. Day_night D. M.D.JOHN 3.在C语言中,回车换行符是(A ) A. n B. t C. v D. b 4.在C语言中,语句和数据定义是用(C )作为结束标记的A句号B .逗号C .分号D .括号 5. 设有如下定义: int x=10,y=5,z; 则语句printf( “%dn”,z= (x+=y,x/y)); 的输出结果是( C ) A.0 B.1 C.3 D.4 6. 10 .以下程序的输出结果是( B ) main( ) {char c1= '8',c2= '2'; printf( “%c,%c,%d,%d”n ,c1,c2,c1 -c2,c1+c2); }

精选文库 A.因输出格式不合法,输出出错信息 B.8,2,6,106 C . 8,2,6,10 D . 825,9 7.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 (A)mai n() {int x; seanf( “ %d,&x); if(x++>5) printf( “%dn ,x); else prints “%dn ,x --); A. 7 禾R 5 B . 7 禾R 4 C . 6 禾R 4 8.表达式(int)2.1416 的值时(A ) A. 2 B. 2.1 C. 0 D. 3 9.下列运算符优先级最高的是(B ) A. > B. + C. && D. != 10.C语言容许函数值类型缺省定义,此时该函数值隐含的类型时(B ) A. float 型 B. Int 型 C. Long 型 D. Double 型 11、C程序的基本构成单位是(C) A子程序B、过程C、函数D、文件 12、C语言中要求操作数都为整型数据的算术符是( C )

2020最新C语言题库及答案

2020最新C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。

3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age

相关主题
文本预览