覆盖学起Plus、超星学习通等平台的全学科作业答案、历年真题与考试速查系统
中国大学MOOC作业考试答案

想要快速找到正确答案?

立即关注 九八五题库微信公众号,轻松解决学习难题!

中国大学MOOC
扫码关注

作业辅导
扫码关注
论文指导
轻松解决学习难题!

中国大学MOOC程序设计基础(c语言)作业答案

程序设计基础(c语言)

学校: 九八五题库

学校: 超星学习通

题目如下:

1. 1. 下列条件语句中输出结果与其他语句不同的是 。

A. if(a) printf(“%d\n”,x); else printf(“%d\n”,y);

B. if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);

C. if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);

D. if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);

答案: if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);

2. 2. if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是:

A. 必须是逻辑值

B. 必须是整数值

C. 必须是正数

D. 可以是任意合法的数值

答案: 可以是任意合法的数值

3. 3. 有以下程序 #include main() { int x=1,y=0; if(!x) y++; else if(x==0) if (x) y+=2; else y+=3; printf("%d\n",y); } 程序运行后的输出结果是:

A. 3

B. 2

C. 1

D. 0

答案: 0

4. 4. 有以下程序 #include main() { int a=1,b=0; if(--a) b++; else if(a==0) b+=2; else b+=3; printf(“%d\n”,b); } 程序运行后的输出结果是 。

A. 0

B. 1

C. 2

D. 3

答案: 2

5. 5. 以下程序运行后的输出结果是____。 #include main() { int x=10,y=20,t=0; if(x==y)t=x;x=y;y=t; printf("%d %d\n",x,y); }

答案: 20 0

6. 1. 以下叙述中错误的是

A. C语言编写的函数源程序,其文件名后缀可以是C

B. C语言编写的函数都可以作为一个独立的源程序文件

C. C语言编写的每个函数都可以进行独立的编译并执行

D. 一个C语言程序只能有一个主函数

答案: C语言编写的每个函数都可以进行独立的编译并执行

7. 2. 如有定义语句:int x=12,y=8,z;,在其后执行语句z=0.9+x/y,则z的值为

A. 1.9

B. 1

C. 2

D. 2.4

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

8. 3. 若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为

A. 0和1

B. 0和20

C. 10和1

D. 10和20

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

9. 4. 若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是

A. a=(b=4)=3;

B. a=b=c+1;

C. a=(b=4)+c;

D. a=1+(b=c=4);

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

10. 5. 有以下程序 #include main() { unsigned char a=8,c; c=a>>3; printf("%d\n",c); } 程序运行后的输出结果是

A. 32

B. 16

C. 1

D. 0

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

11. 6. 有以下程序(说明:字符0的ASCII码值为48) #include main() { char c1,c2; scanf("%d",&c1); c2=c1+9; printf("%c%c\n",c1,c2); } 若程序运行时从键盘输入48<回车>,则输出结果为____。

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

12. 1. 有以下程序 #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<回车>,则输出结果是

A. 6566456

B. 66656

C. 66666

D. 6666656

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

13. 2. 有以下程序段 int i,n; for(i=0;i<8;i++) { n=rand()%5; switch (n) { case 1: case 3:printf("%d\n",n); break; case 2: case 4:printf("%d\n",n); continue; case 0:exit(0); } printf("%d\n",n); } 以下关于程序段执行情况的叙述,正确的是

A. for循环语句固定执行8次

B. 当产生的随机数n为4时结束循环操作

C. 当产生的随机数n为1和2时不做任何操作

D. 当产生的随机数n为0时结束程序运行

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

14. 3. 若i和k都是int类型变量,有以下for语句: for(i=0,k=-1;k=1;k++) printf("*****\n"); 下面关于语句执行情况的叙述中正确的是

A. 循环体执行两次

B. 循环体执行一次

C. 循环体一次也不执行

D. 构成无限循环

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

15. 4. 有以下程序段 #include main() { … while( getchar()!='\n'); … } 以下叙述中正确的是

A. 此while语句将无限循环

B. getchar()不可以出现在while语句的条件表达式中

C. 当执行此while语句时,只有按回车键程序才能继续执行

D. 当执行此while语句时,按任意键程序就能继续执行

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

16. 5. 以下程序运行后的输出结果是____ #include main() {int i,j; for(i=6;i>3;i--) j=i; printf(“%d%d\n”,i,j); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

17. 1. 有以下程序 #include #include typedef struct{char name[10];char sex;int score[2]}STU; STU f(STU a) { STU b={"Zhao",'m',85,90}; int i; strcpy(a.name,b.name);

A. sex=b.sex; for(i=0;i<2;i++) a.score[i]=b.score[i]; return a; } main(){ STU c={"Qian",'f',95,92},d; d=f(c); printf("%s,%c,%d,%d,",d.name,d.sex,d.score[0],d.score[1]); printf("%s,%c,%d,%d\n",c.name,c.sex,c.score[0],c.score[1]); } 程序运行后的输出结果是 A. zhao,m,85,90,Qian,f,95,92

B. zhao,m,85,90,zhao,m,85,90

C. Qian,f,95,92,Qian,f,95,92

D. Qian,f,95,92,zhao,m,85,90

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

18. 2. 在以下程序 #include main() {struct node{int n; struct node *next;}*p; struct node x[3]={{2,x+1},{4,x+2},{6,NULL}}; p=x; printf("%d,",p->n); printf("%d\n",p->next->n);} 程序运行后的输出结果是

A. 2,3

B. 2,4

C. 3,4

D. 4,6

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

19. 3. 有以下程序 #include #define S(x) 4*(x)*x+1 main() { int k=5,j=2; printf("%d\n",S(k+j)); } 程序运行后的输出结果是

A. 197

B. 143

C. 33

D. 28

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

20. 4. 有以下程序 #include struct ord {int x,y;}dt[2]={1,2,3,4}; main() { struct ord *p=dt; printf("%d,",++(p->x)); printf("%d\n",++(p->y)); } 程序运行后的输出结果是

A. 1,2

B. 4,1

C. 3,4

D. 2,3

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

21. 5. 有以下程序 #include struct S { int a,b;}data[2]={10,100,20,200}; main() { struct S p=data[1]; printf("%d\n",++(p.a)); } 程序运行后的输出结果是

A. 10

B. 11

C. 20

D. 21

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

22. 1. 以下定义数组的语句中错误的是

A. int num[]={1,2,3,4,5,6};

B. int num[][3]={{1,2},3,4,5,6};

C. int num[2][4]={{1,2},{3,4},{5,6}};

D. int num[][4]={1,2,3,4,5,6};

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

23. 2. 有以下程序 #include main() { char ch[3][5]={“AAAA”,”BBB”,”CC”}; printf(“%s\n”,ch[1]); } 程序运行后的输出的结果是

A. AAAA

B. CC

C. BBBCC

D. BBB

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

24. 3. 有以下程序段 char name[20]; int num; scanf("name=%s num=%d",name;&num); 当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为

A. Lili

B. name=Lili

C. Lili num=

D. name=Lili num=1001

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

25. 4. 有以下程序 #include main() { char s[]="012xy\08s34f4w2"; int i,n=0; for(i=0;s[i]!=0;i++) if(s[i]>='0'&&s[i]<='9') n++; printf("%d\n",n); } 程序运行后的输出结果是

A. 0

B. 3

C. 7

D. 8

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

26. 5. 有以下程序 #include main() { char b,c; int i; b='a'; c='A'; for(i=0;i<6;i++) { if(i%2) putchar(i+b); else putchar(i+c); } printf("\n"); } 程序运行后的输出结果是

A. ABCDEF

B. AbCdEf

C. aBcDeF

D. abcdef

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

27. 6. 以下程序运行后的输出结果是____ #include main() { char a; for(a=0;a<15;a+=5) {putchar(a+’A’);} printf(“\n”); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

28. 7. 以下程序运行后的输出结果是____ 。 #include main() { int i,n[5]={0}; for(i=1;i<=4;i++) { n[i]=n[i-1]*2+1; printf("%d",n[i]); } printf("\n"); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

29. 1. 有以下程序: #include double f(double x); main() { double a=0; int i; for(i=0;i<30;i+=10) a+=f((double)i); printf(“%5.0f\n”,a); } double f(double x) {return x*x+1;} 程序运行后的输出结果是

A. 503

B. 401

C. 500

D. 1404

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

30. 2. 有以下程序 #include #define N 4 void fun(int a[][N],int b[]) { int i; for(i=0;i

A. -12,-3,0,0,

B. -3,-1,1,3,

C. ,0,1,2,3,

D. -3,-3,-3,-3,

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

31. 3. 有以下程序: #include int f(int m) { static int n=0; n+=m; return n; } main() { int n=0; printf(“%d,”,f(++n)); printf(“%d\n”,f(n++));} 程序运行后的输出结果是

A. 1,2

B. 1,1

C. 2,3

D. 3,3

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

32. 4. 设有如下函数定义 int fun(int k) { if (k<1) return 0; else if(k==1) return 1; else return fun(k-1)+1; } 若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是

A. 2

B. 3

C. 4

D. 5

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

33. 5. 有以下程序 #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\n",s); } 程序运行后的输出结果是

A. 0

B. 10

C. 30

D. 64

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

34. 6. 以下程序运行后的输出结果是 #include void fun(int x) {if(x/5>0)fun(x/5); printf(“%d”,x); } main() { fun(11);printf(“n”); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

35. 7. 己知a所指的数组中有N个元素。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置。请填空____。 void fun(int a[N],int k) { int i; for(i=k;i

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

36. 1. 有以下程序(注:字符a的ASCII码值为97) #include main() { char *s={“abc”}; do {printf(“%d”,*s%10);++s;} while(*s); } 程序运行后的输出结果是

A. abc

B. 789

C. 7890

D. 979898

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

37. 2. 若有定义语句:double a,*p=&a;以下叙述中错误的是

A. 定义语句中的*号是一个地址运算符

B. 定义语句中的*号只是一个说明符

C. 定义语句中的p只能存放double类型变量的地址

D. 定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

38. 3. 有以下程序 #include void fun(int *p) {printf(“%d\n”,p[5]);} main() {int a[10]={1,2,3,4,5,6,7,8,9,10}; fun(&a[3]); } 程序运行后的输出结果是

A. 5

B. 6

C. 8

D. 9

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

39. 4. 有以下函数 int fun(char *x,char *y) ( int n=0; while((*x=*y)&&*x!=’\0’){x++;y++;n++;} return n; } 函数的功能是

A. 查找x和y所指字符串中是否有‘\0‘

B. 统计x和y所指字符串中最前面连续相同的字符个数

C. 将y所指字符串赋给x所值存储空间

D. 统计x和y所指字符串中相同的字符个数

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

40. 5. 若有定义语句:char *s1=”Ok”;*s2=”ok”;,以下选项中,能够输出“Ok”的语句是

A. if(strcmp(s1,s2)==0) puts(s1);

B. if(strcmp(s1,s2)!=0) puts(s2);

C. if(strcmp(s1,s2)==1) puts(s1);

D. if(strcmp(s1,s2)!=0) puts(s1);

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

41. 6. 有以下程序 #include #include void fun(char *u,int n) { char x,*y1,*y2; y1=u;y2=u+n-1; while(y1

A. 654321

B. 115611

C. 153525

D. 123456

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

42. 7. 设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是

A. scanf("%f",&x[6]);

B. scanf("%lf",*(x+6));

C. scanf("%lf",p+6);

D. scanf("%lf",p[6]);

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

43. 8. 有以下程序(说明:字母A的ASCII码值是65) #include void fun(char *s) { while(*s) { if(*s%2) printf("%c",*s); s++; } } main() { char a[]="BYTE"; fun(a); printf("\n"); } 程序运行后的输出结果是

A. BY

B. BT

C. YT

D. YE

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

44. 9. 若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是

A. p=s;

B. p=k;

C. p=s[0];

D. k=s;

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

45. 10. 有以下程序 #include void fun(char *c) { while(*c) { if(*c>='a'&&*c<='z') *c=*c-('a'-'A'); c++; } } main() { char s[81]; gets(s); fun(s); puts(s); } 当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是

A. hello beijing

B. Hello Beijing

C. HELLO BEIJING

D. hELLO Beijing

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

46. 11. 以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。主函数中,n存放a数组中数据的值的填空。 #include void fun(int s[],int *n,int k,int x) {int i; for(i=*n-1;i>=k;i--)s[____]=s[i]; s[k]=x; *n=*n+____; } main() {int a[20]={1,2,3,4,5,6,7,8,9,10,11},i,x=0,k=6,n=11; fun(a,&n,k,x); for(i=0;i<6;i++) printf(“%4d”,a[i]); printf(“\n”); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

47. 12. 以下程序运行后的输出结果是____。 #include #include #include void fun(char *c) { while(*c) { if(*c>='a'&&*c<='z') *c=*c-('a'-'A'); c++;} } main() { char *p; int i; p=(char *)malloc(sizeof(char)*20); strcpy(p,"welcome"); for(i=6;i>=0;i--) putchar(*(p+i)); printf("\n"); free(p); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。



    文章说明
    本文标签:
    ©版权声明
    本站提供的文章均来自网上,如有侵权请邮件与我们联系处理。敬请谅解!
    评论留言

    昵称

    邮箱

    地址