C语言试卷

第561题

有以下程序

#include <stdio.h> 
int k=5;
void f(int *s) 
{ 
s=&k; *s=7; 
} 
main() {
 int m=3; 
 f(&m);
 printf("%d,%d\n", m,k); }

程序运行后的输出结果是( )。

第562题

有以下程序:

#include<stdio.h>
int k = 5; 
void f( int *s) { 
s = &k; } 
main() 
{ int m=3, *p=&m; f(p); printf("%d,%d\n",m,*p); }

程序的运行结果是( )。

第563题

以下选项中,不能对主函数中变量i和j的值进行交换的程序是 ( )。

第564题

有以下程序:

 #include <stdio.h> 
 void fun(int*a,int*b) 
 { int*c; c=a; a=b; b=c; } 
 main() 
 { 
 int x=3,y=5,*p=&x,*q=&y;
 fun(p,q); 
 printf("%d,%d",*p,*q); 
 fun(&x,&y); 
 printf("%d,%d\n",*p,*q); 
 }

程序运行后的输出结果是( )。

第565题

有以下程序:

 #include <stdio.h> 
 int *f(int *s,int *t) 
 { if(*s < *t)*s=*t; return s; } 
 main() { 
 int i=3,j=5,*p=&i,*q=&j,*r; 
 r=f(p,q); 
 printf("%d,%d,%d,%d,%d\n",i,j,*p,*q,*r); }

程序的运行结果是( )。

第566题

有以下程序:

 #include <stdio.h>
 void f(int*p,int*q); 
 main() { 
 int m=1,n=2,*r=&m; f(r,&n); 
 printf("%d,%d",m,n); } 
 void f(int*p,int*q) 
 { p=p+1; 
 *q=*q+1; }

程序运行后的输出结果是( )。

第567题

若有以下程序

 #include <stdio.h> 
 void sp(int *a) {
  int b=2; 
  a=&b; 
  *a=*a*2; 
  printf("%d,",*a); }
  main() 
  { 
  int k=3,*p=&k; 
  sp(p); 
  printf("%d,%d\n",k,*p); 
  }

则程序的输出结果是( )。

第568题

有以下程序

 #include <stdio.h> 
 void fun(int x,int y,int *c,int *d) 
 { 
 *c=x+y; *d=x-y; 
 } 
 main() 
 {
  int a=4,b=3,c=0,d=0; 
  fun(a,b,&c,&d); 
  printf("%d %d\n",c,d); 
  }

程序的输出结果是( )。

第569题

有以下程序

#include <stdio.h> 
void fun(int *p,int *q) 
{ 
int t; t = *p; 
*p = *q; 
*q = t; 
*q = *p; 
} 
main() 
{ 
int a = 0,b = 9; 
fun(&a,&b); 
printf("%d %d\n",a,b); 
}

程序的输出结果是( )。

第570题

有以下程序

 #include <stdio.h> 
 void fun1(char *p) { 
 char *q; 
 q=p; 
 while(*q!='\0') 
 { 
 (*q)++; 
 q++; } } 
 main() 
 { 
 char a[]={"Program"},*p; 
 p=&a[3]; 
 fun1(p); 
 printf("%s\n",a); 
 }

程序执行后的输出结果是( )。

第571题

有以下程序

 #include <stdio.h> 
 void fun(char *a, char *b) { 
 while(*a=='*') 
 a++; 
 while(*b=*a) 
 {
  b++; a++; } } 
  main() { 
  char *s="*****a*b****" , t[80]; 
  fun(s,t); puts(t); 
  }

程序的运行结果是( )。

第572题

有以下程序:

 #include <stdio.h> 
 void fun(char *c,int d) { 
 *c=*c+1; 
 d=d+1; 
 printf("%c,%c,",*c,d); } 
 main() { 
 char b='a',a='A'; 
 fun(&b,a); 
 printf("%c,%c\n",b,a); }

程序运行后的输出结果是 ()。

第573题

有以下程序

#include <stdio.h> 
void fun(char *t,char *s) { 
while(*t!=0)
t++; 
while((*t++=*s++)!=0); } 
main() { 
char ss[10]="acc",aa[10]="bbxxyy"; 
fun(ss,aa); 
printf("%s,%s\n",ss,aa); }

程序的运行结果是( )。

第574题

有以下程序

#include <stdio.h> 
void swap(char *x,char *y) { 
char t; 
t=*x; 
*x=*y; 
*y=t; }
main() { 
char *s1,*s2; 
char a[]="abc"; 
char b[]="123"; 
s1=a; s2=b; 
swap(s1,s2); 
printf("%s,%s\n",s1,s2); }

程序执行后的输出结果是( )。

第575题

下面是有关C语言字符数组的描述,其中错误的是()。

第576题

以下叙述中正确的是()。

第577题

以下正确的字符串常量是()。

第578题

以下能正确定义字符串的语句是()。

第579题

设有以下定义:

char s1[]="0123";
char s2[]={'0','1','2','3'};

则以下叙述正确的是()。

第580题

以下选项中,合法的是()。