2019智慧树(知到)《C语言程序设计》答案_单元答案_期末答案_知到智慧树答案

大学生都在用的搜题微信公众号:一刻师兄
向它发送题目,秒得答案(支持期末考试答案查询)

2019智慧树(知到)搜题公众号
2019智慧树(知到)《C语言程序设计》答案_单元答案_期末答案_知到智慧树答案 - 2019智慧树(知到)答案 - 课查查

同学们好,欢迎大家和我一起学习c语言程序设计这门课,c语言功能丰富,表达力强,使用方便灵活,程序执行效率高,可移植性好,是理工科学生学习计算机课程的必修语言。本课程的教学目标是通过本课程的教学,使学生了解C语言程序设计的基础知识,掌握程序设计的基本能力,为后续的专业课程奠定程序设计基础。本课程的教学设计是根据理工科学生的培养目标,突出创新型、应用型人才的培养方案而设计的,实行“基础知识+基本技能+项目实践+技术延伸”的教学理念。根据本课程的教学设计我们精选C程序设计课程的教学内容,精心设计教学案例,通过特定的教学方法来予以实现。在教学方法上,采用任务驱动式教学方法,精心设计教学内容,创设任务情景,激发学生的学习兴趣与学习动力。在教学内容的组织上,基本语句、基本语法够用即可,重视算法思想的讲解,培养学生的逻辑思维能力和解决问题的能力。并将全部资源上网,为学生自主学习提供机会。


有以下程序#include void main(){char a,b,c,d;scanf(“%c%c“,&a,&b);c=getchar( );d=getchar( );printf(“%c%c%c%c”,a,b,c,d);}当执行程序时,按下列方式输入数据12↙34↙则输出结果是
若有定义:int a,b;,通过语句scanf("%d;%d",&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是
以下不能输出字符A的语句是(注:字符A的ASCIl码值为65,字符a的ASCIl码值为97)
已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中的大写字母转换为小写字母的语句是
二、编程题1.设圆半径r=1.5,圆柱高h=3,求圆面积、圆周长、圆球表面积、圆球体积2.输入一个华氏温度,要求输出摄氏温度,公式为   C=5/9*(f-32)
下述for循环语句________ int i,k; for (i=0,k=-1;k=1;i++,k++)  printf(“***”);
#include main( ) { int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf(“%d,%d,%d”,x,y,z); } 程序执行后的输出结果是
有以下程序 main( ) { int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d”,s); } 程序执行后的输出结果是
以下程序执行后的输出结果是( ) main( ) { int i,n=0; for(i=2;i<5;i++) { do     { if(i%3) continue;        n++;}   while(!i);   n++;} printf(“n=%d”,n);}
程序运行后的输出结果是#includemain(){ int i,j,m=2;   for(i=1;i0;j--)             {if(i+j>3) break;            m*=i*j;} }   printf(“m=%d”,m);}
以下程序运行后的输出结果是#includemain(){int a=1,b=2; for(;a<8;a++) { b+=a;a+=2;}printf(“%d,%d”,a,b);}
以下程序运行后的输出结果是 main() {   int c=0,k;  for(k=1;k<3;k++)     switch(k)     { default:c+=k;       case 2:c++;break;       case 4:c+=2;break; }  printf("%d",c);}
以下程序的运行结果是  #include  main()  { int x=8;  for( ; x>0; x--)  { if(x%3)   {printf(“%d,”,x--);                         continue;}     printf(“%d,”,--x); } }
下述程序的输出结果 #include main() {int y=10;  while(y--);  printf(“y=%d”,y);}
下面的程序 的结果是: main() { int x=3; do    {printf("%d",x-=2);}while(!(--x));}
下述for语句 int i,x; for (i=0,x=1;i<=9&&x!=876;i++)  scanf(%d”,&x);
有以下程序  #include main(){int s;scanf("%d",&s);while(s>0){ switch(s){ case 1:printf("%d",s+5); case 2:printf("%d",s+4); break; case 3:printf("%d",s+3); default:printf("%d",s+1);break;}scanf("%d",&s);}}  运行时,若输入1 2 3 4 5 0,则输出结果是
若有以下说明:  int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};  char c='a',d,g; 则数值为4的表达式是
以下程序运行后的输出结果是#include main() {int a[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0; for(i=1;i<3;i++) s=s+a[b[i]]; printf(“%d”,s);}
#include main() {int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;   for(i=1;i<3;i++)   for(j=1;j<=1;j++) t+=b[i][b[j][i]];  printf(“%d”,t);} 程序运行后的输出结果是
若有以下定义和语句char s1[10]="abcd!",s2[10]="123\";printf("%d,%d",strlen(s1),strlen(s2));则输出结果是
#include    main() {  char s[]={"012xy"};        int i,n=0;   for(i=0;s[i]!=0;i++)      if(s[i]>'a'&&s[i]<='z') n++;   printf("%d",n); } 程序运行后的输出结果是
以下程序的运行结果是  #include  main()  { int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;  for(i=0;i<12;i++) c[s[i]]++;  for(i=1;i<5;i++) printf(“%d”,c[i]);  printf(“”); }
有以下程序  #include   main()  { char s[]="012xy 8s34f4w2";  int i,n=0;  for(i=0;s[i]!=0;i++)  if(s[i]>='0'&&s[i]<='9') n++;  printf("%d",n);  }  程序运行后的输出结果是
#includemain(){int i,j,a[][3]={1,2,3,4,5,6,7,8,9};for(i=1;i<3;i++)for(j=1;j<3;j++) printf(“%d”,a[i][j]);printf(“”);}程序运行后的输出结果是
#includemain(){int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}; int b[3]={0},i; for(i=1;i<3;i++) b[i]=a[i][2]+a[2][i];for(i=1;i<3;i++)printf(“%d”,b[i]);printf(“”);}程序运行后的输出结果是
以下程序用以删除字符串中所有空格,请填空。#includemain(){char[100]={“Our teacher teach c language!”};int i,j;for(i=j=0;s[i]!=‘ ’;i++)  if(s[i]!=‘ ’) {s[j]=s[i];j++;}s[j]=______;printf(“%s”,s); }
编程题1. 5行5列的二维数组,使数组左下角元素中的值乘以32. 将3行4列的二维数组中的数据,按列的顺序依次放到一维数组中3. 求给定数组中每相邻两个元素之平均值的平方根的和。4. 计算score数组中m个人的平均成绩aver将低于aver成绩放在below中,通过函数名返回人数。例如,score数组中的数据为:10,20,30,40,50,60,70,80,90时,返回人数应该是4,below中的数据应为:10,20,30,40。
#include int fun() {static int x=1;   x*=2;return x;} main() {int i,s=1; for(i=1;i<=2;i++)  s=fun(); printf(“%d”,s);} 程序运行后的输出结果是
#include  int f(int t[],int n); main() {int a[4]={1,2,3,4},s;  s=f(a,4);printf(“%d”,s);} int f(int t[],int n) {if (n>0)  return t[n-1]+f(t,n-1);  else return 0;} 程序运行后的输出结果是
#include int f(int x){int y;if(x==0||x==1) return (3);y=x*x-f(x-2);return y;}main(){int z;z=f(3); printf("%d",z);} 程序的运行结果是
#include int f(int n); main() { int a=3,s;  s=f(a);s=s+f(a);printf("%d",s);} int f(int n) { static int a=1;   n+=a++;   return n; } 程序运行后的输出结果是
#include    void fun(int p) {  int d=2;    p=d++;     printf("%d",p); } main() {  int a=1;    fun(a);    printf("%d",a); } 程序运行后的输出结果是
#includeint fun(int x,int y){ if(x==y)  return(x);else  return((x+y)/2);}main(){ int a=4,b=5,c=6;printf("%d",fun(2*a,fun(b,c))); }程序运行后的输出结果是
#include int fun(int a,int b) { if(b==0) return a; else return(fun(--a,--b)); } main() { printf("%d", fun(4,2));} 程序的运行结果是
#includevoid fun(int a, int b){ int t;t=a; a=b; b=t;}main(){ int c[10]={1,2,3,4,5,6,7,8,9,0}, i;for(i=0; i<10; i+=2) fun(c[i], c[i+1]);for(i=0; i<10; i++) printf("%d,", c[i]);printf("");}程序的运行结果是
#include void fun(int a[], int n) { int i, t; for(i=0; i<n/2; i++) {t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t;}  } main() { int k[10]={1,2,3,4,5,6,7,8,9,10}, i; fun(k,5); for(i=2; i<8; i++) printf("%d", k[i]); printf("");} 程序的运行结果是
有以下程序                        void  swap1(int  c[]) { int  t;  t=c[0];c[0]=c[1];c[1]=t;  } void  swap2(int  c0,int  c1) {int   t;  t=c0;c0=c1;c1=t;  } main() {int   a[2]={3,5},b[2]={3,5};  swap1(a);   swap2(b[0],b[1]);  printf(“%d %d %d %d”,a[0],a[1],b[0],b[1]); }执行后输出的结果是:
有以下程序  #include   int fun()  { static int x=1;  x*=2;  return x;  }  main()  { int i,s=1;   for(i=1;i<=3;i++)  s*=fun();   printf("%d",s);  }  程序运行后的输出结果是
二、编程题1.写一个函数,使给定的5行5列的二维数组转置,即行列互换2.写一个函数,将两个字符串连接3. 写一个函数,使输入的字符串按反序存放,在主函数中输入输出字符串
下列语句组中,正确的是
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”,b,a); }程序运行后的输出结果是
设有定义double  a[10],*s=a;以下能够代表数组元索a[3]的是
#include #define N 8 void fun(int *x,int i) { *x=*x+i;} main() {int a[N]={1,2,3,4,5,6,7,8},i;  fun(a,2); for(i=0;i<N/2;i++) { printf(“%d”,a[i]);}   printf(“”);} 程序运行后的输山结果是
#include   main() { int m=1,n=2,*p=&m,*q=&n,*r;    r=p;p=q;q=r;    printf("%d,%d,%d,%d",m,n,*p,*q); } 程序运行后的输出结果是
#include   #include main() {char str[][20]={"One*World","One*Dream!"};  char *p=str[1];   printf(“%d,”,strlen(p));   printf("%s",p);  } 程序运行后的输出结果是
下列函数的功能是 fun(char  *a,char  *b) { while((*b=*a)!='
#include main( ){char  *s=“ABC”; do {printf( );s++;} while( );   }字母A的ASCII码值为65.程序的输出结果是
#includevoid fun(char  *s){ while(*s) { if(*s%2==0) printf("%c",*s);s++; }}main(){ char  a[]={"abcd"};  fun(a);printf("");} 字母a的ASCⅡ码值为97,程序的输出结果是
#include 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;} 程序运行后输出的结果是
#include main(){ char *a[ ]={"abcd","ef","gh","ijk"};  int i;  for(i=0;i<4;i++)         printf("%c",*a[i]);  } 程序运行后输出的结果是
#include int b=2;int fun(int *k){  b=*k+b;return(b);}main(){ int a[10]={1,2,3,4,5,6,7,8},i;  for(i=2;i<4;i++) {b=fun(a)+b;printf("%3d",b);}  }程序运行后输出的结果是
以下程序的输出结果是________  #include  void swap(int *a,int *b)  { int *t;    { t=a; a=b; b=t; } } main()  { int i=3,j=5,*p=&i,*q=&j;  swap(p,q); printf(“%d %d”,*p,*q);  }
以下程序的输出结果是__________  #include  main()  { int a[5]={2,4,6,8,10}, *p;  p=a; p++;  printf(“%d”,*p);  }
有以下程序void f( int y,int *x){y=y+*x; *x=*x+y;}main( ){ int x=2,y=4;  f(y,&x);  printf(“%d %d”,x,y);} 执行后输出的结果是
以下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。 void sstrcpy(char *s,char *t) {  while(*s++=______);} main( ) { char str1[100],str2[]=”abcdefgh”;  sstrcpy(str1,str2);  printf(“%s”,str1); }
#include#includestruct A{int a; char b[10]; double c;};void f(struct A t);main(){struct A a={1001,"ZhangDa",1098.0}; f(a); printf("%d,%s,%6.1f",a.a,a.b,a.c);} void f(struct A t){t.a=1002; strcpy(t.b,"ChangRong"); t.c=1202.0; }结果是
#include struct ord{ int x,y;} dt[2]={1,2,3,4}; main( ) { struct ord *p=dt;   printf( );   printf(“%d”,++p->y); } 程序的运行结果是
#include struct st { int x, y;} data[2]={l,10,2,20}; main(){ struct st *p=data;  printf("%d,", p->y);  printf("%d",(++p)->x);}  程序的运行结果是
#include main() { struct STU   { char name[9];     char sex;    double  score[2];   };  struct STU a={"Zhao",'m',85.0,90.0),b={"Qian",'f',95.0,92.0); b=a;  printf("%s,%c,%2.0f,%2.0f", b.name,b.sex,b.score[0],b.score[1]); }程序的运行结果是
有以下程序  struct S { int a,b;} data[2]={10,100,20,200}; main() { struct S p=data[1];  printf("%d",++(p.a)); } 程序运行后的输出结果是
#include typedef struct {int num;double s;} REC;  void fun1(REC x){x.num=23;x.s=88.5;}  main() { REC a={16,90.0};   fun1(a);   printf("%d",a.num); }上述程序的输出结果为 ________
下程序运行结果________#include #include struct  A {int a;  char b[10];  double c; }; void  f (struct A *t);main() {struct A a={1001,”ZhangDa”,1098.0}; f(&a); printf(“%d,%s,%6,if”,a.a,a.b,a.c); } void f(struct A *t){ strcpy(t->b, ”ChangRong”); }
以下程序的运行结果是________typedef struct student{char name[10];   long  sno;   float score;}  STU;main( ){ STU a={“Zhangsan”,2001,95},      b={“Shangxian”,2002,90},      c={“Anhua”,2003,95},d,*p=&d;d=a; if(strcmp(a.name,b.name)>0) d=b;if(strcmp(c.name,d.name)>0) d=c;printf(“%ld%s”,d.sno,p->name);  }
以下程序运行后的输出结果是 ________ struct NODE { int  num;   struct NODE  *next; } main() { struct NODE s[3],  *p, *q, *r;  int  sum=0;  s[0].num=1; s[1].num=2; s[2].num=3;  s[0].next=s+1; s[1].next=s+2; s[2].next=s;  p=s; q=p->next; r=q->next;  sum+=q->next->num;  sum+=r->next->next->num;  printf("%d", sum); }
函数fun的功能是统计person所指结构体数组中所有性别(sex)为M的记录的个数存入n中,请填空:#define  N  3typedef  struct{int num;   char nam[10];  char sex;}  SS;int  fun(SS person[]){int i,n=0; for(i=0;i<N;i++)  if(______==’M’ )   n++; return n;}main(){SS  W[N]={{1,”AA”,’F’},{2,”BB”,’M’},  {3,”CC”,’M’}};     int n; n=fun(W);  printf(“n=%d”,n); }
以下程序运行后的输出结果是________#include  main(){ char *p; int i; p=(char *)malloc(sizeof(char)*20); strcpy(p,"welcome"); for(i=6;i>=0;i--) putchar(*(p+i)); printf("-"); free(p);  }
编写一个C程序,输出以下信息*************************         very good!*************************
写出下面程序的运行结果:#include void main( ){int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d",x,y,z);}
以下选项中可用作C程序合法实数的是
写出下面程序的运行结果:#include void main( ){int a=1,b=0;printf("%d,",b=a+b);printf("%d",a=2*b);}
写出下面程序的运行结果:         main()         {  int a,b,c=9;            a=3,b=4;            c%= a+b;            printf(“%d”,c)            }
写出下面程序的运行结果:#include     main(){ int a=4,b,c;  c=a+(b=2);  a+=a-=a*a;  printf("%d,%d,%d",a,b,c);}
以下程序的输出结果是#include main(){   int x=10,y=10;printf("%d %d",x--,--y);     }
若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是
以下程序段的输出结果是                 main(){     int   i=1,j=1,k=2;       if((j++||k++)&&i++) printf("%d,%d,%d",i,j,k);}
当c的值不为0时,能正确将c的值赋给变量a,b的是
以下程序的运行结果是      main(){  int  a=010, b=10;   printf("%d,%d" , ++a, b--);  }
已知int n,i=1,j=2;执行语句n=i<j?i++:j++;则i和j的值是
#include  void main() { int x=1,y=0; if(!x) y++; else if(x==0)     if (x) y+=2;     else y+=3;  printf("%d",y);  }  程序运行后的输出结果是
#include main(){int x=1,y=0,a=0,b=0;  switch(x)  {case 1:   switch(y)                 {case 0:a++;break;                  case1:b++;break;}  case 2:a++;b++;break;  case 3:a++;b++;break;  default:a++;b++;}printf(“a=%d,b=%d”,a,b);}A.a=1,b=0 B.a=2,b=1  C.a=1,b=1  D.a=2,b=2以上程序的输出是
下面程序的输出结果是:         #includevoid main(){ int a=2, b=-1, c=2;  if(a<b)     if(b<0)  c=0;      else  c+=1;   printf("%d", c);   }
下程序功能是:将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序拆分并输出,请填空。#includevoid main(){int x=256; printf(“%d-%d-%d”,_______,x/10%10,x/100);}
有以下程序  #include   void main()  { int x;  scanf("%d",&x);  if(x>15) printf("%d",x-5);  if(x>10) printf("%d",x);  if(x>5) printf("%d",x+5);  }若程序运行时从键盘输入12,则输出结果为_________
有以下程序(说明:字符0的ASCII码值为48)#include main(){char c1,c2; scanf("%d",&c1); c2=c1+9; printf("%c%c",c1,c2);}若程序运行时从键盘输入48,则输出结果为_________
编程题1.用嵌套的if语句编程判别某一年是否闰年,闰年的条件是符合下面二者之一:①能被4整除,但不能被100整除,如2008②能被400整除,如20002.用switch语句编程,输入1至7中的一个数值,然后打印出该数值对应的日期

相关答案