C语言 程序阅读题

C语言 程序阅读题
C语言 程序阅读题

五、程序阅读题

要求:阅读下列程序,将程序运行时的输出结果填写在答案栏内。

1. #include

void main()

{ char ch; int k=0;

for(ch='A';ch<'H';ch++,k++)

if(k%2==0) printf("%c ",ch);

printf("\n");

}

输出结果:A C E G

2. #include

void main( )

{ int k=0;

char c='A';

do {

switch (c++)

{ case 'A': k++; break;

case 'B': k--;

case 'C': k+=2; break;

case 'D': k=k%2; break;

case 'E': k=k*10; break;

default: k=k/3;

}

k++;

} while(c<'G');

printf("k=%d\n", k);

}

输出结果: K=8

3. #include

void main()

{ int

a[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16},i,j; for(i=0;i<6;i++) {

for(j=0;j<6;j++) if(a[i]==b[j])break;

if(j<6) printf("%d ",a[i]);

}

printf("\n");

}

输出结果: 4 25 27 16

4. #include

void main()

{ int a[8]={1,0,1,0,1,0,1,0},i;

for(i=2;i<8;i++) a[i]+=a[i-1]+a[i-2];

for(i=0;i<8;i++) printf("%d ",a[i]);

printf("\n");

}

输出结果: 1 0 2 2 5 7 13 20

5. #include

void main()

{ int s=1,t=1,a,n;

scanf("%d%d",&a,&n);

for(int i=1;i

{

t=t*10+1; s=s+t;

}

s*=a; printf("SUM=%d\n",s);

}

输入数据:2,4

输出结果: SUM=2468

6. #include

#define PR(x,y) printf("%s=\t%d\n",x,y)

void main( )

{ int x=03,y=02,z=01;

PR("x|y&z",x|y&z); PR("x^y&~z",x^y&~z);

PR("x&y&z",x&y&z); x=1; y=-1;

PR("! x|x",! x|x); PR("~x|x",~x|x);

}

输出结果:

x|y&z=3

x^y&~z=1

x&y&z=0

!x|x=1、~x|x=-1

7. #include

void main()

{ int a[5]={2,4,6,9,12},b[6]={2,3,4,6,8,9};

for(int i=0;i<5;i++)

for(int j=0;j<6;j++)

if(*(a+i)==*(b+j)) printf("%d ",*(a+i)); printf("\n");

}

输出结果: 2 4 6 9

8. #include

#include

void main()

{ char str1[]="*******";

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

printf("%s\n",str1);

str1[i]=' ';

str1[strlen(str1)-1]='\0';

}

}

输出结果:

9. #include

void main()

{ char a[5][8];

for(int i=0;i<5;i++)

for(int j=0;j<8;j++)

if(i==0||i==4) a[i][j]='-';

else a[i][j]=' ';

for(i=1;i<4;i++) { a[i][0]='|'; a[i][5]='|'; } for(i=0;i<5;i++) a[i][6]='\0';

for(i=0;i<5;i++) printf("%s\n",a[i]);

}

输出结果:

10. #include

void main()

{ char a[8],temp; int i,j;

for(i=0;i<7;i++) a[i]='a'+i;

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

temp=a[0]; for(j=1;j<7;j++) a[j-1]=a[j];

a[6]=temp;a[7]='\0';

printf("%s\n",a);

}

}

输出结果:

11. #include

void main()

{ int i,j,n;

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

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

n=7-2*i;

for(j=1;j<=n;j++) printf("%1d",n); printf("\n");

}

}

输出结果:

12. #include

void main()

{ char a[8],temp; int j,k;

for(j=0;j<7;j++) a[j]='a'+j;

a[7]='\0';

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

temp=a[6];

for(k=6;k>0;k--) a[k]=a[k-1];

a[0]=temp;

printf("%s\n",a);

}

}

输出结果:

13. #include

void print(int,char,int);

void main()

{ print(3,'*',1); print(2,'*',3);

print(1,'*',5); print(2,'#',3);

print(2,'#',3);

}

void print(int begin,char pzf,int n)

{ char a[50];

for(int i=0;i

for(i=0;i

a[begin+i]='\0';

printf("%s\n",a);

}

输出结果:

14. #include

void main()

{ int a,b,c,find(int,int,int);

scanf("%d%d%d",&a,&b,&c);

printf("%d\n%d,%d,%d\n",find(a,b,c),a,b,c);

}

int find(int a,int b,int c)

{ int u,s,t;

u=((u=(a>b)?a:b)>c)? u:c;

t=((t=(a

s=a+b+c-u-t; a=u;

b=s; c=t; return s;

}

运行时输入: 5 –7 3,输出结果: 3

5,-7,3

15. #include

void fun1(int n,int a[][3])

{ for(int i=0;i

for(int j=0;j

a[i][j]=a[i][j]/a[i][i];

}

void main()

{ int a[3][3]={{6,4,2},{8,6,4},{9,6,3}};

fun1(3,a);

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

for(int j=0;j<3;j++) printf("%d ",a[i][j]); printf("\n");

}

}

输出结果:

16. #include

int fun3(int m)

{ int i;

if(m==2||m==3) return 1;

if(m<2||m%2==0) return 0;

for(i=3;i

return 1;

}

void main()

{ int n;

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

if(fun3(n)==1) printf("%d ",n);

}

输出结果: 2 3 5 7

17. #include

void sub(int *a,int *b,int *c,m,n)

{ int i,j;

for(i=0;i

for(j=0;j

}

void main()

{ int i,x[5]={1,5,3,8,4},y[3]={9,-4,6},z[8]; sub(x,y,z,5,3);

for(i=0;i<8;i++) printf("%d ",z[i]);

printf("\n");

}

输出结果: 1 5 3 8 4 9 –4 6

18. #include

void sort(char *a[],int n)

{ int i,j,l; char *temp;

for(i=0;i

l=i;

for(j=i+1;j

if(strcmp(a[j],a[l])<0) l=j;

if(l!=i) {

temp=a[i]; a[i]=a[l]; a[l]=temp;

}

}

}

void main()

{ char *name[4]; int k;

char

ch[4][15]={"morning","afternoon","night","evening" }; for(k=0;k<4;k++) name[k]=ch[k];

sort(name,4);

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

printf("%s\n",name[k]);

}

输出结果: afternoon

evening

morning

night

19. #include "stdio.h"

void pline(char *a,char c,int l,int n)

{ int i;

for(i=1;i

for(i=1;i<=n;i++,*a=c,a++); *a='\0';

}

void main()

{ char a[80];

int i; void (*pf)(char*,char,int,int);

pf=pline;

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

(*pf)(a,'$',5-i,2*i-1);

puts(a);

}

}

20. #include "stdio.h"

int binary(int x,int a[],int n)

{ int low=0,high=n-1,mid;

while(low<=high) {

mid=(low+high)/2;

if(x>a[mid]) high=mid-1;

else if(x

else return(mid);

}

return(-1);

}

void main( )

{ static int a[]={4,0,2,3,1}; int i,t,j;

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

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

while(j>=0 && t>a[j]) { a[j+1]=a[j]; j--; } a[j+1]=t;

}

printf ("%d \n",binary(3,a,5));

}

输出结果: 1

21. #include

#include

void main( )

{ double f(double,int);

printf("%1f\n",f(2.0,14));

}

double f(double x,int n)

{ double t;

if(n==1) t=x;

else {

if(n/2*2==n)t=x*f(x,n/2);

else t=x*pow(f(x,n/2),2.0);

}

return t;

}

输出结果: 256.000000

22. #include

double x,u,v

double t(double a,double(*f)(double))

{ return(*f)(a*a); }

double f(double x)

{ return 2.0*x; }

double g(double x)

{ return 2.0+x; }

void main()

{ x=4.0;u=t(x,f);v=t(x,g);

printf("u=%5.3fv=%5.3f\n",u,v);

}

输出结果: U=32.000v=18.000

23. #include

void main()

{ static struct s1{ char c[4],*s; };

s1={"abc","def"};

static struct s2{char *cp; struct s1 ss1;}

s2={"ghi",{"jkl","mno"}};

printf("%c,%c\n",s1.c[0],*s1.s);

printf("%s,%s\n",s1.c,s1.s);

printf("%s,%s\n",s2.cp,s2.ss1.s);

printf ("%s,%s\n",++s2.cp,++s2.ss1.s);

}

输出结果: a,d

abc,def

ghi,mno

hi,no

24. #include

struct s1{ char *s; int i; struct s1 *s1p; };

void main()

{ static s1

a[]={{"abcd",1,a+1},{"efgh",2,a+2},{"ijkl",3,a}};

int i;

for(i=0;i<2;i++) {

printf("%d\n",--a[i].i);

printf("%c\n",++a[i].s[3]);

}

}

输出结果: 0

e

1

i

25. #include

void main()

{ FILE *fp; int i;

char s1[80],s[]="abcdefghijklmnop";

fp=fopen("alf.dat","wb+"); i=sizeof(s);

fwrite(s,i,1,fp); rewind(fp); fread(s1,i,l,fp); printf("all=%s\n",s1); fseek(fp,0,0);

printf("seek1 ch=%c\n",fgetc(fp));

fseek(fp,10,1);

printf("seek2 ch=%c\n",fgetc(fp));

fseek(fp,1,1);

printf("seek3 ch=%c\n",fgetc(fp));

fclose(fp);

}

输出结果: All=abcdefghijklmnop

seek1 ch=a

seek2 ch=l

seek3 ch=n

26.#include

void main()

{ struct T1{ char c[4],*s; }

s1={"abc","def"};

struct T2{ char *cp; T1 ss1;}

s2={"ghi",{"jkl","mno"}};

printf("%c,%c\n",s1.c[0],*s1.s);

printf("%s,%s\n",s1.c,s1.s);

printf("%s,%s\n",s2.cp,s2.ss1.s);

printf("%s,%s\n",++s2.cp,++s2.ss1.s);

}

输出结果为

a,d

abc,def

ghi,mno

hi,no

27.#include

void main()

{ struct info { int data; info *pn; };

info *base,*p;

base=NULL;

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

p=new info; p->data=i+1;

p->pn=base; base=p;

}

p=base;

while(p!=NULL) { printf("%2d",p->data); p=p->pn; }

printf ("\n");

}

输出结果为:

10 9 8 7 6 5 4 3 2 1

28.#include

#include

void del_bk(char *p)

{ char *p1; p1=p;

while(*p1!='\0')

if(*p1==' '&&*(p1+1)==' ') strcpy(p1,p1+1);

else p1++;

}

void main()

{ char *aa="aa bb cccc ddd efg h";

printf("%s\n",aa); del_bk(aa); printf("%s\n",aa); }

输出结果: aa bb cccc ddd efg h

aa bb cccc ddd efg h

29.#include

void main()

{ int m[]={1,2,3,4,5,6,7,8,9},i,j,k;

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

k=m[i]; m[i]=m[8-i]; m[8-i]=k;

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

printf("%d ",m[j]);

putchar('\n');

}

}

输出结果为:

923456781

983456721

987456321

987654321

30.#include

void main()

{ int

x[4][4]={{1,2,3,4},{3,4,5,6},{5,6,7,8},{7,8,9,10}};

int i,j;

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

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

*(*(x+i)+j)/=*(*(x+i)+i);

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

for(j=0;j<4;j++) printf("%3d",*(*(x+i)+j)); putchar('\n');

}

}

输出结果为:1 2 3 4

0 1 5 6

0 0 1 8

0 0 0 1

31.#include

#include

void main()

{ char line[]="123456789"; int i,k=strlen(line); for(i=0;i<4;i++) {

line[k-i]='\0';

puts(line+i);

}

}

输出结果为: 123456789

2345678

34567

456

32.#include

#include

void main()

{ char

a[5][20]={"abc","def","123","456","#$%"};

int i,j;

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

while(a[i][j]) j++;

strcat(*(a+i)+j,*(a+i+1));

}

for(i=0;i<4;i++) puts(*(a+i)); }

输出结果为:abcdef

def123

123456

456#$%

33.#include

#define S x=y=z

#define P3(x,y,z)

printf("x=%d\ty=%d\tz=%d\n",x,y,z)

void main()

{ int x,y,z;

S=1; ++x||++y||++z; P3(x,y,z);

S=1; ++x&&++y||++z; P3(x,y,z);

S=1; ++x&&++y&&++z; P3(x,y,z);

S=-1; ++x||++y&&++z; P3(x,y,z);

S=-1; ++x||++y||++z; P3(x,y,z);

S=-1; ++x&&++y&&++z; P3(x,y,z);

}

输出结果:

x=2 y=1 z=1

x=2 y=2 z=1

x=2 y=2 z=2

x=0 y=0 z=-1

x=0 y=0 z=0

x=0 y=-1 z=-1

34.#include

#include

int f(int m,int n)

{ if(m%n==0) return n;

else return f(n,m%n);

}

void main()

{ printf("%d\n",f(840,48));

}

输出结果为:24

35.#include

int f1(int,int),f11(int);

void f2(int);

void main()

{ int i,j;

for(i=0;i<5;i++) {

f2((5-i)*3);

for(j=0;j<=i;j++) printf("%3d",f1(i,j)); putchar('\n');

}

}

int f1(int m,int n)

{ return f11(m)/f11(n)/f11(m-n);

}

int f11(int k)

{ if(k<=1) return 1;

return k*f11(k-1);

}

void f2(int n)

{ for(int i=1;i<=n;i++) putchar(' '); }

输出结果为:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

36. #include

void prn(int a,int b,int c,int max,int min) { max=(max=a>b?a:b)>c?max:c;

min=(min=a

printf("max=%d min=%d\n",max,min);

}

void main()

{ int x,y;

x=y=0; prn(19,23,-4,x,y);

printf("max=%d min=%d\n",x,y);

}

输出结果为:

max=23 min=-4

max=0 min=0

37.#include

#include

void main()

{ char a,b,x; int i;

while(!isupper(x=getchar()));

for(a='A'; a<=x; a++) {

for(b='A'; b<'A'+x-a; b++) putchar(' ');

for(i=1;i<=2*(a-'A')+1;i++) putchar(a);

putchar('\n');

}

}

运行时输入:35dffE

输出结果: A

BBB

CCCCC

DDDDDDD

EEEEEEEEE

38.#include

void main()

{ char x; int n=0,k=0;

while((x=getchar())!='.') {

switch(x) {

case 't': k++; break;

case 'h': if(k==1) k++; break;

case 'e': if(k==2) k++; break;

default: k=0;

}

if(k==3) n++;

}

printf("%d\n",n);

}

运行时输入:a the asdftheth e there.

输出结果为: 3

39.#include

void main()

{ unsigned k,n;

scanf("%u",&n);

k=n%10*10+n/10;

printf("n=%d k=%d\n",n,k); }

运行时输入数据为:69 72

输出结果为: n=69 k=96

40. #include

void main()

{ int x=40,y=4,z=4;

x=y==z;

printf("%d %d %d\n",x,y,z); x=x==(y=z);

printf("%d %d %d\n",x,y,z); }

输出结果为: 1 4 4

0 4 4

41.#include

void main()

{ int x,y,z;

x=y=2; z=3;

y=x++-1;

printf("%d\t%d\t%d\t",x,y,z); y=--z+1;

printf("%d\t%d\t%d\n",x,y,z); x=y=z=0;

++x&&++y||++z;

printf("%d\t%d\t%d\t",x,y,z);

--x&&++y&&++z;

printf("%d\t%d\t%d\n",x,y,z);

}

输出结果为: 3 1 3 3 3 2

1 1 0 0 1 0

42.#include

#include

void main()

{ float a1,a2,a3,s,d;

scanf("%f%f%f",&a1,&a2,&a3);

s=(a1+a2+a3)/2;

s=sqrt(s*(s-a1)*(s-a2)*(s-a3));

printf("%.2f%%%.2f%%%.2f %-10.3f\n",a1,a2,a3,s); }

运行时输入 3 4 5 ,

输出结果为: 3.00%4.00%5.00 6.000

来自省等级考试

43、#include "stdio.h"

void main( )

{ static a[5]={1,3,5,7,9};

static int

*num[5]={&a[2],&a[1],&a[0],&a[3],&a[4]};

int **p,i;

p=num;

for(i=0;i<5;i++) { printf("%d\t",**p); p++; }

}

输出结果5 3 1 7 9

44、#include

#include

f(char c,char* s)

{ int m,n,h;

for(n=0,h=strlen(s);n<=h;) {

m=(n+h)/2;

if(c

else if(c>s[m]) n=m+1;

else return m;

}

return –1;

}

void main( )

{ printf("%d\n",f('g',"abdgkmxy"));

printf("%d\n",f('T',"BQMAXYZOTE"));

}

输出结果:

3

-1

45、void main( )

{ int i,a[]={1,3,5,7,9,11,13,15}; int

inv(int*,int);

inv(a,5);

for(i=1;i<=5;i++) printf("%d ",*(a+i)); }

inv(int *x,int n)

{ int *p,t,*i,*j,m=(n-1)/2;

i=x; j=x+n-1; p=x+m;

for(;i<=p;i++,j++) { t=*i; *i=*j; *j=t; } return 0;

}

输出结果:11 13 7 1 3

46、#include

int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; void main()

{ int s,k;

for(s=0,k=0; k<3; k++) s+=a[k][k];

printf("%d--",s);

for(s=0,k=0; k<3; k++) s+=a[k][3-k];

printf("%d--",s);

for(s=0,k=0; k<4; k++) s+=*(a[1]+k);

printf("%d\n",s);

}

输出结果:18—21—26

47、#include

int x,y,z;

void p(int *x,int y)

{ ++*x; y--; z=*x+y;

printf("%d,%d,%d--",*x,y,z);

}

void main()

{ x=2; y=3; z=4;

p(&x,y);

printf("%d,%d,%d--",x,y,z);

p(&y,x);

printf("%d,%d,%d\n",x,y,z);

}

输出结果:3,2,5—3,3,5—4,2,6--,3,4,6

48、#include

void main()

{ int m=18,s=0;

do {

switch(m%7) {

case 2 : m/=2;s+=2; break;

case 3 : m/=3;s+=3; break;

case 5 : m/=5;s+=5; break;

default : m--; s--;

};

printf("%d\n",s);

} while(m);

}

输出结果:-1

2

7

6

49、#include

void main()

{ void div(int*,int*);

int a[5]={-5,0,60,45,34},i=0,j=2;

while(a[i]<=0) i++;

while(a[i]!=1) div(a+i,&j);

}

void div(int *n,int *k)

{ if(*n%*k==0) { printf("%d,%d\n",*n,*k); *n/=*k; } else (*k)++;

}

输出结果:

60.2

30,2

15,3

5,5

50、#include

void main()

{ int s[8],i; char ch='B'-1; /* 字符A的ASCII码为65 */

printf("%c %d\n",ch,ch);

for(i=7;i>=0;i--) {

s[i]=ch&1; ch=ch>>1;

}

for(i=0;i<8;i++) printf("%d",s[i]);

printf("\n");

}

输出结果:A 65

01000001

51、#include

#include

void main()

{ char c,*a="Office"; int i;

for(i=0;i

c=*a; strcpy(a,a+1);

a[strlen(a)]=c; a[strlen(a)+1]='\0';

puts(a);

}

}

输出结果:

ffice0

ficeof

iceoff

52、#include

void main()

{ float a[4][3]={{3,2,5},{-3,2,1},{4,3,2},{5,1,3}}; int i,j; float v;

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

v=a[i][0]; for(j=1;j<3;j++) v+=a[i][j];

v/=3; for(j=0;j<3;j++) a[i][j]-=v;

}

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

for(j=0;j<3;j++) printf("%6.1f,",a[i][j]);

printf("\b \n");

}

}

输出结果:

-0.3, -1.3, 1.7

-3.0, 2.0, 1.0

1.0, 0.0, -1.0

2.0, -2.0, 0.0

53、#include

#include

void main()

{ struct node { int x; struct node *next; } *p1,*p2=NULL; int a[5]={7,6,-5,28,1},i,j,s;

for(i=0;i<5;i++) {

s=0; for(j=1;j<=a[i]/2;j++) if(a[i]%j==0)s+=j;

if(a[i]!=s) {

p1=(struct node*) malloc(sizeof(struct node)); /*或 p1=new node;*/

p1->x=a[i]; p1->next=p2; p2=p1;

}

}

while(p1!=NULL) { printf("%d\n",p1->x);

p1=p1->next; }

}

输出结果:

1

-5

7

54、写出下列程序的运行结果

#include

main()

{union

{char c;

int I;

}t;

t.c=’A’;

t.i=1;

printf(“%d,%d”,t.c,t.i);

}

运行结果 1,1

55、写出以下程序的输出结果

#include

main()

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

c语言编程 题目及答案

**********************************考试形式:上机考试(60分钟) 考试题型说明:10个单选题+2个编程题 下面是编程题目的复习题型,期末考试的编程题型及难易程度与此相近,请大家认真复习,强化练习,打下坚实基础,顺利通过考试。 ********************************** 1、编写一计算阶乘的函数fac,在主函数中从键盘输入一个正整数,调用阶乘函数fac计算阶乘并输出计算结果。 2、编写一个求x的y次幂的函数pw,在main函数中从键盘输入a、b的值,然后调用pw函数求a的b次幂,并输出结果。 3、写一函数max,计算三个数中最大数。在主函数中输入三个数,调用该函数求出其中最大数并输出。(要求:三个数为实数) 4、写一个函数计算两个正整数的最大公约数,在主函数中用scanf输入m, n两个正整数,调用函数后,打印函数返回值(即这两个正整数的最大公约数)。 5、编写一个函数,该函数的功能是判断一个整数是不是素数,在main函数中 调用该函数,输出200以内所有的素数。 6、请编一个自定义函数,功能:将给定的字符串中的所有字母改为小写字母。字符串在主函数中从键盘任意输入(容许包含空格) 7、编写一个函数,该函数的功能是判断一个整数是不是素数,在main函数

中输入一个整数,调用该函数,判断该数是不是素数,若是则输出“yes”, 否则输出“no” 8、将1--1000中所有21的倍数存到一个一维数组中,再按每行5个数据输出到屏幕上。 9、在屏幕上打印以下图案:(要求打印N行,N用符号常量定义为7) * ** *** **** ***** ****** ******* 10、输出所有在正整数200和300之间能被6整除、但不能被4整除的数,并统计这样的数有多少个。 11、求S=1/1+1/2+1/3+……+1/100(精确到小数点后三位)。 12、编程计算1到20的平方和,并输出结果。(要求用for循环) 13、编写一个程序从键盘任意个整数,求均值及低于均值的个数,输出到屏幕。 14、编写一个程序从键盘输入10个学生的成绩到数组score中,将最高分、最低分输出,要求将该程序以文件名test1.c保存到K盘根目录。 15、在main()函数中输入一个人的年龄和性别,女士55岁退休,男士60岁退休。编写一个函数根据年龄和性别判断一个人士工作还是退休,若工作,则输出“Working!”,退休则输出“Retired!” 161、编写一个程序从键盘输入10个学生的成绩到数组score中,将最高分、最低分输出。 17、编写一个函数求一个实数的绝对值。然后在main函数中用scanf输入 任意个实数,调用该函数求它的绝对值并输出。 18、编写一个求1——n内的偶数和的函数,在main()函数中输入n,然后 调用该函数求1——n的偶数和并输出。 19、编写一个求1——n内的奇数和的函数,在main()函数中输入n,然后

C语言程序设计试题1

C语言程序设计试题1 一、单项选择题 1.C语言规定,在一个源程序中main函数的位置______d___ 。 A.必须在最开始B.必须在最后 C.必须在预处理命令的后面D.可以在其他函数之前或之后 2.以下选项中,_________d__ 是C语言关键字 A.printf B.include C.fun D.default 3.已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为____a_ 。 A.0 B.3 C.3.5 D.4 4.设指针变量占4个字节的内存空间,若有声明"char *p="123";int c;",则执行语句 "c=sizeof(p);"后,c的值为__d__ A.1 B.2 C.3 D.4 5.已知有声明"int a=3,b=4;",下列表达式中合法的是_d___。 A.a+b=7 B.a=|b| C.a=b=0 D.(a++)++ 6.已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是___d_。 A.s="Good"; B.s[20l="Good"; C.strcat(s,"Good"); D.strcpy(s,"Good"); 7.已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};",若需要引用值为12的数组元素,则下列选项中错误的是_a___ 。 A.*(a+2)+3 B.*(*(a+2)+3) C.*(a[2]+3) D.a[2][3] 8.已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为_b___ 。 A.3 B.3.0 C.3.89 D.4.0 9.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为 __b__。 A.3,1 B.15,12 C.15,1 D.3,12 10.下面的函数定义正确的是_____d________ A)float fun (float x ; float y) {return x*y;} B)float fun (float x,y) {return x*y;} C)float fun (x,y) {int x,y;return x*y;} D)int fun (int x, int y) {return x*y;} 11.某程序需要使用一个代表常数3.14的符号常量名P,以下定义中正确的是_d___。 A.#define P 3.14; B.#define P(3.14) C.#define P=3.14; D.#define P 3.14 12.下列四个选项中,属于C语言关键字的是__c__ 。 A.Float B.single C.double D.real 13.已知某编译系统中signed int类型数据的长度是16位,该类型数据的最大值是_D___。 A.32767 B.32768 C.127 D.65535

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#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

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

c语言程序填空题1

三、程序填空题 导读:在程斥填空题中,已经给出了程序的主干,读者首先要理解程序的思路, 再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步堂握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上己经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而白己编写程序乂不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 ttinclude main() { int a, b; scanf (”%d%d", &a, &b): printf ("a=%d, b二%d\n", a, b); printf ("a=%d, b=%d\n/F, a, b): } a=b=a=①②③ 【3.2】下面程序的功能是根据近似公式:十/6~ 1/12+1/22+1/32+……+l/n2, 求兀值。廿include〈math? h> double pi(long n) { double s=0. 0; long i; for(i=l; i<=n; i++) s=s+ ①; return (②); } [3.3]下面的程序的功能是求一维数组中的最小元素。 findmin(int *s, int t,int *k) { int p; for(p=0, *k=p: p

for(i=0; i<10; i++) scanf &a[i]); findmin(a, 10, k); printf ("%d, %d\n", *k, a L*kJ); } 【3.4】下面程序的功能是计算1-3+5-7+……-99+101的值。 main() { int i, s=0: for(i=l; i<=101: i+=2) {①; s二s+t: ②; } printf ("%d\n", s); } [3.5]有以下程序段: s=l. 0; for(k=1: k<=n: k++) s=s+l. 0/(k*(k+1)); printf ("%f\n", s); 填空完成下述程斥,使之与上述程序的功能完全相同。 s=0. 0: ①; k=0; do { s二s+d; ②; d=1.0/(k*(k+l)); }while(③); printf ("%f\n", s); [3.6]下而程用的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main () ;、float x, amax, amin; scanf &x); amax=x: amin=x;

C语言程序设计 复习题库

一、填空 1. break 语句通常用于switch // 循环中。 2. C 语言对数组下标的引用一般从0 开始。 3. C 语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。 4. C 标准库函数中,字符串的处理函数包含在string.h 头文件中,数学函数包含在 math.h 头文件中。 5. C 程序的运行需要经过编译和链接两步进行。 6. C 程序中用/**/ 括起来的内容是程序的注释语句。 7. C 语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数类型、函数 名和函数参数。 8. C 语言提供的三种逻辑运算符是& ,// ,!。 9. C 语言源程序经过编译后,生成文件的后缀名是.c 。 10. C 语言源程序经过连接后,生成文件的后缀名是.exe 。 11. C 语言中,关系表达式和逻辑表达式的值是1//0 。 12. C 语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。 13. C 语言中的每条基本语句以;作为结束符,每条复合语句以} 作为结束符。 14. C 语言中函数返回值的类型是由函数类型决定的。 15. C 源程序的基本单位是函数。 16. int a = 2, b = 3; 表达式 a > b ? a ++ : ++ b 的值为 4 。 17. int x=1,y=1,z=1; x+=y+=z; 则表达式xb>c 的值是0 。 19. 定义一个指针p,它指向一个有 6 个整型元素的一维数组,定义语句为int *p=a[6] ; 。 20. 定义一个指针数组p ,它有 4 个元素,每个指针指向一个整型数据,定义语句为int *p[4]; 。 21. 赋值语句是由= 加上一个分号构成。 22. 构成数组的各个元素必须具有相同的类型。 23. 关系表达式x+y>5 的相反表达式为x+y !>5 。 24. 函数strlen("1234\0xy") 的值为:9 。 25. 函数的形参在未被调用前不分配空间,函数形参的数据类型要和实参相同。 26. 函数体用{ 开始,用} 结束。 27. 结构化设计中的三种基本结构是顺序,选择,循环。

C语言程序设计考试题库

一、判断题 1、所谓常量,就是在程序运行过程中其值可以改变的量。() 2、一个C程序可以由多个源程序文件构成,但其中只能有一个main()函数。() 3、在C语言中do-while 语句和for循环均是先执行循环体语句,再判断表达式。() 4、在函数调用中将变量的地址作为实参传递给对应形参时,实现的是单向的值传递。() 5、C语言中所有字符串都是以‘\0’结束的。() 6、do-while构成的循环语句中的循环体最少执行1次。() 7、数组名在C语言中表示的是数组的首地址。() 8、使用gets()函数输入字符串时可以在字符串中输入空格。() 9、算术运算符中‘/’的优先级高于‘%’。() 10、char a[5];该语句表明数组a中的第五个元素为a[5]。() 11、C语言源程序文件的扩展名均为.c。() 12、char a[5];数组a中有a[1]、a[2]、a[3]、a[4]、a[5]共5个元素。() 13、C语言程序区分大小写,字符常量必须定义为大写。() 14、若int i=10,j=2;则执行i*=j+8;后i的值为28。() 15、若int x=100,y=200;则语句printf("%d",(x,y));输出结果为100。() 16、c语言中的标识符只能由字母,数字和下划线三种字符组成。() 17、函数getchar()的作用是:输出一个字符。() 18、一个C语言程序总是从第一个函数开始执行。() 19、在c语言中,char型数据在内存中是以ASCII码形式存储的。() 20、在C语言中switch语句必须使用break语句。() 二、选择题 1、以下说法正确的是()。 A、C语言程序总是从第一个函数开始执行。 B、C语言程序中要调用的函数必须在main()函数中定义。 C、C语言程序总是从main()函数开始执行。

C语言经典程序100题(完整版)

【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。#include "stdio.h" #include "conio.h" main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) /*以下为三重循环*/ for(j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k); } getch(); } ============================================================== 【程序2】题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 #include "stdio.h" #include "conio.h" main() { long int i; int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%ld",&i); bonus1=100000*0. 1; bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if(i<=100000) bonus=i*0.1; else if(i<=200000) bonus=bonus1+(i-100000)*0.075; else if(i<=400000) bonus=bonus2+(i-200000)*0.05; else if(i<=600000) bonus=bonus4+(i-400000)*0.03; else if(i<=1000000) bonus=bonus6+(i-600000)*0.015; else bonus=bonus10+(i-1000000)*0.01; printf("bonus=%d",bonus); getch(); } ============================================================== 【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析: #include "math.h" #include "stdio.h" #include "conio.h" main() { long int i,x,y,z; for (i=1;i<100000;i++) { x=sqrt(i+100); /*x为加上100后开方后的结果*/ y=sqrt(i+268); /*y为再加上168后开方后的结果*/

C语言程序设计试题第1套(山东建筑大学)

C语言程序设计试题(第1套) 一.单项选择题(30分,每题2分) 1.用C语言编写的代码程序______。 A、可立即执行 B、是一个源程序 C、经过编译即可执行 D、经过编译解释才能执行 2. C语言中用于结构化程序设计的三种基本结构是______。 A、顺序结构、选择结构、循环结构 B、if、switch、break C、for、while、do-while D、if、for、continue 3. 以下选项中合法的实型常数是______。 A、B、E-3 C、.2E0 D、 4. 假定x和y为double型,则表达式x=2,y=x+3/2的值是______。 A、B、3 C、D、 5. ch是字符型变量,下面不正确的赋值语句是______。 A、ch = 65; B、ch="a"; C、ch ='\ n'; D、ch= 9+ '0'; 6. 下列有关C语言程序书写格式的说法哪个是错误的 A、C程序的书写格式比较自由,一个语句可以占多行,一行也可以有多个语句。 B、C语句必须要有分号。 C、C语言程序的标识符必须使用小写字母。 D、用{ } 括起来的部分,通常表示了程序的某一层次结构,称为块。 7.下面程序段所表示的数学函数关系是______。 x= -1; if (a!=0) if (a>0) x=1; else x=0; -1 (a<0) 1 (a<0) A、x= 0 (a=0) B、x= -1 (a=0) 1 (a>0) 0 (a>0) 0 (a<0) -1 (a<0) C、x= -1 (a=0) D、x= 1 (a=0) 1 (a>0) 0 (a>0) 8. 以下关于do-while循环的不正确描述是______。 A) do-while的循环体至少执行一次 B) do-while的循环体可以是复合语句 C) 在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作 D) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 9. 以下程序执行后sum的值是______。 A) 15 B) 14 C) 不确定 D) 0 main() { int i , sum=0; for(i=1;i<6;i++) sum+=i; printf("%d\n",sum); } 10.若有说明语句:int a[][3]={1,2,3,4,5,6}; 则a数组第一维的大小是。 A. 1 B. 2 C.3 D. 无确定值 11. C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是______。 A、float型 B、long型 C、int型 D、double型 12.下面正确的函数定义形式为 A、double fun(int x;int y) B、double fun(int x,int y); C、double fun(int x,y) D、double fun(int x,int y) 13.以下程序运行后,输出结果是______。 #define ADD(x) x+x

c语言编程例题及答案

实验报告三 (四学时) 2.1 实验目的 (1)掌握函数的定义和调用; (2)了解函数间的参数传送; 2.2 基础实验 【题目3-1】编写函数实现将输入的字母转换成大写字母(若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母”)。 算法分析: 1、输入:通过键盘接收一个字符; 2、条件判断:调用判别函数 3、函数功能为:蒋所输入字符进行判别处理,若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母” 4、程序结束。 【实验3-1】代码及运行结果:

【题目3-2】从键盘输入若干个同学计算机课程期末考试成绩(学生人数可由用户输入),求该课程的期末成绩的平均分并输出。 函数功能要求:实现若干(例如5名)同学的的期末成绩输入,并统计出平均分。 算法分析: 1、输入:通过键盘接收同学个数; 2、调用求平均分函数 3、输出平均成绩 4、程序结束。 【实验3-2】代码及运行结果: 【题目3-3】请用函数编写程序实现:计算3 到100 之间所有素数的平方根之和,并输出。s=148.874270。

算法分析: 1、编写函素数判别函数,确定返回标记,如果是素数返回1,否则返回0 2、编写主函数,用一重循环遍历100以内所有数据 2.1、通过素数判别函数对循环的数据进行是否为素数的判别 2.2、返回判别为真的整数,并输出 3、程序结束。 【实验3-3】代码及运行结果: #include #include int Prime(int x) { int i ; if(x<=1) return 0; for(i=2;i<=x-1;i++) { if(x%i==0) { return 0; } } return 1; } int main() { double i,sum; i=3; sum=0; while(i<=100) { if(Prime(i)) { sum=sum+sqrt(i); } else { sum=sum+0; } i++; } printf("sum=%f\n",sum); return 0; }。

C语言程序设计模拟试题1附答案

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。

c语言程序设计题目及答案

一、程序设计共113 题第1 题题 号:319 #include "stdio.h" void wwjt(); int fun(int m) { int i,k=1; if(m<=1) k=0; for(i=2;i #include #define M 3 #define N 4 void wwjt(); void fun(int tt[M][N],int pp[N]) { int i,j; for(j=0;jpp[j]) pp[j]=tt[i][j]; } 第3 题题号:375 功能:从键盘上输入任意实数, 求出其所对应的函数值。 z=e 的x 次幂( x>10) z=log(x+3) (x>-3) z=sin(x)/((cos(x)+4) #include #include void wwjt(); double y(float x) { double z; if(x>10) z=exp(x); else if(x>-3) z=log(x+3); else z=sin(x)/(cos(x)+4); return(z); } 第4 题题号:334 功能:求给定正整数n 以内的素数之积。( n<28) #include #include"conio.h" void wwjt(); long fun(int n) { long i,k; long s=1; for(i=2;i<=n;i++) {for(k=2;k #include"conio.h" void wwjt(); long int fun(int n) { long s=1,i; for(i=2;i<=n;i++) if(n%i==0)s=s*i; return s; } 第6 题题号:50 功能:求出菲波那契数列的前一项与后一项之比的极限的 近似值例如:当误差为0.0001 时,函数值为0.618056 。 #include #include "math.h" void wwjt(); float fun() { float f1=1,f2=1,f3; float r1=2,r2; do {r2=r1; r1=f1/f2; f3=f1+f2; f1=f2; f2=f3; }while(fabs(r1-r2)>1e-4); return r1; } 第7 题题号:394 功能:产生20个[30,120] 上的随机整数放入二维数组 a[5][4] 中, 求其中的最小值。 #include "stdlib.h" #include void wwjt(); int amin(int a[5][4]) { int i,j,s; s=a[0][0];

C语言编程题(带答案)

1、求100之内自然数中最大的能被17整除的数。 2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。 3、计算并输出200-400之间不能被3整除的整数的和。 4、从键盘输入10个数,统计非负数的个数,并计算非负数的和 5、求100之内自然数中偶数之和。 6、输入5个数,求和并输出。要求编写求和的函数。 7、编程计算1*2*3+3*4*5+5*6*7+……+99*100*101的值。 8、编写程序,将用户输入的字符串中所有的字符a用*代替,然后输出。 9、编写程序,将一个一维数组的元素逆序存放并输出。例如,原顺序为1,2,3,4,5,逆序后为5,4,3,2,1。 10、求3行3列矩阵a[3][3]={1,2,3,4,5,6,7,8,9}非对角线上元素之和。 11、编程判断输入的整数的正负性和奇偶性。如果为正数,输出z;如果为负数,输出f;如果为偶数,输出o;如果为奇数,输出j 12、计算并输出1-200之间不能被5整除的整数的和。 13、从键盘输入n和a的值,计算a+aa+aaa+……+aa……a(n个a)的值。 14、输入5个数,求它们中最大值和平均值并输出。 15、输出所有200-400之间能被3整除且个位数字为6的整数 16、编写程序,将用户输入的字符串中所有的字符a去掉,然后输出剩余的字符。 17、计算并输出200-400之间不能被7整除的整数的和。 18.计算并输出200-400之间不能被5整除的整数的和 19、从键盘输入10个数,统计非正数的个数,并计算非正数的和 20、输入一串字符,将其中的大写字母变成对应的小写字母并输出。 21、打印所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数。例如,153就是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。 22、一个皮球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求当它第10次落地时,共经过了多少米,第10次反弹多高? 23、输出所有0-200之间能被3整除且个位数字为6的整数。 24、输入一个正整数,输出它的阶乘。 25、编写程序,判断从键盘输入的字符中数字字符的个数、大写字母的个数、小写字母的个数及其它字符的个数,以*作为字符输入结束标志。 26、编写程序,使用循环结构输出下列图形: * * * * * * * * * * * * * * * * * * * * 27、输入一串字符,逆序输出。要求使用数组实现。 28、求1-1/2+1/3-1/4+……+1/99-1/100的值。 29、输入3个学生4门课的成绩{(60,70,65,75),(75,80,75,90),(95,75,90,65)},计算每个学生的总分和平均成绩并输出,结果保留一位小数。 30、求两个正整数的最大公约数。 31、求100之内自然数中奇数之和。 32、输出所有200-400之间能被3整除且个位数字为7的整数。 33、编程计算1*2*3+4*5*6+……+97*98*99的值

C语言练习题填空题1

2012-2013学年二学期C语言期末考试试卷(A卷)班级:___________学号:___________姓名:___________得分:___________ 题号一二三四五六七八九十成绩复核得分 阅卷 题目部分,(卷面共有24题,100分,各大题标有题量和总分) 一、填空题(24小题,共100分) 1. 以下程序的功能是计算下面函数的值。请填空。 #include #include float f(); main() { float x,y,z,sum; printf(“\ninput x,y,z:\n”); scanf(“%f %f %f”,&x,&y,&z); sum=【1】; printf(“sum=%f\n”,sum); } float f(float a,float b,float c) { float value; value=【2】; return(value); } 2. 下面程序的功能是【1】,运行结果是【2】。 long fib(int g) { switch(g) { case 0: return 0; case 1: case 2: return 1; } return(fib(g-1)+fib(g-2)); } main() { long k; k=fib(7); printf(“k=%d\n”,k); }

3. 已定义一个含有30个元素的数组s,函数fav1的功能是按顺序分别赋予各元素从2开始的偶数,函数fav2则按顺序每五个元素求一个平均值,并将该值存放在数组w中。请填空。 #define SIZE 30 fav1(float s[]) { int k,i; for(k=2,i=0;i

C语言程序设计试题及答案

C语言程序设计试题及 答案 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是() A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是() A、abc B、12AC C、sun D、 A2 3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是() A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是() A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是() A、% B、/ C、%和/ D、 + 6、以下关于运算符的优先顺序的描述正确的是() A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是() sum=pad=5;pAd=sum++,pAd++,++pAd;

printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、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); 9、假定从键盘输入23456< 回车 >,下面程序的输出结果是:() void main ( ) { int m,n; scanf(“%2d%3d”,&m,&n); printf(“m=%d n=%d\n”,m,n); } A、m=23 n=45 B、m=234 n=56 C、m=23 n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是() main( ) { int x,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、 0 B、 22 C、 12 D、10 11、C语言中while和do-while循环的主要区别()

相关文档
最新文档