C语言阅读程序模拟题

更新时间:2023-10-05 14:27:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

阅读程序模拟题

1.下面程序执行结果是 #include void swap(int *,int *); void main() {

int a=5, b=7, *ptr1, *ptr2; ptr1=&a, ptr2=&b; swap (ptr1,ptr2);

printf(“*ptr1=%d,*ptr2=%d\\n”,*ptr1,*ptr2); printf(“a=%d,b=%d\\n”,a,b); }

void swap (int *p1, *p2) {

int p; p=*p1; *p1=*p2; *p2=p; }

2.输入we are students ,下面程序运行结果 #include void main()

{ char string[81];

int i,num=0,word=0; char c;

gets(string);

for(i=0;(c=string[i])!='\\0';i++) if(c==' ') word=0; else if(word==0) {

word=1; num++; }

printf(\}

3.下面程序的运行结果是 The array has been reverted: 2,4,5,7,6,0,11,9,7,3 #include

void inv(int x[], int n); void main()

{ int i,a[10]={3,7,9,11,0,6,7,5,4,2}; inv(a,10);

printf(\ for(i=0;i<10;i++) printf(\ printf(\}

void inv(int x[], int n)

{ int t,i,j,m=(n-1)/2; for(i=0;i<=m;i++)

{

j=n-1-i;

t=x[i];

x[i]=x[j]; x[j]=t;

} }

4.下面程序的运行结果是 #include

void copy_string(char *,char *); void main()

{ char *a=\ char *b=\ copy_string(a,b);

printf(\}

void copy_string(char *from,char *to) { for(;*from!='\\0';from++,to++) *to=*from; *to='\\0'; }

5.下面程序的运行的功能是 BASIC #include #include

void sort(char *name[],int ); void print(char *name[],int); void main() {

char *name[]={\

\ int n=5;

sort(name,n); print(name,n); }

void sort(char *name[],int n) { char *temp; int i,j,k;

for(i=0;i

for(j=i+1;j0) k=j; if(k!=i) {

temp=name[i]; name[i]=name[k]; name[k]=temp;}

} }

void print(char *name[],int n) {

int i;

for(i=0;i

6. 输入5回车后,下面程序的执行结果是

#include long int fac(int ); void main() {

int n;

scanf(\ printf(\}

long int fac(int m) {

long int f; if(m<0) printf(\ else if(m==0||m==1) f=1; else f=fac(m-1)*m; return f; }

7.下面程序执行的结果是: 输入如下数据: Li Zhang Li Li Wang Zhang Wang Zhang

#include struct person {

char name[20]; int count;

}leader[3]={ \ void main() { int i,j;

char leader_name[20]; for(i=1;i<=8;i++) {

scanf(\

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

if(strcmp(leader_name,leader[j].name)==0) leader[j].count++; }

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

printf(\}

8.输入17,下面程序执行的结果是

#include #include void main() { int m,i,k; scanf(\ k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break; if(i>k) printf(\ else printf(\}

9.下面程序执行的结果是 ____-858993459 _-858993458 -858993457 #include #include void main() { int a[3][3], i, j; for(i=0;i<3;i++) for(j=0;j<3;j++) { switch(abs(i-j)) { case 0: if(i==0||i==2) a[i][j]+=3; else

a[i][j]++; break; case 1: a[i][j]+=2; break; case 2: a[i][j]+=3; } } printf(\}

10.写出下面程序的运行结果: 8,17

#include int func (int ,int ); void main ( ) {

int k=4,m=1,p1,p2; p1=func(k,m) ; p2=func(k,m) ;

printf(“%d,%d\\n”,p1,p2) ; }

int func (int a,int b) {

static int m=0,i=2; i+=m+1; m=i+a+b; return (m); } 11.以下程序执行后输出的结果是 123,0 #include void main( ) { FILE *fp; int i,k=0,n=0; fp=fopen(\ for(i=1;i<4;i++) fprintf(fp, \ fclose(fp); fp=fopen(\ fscanf(fp, \ printf(\ fclose(fp); }

12.以下程序执行后输出的结果是 1 2 3 4 5 6

#include void main() {

int a[2][3]={{1,3,5},{2,4,6}}; int b[3][2],i,j; for(i=0;i<2;i++) {

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

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

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

for(j=0;j<2;j++) printf(\ printf(\ } }

13.若输入的值是-75,以下程序的运行结果是 - 3* 25 #include #include void fun(int ); void main( ) { int n;

scanf(\ if(n<0) printf(\ n=abs(n); fun(n); }

void fun(int x) { int k,r;

for(k=2;k1) printf(\ r=x%k; } }

if(x!=1) printf(\

}

14.以下程序的运行结果是 4 #include #include struct NODE { int num; struct NODE *next; };

void main( ) { struct NODE *p,*q,*r; int sum=0; p=(struct NODE*) malloc(sizeof(struct NODE)); q=(struct NODE *) malloc(sizeof(struct NODE)); r=(struct NODE *) malloc(sizeof(struct NODE)); p->num=1; q->num=2; r->num=3; p->next=q; q->next=r; r->next=NULL; sum+=q->next->num; sum+=p->num; printf(\}

15.输入87653142,下面程序运行的结果是 7531 #include

void fun(long int , long int *); void main() { long s, t;

scanf(\ fun(s, &t);

printf(\}

void fun(long int s, long int *t) { int d; long s1=1; *t=0;

while(s>0) { d=s;

if(d%2!=0) { *t=d*s1+*t; s1*=10; }

s/=10; } }

16.下面程序运行的结果 13431 #include struct NODE { int k; struct NODE *link; };

void main() { struct NODE m[5],*p=m,*q=m+4; int i=0; while(p!=q) { p->k=++i; p++; q->k=i++; q--; }

q->k=i;

for(i=0;i<5;i++) printf(\ printf(\ }

本文来源:https://www.bwwdw.com/article/d8rd.html

Top