c语言答案

时间:2019-05-15 01:00:10下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《c语言答案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《c语言答案》。

第一篇:c语言答案

6-13

#include int main(){ char s1[80],s2[40];

int i=0,j=0;

printf(“input string1:”);

scanf(“%s”,s1);

printf(“input string2:”);

scanf(“%s”,s2);

while(s1[i]!='')

i++;

while(s2[j]!='')

s1[i++]=s2[j++];

s1[i]='';

printf(“nThe new string is:%sn”,s1);

return 0;}

6-14 #include int main(){ int i,resu;

char s1[100],s2[100];

printf(“input string1:”);

gets(s1);

printf(“ninput string2:”);

gets(s2);

i=0;

while((s1[i]==s2[i])&&(s1[i]!=''))i++;

if(s1[i]=='' && s2[i]=='')

resu=0;

else

resu=s1[i]-s2[i];

printf(“nresult:%d.n”,resu);

return 0;}

6-15 #include #include int main(){ char s1[80],s2[80];

int i;

printf(“input s2:”);

scanf(“%s”,s2);

for(i=0;i<=strlen(s2);i++)

s1[i]=s2[i];

printf(“s1:%sn”,s1);

return 0;}

第7章用函数实现模块化程序设计170 7.1为什么要用函数170 7.2怎样定义函数172 7.2.1为什么要定义函数172 7.2.2定义函数的方法173 7.3调用函数174 7.3.1函数调用的形式174 7.3.2函数调用时的数据传递175 7.3.3函数调用的过程177 7.3.4函数的返回值178 7.4对被调用函数的声明和函数原型179 7.5函数的嵌套调用182 7.6函数的递归调用184 7.7数组作为函数参数192 7.7.1数组元素作函数实参193 7.7.2数组名作函数参数194 7.7.3多维数组名作函数参数197 7.8局部变量和全局变量199 7.8.1局部变量199 7.8.2全局变量200 7.9变量的存储方式和生存期204 7.9.1动态存储方式与静态存储方式204 7.9.2局部变量的存储类别205 7.9.3全局变量的存储类别208 7.9.4存储类别小结212 7.10关于变量的声明和定义214 7.11内部函数和外部函数215 7.11.1内部函数215 7.11.2外部函数215习题218 7-1-1 #include int main(){int hcf(int,int);

int lcd(int,int,int);

int u,v,h,l;

scanf(“%d,%d”,&u,&v);

h=hcf(u,v);

printf(“H.C.F=%dn”,h);

l=lcd(u,v,h);

printf(“L.C.D=%dn”,l);

return 0;}

int hcf(int u,int v){int t,r;if(v>u)

{t=u;u=v;v=t;} while((r=u%v)!=0)

{u=v;

v=r;} return(v);}

int lcd(int u,int v,int h)

{

return(u*v/h);

}

7-1-2 #include int Hcf,Lcd;int main(){void hcf(int,int);

void lcd(int,int);

int u,v;

scanf(“%d,%d”,&u,&v);

hcf(u,v);

lcd(u,v);

printf(“H.C.F=%dn”,Hcf);

printf(“L.C.D=%dn”,Lcd);

return 0;}

void hcf(int u,int v){int t,r;if(v>u)

{t=u;u=v;v=t;} while((r=u%v)!=0)

{u=v;

v=r;

} Hcf=v;}

void lcd(int u,int v)

{

Lcd=u*v/Hcf;

}

7-2 #include #include float x1,x2,disc,p,q;int main(){void greater_than_zero(float,float);void equal_to_zero(float,float);void smaller_than_zero(float,float);float a,b,c;printf(“input a,b,c:”);scanf(“%f,%f,%f”,&a,&b,&c);printf(“equation: %5.2f*x*x+%5.2f*x+%5.2f=0n”,a,b,c);disc=b*b-4*a*c;printf(“root:n”);if(disc>0)

{

greater_than_zero(a,b);

printf(“x1=%fttx2=%fn”,x1,x2);

} else if(disc==0)

{equal_to_zero(a,b);

printf(“x1=%fttx2=%fn”,x1,x2);

} else

{smaller_than_zero(a,b);

printf(“x1=%f+%fitx2=%f-%fin”,p,q,p,q);

} return 0;}

void greater_than_zero(float a,float b){x1=(-b+sqrt(disc))/(2*a);

x2=(-b-sqrt(disc))/(2*a);}

void equal_to_zero(float a,float b){

x1=x2=(-b)/(2*a);}

void smaller_than_zero(float a,float b){

p=-b/(2*a);

q=sqrt(-disc)/(2*a);}

7-3 #include int main(){int prime(int);

int n;

printf(“input an integer:”);

scanf(“%d”,&n);

if(prime(n))

printf(“%d is a prime.n”,n);

else

printf(“%d is not a prime.n”,n);

return 0;}

int prime(int n)

{int flag=1,i;

for(i=2;i

if(n%i==0)

flag=0;

return(flag);

}

7-4 #include #define N 3 int array[N][N];int main(){ void convert(int array[][3]);int i,j;printf(“input array:n”);for(i=0;i

for(j=0;j

scanf(“%d”,&array[i][j]);printf(“noriginal array :n”);for(i=0;i

{for(j=0;j

printf(“%5d”,array[i][j]);

printf(“n”);

} convert(array);printf(“convert array:n”);for(i=0;i

{for(j=0;j

printf(“%5d”,array[i][j]);

printf(“n”);

} return 0;}

void convert(int array[][3]){int i,j,t;for(i=0;i

for(j=i+1;j

{t=array[i][j];

array[i][j]=array[j][i];

array[j][i]=t;

} }

#include #include int main(){void inverse(char str[]);char str[100];printf(“input string:”);scanf(“%s”,str);inverse(str);printf(“inverse string:%sn”,str);return 0;}

void inverse(char str[]){char t;

int i,j;

for(i=0,j=strlen(str);i<(strlen(str)/2);i++,j--)

{t=str[i];

str[i]=str[j-1];

str[j-1]=t;

} }

7-6

#include int main(){void concatenate(char string1[],char string2[],char string[]);char s1[100],s2[100],s[100];printf(“input string1:”);scanf(“%s”,s1);printf(“input string2:”);scanf(“%s”,s2);concatenate(s1,s2,s);printf(“nThe new string is %sn”,s);return 0;}

void concatenate(char string1[],char string2[],char string[]){int i,j;for(i=0;string1[i]!='';i++)

string[i]=string1[i];for(j=0;string2[j]!='';j++)

string[i+j]=string2[j];string[i+j]='';}

7-7 #include int main(){void cpy(char [],char []);char str[80],c[80];printf(“input string:”);gets(str);cpy(str,c);printf(“The vowel letters are:%sn”,c);return 0;}

void cpy(char s[],char c[]){ int i,j;

for(i=0,j=0;s[i]!='';i++)

if(s[i]=='a'||s[i]=='A'||s[i]=='e'||s[i]=='E'||s[i]=='i'||

s[i]=='I'||s[i]=='o'||s[i]=='O'||s[i]=='u'||s[i]=='U')

{c[j]=s[i];

j++;

}

c[j]='';}

7-8 #include #include int main(){char str[80];void insert(char []);printf(“input four digits:”);scanf(“%s”,str);insert(str);return 0;}

void insert(char str[]){int i;for(i=strlen(str);i>0;i--)

{str[2*i]=str[i];

str[2*i-1]=' ';

} printf(“output:n%sn”,str);} 7-9 #include int letter,digit,space,others;int main(){void count(char []);char text[80];printf(“input string:n”);gets(text);printf(“string:”);puts(text);letter=0;digit=0;space=0;others=0;count(text);

printf(“nletter:%dndigit:%dnspace:%dnothers:%dn”,letter,digit,space,others);return 0;}

void count(char str[]){int i;for(i=0;str[i]!='';i++)if((str[i]>='a'&& str[i]<='z')||(str[i]>='A' && str[i]<='Z'))

letter++;else if(str[i]>='0' && str [i]<='9')

digit++;else if(str[i]==32)

space++;else

others++;} 7-10 #include #include int main(){int alphabetic(char);int longest(char []);int i;char line[100];printf(“input one line:n”);gets(line);printf(“The longest word is :”);for(i=longest(line);alphabetic(line[i]);i++)

printf(“%c”,line[i]);printf(“n”);return 0;}

int alphabetic(char c){if((c>='a' && c<='z')||(c>='A'&&c<='z'))

return(1);else

return(0);}

int longest(char string[]){int len=0,i,length=0,flag=1,place=0,point;for(i=0;i<=strlen(string);i++)

if(alphabetic(string[i]))

if(flag)

{point=i;

flag=0;

}

else

len++;

else

{flag=1;

if(len>=length)

{length=len;place=point;len=0;}

} return(place);}

7-11 #include #include #define N 10 char str[N];int main(){void sort(char []);int i,flag;for(flag=1;flag==1;)

{printf(“input string:n”);

scanf(“%s”,&str);

if(strlen(str)>N)

printf(“string too long,input again!”);

else

flag=0;

} sort(str);printf(“string sorted:n”);for(i=0;i

printf(“%c”,str[i]);printf(“n”);return 0;}

void sort(char str[]){int i,j;char t;for(j=1;j

for(i=0;(i

if(str[i]>str[i+1])

{t=str[i];

str[i]=str[i+1];

str[i+1]=t;

} }

7-12 #include #include int main(){float solut(float a,float b,float c,float d);float a,b,c,d;printf(“input a,b,c,d:”);scanf(“%f,%f,%f,%f”,&a,&b,&c,&d);printf(“x=%10.7fn”,solut(a,b,c,d));return 0;}

float solut(float a,float b,float c,float d){float x=1,x0,f,f1;do

{x0=x;

f=((a*x0+b)*x0+c)*x0+d;

f1=(3*a*x0+2*b)*x0+c;

x=x0-f/f1;

} while(fabs(x-x0)>=1e-3);return(x);}

7-13 #include #define N 10 #define M 5 float score[N][M];float a_stu[N],a_cour[M];int r,c;

int main(){ int i,j;

float h;

float s_var(void);

float highest();

void input_stu(void);

void aver_stu(void);

void aver_cour(void);

input_stu();

aver_stu();

aver_cour();

printf(“n NO.cour1

cour2

cour3

cour4 avern”);

for(i=0;i

{printf(“n NO %2d ”,i+1);

for(j=0;j

printf(“%8.2f”,score[i][j]);

printf(“%8.2fn”,a_stu[i]);

}

printf(“naverage:”);

for(j=0;j

printf(“%8.2f”,a_cour[j]);

printf(“n”);

h=highest();

printf(“highest:%7.2f

NO.%2d

course %2dn”,h,r,c);

printf(“variance %8.2fn”,s_var());

return 0;

cour5

}

void input_stu(void){int i,j;

for(i=0;i

{printf(“ninput score of student%2d:n”,i+1);

for(j=0;j

scanf(“%f”,&score[i][j]);

} }

void aver_stu(void){int i,j;

float s;

for(i=0;i

{for(j=0,s=0;j

s+=score[i][j];

a_stu[i]=s/5.0;

} } void aver_cour(void){int i,j;

float s;

for(j=0;j

{s=0;

for(i=0;i

s+=score[i][j];

a_cour[j]=s/(float)N;

} }

float highest(){float high;

int i,j;

high=score[0][0];

for(i=0;i

for(j=0;j

if(score[i][j]>high)

{high=score[i][j];r=i+1;c=j+1;}

return(high);}

float s_var(void){int i;

float sumx,sumxn;

sumx=0.0;

sumxn=0.0;

for(i=0;i

{sumx+=a_stu[i]*a_stu[i];

sumxn+=a_stu[i];

}

return(sumx/N-(sumxn/N)*(sumxn/N));}

7-*14 #include #define N 10 #define M 5 float score[N][M];float a_stu[N],a_cour[M];int r,c;

int main(){ int i,j;

float h;

float s_var(void);

float highest();

void input_stu(void);

void aver_stu(void);

void aver_cour(void);

input_stu();

aver_stu();

aver_cour();

printf(“n NO.cour1 avern”);

for(i=0;i

{printf(“n NO %2d ”,i+1);

for(j=0;j

printf(“%8.2f”,score[i][j]);

printf(“%8.2fn”,a_stu[i]);

}

cour2

cour3 cour4

cour5

printf(“naverage:”);

for(j=0;j

printf(“%8.2f”,a_cour[j]);

printf(“n”);

h=highest();

printf(“highest:%7.2f

NO.%2d

course %2dn”,h,r,c);

printf(“variance %8.2fn”,s_var());

return 0;}

void input_stu(void){int i,j;

for(i=0;i

{printf(“ninput score of student%2d:n”,i+1);

for(j=0;j

scanf(“%f”,&score[i][j]);

} }

void aver_stu(void){int i,j;

float s;

for(i=0;i

{for(j=0,s=0;j

s+=score[i][j];

a_stu[i]=s/5.0;

} }

void aver_cour(void){int i,j;

float s;

for(j=0;j

{s=0;

for(i=0;i

s+=score[i][j];

a_cour[j]=s/(float)N;

} }

float highest(){float high;

int i,j;

high=score[0][0];

for(i=0;i

for(j=0;j

if(score[i][j]>high)

{high=score[i][j];r=i+1;c=j+1;}

return(high);}

float s_var(void){int i;

float sumx,sumxn;

sumx=0.0;

sumxn=0.0;

for(i=0;i

{sumx+=a_stu[i]*a_stu[i];

sumxn+=a_stu[i];

}

return(sumx/N-(sumxn/N)*(sumxn/N));} 7-15 #include #include #define N 10 int main()

{void input(int [],char name[][8]);

void sort(int [],char name[][8]);void search(int ,int [],char name[][8]);int num[N],number,flag=1,c;

char name[N][8];

input(num,name);

sort(num,name);

while(flag==1)

{printf(“ninput number to look for:”);

scanf(“%d”,&number);

search(number,num,name);

printf(“continue ot not(Y/N)?”);

getchar();

c=getchar();

if(c=='N'||c=='n')

flag=0;

} return 0;

}

void input(int num[],char name[N][8]){int i;

for(i=0;i

{printf(“input NO.: ”);

scanf(“%d”,&num[i]);

printf(“input name: ”);

getchar();

gets(name[i]);

} }

void sort(int num[],char name[N][8]){ int i,j,min,templ;

char temp2[8];

for(i=0;i

{min=i;

for(j=i;j

if(num[min]>num[j])min=j;

templ=num[i];

strcpy(temp2,name[i]);

num[i]=num[min];

strcpy(name[i],name[min]);

num[min]=templ;

strcpy(name[min],temp2);

}

printf(“n result:n”);

for(i=0;i

printf(“n %5d%10s”,num[i],name[i]);}

void search(int n,int num[],char name[N][8])

{int top,bott,mid,loca,sign;

top=0;

bott=N-1;

loca=0;

sign=1;

if((nnum[N-1]))loca=-1;

while((sign==1)&&(top<=bott)){mid=(bott+top)/2;

if(n==num[mid])

{loca=mid;

printf(“NO.%d , his name is %s.n”,n,name[loca]);

sign=-1;

} else if(n

bott=mid-1;else

top=mid+1;}

if(sign==1 || loca==-1)

printf(“%d not been found.n”,n);

}

7-16 #include #define MAX 1000 int main(){ int htoi(char s[]);

int c,i,flag,flag1;

char t[MAX];

i=0;

flag=0;

flag1=1;

printf(“input a HEX number:”);

while((c=getchar())!='' && i

{if(c>='0' && c<='9'||c>='a' && c<='f'||c>='A' && c<='F')

{flag=1;

t[i++]=c;

}

else if(flag)

{t[i]='';

printf(“decimal number %dn”,htoi(t));

printf(“continue or not?”);

c=getchar();

if(c=='N'||c=='n')

flag1=0;

else

{flag=0;

i=0;

printf(“ninput a HEX number:”);

}

}

}

return 0;

}

int htoi(char s[])

{ int i,n;

n=0;

for(i=0;s[i]!='';i++)

{if(s[i]>='0'&& s[i]<='9')

n=n*16+s[i]-'0';

if(s[i]>='a' && s[i]<='f')

n=n*16+s[i]-'a'+10;

if(s[i]>='A' && s[i]<='F')

n=n*16+s[i]-'A'+10;

}

return(n);

}

7-17 #include int main(){ void convert(int n);

int number;

printf(“input an integer: ”);

scanf(“%d”,&number);

printf(“output: ”);

if(number<0){putchar('-');putchar(' ');/* */

number=-number;

}

convert(number);

printf(“n”);

return 0;}

void convert(int n){ int i;

if((i=n/10)!=0)

convert(i);

putchar(n%10+'0');

putchar(32);

先输出一个‘-’号和空格 }

7-18 #include int main(){int sum_day(int month,int day);int leap(int year);int year,month,day,days;printf(“input date(year,month,day):”);scanf(“%d,%d,%d”,&year,&month,&day);printf(“%d/%d/%d ”,year,month,day);days=sum_day(month,day);

sum_day */

if(leap(year)&&month>=3)/* */

days=days+1;printf(“is the %dth day in this year.n”,days);return 0;}

/* 调用函数调用函数leap

int sum_day(int month,int day)/* 函数sum_day:计算日期 */

{int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

int i;

for(i=1;i

return(day);} /* 函数leap:判断是否为闰年 */

int leap(int year){int leap;

leap=year%4==0&&year%100!=0||year%400==0;

return(leap);}

第8章善于利用指针220 8.1指针是什么220 8.2指针变量222 8.2.1使用指针变量的例子222 8.2.2怎样定义指针变量223 8.2.3怎样引用指针变量224 8.2.4指针变量作为函数参数226 8.3通过指针引用数组230 8.3.1数组元素的指针230 8.3.2在引用数组元素时指针的运算231 8.3.3通过指针引用数组元素233 8.3.4用数组名作函数参数237 8.3.5通过指针引用多维数组245 8.4通过指针引用字符串255 8.4.1字符串的引用方式 255 8.4.2字符指针作函数参数259 8.4.3使用字符指针变量和字符数组的比较263 8.5指向函数的指针266 8.5.1什么是函数指针266 8.5.2用函数指针变量调用函数266 8.5.3怎样定义和使用指向函数的指针变量268 8.5.4用指向函数的指针作函数参数270 8.6返回指针值的函数274 8.7指针数组和多重指针277 8.7.1什么是指针数组 277 8.7.2指向指针数据的指针280 8.7.3指针数组作main函数的形参282 8.8动态内存分配与指向它的指针变量285 8.8.1什么是内存的动态分配285 8.8.2怎样建立内存的动态分配285 8.8.3void指针类型 287 8.9有关指针的小结288习题291 8-1 #include int main(){ void swap(int *p1,int *p2);int n1,n2,n3;int *p1,*p2,*p3;printf(“input three integer n1,n2,n3:”);scanf(“%d,%d,%d”,&n1,&n2,&n3);p1=&n1;p2=&n2;p3=&n3;if(n1>n2)swap(p1,p2);if(n1>n3)swap(p1,p3);if(n2>n3)swap(p2,p3);printf(“Now,the order is:%d,%d,%dn”,n1,n2,n3);return 0;} void swap(int *p1,int *p2)

{int p;

p=*p1;*p1=*p2;*p2=p;

}

#include #include int main(){void swap(char *,char *);char str1[20],str2[20],str3[20];printf(“input three line:n”);gets(str1);gets(str2);gets(str3);if(strcmp(str1,str2)>0)swap(str1,str2);if(strcmp(str1,str3)>0)swap(str1,str3);if(strcmp(str2,str3)>0)swap(str2,str3);printf(“Now,the order is:n”);printf(“%sn%sn%sn”,str1,str2,str3);return 0;}

void swap(char *p1,char *p2){char p[20];

strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);}

8-3 #include int main(){ void input(int *);

void max_min_value(int *);

void output(int *);

int number[10];

input(number);

max_min_value(number);

output(number);

return 0;}

void input(int *number)

{int i;

printf(“input 10 numbers:”);

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

scanf(“%d”,&number[i]);

}

void max_min_value(int *number)

{ int *max,*min,*p,temp;

max=min=number;

for(p=number+1;p

if(*p>*max)max=p;

else if(*p<*min)min=p;

temp=number[0];number[0]=*min;*min=temp;

if(max==number)max=min;

temp=number[9];number[9]=*max;*max=temp;

}

void output(int *number)

{int *p;

printf(“Now,they are:

”);

for(p=number;p

printf(“%d ”,*p);

printf(“n”);

}

8-4 #include int main()

{void move(int [20],int,int);

int number[20],n,m,i;printf(“how many numbers?”);scanf(“%d”,&n);printf(“input %d numbers:n”,n);for(i=0;i

scanf(“%d”,&number[i]);printf(“how many place you want move?”);scanf(“%d”,&m);move(number,n,m);printf(“Now,they are:n”);for(i=0;i

printf(“%d ”,number[i]);printf(“n”);return 0;}

void move(int array[20],int n,int m)

{int *p,array_end;

array_end=*(array+n-1);

for(p=array+n-1;p>array;p--)

*p=*(p-1);

*array=array_end;

m--;

if(m>0)move(array,n,m);

} 8-5 #include int main(){int i,k,m,n,num[50],*p;printf(“ninput number of person: n=”);scanf(“%d”,&n);p=num;for(i=0;i

*(p+i)=i+1;

i=0;

k=0;

m=0;

while(m

{if(*(p+i)!=0)k++;

if(k==3)

{*(p+i)=0;

k=0;

m++;

}

i++;

if(i==n)i=0;

} while(*p==0)p++;printf(“The last one is NO.%dn”,*p);return 0;}

8-6 #include int main(){int length(char *p);int len;char str[20];printf(“input string: ”);scanf(“%s”,str);len=length(str);printf(“The length of string is %d.n”,len);return 0;}

int length(char *p)

{int n;n=0;while(*p!='')

{n++;

p++;

} return(n);}

8-7 #include #include int main(){void copystr(char *,char *,int);

int m;char str1[20],str2[20];printf(“input string:”);gets(str1);printf(“which character that begin to copy?”);scanf(“%d”,&m);if(strlen(str1)

printf(“input error!”);else

{copystr(str1,str2,m);

printf(“result:%sn”,str2);

} return 0;}

void copystr(char *p1,char *p2,int m)

{int n;

第二篇:幼儿语言教育答案

1.第1题

讲述活动的凭借物决定了儿童讲述的()A.内容和方向 B.时间和频率 C.语言交流的形式 D.语言活动的场合

您的答案:A 题目分数:2.0 此题得分:2.0

2.第2题

人运用语言材料和语言规则所进行的交际活动的过程我们称之为()A.言语 B.编码 C.译码 D.语言能力

您的答案:A 题目分数:2.0 此题得分:2.0

3.第3题

选出不属于语言教育活动设计与实施的原则的一项()

A.活动经验连续性的原则 B.活动主客体交互作用的原则 C.活动内容和方式相适应的原则 D.教师显性指导的原则

您的答案:D 题目分数:2.0 此题得分:2.0

4.第4题

行为主义的语言模式来源于()和华生的基本概念。A.坎特

B.布龙菲尔德 C.巴甫洛夫 D.斯金纳

您的答案:D 题目分数:2.0 此题得分:0.0

5.第5题

早期阅读活动主要是帮助儿童获得()

A.前图书阅读经验、前识字经验和前书写经验 B.会做读书笔记的经验 C.会握笔写字的经验

D.图书阅读经验、讲故事的经验

您的答案:A 题目分数:2.0 此题得分:2.0

6.第6题

早期阅读教学的认字教学主要是针对()A.字形的再认 B.字形的再现 C.字音的读准 D.字义的了解

您的答案:C 题目分数:2.0 此题得分:0.0

7.第7题

()是实现文化保存和传递的最佳方式。A.口头语言 B.日常语言 C.文学语言 D.书面语言

您的答案:D 题目分数:2.0 此题得分:2.0

8.第8题

心理学研究发现,()以上的儿童一般能掌握本民族的全部语言 A.4岁 B.5岁 C.6岁 D.7岁

您的答案:A 题目分数:2.0 此题得分:2.0

9.第9题

儿童归纳图书内容的“一段话归纳法”一般适合于()的儿童使用 A.小班前期

B.小班后期和中班前期 C.中班后期和大班前期 D.大班后期

您的答案:B 题目分数:2.0 此题得分:2.0

10.第10题

幼儿园中班编构故事的重点应放在编构故事的()。A.开端 B.发展 C.高潮 D.结局

您的答案:C 题目分数:2.0 此题得分:2.0

11.第11题

下列有关儿童语言教育目标层次结构的论述,不正确的是()。

A.学前教育的终期目标和年龄阶段目标一般由专门的机构制定

B.具体活动目标是为语言教育的总目标和年龄阶段目标服务的

C.学前儿童教育的具体活动目标一般是由教师自己制定的

D.教师制定具体活动目标要符合年龄阶段目标,终期目标往往不过多考虑。

您的答案:D 题目分数:2.0 此题得分:2.0

12.第12题

在科学教育活动中的语言教育活动属于 A.专门的语言教育活动 B.渗透的语言教育活动 C.谈话活动 D.讲述活动

您的答案:C 题目分数:2.0 此题得分:0.0

13.第13题

选出不属于谈话活动情境创设方式的一项 A.用实物创设 B.用语言创设 C.用表演形式创设 D.用实验调查创设

您的答案:D 题目分数:2.0 此题得分:2.0

14.第14题

幼儿接触书面语言的途径是()。A.早期阅读活动 B.早期谈话活动 C.早期讲述活动 D.早期欣赏活动

您的答案:A 题目分数:2.0 此题得分:2.0

15.第15题

语言和言语的关系是()A.语言依靠言语 B.言语离不开语言 C.两者互相依存 D.两者互不相干

您的答案:C 题目分数:2.0 此题得分:2.0

16.第16题

儿童外耳道壁未完全骨化和闭合,要到()岁才能完成。A.3 B.5 C.10 D.15 您的答案:B 题目分数:2.0 此题得分:2.0

17.第17题

后天环境论者认为,语言的本质是()。A.人类特有的一种特殊认知能力 B.人类特有的一种心理现象 C.一定的语法规则 D.刺激——反应连接

您的答案:D 题目分数:2.0 此题得分:2.0

18.第18题

乔姆斯基认为,儿童获得语言的过程是由()向()转化的过程。

A.语言形式 语言内容 B.普遍语法 个别语法 C.语言内容 语法知识 D.语言环境 语言能力

您的答案:D 题目分数:2.0 此题得分:0.0

19.第19题

后天环境论者认为()

A.儿童学习语言是通过模仿—强化-重复获得的 B.儿童学习语言是依靠遗传的作用,是预成的 C.社会交往决定了儿童语言的正常发展

D.语言结构来自于儿童当前的认知图式与环境的相互作用

您的答案:A 题目分数:2.0 此题得分:2.0

20.第20题

选出不属于专门的语言教育内容的一项 A.外语学习B.学习普通话 C.早期阅读 D.谈话

您的答案:A 题目分数:2.0 此题得分:2.0

21.第21题

幼儿园谈话活动是一种()的组织幼儿学习的专门的语言教育活动。A.有目的、无计划 B.自发性

C.有目的、有计划 D.随机性

您的答案:C 题目分数:2.0 此题得分:2.0

22.第22题

幼儿园文学教育活动的目的是向儿童展示()A.成熟的语言 B.好听的语言 C.浅显的语言 D.简化的语言

您的答案:A 题目分数:2.0 此题得分:2.0

23.第23题 幼儿园文学活动中,小班编构故事的重点是故事的()。A.开端 B.发展 C.高潮 D.结局

您的答案:D 题目分数:2.0 此题得分:2.0

24.第24题

在多民族聚集的国家和地区,人们为了交际而使用的语言称为()A.第一语言 B.第二语言 C.母语 D.本族语

您的答案:B 题目分数:2.0 此题得分:2.0

25.第25题

后天环境论者认为,()是语言学习的必要条件。

A.先天生理机制 B.强化 C.认知结构 D.思维

您的答案:C 题目分数:2.0 此题得分:0.0

26.第26题

活动方式是指()、活动方法、活动形式三者的有机结合和综合体现。A.活动环境和条件 B.活动人数 C.活动主体 D.活动材料

您的答案:A 题目分数:2.0 此题得分:2.0

27.第27题

谈话活动与科学教育的“总结性谈话”最明显的区别在于谈话活动侧重于培养幼儿(),不特别考虑话题内容的认识范畴。A.探究能力 B.倾听能力 C.认识能力 D.语言能力

您的答案:D 题目分数:2.0 此题得分:2.0

28.第28题

与围绕已有经验进行交谈的谈话活动不同,讲述活动要求有一个()A.话题 B.凭借物 C.学具 D.教具

您的答案:B 题目分数:2.0 此题得分:2.0

29.第29题

学前儿童语言教育活动的设计与实施步骤包括制定活动目标、选择活动内容、()、拟定活动方案的一般流程等几个步骤。A.研究儿童心理 B.布置活动环境 C.策划活动流程 D.精心制作教具

您的答案:C 题目分数:2.0 此题得分:2.0

30.第30题 在创设谈话情境中,无论以哪种方式创设谈话情境,都必须以有利于()为前提。A.幼儿谈话 B.教师组织

C.幼儿倾听能力发展 D.幼儿智力发展

您的答案:A 题目分数:2.0 此题得分:2.0

31.第31题

儿童词汇增长的高速期是在()A.1岁左右 B.2岁左右 C.3岁左右 D.4岁左右

您的答案:C 题目分数:2.0 此题得分:2.0

32.第32题

我国儿童语音发展出现的情况是()A.发韵母比发声母困难 B.发韵母困难 C.两者一样困难

D.发声母比发韵母困难

您的答案:D 题目分数:2.0 此题得分:2.0

33.第33题、后天环境论代表人物是 A.斯金纳 B.乔姆斯基 C.皮亚杰 D.贝茨

您的答案:A 题目分数:2.0 此题得分:2.0

34.第34题

早期阅读教育活动的整合性体现在早期阅读是()的结合

A.书面语言和口头语言 B.教师体态语和引导语 C.书面语言和绘画语言 D.书面语言和故事情节

您的答案:A 题目分数:2.0 此题得分:2.0

35.第35题

幼儿园文学活动,是以文学作品为基本教育内容而设计组织的语言教育活动。它的第一层次是()。A.理解体验作品 B.迁移作品经验 C.学习文学作品

D.创造性想象和语言表达

您的答案:A 题目分数:2.0 此题得分:2.0

36.第36题

对幼儿谈话活动的作用认识不正确的一项是()A.激发幼儿与他人交谈的兴趣 B.帮助幼儿打破谈话规则的限制 C.增强幼儿通过谈话获取信息的意识

D.引导幼儿关注周围生活并建立良好的同伴关系

您的答案:A 题目分数:2.0 此题得分:2.0

37.第37题

中大班幼儿语言教育重点在()A.听力训练 B.发音训练 C.矫正发音 D.教师示范 您的答案:C 题目分数:2.0 此题得分:2.0

38.第38题

儿童归纳图书内容的“图书命名法”一般适合于()的儿童使用 A.小班前期 B.小班后期 C.中班前期 D.中班后期

您的答案:D 题目分数:2.0 此题得分:2.0

39.第39题

狭义的学前儿童语言教育把()的儿童的所有语言获得和学习现象、规律以及训练与教育作为主要研究的对象。A.0~3 B.3~6 C.0~6 D.0~18 您的答案:B 题目分数:2.0 此题得分:2.0

40.第40题

儿童开始说话的单词句阶段通常延续()A.3个月 B.半年 C.一年 D.一年半

您的答案:B 题目分数:2.0 此题得分:2.0

41.第41题

认知相互作用论的语言学习模式的代表人物是()A.皮亚杰 B.乔姆斯基 C.斯金纳 D.贝茨

您的答案:A 题目分数:2.0 此题得分:2.0

42.第42题

强化说的代表人物是()A.皮亚杰 B.乔姆斯基 C.斯金纳 D.布鲁姆

您的答案:C 题目分数:2.0 此题得分:2.0

43.第43题

学前儿童语言教育目标可划分为倾听行为的培养、()、欣赏文学作品行为的培养和早期阅读行为的培养四大类。

A.游戏行为的培养 B.写字行为的培养 C.听说行为的培养 D.表述行为的培养

您的答案:D 题目分数:2.0 此题得分:2.0

44.第44题

谈话活动设计的基本结构中的第一步骤是()A.提出基本原则,引导认真倾听 B.创设谈话情境,引出谈话话题 C.幼儿围绕话题自由交谈

D.教师引导幼儿逐步拓展谈话范围

您的答案:B 题目分数:2.0 此题得分:2.0

45.第45题

在讲述活动中,()

A.幼儿有机会逐渐体会在集体面前独立讲述自己的想法

B.幼儿有机会在家长面前独立讲述自己的想法

C.幼儿有机会逐渐学习在集体面前独立讲述自己的想法

D.幼儿没有机会在集体面前集体讲述自己的想法

您的答案:C 题目分数:2.0 此题得分:2.0

46.第46题

选出不符合学前儿童掌握词类顺序的一项 A.先实词后虚词 B.先名词后动词 C.先副词后动词 D.先名词后形容词

您的答案:C 题目分数:2.0 此题得分:0.0

47.第47题

渗透的语言教育内容主要是

A.促进学前儿童与教师、同伴之间的有效言语交流 B.促进学前儿童同伴之间的有效语言交流 C.促进教师之间的有效言语交流 D.加强自由游戏中的语言交往

您的答案:A 题目分数:2.0 此题得分:2.0

48.第48题

小班幼儿对图书的选择要求是()

A.情节简单、人物形象、色彩鲜艳的有短句或词汇的单页单幅图

B.情节较为复杂、画面之间关联较明显的单页多幅图 C.情节丰富复杂的图书或常用字多、独体字较多的单页单幅图 D.儿童有兴趣的无论单页还是多页的图书都可选

您的答案:A 题目分数:2.0 此题得分:2.0

49.第49题

幼儿园的文学活动是围绕()展开活动的。A.幼儿已有的经验 B.低幼儿童文学作品 C.幼儿喜欢的表演 D.幼儿喜欢看的图书

您的答案:D 题目分数:2.0 此题得分:0.0

50.第50题

儿童听觉的个别差异性很大,随着年龄的增长而()A.不断减少 B.不断增加 C.没有增减 D.快速增加

您的答案:A 题目分数:2.0 此题得分:2.0

第三篇:C语言作业答案

厦门大学公共课 《C语言程序设计》 教材习题答案

第三章 结构化程序设计

一、思考题

1、顺序结构的语句有哪些?

表达式语句,空语句,复合语句

2、从程序控制的角度看,复合语句是单一的语句吗?

3、C语言中的语句有哪几类?C语句与其他语言中的语句有哪些异同?

表达式语句,空语句,复合语句,控制语句。C语言与其他语言的语句类型基本相同,只是语法有所区别。

4、怎样区分表达式和表达式语句?C语言为什么要设表达式语句?什么时候用表达式,什么时候用表达式语句?

在C语言中,只要在任何表达式的结尾加上分号“;”就构成了表达式语句。表达式语句使C语言更加灵活。当我们使用表达式语句时一般只关心它的作用而不关心该表达式的值。如puts(“hello”);这个表达式语句,我们关心的是输出hello这个结果而不是puts函数的返回值。

5、C语言的输入输出功能是表达式语句吗,为什么?

是,因为输入输出功能是函数调用语句。

二、选择题

1、以下符合C语言语法的赋值表达式是B)d=9+e,f=d+9

2、下面程序运行时的输出结果是D)a=8

main(){

int a=5;

printf(“a=%dn”,++a+2);}

3、putchar函数可以向终端输出一个D)字符或字符变量值

4、运行以下程序时,从键盘输入25,13,10(回车),则输出结果是A)a1+a2+a3=48 main(){

int a1,a2,a3;

scanf(“%d,%d,%d”,&a1,&a2,&a3);}

5、若有以下定义和语句 char c1=‟b‟,c2=‟e‟;printf(“%d,%cn”,c2-c1,c2-„a‟+‟A‟);则输出结果是B)3,E

6、下面程序的执行结果是A)10 main(){

int a,b;

a=20;b=10;

a+=a+b;

a-=a-b;

printf(“%dn”,a);}

7、使下列程序输出”123,456,78”,由键盘输出数据,正确的输入是C)123,45678

int i,j,k;

scanf(“%d,%3d%d”,&i,&j,&k);主讲教师:林子雨

E-mail:ziyulin@xmu.edu.cn

第1页/共4页 厦门大学公共课 《C语言程序设计》 教材习题答案

第三章 结构化程序设计

printf(“%d,%d,%dn”,i,j,k);

三、编程题

1、若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’,想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。要求输出结果如下: a=3 b=4 c=5 x=1.200000,y=2.400000,z=-3.600000 x+y=3.60 y+z=-1.20 z+x=-2.40 u=51274 n=128765 c1=’a’or 97(ascii)c2=’b’or 98(ascii)#include

void main(){ int a=3,b=4,c=5;double x=1.2,y=2.4,z=-3.6;long u=51274,n=128765;char c1='a',c2='b';printf(“a=%d b=%d c=%dn”,a,b,c);printf(“x=%lf,y=%lf,z=%lfn”,x,y,z);printf(“x+y=%.2f y+z=%.2f z+x=%.2fn”,x+y,y+z,z+x);printf(“u=%ld n=%ldn”,u,n);printf(“c1='%c'or%d(ascii)n”,c1,c1);printf(“c2='%c'or%d(ascii)n”,c2,c2);}

2、请写出下面程序的输出结果 main(){ int a=5,b=7;float x=67.8564,y=-789.124;char c=’a’;long n=1234567;unsigned u=65535;printf(“%d%dn”,a,b);printf(“%3d%3dn”,a,b);printf(“%f,%fn”,x,y);printf(“%-10f,%10fn”,x,y);printf(“8.2f,%8.2f,%.4f,%.4f,%3f,%3fn”,x,y,x,y,x,y);printf(“%e,%10.2en”,x,y);printf(“%c,%d,%o,%xn”,c,c,c,c);printf(“%ld,%lo,%xn”,n,n,n);printf(“%u,%o,%x,%dn”,u,u,u,u);printf(“%s,%5.3sn”,”computer”,”computer”);} 57 主讲教师:林子雨

E-mail:ziyulin@xmu.edu.cn 第2页/共4页

厦门大学公共课 《C语言程序设计》 教材习题答案

第三章 结构化程序设计 7 67.856400,-789.124023 67.856400 ,-789.124023 8.2f,67.86,-789.1240,67.8564,-789.124023,67.856400 6.785640e+001,-7.89e+002 a,97,141,61 1234567,4553207,12d687 65535,177777,ffff,65535 computer, com

3、用下面的scanf函数输入数据,使a=10,b=20,c1=’a’,c2='a',x=1.5.,y=-3.75,z=67.8,请问在键盘上如何输入数据?

scanf(“%5d%5d%c%c%f%f%*f,%f”,&a,&b,&c1,&c2,&x,&y,&z);0001000020aa1.5-3.75 1,67.8 4.设圆球半径为r=2.5,求圆球表面积、圆球体积。用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后两位数字。请编程序。#include #define PI 3.14 main(){ float r,s,v;printf(“输入半径:”);scanf(“%f”,&r);s=4*PI*r*r;v=4.0/3*PI*r*r*r;printf(“圆球面积是:%.2fn”,s);printf(“圆球体积是:%.2fn”,v);} 5.输入一个华氏温度,根据公式为c=5/9(f-32)计算并输出摄氏温度,输出时要求有文字说明,取2位小数。请编程序。#include main(){ float f,c;printf(“输入华氏温度:”);scanf(“%f”,&f);c=5.0/9*(f-32);printf(“摄氏温度是:%f”,c);} 6.输入三角形的三边长,求三角形面积。请编程序。#include #include main(){ float a,b,c,s,area;主讲教师:林子雨

E-mail:ziyulin@xmu.edu.cn

第3页/共4页 厦门大学公共课 《C语言程序设计》 教材习题答案

第三章 结构化程序设计

} 7.编写一个能引起short型变量溢出的程序。#include main(){ short a;a=21344211;printf(“a=21344211,溢出后a=%dn”,a);} 8.编写一个程序,显示下列10个转义字符:a,b,n,r,t,v,',“,? #include main(){ printf(”a,b,r, ,v,',“,?”);} 9.编写一个程序,输入一个小写字母,输出其对应的大写字母。#include main(){ char a,A;printf(“输入一个小写字母,将输出一个相应大写字母:”);a=getchar();A=a+'A'-'a';putchar(A);putchar('n');} printf(“输入三角形的三条边长:”);scanf(“%f%f%f”,&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){ //海伦公式

s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“面积是:%f”,area);} else printf(“该三角形不存在!”);主讲教师:林子雨

E-mail:ziyulin@xmu.edu.cn

第4页/共4页

第四篇:模拟题c语言答案

此答案为自己所出,若有不对之处请谅解,并希望能留言

单选题(共60题,每题1分,共60分)1.下列符号串中,属于C语言合法标识符的个数为(B)。

_1_2_3,a-b-c,float,9cd,a3b4

A:1

B:2

C:3

D:4 2.下列能为字符变量 a 赋值的是:char a=(C)。

A:'ab'

B:“a”

C:''

D:“” 3.在下列字符序列中,合法的标识符是(B)。

A:P12.a

B:stud_100

C:$water.1

D:88sum 4.下列用于printf函数的控制字符常量中,代表tab的字符常量是(B)。

A:'b'

B:'t'

C:'r'

D:'f' 5.下列用于printf函数的控制字符常量中,代表退格的字符常量是(A)。

A:'b'

B:'t'

C:'r'

D:'n' 6.如有以下程序:unsigned int a=6;int b=-20;char c;c=(a+b>6);则c的值为(C)。(int转换为unsigned)

A:6

B:-14

C:1

D:0 7.关于C语言,以下不正确的叙述是(B)。

A:在C语言程序设计中,逗号运算符的优先级最低

B:在C语言程序设计中,var和VAR是两个相

同的变量

C:C语言也支持重载

D:此处的两个语句int a;a=-13.06;在程序编译中将会提示出错 8.若有定义: int a=2,*p;float x=1, y=2;char e=‘w’;

则以下用法不正确的是(B)。

A:printf(“%c”,e+a);

B:p=&x;

C:a *=y+x;

D:x=y=e;9.int x=20;printf(“%dn”,~x);以上程序片段的输出是(B)。

A:235

B:-21

C:-20

D:-11 10.在C语言中,要求运算数必须是整型的运算符是(D)。

A:/

B:++

C:!=

D:% 11.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(结果保留两位小数)(A)。

A:2.50

B:2.75

C:3.50

D:0.00 12.以下运算符中优先级最低的是(C)。

A:&&(第三)

B:&(第一)

C:||(第四)

D:|(第二)

13.设有定义语句:char c1=1,c2=1;,则以下表达式中值为零的是(A)。

A:c1^c2

B:c1&c2

C:~c2

D:c1|c2 14.以下程序的输出结果是

#include void main(){

unsigned char a,b;

a=0x0a|3;

b=0x0a&3;

printf(“%d %dn”,a,b);}(B)。

A:2 11

B:11 2

C:7 13

D:13 7 15.如果int i = 4, 则printf(“%d”,-i--)结果是__,i的值是。(A)

A:-4 3

B:-3 3

C:-3 4

D:-4 4 16.若x=2,y=3则x&y的结果是(B)。

A:1

B:2

C:3 的输出

D:5 17.下列程序的输出是(B)。main(){int x;printf(“%dn”,(x=3*5,x*2,x+10));}

A:15

B:25

C:30

D:40 18.若x,i,j和k都是int型变量,则计算下面表达式后,x的值为(C)。x=(i=4,j=16,k=32)

A:4

B:16

C:32

D:其他值

19.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)。

A:7

B:8

C:6

D:2

20.以下程序运行后的输出结果是(A)。main(){int a,b;a=50;b=90;printf(“%dn”,(a,b));}

A:90

B:50 90

C:50

D:其他

21.以下程序的运行结果是(A)。void main(){

int a=4;char ch=‘a’;

printf(“%dn”,(a&2)&&(ch>‘A’));}

A:0

B:1

C:2

D:3 22.以下程序的输出是(D)。#include

main()

{ int i,j=4;

for(i=j;i<=2*j;i++)switch(i/j){ case 0 :

case 1: printf(“*”);break;

case 2: printf(“#”);break;} }

A:*###

B:**##

C:***#

D:****# 23.有如下程序片段: int i = 0;while(i++ <= 2);printf(“%d”, i--);则正确的执行结果是(C)。

A:2

B:3

C:4

D:以上都不是 24.有以下程序段 main(){ int i=1,sum=0,n;

scanf(“%d”,&n);do { i+=2;sum+=i;}while(i!=n);printf(“%d”,sum);} 若使程序的输出值为15,则应该从键盘输入的n的值是(D)。

A:1

B:3

C:5

D:7 25.以下程序的输出是(A)。

#include void fun(int *p){

int a=10;

p=&a;

++a;} void main(){

int a=5;

fun(&a);

printf(“%dn”,a);}

A:5

B:6

C:10

D:11 26.以下关于函数的说法中正确的是(C)。

A:定义函数时,形参类型说明可放在函数体内

B:return语句后边的值不能为表达式

C:如果函数类型与返回值类型不一致,以函数类型为准

D:如果形参与实参的类型不一致,以实参为准

27.已知有定义:int *p();则以下说法正确的是(C)。

A:指向int型的指针变量

B:int型的指针数组

C:一个函数,该函数的返回值是指向int型的指针变量

D:一个指向函数的指针变量,该函数的返回值为int型

28.若有如下程序: void s(char *m,int n){

*m=*m+3;n=n+3;

printf(“%c,%c,”,*m,n);} void main(){

char p=‘b’,q=‘B’;

s(&q,p);

printf(“%c,%cn”,p,q);}则程序运行后的输出结果是(A)。

A:E,e,b,E

B:e,E,b,F

C:E,e,e,E

D:e,E,b,E 29.C语言规定函数返回值的类型由(A)。

A:在定义时所指定的函数类型所决定

B:调用该函数时的主调函数类型所决定

C:return语句中的表达式类型所决定

D:调用该函数时系统临时决定

30.要在c语言中求正弦30度的值,可以调用库函数,可用格式为(D)。

A:sin(30)

B:sin(30.0)

C:sin((double)30)

D:sin(3.1415/6)31.在C语言程序设计中,简单变量作为实参时,它和对应形参之间的数据的传递方式是(B)。

A:地址传递

B:单向值传递

C:由实参传给形参,再由形参传给实参

D:由用户指定传递方式 32.以下程序的输出为(C)。int a=2;int f(int *a)

{

return(*a)++;} void main(){

int s=0;

{int a=5;

s+=f(&a);

}

s+=f(&a);

printf(“%d %dn”,a,s);}

A:2 7

B:2 10

C:3 7

D:3 11 33.以下程序输出结果是(D)。#include int *fun(){ int a[4],k;for(k=0;k<4;k++)a[k]=k;

return(a);} void main(){ int *p,j;p=NULL;p=fun();for(j=0;j<4;j++){printf(“%dn”,*p);p++;} }

A:输出0 0 0 0

B:输出0 1 2 3

C:输出1 1 1 1

D:输出不确定值 34.以下程序的运行结果是(D)。void fun(int *n){

static int m=2;

*n*=m-1;m+=2;} void main(){

static int m=1;

int i;

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

fun(&m);

printf(“%dn”,m);}

A:8

B:10

C:11

D:15 35.下面对typedef的叙述中不正确的是(B)。

A:用typedef可以定义各种类型名,但不能用来定义变量

B:typedef和#define都是在预编译时处理的

C:用typedef只是将已存在的类型用一个新的标识符来代表

D:使用typedef有利于程序的通用和移植 36.要使用内存分配函数malloc,需要引入的头文件是(BC)。

A:stdio.h

B:stdlib.h

C:malloc.h

D:memory.h

37.以下宏定义中,不会引起二义性的宏个数为(A)。1)#define POWER(x)x*x 2)#define POWER(x)(x)*(x)3)#define POWER(x)(x*x)4)#define POWER(x)((x)*(x))(没有二义性)

A:1个

B:2个

C:3个

D:4个

38.若有二维数组定义语句:int a[4][5];则下面对元素a[2][3]不正确的引用方式是(B)。

A:*(&a[2][3])

B:*(a+5*2+3)可以换为(&a[0][0]+5*2+3)

C:*(a[2]+3)

D:*(*(a+2)+3)39.若二维数组定义为a[m][n],则在a[i][j]之前的元素个数为(B)。(不知怎么下面是m,应该是n把,不清楚!)

A:j*m+i

B:i*m+j

C:i*m+j-1

D:j*m+i-1

40.有字符数组a[10]={‘A’,‘’}和b[10]={‘B’},则以下正确的输出语句是(D)。

A:puts(a,b);

B:printf(“%s %sn”,a[],b[]);

C:putchar(a,b);

D:puts(a);puts(b);41.下列程序的输出结果是(D)。#include #include void main(){

char p1[20]=“abcd”,p2[20]=“ABCD”;

char str[50]=“xyz”;

strcpy(str+2,strcat(p1+2,p2+1));

printf(“%sn”,str);}

A:xyabcAB

B:abcABz

C:Ababcz

D:xycdBCD 42.以下程序执行后输出结果是(C)。void main()

{

char a[]=“movie”,b[10]=“movie”;

printf(“%d %dn”,sizeof(a),sizeof(b));}

A:5 5

B:6 6

C:6 10

D:10 10 43.以下程序的输出结果是(A)。void main(){

char *p[10]={“abc”,“aabdfg”,“dcdbe”,“abbd”,“cd”};

printf(“%dn”,strlen(p[4]));}

A:2

B:3

C:4

D:编译出错 44.已知有以下的说明,int a[]={8,1,2,5,0,4,7,6,3,9};那么a[*(a+a[3])]的值为(B)。

A:5

B:0

C:4

D:7 45.以下程序输出结果是(B)。#include main(){

int a[2][2]={1,2,3,4},(*p)[2];

p=a;

p++;

printf(“%dn”,**p);}

A:2

B:3

C:4

D:以上都不对

46.设char ch,str[4],*strp;,则正确的赋值语句是(C)。

A:ch=“CBA”;

B:str=“CBA”;

C:strp=“CBA”;

D:*strp=“CBA”;47.下面程序的运行结果是(C)。#include #include fun(char *w,int n){char t,*s1,*s2;s1=w;s2=w+n-1;while(s1

A:7654321

B:1714171

C:1711717

D:7177171 48.以下程序的输出是(C)。#include

main(){ char a[]=“language”,*p;p=a;while(*p!=‘u’){ printf(“%c”,*p-‘u’+‘U’);p++;} }

A:LANGUAGE

B:language

C:LANG

D:LANGuage 49.struct s1 {

char a[3];

int num;}t={‘a’,‘b’,‘x’,4},*p;p=&t;则输出为x的语句是(B)。

A:printf(“%cn”,p->t.a[2]);

B:printf(“%cn”,(*p).a[2])

C:printf(“%cn”,p->a[3]);

D:printf(“%cn”,(*p).t.a[2]);

50.以下程序的输出是(D)。#include main(){

struct st

{int x;

int y;

}cnum[2]={1,3,2,7};

printf(“%dn”,cnum[0].y/cnum[0].x*cnum[1].x);}

A:0

B:1

C:3

D:6 51.以下对age的非法引用是(B)。struct student {int age;

int num;}stu1,*p;p=&stu1;

A:stu1.age

B:student.age

C:p->age

D:(*p).age 52.以下程序的输出是(B)。#include union myun {struct {int x,y,z;}u;int k;}a;void main(){a.u.x=4;a.u.y=5;a.u.z=6;a.k=0;printf(“%dn”,a.u.y);}

A:4

B:5

C:6

D:0 53.若要用fopen函数打开一个二进制文件,该文件要既能读也能写,当文件不存在时新建文件,则文件打开方式字符串应是(C)。

A:“ab+”

B:“rb+”

C:“wb+”

D:“ab” 54.若执行fopen函数时发生错误,则函数的返回值是(B)。

A:地址值

B:0

C:1

D:EOF 55.要打开文件c:usertext.txt用于追加数据,正确的语句是(C)。

A:fp=fopen(“c:turboc2abc.txt”,“r”);

B:fp=fopen(“c: urboc2abc.txt”,“r”);

C:fp=fopen(“c: urboc2abc.txt”,“a+”);

D:fp=fopen(“c:turboc2abc.txt”,“a+”);56.在执行fopen函数时,ferror函数的初值是(D)。

A:TRUE

B:-1

C:1

D:0

57.#include main(){

char * s1=“Hello”,*s2=“Beijing”;

FILE *pf=fopen(“abc.dat”,“wb+”);

fwrite(s2,7,1,pf);

fseek(pf,-1,SEEK_CUR);

fwrite(s1,5,1,pf);

fclose(pf);} 以上程序执行后,文件abc.dat中的内容为(C)。

A:Hellong

B:Beijing Hello

C:BeijinHello

D:Hello 58.若fp为文件指针,且文件已正确打开,i为整型数据,以下语句的输出结果是(B)。fseek(fp,0,SEEK_END);i=ftell(fp);printf(“i=%dn”,i);

A:fp所指的文件记录长度

B:fp所指的文件长度,以字节为单位

C:fp所指的文件长度,以比特为单位

D:fp所指的文件当前位置,以字节为单位 59.函数调用语句:fseek(fp,-20L,2);的含义是(C)。

A:将文件位置指针移到距离文件头20个字节处

B:将文件位置指针从当前位置向后移动20个字节

C:将文件位置指针从文件末尾处后退20个字节

D:将文件位置指针移到离当前位置20个字节处

60.若将文件指针的读写位置指针移动到距离文件头200个字节的位置,对应正确的操作是(A)。

A:fseek(fp, 200, SEEK_SET)

B:fseek(fp, 200, SEEK_CUR)

C:fseek(fp, 200, SEEK_END)

D:ftell(200)

第五篇:c语言课后答案

c语言课后答案

第一章习题答案

一、选择题

1~5:BDCDA 6~10:DABBB 11~12:CC

二、填空题

1、main()

2、函数首部,函数体

3、函数

4、编辑、编译、连接、运行

5、.cpp、.obj、.exe

6、;或 分号

三、编程题

#include

/* 包含标准库的信息 */

void main()

/* 定义名为main 的函数,它不接受参数值 */

{

/* main函数的语句都被括在花括号中 */

printf(“hello, worldn”);

/* main 函数调用库函数printf 以显示字符序列,其中n代表换行符 */

}

第二章习题答案

一、选择题

1~5:CBABB 6~10:CDCDD 11~15:CADBC 16~20:BDAAD

二、填空题

1、整型,实型,字符型,枚举类型2、1 3、9 4、12353514 5、2,1 6、2,2 7、10 20 0

8、a=14 9、2,3,1

10、double

第三章习题答案

一、选择题

1~5:CBBBC 6~10:DDDBB

二、填空题

1、控制语句,表达式语句,复合语句

2、;

3、{} 4、1

5、a

6、c:dec=120,oct=170,hex=78,ASCII=x 7、32767,32767 8、10,A,10 9、3 3

10、(1)123.456001

(2)□□□□□□□ 123.456

(3)123.4560

(4)8765.456700

(5)□□□□□□ 8765.457

(6)8765.4567

(7)8765.4567

三、编程题

1、参考答案:

#include void main()

{

int a,b,c;

long int u,n;

float x,y,z;char c1,c2;

a=3;b=4;c=5;

x=1.2;y=2.4;z=-3.6;

u=51274;n=128765;

c1='a';c2='b';printf(“n”);

printf(“a=%2d b=%2d

c=%2dn”,a,b,c);

printf(“x=%8.6f,y=%8.6f,z=%9.6fn”,x,y,z);

printf(“x+y=%5.2f y+z=%5.2f z+x=%5.2fn”,x+y,y+z,z+x);

printf(“u=%6ld n=%9ldn”,u,n);

printf(“c1='%c' or %d(ASCII)n”,c1,c1);

printf(“c2='%c' or %d(ASCII)n”,c2,c2);

}

2、参考答案:

#include

void main()

{

float a, b, c, t;

printf(“please input a,b,c:n”);

scanf(“%f, %f, %f”, &a, &b, &c);

t=(a+b+c)/3;

printf(“average of %6.2f、%6.2f and

%6.2f }

3、参考答案:

#include main()

{

int R, d;

float s;

printf(”请输入圆的半径“);

scanf(”%d“,&R);

d=2*R;

c=2*3.14159*R;

printf(”d=%d,c=%fn“,d,c);

}

4、参考答案:

#include void main()

{

int h, f, x, y;/* x为鸡的数量,y为兔的数量 */ printf(”请输入鸡兔的总头数h,总脚数 f:“);

scanf(”%d%d“, &h, &f);

x=(4*h-f)/2;

y=(f-2*h)/2;

printf(”笼中有鸡%d 只,有兔%d只。n“, x, y);is %6.2fn”,a,b,c,t);

}

第四章习题答案

一、选择题

CDDDD CDBBC

二、填空题

1、&&,||,!,!,| |

2、(y%2 0)3、1

4、(a+b>c&&a+c>b&&b+c>a)5、2 3 3 6、7

三、编程题

1、参考答案:

#include void main()

{ int x;

scanf(“%d”,&x);

if(x%5 0 && x%7 0)

printf(“yesn”);else

printf(“non”);

}

2、参考答案:

#include void main()

{ int

a, b, c, max;

printf(“请输入三个整数:%%d%%d%%dn”);

scanf(“%d%d%d”, &a, &b, &c);

if(a>=b)

if(a>=c)max=a;

else max=c;

else

if(b>=c)max=b;

else

max=c;

printf(“n 最大数为:%dn”,max);

}

3、参考答案:

#include void main()

{

float

x , y;

printf(“请输入x 的值:”);

scanf(“%f”, &x);

if(x<1)y=1;

else if(x<10)

y=2*x-1;

else

y=3*x-11;

printf(“y = %.2fn”, y);

}

4、参考答案:

#include void main()

{

int year;

float money,rate,total;

/* money:本金 rate:月利率 total:本利合计

*/

printf(“Input money and year =?”);

scanf(“%f%d”, &money, &year);

/* 输入本金和存款年限 */

if(year 1)rate=0.00315;

/* 根据年限确定利率 */

else if(year 2)rate=0.00330;

else if(year 3)rate=0.00345;else if(year 5)rate=0.00375;

else if(year 8)rate=0.00420;

else rate=0.0;

total=money + money * rate * 12 * year;

/* 计算到期的本利合计 */

printf(“ Total = %.2fn”, total);

}

第五章习题答案

一、选择题

1~5: ACCBA 6~10:ACDCB

二、填空题

1、(1)i<=9 或 i<10(2)j%3!=0 2、7

3、(1)ch=ch+

1、(2)printf(“n”)

三、编程题

1、参考答案:

#include void main()

{ int i=2;

long p=1;

do

{ p=p*i;

i=i+2;

} while(i<10);

printf(“2*4*6*8=%ldn”,p);

}

2、参考答案:

#include void main()

{int n=0;

char c;

c=getchar();

while(c!='n')

{ if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))n++;

c=getchar();

}

printf(“%dn”,n);

}

3、参考答案:

#include void main()

{int a,max;

scanf(“%d”,&a);max=a;while(a!=0)

{scanf(“%d”,&a);

if(max

}

printf(“%d”,max);

}

4、参考答案: #include void main()

{

int day = 0, buy = 2;

float sum = 0.0, ave;do {

sum += 0.8 * buy;

day++;

buy *= 2;

}

while(buy <= 100);

ave = sum / day;

printf(“%f”, ave);

}

5、参考答案: #include void main()

{ int f1,f2,f5,count=0;

for(f5=0;f5<=20;f5++)

for(f2=0;f2<=(100-f5*5)/2;f2++)

{ f1=100-f5*5-f2*2;

if(f5*5+f2*2+f1 100)

printf(“No.%2d >> 5: %4d 2: %4d 1: %4dn”,++count,f5,f2,f1);

}

printf(“共有%d 种换法”,count);

}

6、参考答案: #include void main()

{ int i,j,n;printf(“nPlease Enter n:”);

scanf(“%d”,&n);

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

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

printf(“ ”);

for(j=1;j<=2*i-1;j++)

printf(“*”);

printf(“n”);

}

}

7、参考答案: #include void main()

{

int i, j;

float g, sum, ave;

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

{

sum = 0;

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

{

scanf(“%f”, &g);sum += g;}

ave = sum / 5;

printf(“No.%d ave=%5.2fn”, i, ave);

}

}

8、参考答案: #include void main()

{int n,t,number=20;

float a=2,b=1,s=0;

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

{s=s+a/b;t=a;a=a+b;

b=t;}

printf(“s=%9.6fn”,s);

} 第六章习题答案

一、选择题

1~5:CBABD 6~10:CDBCD

二、填空题

1、库函数(或系统函数),自定义函数

2、无参函数,有参函数

3、传值方式

4、实参,形参5、1 3

6、max is 2 7、15 8、1,2,3

三、编程题

1、参考答案:

#include

int is_prime(int a)

{ int i,p=1;

for(i=2;i

if(a%i 0)

{ p=0;break;}

return(p);}

void main()

{int i=11;

if(is_prime(i))

printf(“1”);

else

printf(“0”);

}

2、参考答案:

#include

int gongyue(int num1,int num2)

{int temp,a,b;

if(num1 < num2)

{temp=num1;num1=num2;num2=temp;}

a=num1;

b=num2;

while(b)

{temp=a%b;a=b;b=temp;}

return(a);

}

void main()

{int i=12,j=8;

printf(“%d”,gongyue(i,j));

}

第七章习题答案

一、选择题

1~5:BDDCC 6~10:CDCAB

二、填空题

1、字符、1 2、2

3、c:win98cmd.exe 4、1,2,3,4,5,6,7,8,9,0 5、325678 6、1,0,7,0, 7、4332

8、(1)j=2

三、编程题

1、参考答案:

#include

void main()

{ int i,a[20],s,count;

s=count=0;

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

scanf(“%d”, &a[i]);

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

{ if(a[i]<0)

continue;

s+=a[i];

2)j>=i

(count++;

}

printf(“s=%dt count=%dn”,s,count);

}

2、参考答案:

#include void main()

{ int a[3][4],i,j,max;

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

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

scanf(“%d”,&a[i][j]);

max=a[0][0];

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

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

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

printf(“max=%dn”,max);

}

3、参考答案:

#include void main()

{ int a[11]={3,4,7,9,10,13,14,15,18,20};

int i,j,n;

scanf(“%d”,&n);

i=0;

while(i<10)

{ if(n

{

for(j=10;j>i;j--)

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

a[i]=n;

break;

}

i++;

}

if(i>=10)

a[10]=n;

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

printf(“%4d”,a[i]);

}

第八章习题答案

max=a[i][j];

一、选择题

1?5 A B C C B 6?10 D A C B B 11?15 D A C C C

二、填空题

1.(1)*(2)&

2.(1)*p(2)**a

(3)2 3.10 4.*p>*s

5.*(++p)

三、编程题

1.编程实现从键盘输入一个字符串,将其字符顺序颠倒后重新存放,并输出这个字符串。

#include

#include

void Inverse(char *pStr)?

main()

{

char str[80]?

printf(“Input a string:n”)?

gets(str)?

/*输入字符串*/

Inverse(str)?

/*将存于 str 数组中的字符串逆序存放*/

printf(“The inversed string is:n”)?

puts(str)?

/*输出字符串*/

}

/*函数功能: 实现字符串逆序存放

函数参数: 字符指针变量,所指向的存储单元存放源字符串,逆序后的字符串也存放于此

返回值: 无*/

void Inverse(char *pStr)

{

int len?

char temp?

char *pStart?

/*指针变量 pStart 指向字符串的第一个字符*/

char *pEnd?

/*指针变量 pEnd指向字符串的最后一个字符*/

len = strlen(pStr)?

/*求出字符串长度*/

for(pStart=pStr,pEnd=pStr+len?1? pStart

{

temp = *pStart?

*pStart = *pEnd?

*pEnd = temp?

}

}

2.从键盘任意输入 10 个整数,用函数编程实现计算最大值和最小值,并返回它们所在数组

中的位置。

#include

int FindMax(int num[], int n, int *pMaxPos)?

int FindMin(int num[], int n, int *pMinPos)? main()

{

int num[10], maxValue, maxPos, minValue, minPos, i?

printf(“Input 10 numbers:n ”)?

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

{

scanf(“%d”, &num[i])?

/* 输入 10 个数*/

}

maxValue = FindMax(num, 10, &maxPos)? /* 找最大值及其所在下标位置 */

minValue = FindMin(num, 10, &minPos)? /* 找最小值及其所在下标位置 */

printf(“Max=%d, Position=%d, Min=%d, Position=%dn”,maxValue, maxPos, minValue, minPos)?

}

/*函数功能:求 n个数中的最大值及其所在下标位置

函数入口参数:整型数组 num,存储 n个整数,整型变量 n,表示数组元素个数

函数出口参数:整型指针变量 pMaxPos,指向的地址单元存储最大值在数组中的下标位置

函数返回值: 最大值*/

int FindMax(int num[], int n, int *pMaxPos)

{

int i, max?

max = num[0]?

/*假设 num[0]为最大*/

*pMaxPos = 0?

/*假设最大值在数组中的下标位置为 0 */

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

{

if(num[i] > max)

{

max = num[i]?

*pMaxPos = i?

}

}

return max ? }

/*函数功能: 求 n个数中的最小值及其所在下标位置

函数入口参数: 整型数组 num,存储 n个整数,整型变量 n,表示数组元素个数

函数出口参数: 整型指针变量 pMinPos,指向的地址单元存储最小值在数组中的下标位置

函数返回值: 最小值*/

int FindMin(int num[], int n, int *pMinPos)

{

int i, min?

min = num[0]?

/*假设 num[0]为最小*/

*pMinPos = 0?

/*假设最小值在数组中的下标位置为 0 */

for(i = 1?i < 10?i++)

{

if(num[i] < min)

{

min = num[i]?

*pMinPos = i?

}

}

return min ?

}

3.将 5 个字符串从小到大排序后输出。

#include

void main(void)

{ int i?

char *pcolor[5]={ “red”, “blue”, “yellow”, “green”, “purple” }?

void fsort(char *color[ ], int n)?

fsort(pcolor, 5)?

for(i = 0? i < 5? i++)

printf(“%s ”, pcolor[i])?

}

void fsort(char *color[ ], int n)

{

int k, j?

char *temp?

for(k = 1? k < n? k++)

for(j = 0? j < n?k? j++)

if(strcmp(color[j],color[j+1])>0)

{

temp = color[j]?

color[j] = color[j+1]?

color[j+1]

temp?

}

}

4.编写一个能对任意m×n阶矩阵进行转置运算的函数 Transpose()。

#include

#define ROW 3

#define COL 4

void Transpose(int(*a)[COL], int(*at)[ROW], int row, int col)?

void InputMatrix(int(*s)[COL], int row, int col)?

void PrintMatrix(int(*s)[ROW], int row, int col)?

main()

{

int s[ROW][COL]?

/*s 代表原矩阵*/

int st[COL][ROW]?

/*st 代表转置后的矩阵*/

printf(“Please enter matrix:n”)?

InputMatrix(s, ROW, COL)? /*输入原矩阵,s 指向矩阵 s的第 0行,是行指针*/

Transpose(s, st, ROW, COL)?/*对矩阵 s 进行转置,结果存放于 st 中*/

printf(“The transposed matrix is:n”)?

PrintMatrix(st, COL, ROW)? /*输出转置矩阵,*st 指向 st 的第 0 行,是行指针*/

}

/* 函数功能:对任意row行 col 列的矩阵转置

函数入口参数:指向一维整型数组的指针变量a,指向单元存放转置前的矩阵元素

整型变量 row,矩阵的行数即二维整型数组的行数

整型变量 col,矩阵的列数即二维整型数组的列数

函数出口参数:指向一维整型数组的指针变量at,指向单元存放转置后的矩阵元素

函数返回值: 无*/

void Transpose(int(*a)[COL], int(*at)[ROW], int row, int col)

{

int i, j?

for(i=0? i

{

for(j=0? j

{

*(*(at+j)+i)= *(*(a+i)+j)?

}

}

}

void InputMatrix(int(*s)[COL], int row, int col)

/*输入矩阵元素*/

{

int i, j?

for(i=0? i

{

for(j=0? j

{

scanf(“%d”, *(s+i)+j)?

/*这里*(s+i)+j 等价于&s[i][j]*/

}

}

} void PrintMatrix(int(*s)[ROW], int row, int col)

/*输入矩阵元素*/

{

int i, j?

for(i=0? i

{

for(j=0? j

{

printf(“%dt”, *(*(s+i)+j))? /*这里*(*(s+i)+j)等价于 s[i][j]*/

}

printf(“ n”)?

}

} 第九章习题答案

一、选择题

1?5 B D D A C

6?10 B C A D C

二、填空题

1.struct DATA d={2006,10,1}?

2.sizeof(struct node)

3.person[i].sex

4.13431

5.(1)struct node*(2)*s(3)p

三、编程题

1.定义一个能正常反映教师情况的结构体 teacher,包含教师姓名、性别、年龄、所在部门和

薪水; 定义一个能存放两人数据的结构体数组 tea,并用如下数据初始化:{{ “Mary “, ‘W’,40,‘Computer’ , 1234 },{“Andy“, ‘M’,55, ‘English’ , 1834}};要求:分别用结构体数组 tea 和指针

p输出各位教师的信息,写出完整定义、初始化、输出过程。

#include

struct teacher

{ char name[8]?

char sex?

int age?

char department[20]?

float salary?

} ?

struct teacher tea[2]= {{“Mary ”, 'W',40, “Computer” , 1234 },{“Andy ”, 'M',55, “English” , 1834}} ?

main()

{ int i?

struct teacher *p?

for(i=0?i<2?i++)

printf(“%s,t%c,t%d,t%s,t%f”,tea[i].name,tea[i].sex,tea[i].age,tea[i].department,tea[i].salary)?

for(p=tea?p

printf(“%s,t%c,t%d,t%s,t%f”, p?>department, p?>salary)?

}

2.定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。

#include

struct

{int year?

int month?

int day?

}date?

main()

{int days?

printf(“Input year,month,day:”)?

scanf(“%d,%D,%d”,&date.year,&date.month,&date.day)?

switch(date.month)

{case 1: days=date.day?

break?

case 2: days=date.day+31?

break?

case 3: days=date.day+59?

break?

case 4: days=date.day+90?

break?

case 5: days=date.day+120?

break?

case 6: days date.day+31?

break?

case 7: days=date.day+181?

break?

case 8: days=date.day+212?

break?

case 9: days date.day+243?

break?

case 10: days date.day+273?

break?

case11: days=date.day+304?

break?

case 12: days date.day+334?

break?

p?>name,p?>sex,p?>age,}

if((date.year%4 0&&date.year%100!=0||date.year%400 0)&&date.month> 3)

days+=1?

printf(“n%d/%d is the %dth day in%d.”,date.month,date.day,days,date.year)?

}

3.构建简单的手机通讯录,手机通讯录包括信息(姓名、年龄、联系电话),要求实现新建、查询功能。假设通信录最多容纳 50 名联系人信息。

#include

#include

/*手机通讯录结构定义*/

struct friends_list{

char name[10]?

/* 姓名 */

int age?

/* 年龄 */

char telephone[13]?

/* 联系电话 */

}?

int Count = 0?

/* 定义全局变量 Count,记录当前联系人总数 */

void new_friend(struct friends_list friends[ ])?

void search_friend(struct friends_list friends[ ], char *name)? int main(void){

int choice?

char name[10]?

struct friends_list friends[50]?

/* 包含 50 个人的通讯录 */

do{

printf(“手机通讯录功能选项:1:新建 2:查询 0:退出n”)?

printf(“请选择功能:”)?

scanf(“%d”, &choice)?

switch(choice){

case 1:

new_friend(friends)?

break?

case 2:

printf(“请输入要查找的联系人名:”)?

scanf(“%s”, name)?

search_friend(friends, name)?

break?

case 0: break?

}

}while(choice!= 0)?

printf(“谢谢使用通讯录功能!n”)?

return 0?

}

/*新建联系人*/

void new_friend(struct friends_list friends[ ])

{

struct friends_list f?

if(Count

50){

printf(“通讯录已满!n”)?

return?

}

printf(“请输入新联系人的姓名:”)?

scanf(“%s”, f.name)?

printf(“请输入新联系人的年龄:”)?

scanf(“%d”, &f.age)?

printf(“请输入新联系人的联系电话:”)?

scanf(“%s”, f.telephone)?

friends[Count] = f?

Count++?

}

/*查询联系人*/

void search_friend(struct friends_list friends[ ], char *name)

{

int i, flag = 0?

if(Count

0){

printf(“通讯录是空的!n”)?

return?

}

for(i = 0? i < Count? i++)

if(strcmp(name,friends[i].name)

0){

/* 找到联系人*/

flag=1?

break?

}

if(flag){

printf(“姓名: %st”, friends[i].name)?

printf(“年龄: %dt”, friends[i].age)?

printf(“电话: %sn”, friends[i].telephone)?

}

else

printf(“无此联系人!”)?

}

4.建立一个教师链表,每个结点包括学号(no),姓名(name[8]),工资(wage),写出动态创建

函数 creat 和输出函数 print。

#include

#include

#define NULL 0

#define LEN sizeof(struct teacher)

struct teacher

{int no?

char name[8]?

float wage?

struct teacher * next?

}?

int n?

struct teacher *creat(void)

{ struct teacher *head?

struct teacher *p1,*p2?

n=0?

p1=p2=(struct teacher *)malloc(LEN)?

scanf(“%d%s%f”,&p1?>no,p1?>name, &p1?>wage)?

head=NULL?

while(p1?>no!=0)

{ n=n+1?

if(n 1)head p1?

else p2?>next p1?

p2=p1?

p1=(struct teacher *)malloc(LEN)?

scanf(“%d%s%f”,&p1?>no,p1?>name, &p1?>wage)?

}

p2?>next=NULL?

return(head)?

}

void print(struct teacher *head)

{ struct teacher *p?

p=head?

if(head!=NULL)

do{

printf(“%dt%st%fn”, p?>no, p?>name, p?>wage)?

p=p?>next?

} while(p!=NULL)?

}

5.在上一题基础上,假如已经按学号升序排列,写出插入一个新教师的结点的函数 insert。

struct teacher insert(struct teacher *head,struct teacher *tea)

{ struct teacher *p0,*p1,*p2?

p1=head?

p0=tea?

if(head=NULL)

{head=p0? p0?>next=NULL?}

else

while((p0?>no>p1?>no)&&(p1?>next!=NULL))

{ p2=p1?

p1=p1?>next?}

if(p0?>no< p1?>no)

{ if(head p1)

head=p0?

else

{ p2?>next p0?

p0?>next p1?

}

else

{ p1?>next p0?p0?>next=NULL?}

n=n+1?

return(head)?

}

下载c语言答案word格式文档
下载c语言答案.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    c语言试题及答案

    一、 单选题 1.在C语言中,下列类型属于构造类型的是( D ) A.整型 B.字符型 C.实型 D.数组类型 2.下列字符串不是标识符的是( D ) A. sum B. Average C. Day_night D. M.D.JOHN 3.......

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

    1、 已知int i, x[3][4];则不能将x[1][1]的值赋给变量i的语句是______ (分数:2 分) A. i=*(*(x+1)) B. i=x[1][1] C. i=*(*(x+1)) D. i=*(x[1]+1) 标准答案是:A。 2、 当c的值不......

    C语言课后实验答案

    #include using namespace std; int main() { cout......

    C语言考试题及答案

    C语言考试题一、单项选择题 (每题2分,共40分)1、一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是(B)A、有零个或多个输入B、有零个或多个输出C、有穷性D......

    《C语言程序设计》2011-2012-2A答案

    河南理工大学学期 《C语言程序设计》笔试试卷(A卷) 一、单项选择题(每题1分,共50分) 1.B2.A3.D4.A5.C6.C7.C8.C9.C10.A 11.B12.B13.D14.D15.D16.C17.C18.C19.D20.A 21.C22.C23.......

    c语言编程题答案

    六、编程题参考答案 1.编程,统计在所输入的50个实数中有多少个正数、多少个负数、多少个零。 #include "stdio.h" #define N 50 void main() { float x; unsigned int s1,......

    《幼儿园语言教育》试卷答案

    幼儿园语言教育答案 一、填空题 1.倾听行为培养表述行为培养欣赏文学作品行为的培养早期阅读行为的培养 2.反馈作用诊断作用增效作用。 3.自由叙述评价法观察评价法综合等级评......

    学前儿童语言教育答案

    北 京 师 范 大 学 网 络 教 育《学前儿童语言教育》作业 本课程作业由两部分组成。第一部分为“客观题部分”,由15个选择题组成,每题1分,共15分。第二部分为“主观题部分”,由......