C语言学习辅导与习题课(北京化工大学) 中国大学MOOC答案2024版100分完整版


第一章 C语言程序设计初步

第一章 测验

1、单选题:
‌下列变量名中合法的是 :‎

A: 3a6b   
B: B.C.Tom 
C: _6a7b
D: $ABC
答案:  _6a7b

2、单选题:
‍正确的定义变量的语句是:‍

A: int  ab_;
B: int –ab ; 
C: char  mm
D: float  a3.b;
答案:   int  ab_;

3、单选题:
‎以下合法的 C 语言字符常量是:  ‎

A: ”a”
B: ’t’
C: ’65’ 
D: a
答案:  ’t’

4、单选题:
‎下列都是合法转义字符的选项是:‌

A: ’’’ ‘\’‘n’ 
B:  ‘’  ‘17’‘”’ 
C:  ‘18’   ‘f’ ‘xab’
D: ’\0’ ‘101’‘x1f’
答案:  ’’’ ‘\’‘n’ 

5、单选题:
‏以下语句:temp=x; x=y; y=temp; 的功能是:‌

A: 把x,y,temp从小到大排列;
B: 把x,y,temp从大到小排列;
C: 交换x,y的值;
D: 无确定的结果。
答案:  交换x,y的值;

6、单选题:
‍若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是:​

A: 1 
B: 2
C: 2.0 
D: 2.5
答案:  2.0 

7、单选题:
‏以下程序的输出结果是:#include<stdio.h>
int main()
{  int a=12,b=12;
    printf(“%d %dn”,–a,b++);
    return 0;
}​

A: 10 11
B: 11 13
C: 11 10
D: 11 12
答案:  11 12

8、单选题:
‌以下不是合法的C语言常量的是:‏

A: 0x5C
B: 5e2.8
C: 031
D: “123”
答案:  5e2.8

9、单选题:
​在Dev-c++环境中, float类型的数据需要占用(                  )字节内存空间‏

A: 1
B: 2
C: 4
D: 8
答案:  4

10、单选题:
‌若有以下定义和语句:char c1=’b’,c2=’e’;
printf(“%d,%cn”,c2-c1,c2-‘a’+’A’);则输出结果是:​

A: 2,M
B: 3,E
C: 2,E
D: 输出项与对应的格式控制不一致,输出结果不确定
答案:  3,E

11、单选题:
‎有以下程序#include 
#include<stdio.h> 
int main()
{       int a,c=246;
        a=c/10 % 10;
        printf(“%d”,a);
        return 0;
}输出结果是:‏

A: 2
B: 4
C: 6
D: 9
答案:  4

12、单选题:
‏ 设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=32)后,x的值为:‏

A: 4
B: 16
C: 32
D: 52
答案:  32

13、单选题:
‌可在C语言中用作用户标识符的一组标识符是:‎

A: void  define  word
B: as  _b3_123  ff
C: for _abc case
D: 2cdo sig
答案:  as  _b3_123  ff

14、单选题:
‍下列变量定义语句中错误的是:‍

A: int MBK_do
B: char dog1 
C: float _sky  
D: int 2ab
答案:  int 2ab 

15、单选题:
​能正确表示“当x的取值在[1,10]或[100,110]范围内为真,否则为假”的表达式是:‍

A: (x>=1) && (x<=10) && (x>=100)&&(x<=110)
B: (1<=x<=10)||(100<=x<=110)
C: (x>=1)&&(x<=10)||(x>=100) && (x<=110)
D: (x>=1)||(x<=10) && (x>=100)||(x<=110)
答案:  (x>=1)&&(x<=10)||(x>=100) && (x<=110)

16、单选题:
‍C语言中,运算对象必须是整型的运算符是:‎

A: %
B: /
C: %和/    
D: *
答案:  %

17、单选题:
‏以下不合法的用户标识符是:‏

A: j2_KEY 
B: dobule 
C: 4d 
D: _8_ 
答案:  4d 

18、单选题:
‌以下程序的输出结果是:#include<stdio.h>
int main( )
 { int k=17;
   printf(“%d,%o,%xn”,k,k,k);
   return 0;
 }​

A: 17,021,0x11
B: 17,17,17
C: 17,0x11,021
D: 17,21,11
答案:  17,21,11

19、单选题:
​已知:int x,y; float z; 则以下输入语句错误的是:‎​‎

A: scanf(“%d,%d,%f”,&x,&y,&z);
B: scanf (“%d%d%f”,&x,&y,&z);
C: scanf (“%d %d %f”, &x,&y,&z);
D: scanf (“%d%d%6.2f”,&x,&y,&z);
答案:  scanf (“%d%d%6.2f”,&x,&y,&z);

20、单选题:
‍可在C语言中用作用户标识符的一组标识符是:​

A: void define word
B: as_b3_123 ff
C: for_abc case
D: 2c do sig
答案:  as_b3_123 ff

21、单选题:
以下程序运行的结果是:‍#include <stdio.h>
int main()
{ int m=5,n=10;
  printf(“%d,%dn”,m++,–n);
  return 0;
}‍‍‍

A: 5,9
B: 6,9
C: 5,10
D: 6,10
答案:  5,9

22、单选题:
​根据以下定义语句和数据的输入方式,scanf语句的正确形式应为:         已有定义:float f1,f2;    数据的输入方式:4.52<回车>                                 3.5<回车>‏

A: scanf(“%f,%f”,&f1,&f2);
B: scanf(“%f%f”,&f1,&f2);
C: scanf(“%3.2f %2.1f”,&f1,&f2);
D: scanf(“%3.2f%2.1f”,&f1,&f2);
答案:  scanf(“%f%f”,&f1,&f2);

23、单选题:
阅读下列程序,当输入数据的形式为25,13,10<回车>,程序的输出结果为:‏#include <stdio.h>
int main()
{ int x,y,z;
  scanf(“%d%d%d”,&x,&y,&z);
  printf(“x+y+z=%dn”,x+y+z);
  return 0;
}‏​‏

A: x+y+z=48
B: x+y+z=35
C: x+z=35
D: 不确定值
答案:  不确定值

24、单选题:
‍下列语句执行后,b的值是:char a=’5′,b=(char)(a+3);‏

A: ‘8’
B: 8
C: 56
D: 53
答案:  ‘8’

25、单选题:
‏C语言中的标识符只能由字母、数字和下画线组成,且第一个字符‎

A: 可以是字母、数字和下画线中的任一种字符
B: 必须为字母
C: 必须为数字
D: 必须为下画线或字母
答案:  必须为下画线或字母

26、单选题:
​表达式35/3%3的值是:‍

A: 11
B: 2
C: 3
D: 0
答案:  2

27、单选题:
‏C语言的语句都是以(              )结束。‎

A: .
B: 空格
C: ;
D: #
答案:  ;

28、单选题:
‌阅读下面的程序:#include<stdio.h>
int main()
{
   char ch;
   scanf(“%c%c”,&ch,&ch);
   printf(“%c”,ch);
   return 0;
}如果从键盘输入:1+2<回车>则程序的运行结果是:‎

A: 1
B: +
C: 2
D: 3
答案:  +

29、单选题:
‌已知字母a的ASCII码为十进制的97,下面程序的输出结果是:#include <stdio.h>
int main()
{
   char ch1,ch2;
   ch1=’a’+’3′-‘1’;
   ch2=’a’+’2′-‘2’;
   printf(“%d,%cn”,ch1,ch2);
   return 0;
}​

A: 99,a
B: 99,97
C: c,97
D: 不确定的值
答案:  99,a

30、单选题:
‎下列选项中表示整型数据的是:‌

A: 1e-5
B: “1”
C: ‘haha’
D: 0xaf
答案:  0xaf

第二章 选择结构

第二章 测验

1、单选题:
逻辑运算符两侧运算对象的数据类型(   )‌

A: 只能是0或1               
B: 只能是0或非0正数
C: 只能是整型或字符型数据 
D: 可以是任何类型的数据
答案:  可以是任何类型的数据

2、单选题:
​能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是(  )‌

A: (x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B: (x>=1)||(x<=10)||(x>=200)||(x<=210)
C: (x>=1)&&(x<=10)||(x>=200)&&(x<=210)
D: (x>=1)||(x<=10)&&(x>=200)||(x<=210)
答案:  (x>=1)&&(x<=10)||(x>=200)&&(x<=210)

3、单选题:
‌若有:int a=1,b=2,c=3,d=4,m=2,n=2;‍‌则执行(m=a>b)&&(n=c>d)后n的值是(   )‍

A: 1
B: 2
C: 3
D: 4
答案:  2

4、单选题:
‌以下程序的输出结果是(   )‏#include<stdio.h>‏ int main()‏{  int a,b,d=241;‏      a=d/100%9;‏      b=(-1)&&(-1);‏printf(“%d,%d”,a,b);‏return 0;‏ }‏‏

A: 6,1  
B: 2,1 
C: 6,0    
D: 2,0
答案:  2,1 

5、单选题:
‏若有int x=10,y=20,z=30;以下语句执行后x,y,z的值是(   )‍if (x>y)‍z=x;x=y;y=z;‍

A: x=10,y=20,z=30      
B: x=20,y=30,z=30
C: x=20,y=30,z=10    
D: x=20,y=30,z=20
答案:  x=20,y=30,z=30

6、单选题:
‌以下程序的输出结果是(   )​#include<stdio.h>​int main()​{  int a=0,b=0,c=0;​ if(a=b+c)  printf(“***n”);​ else      printf(“$$$n”);​return 0;​}​

A: 有语法错误不能通过编译  
B: 可以通过编译但不能通过连接
C: ***   
D: $$$
答案:  $$$

7、单选题:
‍以下程序的输出结果是(   )​#include<stdio.h>​int main()​ {  int m=5;​if(m++>5)   printf(“%dn”,m);​else              printf(“%dn”,m–);​return 0;​}                       ​‍​

A: 4   
B:  5
C: 6    
D: 7
答案:  6    

8、单选题:
​以下程序的输出结果是(   )​#include<stdio.h>​int main()​ {  int x=2,y=-1,z=2;​if(x<y)​      if(y<0)   z=0;​      else     z+=1;​    printf(“%dn”,z);​return 0;​}​

A: 3   
B:  2 
C:   1          
D:   0
答案:   2 

9、单选题:
‏以下程序的输出结果是(   )‎#include<stdio.h>‎int main()‎ {  int a=1,b=3,c=5,d=4,x;‎if(a<b)‎if(c<d)  x=1; ‎else‎            if(a<c)‎                 if(b<d)   x=2;‎                else      x=3;‎           else  x=6;‎else x=7;‎printf(“x=%d”,x);‎return 0;‎}‎

A: 1                        
B:  2      
C: 3    
D:  6
答案:   2      

10、单选题:
‍为了避免嵌套的if—else语句的二义性,C语言规定else总是与(   )组成配对关系‌

A: 缩排位置相同的if
B: 在其之前未配对的if
C: 在其之前未配对的最近的if      
D: 同一行上的if
答案:  在其之前未配对的最近的if      

11、单选题:
‌若运行时给变量x输入12,则以下程序的运行结果是(    )‎‌‎#include<stdio.h>‎int main()‎{  int x,y;‎ scanf(“%d”,&x);‎ y=x>12?x+10:x-12;‎ printf(“%dn”,y);‎return 0;‎}‎

A: 0     
B: 22         
C: 12            
D: 10
答案:  0     

12、单选题:
‍以下程序的输出结果是(   )‌#include<stdio.h>‌int main()‌ {  int  k=4,a=3,b=2,c=1;‌printf(“n%dn”,k<a?k:c<b?c:a);‌return 0;‌}‌

A: 4       
B: 3           
C: 2      
D: 1
答案:  1

13、单选题:
​若w=1,x=2,y=3,z=4,则表达式w<x?w:y<z?y:z的值是(   )​

A: 4       
B:  3          
C: 2    
D: 1
答案:  1

14、单选题:
‎执行下列程序段后,变量a,b,c的值分别为(   )‎‎‎‎int a,b,c,x=10,y=9;‎‎a=(–x==y++)?–x:++y;‎‎b=x++;‎‎c=y;‎

A: a=9,b=9,c=9     
B: a=8,b=8,c=10
C:      a=9,b=10,c=9             
D:      a=1,b=11,c=10
答案:  a=8,b=8,c=10

15、单选题:
‎以下程序的输出结果是(   )‌‎#include<stdio.h>‌‎ int main()‌‎ {‌  int x=0,y=2,z=3;‌switch(x)‌{  case  0:  switch(y)‌                 {   case   0:  printf(“*”);  break;‌                     case   1:  printf(“%”);  break;‌                     case   2:  printf(“&”);  break;‌                  }‌   case   1:  switch(z)‌                  {  case   1:  printf(“$”);‌                     case   2:  printf(“#”);   break;‌                     default:    printf(“@”);‌                   }‌  default :     printf(“!”);‌}‌return 0;‌}‌

A: &@!       
B:  *            
C: %@    
D: &!
答案:  &@!       

16、单选题:
‏下列条件语句中,功能与其他语句不同的是()‌

A: if(a) printf(“%dn”,x); else printf(“%dn”,y);
B: if(a==0) printf(“%dn”,y); else printf(“%dn”,x);
C: if (a!=0) printf(“%dn”,x); else printf(“%dn”,y);
D: if(a==0) printf(“%dn”,x); else printf(“%dn”,y); 
答案:  if(a==0) printf(“%dn”,x); else printf(“%dn”,y); 

17、单选题:
‎有如下程序 #include<stdio.h>‏‎int main( )  { int x=1,a=0,b=0;  switch(x){  case 0: b++;  case 1: a++; case 2: a++;b++; }  printf(“a=%d,b=%dn”,a,b); return 0; ‏‎}  该程序的输出结果是 ( ) ‏

A: a=2,b=1
B: a=1,b=1
C: a=1,b=0
D: a=2,b=2
答案:  a=2,b=1

18、单选题:
‍若执行下面的程序时从键盘上输入3和4,则输出是() #include<stdio.h>‏‍int main() { int a,b,s; scanf(“%d %d”,&a,&b); s=a; if(a<b)s=b; s=s*s; printf(“%dn”,s);‏‍return 0;‏‍}‏

A: 14
B: 16
C: 18
D: 20
答案:  16

19、单选题:
设ch是char型变量,其值为A,且有表达式:ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch;则表达式的值是()​

A: A
B: a
C: Z
D: z
答案:  a

20、单选题:
设a,b和c都是int型变量,且a=3,b=4,c=5,则表达式中值为0的表达式是()‌

A: ‘a’&&’b’
B: a<b
C: a||b+c&&b-c
D: !((a<b)&&!c||1)
答案:  !((a<b)&&!c||1)

21、单选题:
能正确表示a≥10或a≤0的关系表达式是()‎

A: a>=10 or a<=0
B: a>=10 | a<=0
C: a> =10 , a< =0
D: a>=10 || a<=0
答案:  a>=10 || a<=0

22、单选题:
若运行下面程序时,给变量a输入15,则输出结果是( )。‌#include<stdio.h>‌int main( )‌{ int a,b;‌scanf(“%d”,&a);‌b=a>15?a+10:a-10;‌printf(“%dn”,b) ;‌return 0;‌}‌

A: 5 
B: 25
C: 15
D: 10
答案:  5 

23、单选题:
以下选项中,两个条件语句语义等价的是( )​

A: if(a=2)printf(“%dn”,a);if(a==2)printf(“%n”,a);
B: if(a-2)printf(“%dn”,a);if(a!=2)printf(“%n”,a);
C: if(a)printf(“%dn”,a);if(a==0)printf(“%n”,a);
D: if(a-2)printf(“%dn”,a);if(a==2)printf(“%n”,a);
答案:  if(a-2)printf(“%dn”,a);if(a!=2)printf(“%n”,a);

24、单选题:
关于switch语句和break语句的描述中,正确的是()​

A: 在switch语句中必须使用break语句
B: break语句只能用于switch语句中
C: 在使用switch语句时,可以根据需要选择是否使用break语句
D: break语句是switch语句的一部分
答案:  在使用switch语句时,可以根据需要选择是否使用break语句

25、单选题:
以下程序的输出结果是(   )‌#include<stdio.h>‌int main()‌{  int x=1,y=0;‌   switch(x)‌     {  case  1: switch(y)‌                   {case  0:  printf(“first, “);  break;‌                    case  1:  printf(“second, “);break;‌                    }                                                ‌        case  2: printf(“third”);‌      }    ‌return 0; ‌}‌

A: first, third
B: first, second, third  
C: first, 
D: first, second, 
答案:  first, third

26、单选题:
‍‏‍判断char型变量ch是否为小写字母的正确表达式是(   )‏

A: ’a’<=ch<=’z’
B: (ch>=’a’)&(ch<=’z’)
C: (ch>=’a’)&&(ch<=’z’) 
D: (‘a’<=ch)and(‘z’>=ch)
答案:  (ch>=’a’)&&(ch<=’z’) 

27、单选题:
​若有int x=3,y=4,z=5;则下列表达式中值为0的是(   )‌

A: ‘x’&&’y’ 
B: x<=y 
C: x||y+z&&y-z
D: !((x<y)&&!z||9)
答案:  !((x<y)&&!z||9)

28、单选题:
‌已知x=43,ch=’a’,y=0;则表达式(x>=y&&ch<’b’&&!y)的值是(   )​

A: 0
B: 1
C: 语法错误 
D: 假
答案:  1

29、单选题:
‍执行下列语句后a的值为(    )‎int a,b,c;‎a=b=c=1;‎++a||++b&&++c;‎

A: 0
B: 1
C: 2
D: 错误
答案:  2

30、单选题:
‏执行下列语句后b的值为(   )‌int a,b,c;‌a=b=c=1;‌++a||++b&&++c;‌

A: 0
B: 1
C: 2
D: 错误
答案:  1

31、单选题:
‍执行下列语句后a的值为(    )​int a=5,b=6,w=1,x=2,y=3,z=4;​(a=w>x)&&(b=y>z);​

A: 5
B: 0
C: 2
D: 1
答案:  0

32、单选题:
‌执行下列语句后b的值为(   )​int a=5,b=6,w=1,x=2,y=3,z=4;​(a=w>x)&&(b=y>z);​

A: 6
B: 0
C: 1
D: 4
答案:  6

第三章 循环结构

第三章 测验

1、单选题:
​以下关于for语句的说法不正确的是(  )‏

A: for循环只能用于循环次数已经确定的情况
B: for循环是先判断表达式,后执行循环体语句
C: for循环中,可以用break语句跳出循环体
D: for循环体语句中,可以包含多条语句,但是要用花括号括起来
答案:  for循环只能用于循环次数已经确定的情况

2、单选题:
若i和k都是整型变量,for语句如下,则下面描述正确的是( )‌for(i=0,k=-1;k=1;k++)     printf(“********n”);‌

A: 循环体执行两次
B: 循环体执行一次
C: 循环体一次也不执行
D: 构成无限循环
答案:  构成无限循环

3、单选题:
‌以下程序中,while循环的次数是(  )​‌#include<stdio.h>​‌int main()​‌{​‌  int i=0;​‌  while(i<10)​‌  {​‌         if(i<1)​‌            continue;​‌         if(i==5)​‌            break;​‌         i++;​‌         }​‌  return 0;​‌}​

A: 1
B: 死循环,不能确定次数
C: 6
D: 10
答案:  死循环,不能确定次数

4、单选题:
‍对于for(表达式1;  ;表达式3)可理解为(  )​

A: for(表达式1; 1 ;表达式3)
B: for(表达式1:1 ;表达式3)
C: for(表达式1;表达式1 ;表达式3)
D: for(表达式1; 表达式3 ;表达式3)
答案:  for(表达式1; 1 ;表达式3)

5、单选题:
‏以下正确的描述是(  )​

A: continue语句的作用是结束循环
B: break语句可以在循环体或者switch语句中使用
C: break语句的作用是结束本次循环
D: continue语句和break语句的作用相同
答案:  break语句可以在循环体或者switch语句中使用

6、单选题:
‍循环语句中,如果第一次循环条件不成立时,循环体还会执行一次的是(  )‏

A: for语句
B: while语句
C: do-while语句
D: 其他三个答案都可以
答案:  do-while语句

7、单选题:
‏语句while(a);中的条件a等价于(  )‏

A: a==0
B: a!=0
C: a==1
D: a=1
答案:  a!=0

8、单选题:
若变量k为整型,则下面的while循环执行( )次。‍k=2;  while(k==0)    printf(“%d”,k);   k–;  printf(“n”);‍

A: 10
B: 9
C: 0
D: 1
答案:  0

9、单选题:
下面程序的运行结果是( )​‍#include<stdio.h>​‍int main()​‍{​‍   int num=0;​‍   while(num<=2)​‍   {num++;​‍    printf(“%d “,num);}​‍   return 0;​‍}​

A: 1
B: 1  2
C: 1 2 3
D: 1 2 3 4
答案:  1 2 3

10、单选题:
已知在main()函数中定义了整型变量i,则下面程序段的执行结果是( )‎‎for(i=0;i<10;i++)‎‎  if(i<=5) break;‎‎printf(“%d”,i);‎

A: 0
B: 1
C: 5
D: 10
答案:  0

11、单选题:
已知n为整型变量,则下述循环程序段执行后,n的值是( )‏for(n=0;n<100;n=2*n+1);‏ printf(“%d”,n);‏

A: 125
B: 126
C: 127
D: 128
答案:  127

12、单选题:
‏‎在C语言中,执行语句:for (j=1; j++<4; );后,变量j的值是(  )‏

A: 3
B: 4
C: 5
D: 不确定值
答案:  5

13、单选题:
下述程序段执行后,输出的结果是( )‍‌#include<stdio.h>‍‌int main()‍‌{‍‌ int a,b;‍‌ for(a=1,b=1;a<=100;a++)‍‌ {‍‌ if(b>=10) break;‍‌ if(b%3==1)‍‌ {‍‌ b+=3;continue;‍‌ }‍‌ }‍‌ printf(“%d”,a);‍‌       return 0;‍‌}‍

A: 4
B: 5
C: 6
D: 101
答案:  4

14、单选题:
已知i,j,w为整型变量,且w=0,则下述程序段执行后,w的值是( )‌for(i=4;i!=0;i–)‌  for(j=1;j<=2;j++)‌     w=w+i*j;‌w=i*j;‌

A: 4
B: 0
C: 1
D: 30
答案:  0

15、单选题:
设n为整型变量,则循环语句for(n=10;n>0;n–)的循环次数为( )‍

A: 10
B: 9
C: 11
D: 12
答案:  10

16、单选题:
设已定义k为int型变量,则下面while循环执行( )‍k=10;‍while(k=1) ‍   k-=1;‍

A: 执行10次
B: 无限循环
C: 一次也不执行
D: 执行一次
答案:  无限循环

17、单选题:
下面关于for循环语句描述正确的是( )‌

A: for循环不能用于循环次数未知的情况
B: for循环语句执行时是先执行循环体语句,后判断表达式
C: 不能使用break语句结束for循环语句
D: 使用for语句构成的循环结构,当循环体语句是多条语句时,循环体语句需要用{}括起来
答案:  使用for语句构成的循环结构,当循环体语句是多条语句时,循环体语句需要用{}括起来

18、单选题:
设已定义k为int型变量,则下面while循环执行( )‌k=10;‌while(k==1) ‌   k-=1;‌

A: 执行10次
B: 无限循环
C: 执行一次
D: 一次也不执行
答案:  一次也不执行

19、单选题:
‌‌‏已知整型变量a=1,b=2,c=2,t为整型变量,则下述循环执行后a,b,c的值是(   )‌‏while(a<b<c)‌‏{‌‏    t=a;a=b;b=t;c–;‌‏}‌‌

A: 1 2 0
B: 2 1 0
C: 1 2 1
D: 2 1 1
答案:  1 2 0

20、单选题:
如果在main函数中,i是已经定义好的整型变量,则下面循环执行后的输出结果是( )‎   for(i=1;i<=5;i++)   {         if(i%2)    printf(“*”);      else       continue;      printf(“#”);   }‎

A: *#*#*#
B: #*#*#*
C: *#*#
D: #*#*
答案:  *#*#*#

21、单选题:
已知整型变量x的初值为23,则以下循环程序执行后将输出( )‏‎do{‏‎ printf(“%d”,x–);‏‎     }while(!x);‏‏

A: 321
B: 23
C: 不输出任何内容
D: 陷入死循环
答案:  23

22、单选题:
​设有整型变量x,下述语句(  )不会出现死循环‏​‏

A: for(;;x+=1);
B: for(;(x=getchar())!=’n’;);
C: while(1) {x++;}
D: for(x=10;;x–);
答案:  for(;(x=getchar())!=’n’;);

23、多选题:
‍以下程序用于求1+1/2+1/3+……+1/9,指出程序的错误行(  )‍‍#include<stdio.h>‍‍int main()‍‍{‍‍       int i;‍‍       float t,s=0;‍‍   A: for(i=1;i<10;i++);‍‍       {‍‍   B:   t=1/i;‍‍   C:   s+=t;‍‍      }‍‍   D: printf(“%.2f”,s);‍‍     return 0;‍‍}‍

A: A标号对应的代码行
B: B标号对应的代码行
C: C标号对应的代码行
D: D标号对应的代码行
答案:  A标号对应的代码行;
B标号对应的代码行

24、多选题:
​以下程序代码要求实现求输入的10个数中正数的个数。指出程序的错误行( )‏#include<stdio.h>‏int main()‏{        int i,a,n=0;‏​                  for(i=0;i<10;i++)‏​                  {‏​                            A:  scanf(“%f”,&a);‏​                            B:  if(a<=0)‏​                            C:     break;‏​                            n++;‏​                  }‏​                  D:printf(“%d”,n);‏​                return 0;‏​}‏

A: A标号对应的代码行
B: B标号对应的代码行
C: C标号对应的代码行
D: D标号对应的代码行
答案:  A标号对应的代码行;
C标号对应的代码行

25、判断题:
在main函数中,c是经过定义的整型变量,则while(c=getchar());是正确的循环语句( )​

A: 正确
B: 错误
答案:  正确

26、判断题:
for(;;);语句相当于while(1);( )‏

A: 正确
B: 错误
答案:  正确

27、填空题:
以下程序运行后的输出结果是( )。‌#include<stdio.h> int main(){       int   i=10,  j=0;    do    { j=j+i;       i–;    }while(i>2);    printf(“%dn”,j);‌    return 0;}‌
答案:  52

28、填空题:
设有以下程序:​#include<stdio.h> int main(){       int   n1,n2;    scanf(“%d”,&n2);    while(n2!=0)      {             n1=n2 % 10;          n2=n2/10;          printf(“%d”,n1);       }​      return 0;}​程序运行后,如果从键盘上输入1298;则输出结果为(   )。​
答案:  8921

29、填空题:
以下程序的输出结果是( )。​#include<stdio.h> int main() {​  int s,i;  for(s=0,i=1;i<3;i++,s+=i);    printf(“%dn”,s);​  return 0; }​
答案:  5

30、填空题:
阅读下面程序,程序的结果是( )。​#include<stdio.h> int main(){int i=7; for(i=2;i>0;i–)    printf(“%d,”,i); printf(“%d”,i);​ return 0;}​
答案:  2,1,0


下方是付费阅读内容:本平台商品均为虚拟商品,无法用作二次销售,不支持退换货,请在购买前确认您需要购买的资料准确无误后再购买,望知悉!


完整答案需点击上方按钮支付5元购买,所有答案均为章节测试答案,购买后上方矩形框将出现已付费的隐藏内容。


如果点击【立即购买】不能跳转,请更新一下APP版本,如百度APP可能有兼容性问题,更新版本即可正常使用,或者换一个浏览器(如UC浏览器)再试试

不知道怎么购买?点击这里查看购买教程!


为了方便下次阅读,建议在浏览器添加书签收藏本网页

添加书签方法:

1.电脑按键盘的Ctrl键+D键即可收藏本网页

2.手机浏览器可以添加书签收藏本网页

C语言学习辅导与习题课(北京化工大学) 中国大学MOOC答案2024版100分完整版第1张

C语言学习辅导与习题课(北京化工大学) 中国大学MOOC答案2024版100分完整版第2张


获取更多慕课答案,欢迎在浏览器访问我们的网站:http://mooc.mengmianren.com

C语言学习辅导与习题课(北京化工大学) 中国大学MOOC答案2024版100分完整版第3张C语言学习辅导与习题课(北京化工大学) 中国大学MOOC答案2024版100分完整版第4张

C语言学习辅导与习题课(北京化工大学) 中国大学MOOC答案2024版100分完整版第5张

注:请切换至英文输入法输入域名,如果没有成功进入网站,请输入完整域名:http://mooc.mengmianren.com/


我们的公众号

打开手机微信,扫一扫下方二维码,关注微信公众号:萌面人APP

本公众号可查看各种网课答案,还可免费查看大学教材答案

点击这里,可查看公众号功能介绍

C语言学习辅导与习题课(北京化工大学) 中国大学MOOC答案2024版100分完整版第6张


一键领取淘宝,天猫,京东,拼多多无门槛优惠券,让您购物省省省,点击这里,了解详情