1.选择题
(1)C(2)D(3)C(4)B(5)A(6)A(7)A(8)B(9)A(10)B(11)A(12)A
2.填空题
(1)整型(2)值传递
地址传递
(3)全局变量 局部变量(4)自动变量 静态变量 寄存器变量 外部变量
(5)自动变量
(6)15 300(7)8 121
(8)x=3,y=4,n=7(9)56
3.程序设计题
(1)
#include
int gcd_recursion(int a,int b);
void main()
{
int i,j;
puts("\nPlease enter 2 integer");
scanf("%d,%d",&i,&j);
if(i<0||j<0)
{
puts("\nData Error!Please enter 2 integer");
scanf("%d, %d",&i,&j);
}
else
printf("gcd(%d,%d)=%d",i,j,gcd_recursion(i,j));
}
int gcd_recursion(int a,int b)
{ int c,d;
if(a
{c=a;
a=b;
b=c;
if(a%b==0)
return b;
else
d=gcd_recursion(b,a%b);
}
else if(a%b==0)
return b;
else
d=gcd_recursion(b,a%b);
return d;
}
(2)
#include
int delete_char(char c,char str[]);
void main()
{char str[10],c,i;
puts("\nPlease enter a string:");
gets(str);
puts("Please enter a char you want to delete:");
c=getchar();
puts("Before deleted:");
puts(str);
puts("After deleted:");
i=delete_char(c,str);
puts(str);
printf("There are %d characters deleted.",i);
}
int delete_char(char c,char str[])
{ int i,j,total,k,sum;
i=0;
total=0;
while(str[i]!='\0')
{
k=i;
sum=0;
while(str[k]==c)
{ k++;
sum++;
}
total=total+sum;
if(str[i]==c)
{ for(j=i;str[j+sum]!='\0';j++)
str[j]=str[j+sum];
str[j]='\0';
}
i++;
}
return total;
}
(3)
#include int max(int a,int b);void main(){ int i,j,k; puts("\nPlease enter 3 integer:"); scanf("%d,%d,%d",&i,&j,&k); printf("max is %d.",max(max(i,j),k));}int max(int a,int b){ if(a>b) return a; else return b;}
(4)
#include
void int_string(long a,char str[]);
void reverse(char c[],int size);
void insert_space(char c[],int size);
void main()
{
long i;
char str1[10];
puts("\nPlease enter 1 long interger:");
scanf("%d",&i);
int_s