C语言程序设计(甘肃林业职业技术学院)1452453164 中国大学MOOC答案100分完整版

叭脸碗暖匙寄绥陀沉拉珊馅沤

项目一 课程准备

项目一单元测验

1、单选题:
1. 程序员职业道德要严守商业秘密,代码、资料保密,尤其是做到不进行恶意泄露、破坏代码,严格编程规范,请问编写正确代码、数组边界检查目的是为进行(    )‏

A: 防止拒绝服务攻击;
B: 防止远程操纵;
C: 缓冲器溢出保护;
D:  防止报文攻击.
答案:  缓冲器溢出保护;

2、单选题:
‎printf()函数的格式说明符中,要输出单个字符应使用下面那个说明符‌

A: %d
B: %s
C: %f
D: %c
答案:  %c

3、单选题:
一个完整的C源程序是(    )​‌​

A: 要由一个主函数(或)一个以上的非主函数构成
B: 由一个且仅由一个主函数和零个以上(含零)的非主函数构成
C: 要由一个主函数和一个以上的非主函数构成
D: 由一个且只有一个主函数或多个非主函数构成
答案:  由一个且仅由一个主函数和零个以上(含零)的非主函数构成

4、单选题:
下列说法中正确的是(    )​

A: main函数必须出现在所有函数之前
B: main函数可以在任何地方出现
C:  main函数必须出现在所有函数之后
D: main函数必须出现在固定位置
答案:  main函数可以在任何地方出现

5、单选题:
‏C语言的基本单位是(    )‏

A: 程序行
B: 语句
C: 函数
D: 字符
答案:  函数

6、单选题:
一个C语言程序中有()个主函数‏

A: 0
B: 有且只有一个
C: 2
D: 不确定
答案:  有且只有一个

7、多选题:
‎C语言的运行环境有哪些‎

A: VC++6.0
B: C/C++程序实验与学习系统
C: windows系统
D: word环境
答案:  VC++6.0;
C/C++程序实验与学习系统

8、多选题:
1.  C语言程序总是从_____________函数开始,而不论其在程序中的位置。‏‎‏

A: 主
B: main
C: 任意位置
D: 不确定
答案:  主;
main

项目七 汽车数据间接显示(指针)

任务7.1 统计某车企的汽车数量(指针和变量)随堂测验

1、单选题:
下程序的运行结果是()。 ​‍void ast (int x,int y,int *cp,int *dp) 
{ *cp=x+y; *dp=x-y; } 
main() 
{ int a=4,b=3,c,d; 
  ast(a,b,&c,&d); 
  printf(“%d,%dn”,c,d); 
}​‍​

A: 7,1
B: 1,7
C: 7,-1
D: c、d未赋值,编译出错
答案:  7,1

2、单选题:
有以下语句: ‎    int a[5]={0,1,2,3,4,5},i; ‎    int *p=a; ‎设0≤i<5,对a数组元素不正确的引用是(   )。 ‎​‎

A: *(&a[i])
B: a[p-a] 
C: *(*(a+i))
D: p[i]
答案:  *(*(a+i))

3、单选题:
若有定义int *p1,*p2; 则错误的表达式是(  )。 ‎‍‎

A: p1+p2 
B: p1-p2 
C: p1<p2 
D:  p1=p2
答案:  p1+p2 

4、单选题:
‍以下程序段运行后,表达式*(p+4)的值为(   )。 ​‍​char a[]=”china”; ​ char *p; ​ p=a; ​‍​

A:  ‘n’
B: ‘a’
C: 存放’n’的地址
D: 存放’a’的地址
答案:  ‘a’

5、单选题:
以下程序段运行后,表达式*(p++)的值为( )。 ‏  char a[5]=”work”; ‏  char *p=a; ‏‌‏

A: ‘w’ 
B: 存放’w’的地址
C: ‘o’
D: 存放’o’的地址
答案:  ‘w’ 

6、单选题:
若有定义: ‎int *p,k=4; p=&k; ‎以下均代表地址的是(  )。 ‎‏‎

A: k, p
B: &k, &p
C:  &k, p 
D: k, *p
答案:   &k, p 

7、单选题:
下面语句错误的是(   )。 ‎‏‎

A:  int *p; *p=20;
B: char *s=”abcdef”; printf(“%sn”,s); 
C: char *str=”abcdef”; char *p;p=str
D: char *str;str=”abcdef”;
答案:   int *p; *p=20;

任务7.2汽车一年销售额显示(指针和数组)动手练习

1、单选题:
‎若有以下定义和语句,且0≤i<10则对数组元素的错误引用是        。‏‎         int a[10]={1,2,3,4,5,6,7,8,9,10},*p,i;‏‎         p=a;‏‎‏

A: *(a+i)  
B: a[p-a]
C: p+i             
D: *(&a[i])
答案:  p+i             

2、单选题:
若有以下说明:‎                   int
a[10]={1,2,3,4,5,6,7,8,9,10},*p=a ;‎‍‎         则数值为6 的表达式是         。‎

A: *p+6   
B:  *(p+6)
C: *(p+5)
D: p+5
答案:  *(p+5)

3、单选题:
设P1和P2 是指向同一个int型一维数组的指针变量,k 为int 型变量,则不能正‍​‍         确执行的语句是         。‍

A: k=*P1+*P2;  
B: p2=k;
C:  P1=P2;
D: k=*P1 * (*P2);
答案:   P1=P2;

4、单选题:
有如下说明‎                   int
a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;‎‏‎         则数值为9 的表达式是         。‎

A: *p+9 
B: *(p+8)
C: *p+=9 
D: p+8
答案:  *(p+8)

5、单选题:
下面程序输出数组中的最大值,由s指针指向该元素.‏         void
main()‏         {
 int a[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s;‏            for(p=a, s=a;p-a<10;p++)‏            if(        )s=p;‏            printf(”The
max:%d”,*s):‏         }‏‏‏         则在if 语句中的判断表达式应该是         。‏

A: p>s
B: *p>*s       
C: a[p]>a[s]       
D: p-a>p-s
答案:  *p>*s       

6、单选题:
若有以下定义和语句:​                   int
a[10]={1 ,2,3 ,4,5 ,6,7 ,8,9 ,10},*p=a ;​         则不能表示a 数组元素的表达式是         。​       ​‍​

A: *p         
B: a[10]   
C:  *a  
D:  a[p-a]
答案:  a[10]   

任务7.3 某车企多项数据显示(指针作为函数参数)动手练习

1、单选题:
若有定义int a[2][3],*p=a;,则能表示数组元素a[1][2]地址的是(   )。 ‌‎‌

A: *(a[1]+2) 
B: a[1][2] 
C: p[5]
D: p+5
答案:  p+5

2、单选题:
‍若已定义: int a=5,*p; 且 p=&a;  则以下表示中不正确的是(   )。 ‎

A: &a==&(*p) 
B:  *(&p)==a 
C: &(*p)==p 
D:  *(&a)==a
答案:   *(&p)==a 

3、单选题:
‏若有以下程序段,则叙述正确的是(  )。‏‏‏char s[]=”computer”; ‏char *p; p=s; ‏‏‏

A: s和p完全相同 
B:   数组s的长度和p所指向的字符串长度相等 
C: *p与s[0]相等 
D: 数组s中的内容和指针变量p中的内容相等
答案:  *p与s[0]相等 

4、单选题:
若有以下程序段,则不能正确访问数组元素a[1][2]的是(  )。 ​int (*p)[3];​int a[][3]={1,2,3,4,5,6,7,8,9};​‍​p = a; ​

A: p[1]+2 
B: p[1][2] 
C:  (*(p+1))[2] 
D: *(*(a+1)+2)
答案:  p[1]+2 

5、单选题:
以下程序段的运行结果是(   )。 ‎    int
a[]={1,2,3,4,5,6,7},*p=a;‎    int
n,sum=0;‎    for(n=1;n<6;n++)
sum+=p[n++];‎‎‎   
printf(“%d”,sum); ‎

A: 12
B: 15
C: 16
D: 27
答案:  12

6、单选题:
以下程序段运行后变量s的值为(   )。 ‌ int
a[]={1,2,3,4,5,6,7};‌ int
i,s=1,*p;‌ p=&a[3];‌ for(i=0;i<3;i++)‌‎‌  
s*=*(p+i); ‌

A: 6
B: 60
C: 120
D: 210
答案:  120

7、单选题:
以下程序段运行后变量ans的值为(  )。 ‎  int a[]={1,2,3},b[]={3,2,1};‎ int
*p=a,*q=b;‎ int
k,ans=0;‎ for(k=0;k<3;k++)‎ if(*(p+k)==*(q+k))‎  ans=ans+*(p+k)*2;‎‏‎‎

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

单元测验

1、单选题:
若有以下定义和语句,且0≤i<10则对数组元素的错误引用是        。‌    int a[10]={1,2,3,4,5,6,7,8,9,10},*p,i;‌    p=a;‌‏‌

A: *(a+i)
B: a[p-a]  
C:  p+i 
D:  *(&a[i])
答案:   p+i 

2、单选题:
char *s=”t\Name\Addressn”;‏‍‏    指针s所指字符串的长度为:        。‏

A: 说明不合法 
B: 19 
C: 18 
D: 15
答案:  15

3、单选题:
分析下面函数,以下说法正确的是        。‍        swap(int *p1,int *p2)‍        { int *p;‍         
*p=*p1; *p1=*p2; *p2=*p;‍‌‍        }‍

A: 交换*p1和*p2的值   
B: 正确,但无法改变*p1和*p2的值
C: 交换*p1和*p2的地址 
D: 可能造成系统故障,因为使用了空指针
答案:  可能造成系统故障,因为使用了空指针

4、单选题:
设有说明int (*ptr)[M]; 其中ptr是          。‏

A: M个指向整型变量的指针
B: 指向M个整型变量的函数指针
C: 一个指向具有M个整型元素的一维数组的指针
D: 具有M个指针元素的一维指针数组,每个元素都只能指向整型量
答案:  一个指向具有M个整型元素的一维数组的指针

5、单选题:
在说明语句:int *f(); 中,标识符代表的是:         。‍

A:  一个用于指向整型数据的指针变量
B:  一个用于指向一维数组的指针
C:  一个用于指向函数的指针变量 
D: 一个返回值为指针型的函数名
答案:  一个返回值为指针型的函数名

6、单选题:
若int x ,*pb;
,则正确的赋值表达式是         。‏

A:  pb=&x
B: pb=x;
C: *pb=&x;
D: *pb=*x
答案:   pb=&x

7、单选题:
对于类型相同的两个指针变量之间,不能进行的运算是         。‍

A: <         
B: =         
C: +         
D: –
答案:  +         

8、单选题:
若已定义:int a[9] ,*p=a;并在以后的语句中未改变p 的值,不能表示a[1] 地‏‏‏    址的表达式是         。‏

A: p+1 
B: a+1
C: a++ 
D: ++p
答案:  a++ 

9、单选题:
设有如下的程序段:‍        char
str[ ]=”Hello” ;‍        char
*ptr ;‍        ptr=str;‍‌‍    执行上面的程序段后 ,*(ptr+5)的值为         。‍

A: ‘o’ 
B: ”       
C: 不确定的值       
D: ‘o’的地址
答案:  ”       

10、单选题:
下面各语句行中,能正确进行字符串赋值操作的语句是         。‍

A: char
ST[5]={“ABCDE”};
B:  char S[5]={‘A’,’B’,’C’,’D’,’E’};
C:  char *S; S=”ABCDE”;
D: char *S; scanf(”%s”,S);
答案:   char *S; S=”ABCDE”;

项目三 车辆数据类型选择(选择结构)

任务3.1新能源汽车电池组的选择(单分支)随堂测验

1、单选题:
‌已知定义double类型值battery_capacity,则scanf格式化字符串___.‏‌‏

A:  %D
B: %lf
C:  %C
D: .%S
答案:  %lf

2、单选题:
‎使用scanf函数需要在头文件中添加___.‍‎‍

A: #include <stdio.h> 
B: #include <ctype.h>  
C: #include <float.h>
D: include <iomanip.h>
答案:  #include <stdio.h> 

3、单选题:
​定义int x=5, y=6;执行y=x+y程序后,变量y的值是___.​​​

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

4、单选题:
‎有下面的程序 int a=3,b=5;‎‎             if(a>b)b=a;‎‎             printf(“b=%d”,b);‎

A: b=5
B: b=3
C: b=0
D: b=1
答案:  b=5

5、单选题:
​执行下面程序的输出结果为___.‏​void main(){
int x=11,y=16,z=20;
if(x>y){
printf(“%d”,z);
}
if(y>z){
printf(“%d”,z);
}
if(z>x){
printf(“%d”,z);
}
}‏​‏​‏

A: 16
B: 20
C: 11
D: 15
答案:  20

任务3.2判断车辆是否存在故障(双分支)随堂测验

1、单选题:
​两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( )。‏​ int x;  
scanf(“%d”,&x); 
if(++x>5)     
printf(“%d”,x); 
else          
printf(“%dn”,x –);‏​‏

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

2、单选题:
已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (A<B && !C>B)的值是( )。​‌​‌​

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

3、单选题:
‏下边程序段 ‎‏int a=2,b=3,c=4; 
    if(c=a+b)  
printf(“OK!”);
 else        
printf(“NO!”); ‎‏输出结果是(  )。‎‏‎

A: OK!
B: NO
C: 程序错误
D: 以上都不对
答案:  OK!

4、单选题:
‌设整型变量a,b的值分别为1,0,那么a || b的结果是(   )。‌‌‌

A: 0
B: 1
C: 2
D: 都不对
答案:  1

5、单选题:
‎有以下程序段 ‏‎int a; ‏‎ if (3&&2)   a=1;  ‏‎else   a = 2;  ‏‎执行后a=(   )。‏‎‏

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

任务3.3判断车辆的故障等级(多分支)随堂测验

1、单选题:
​下列语句搭配正确的是( )‏​‏

A: if ,while
B: while ,else
C: if ,else
D:  if ,else if
答案:  if ,else

2、单选题:
‌下面括号该填的是( )‍‌void main(){
       int Rap;
      printf(“输入你的电量状态(占比数字):n”);
       scanf(“%d”,&Rap);
       if(Rap==0)
       {
     printf(“无电量,无法行驶状态。n”);
       }
      else if( Rap<20)
       {
     printf(“缺电状态n”);
       }
     (______________________________________)
   {
     printf(“正常状态n”);
       }‍

A: if 
B: else
C: else if
D: do
答案:  else

3、单选题:
‍大于零并且小于十五时输出一档该填(  )‌‍#include “stdio.h”
void main()
{
    int speed;
    printf(“输入你的车速(km):n”);
    scanf(“%d”,&speed);
    if(speed==0)
    {
     printf(“零档n”);
    }
    else if(speed________)
    {
     printf(“一挡n”);
    }
   
     else if(speed<30)
    {
     printf(“二挡n”);
    }
    else if(speed<40)
    {
     printf(“三挡n”);
    }
    else
    {
     printf(“四挡n”);
    }
    
}‌

A: <15
B: >15
C: >=15
D: <=15
答案:  <15

4、单选题:
‎要输出:一级故障/严重故障,停机处理 则要输入()‍‎void main()
{
     int Fault_level;
     printf(“输入你的事故等级(数字):n”);
     scanf(“%d”,&Fault_level);
     if(Fault_level==0)
     {
     printf(“正常n”);
     }
       else if(Fault_level<2)
     {
     printf(“一级故障/严重故障,停机处理;n”);
      }
     else
    {
     printf(“输入错误,请重新输入n”);
    }
    }‍

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

5、单选题:
请给空格处填空void main()
 {
     char Typeofdrivinglicense[2];
    printf(“输入你的车型:n”);
    scanf(“(____)”,&Typeofdrivinglicense);‎‏ ‎

A: %a
B: %c
C: %s
D: %f
答案:  %c

任务3.4 判断车辆的故障等级(switch)随堂测验

1、单选题:
‌写出下面程序的输出结果 ()​‌#include <stdio.h> 
int main() 
{  
int x=1, y=0, a=0, b=0; 
switch(x) 
{  
case 1: 
switch(y) 

case 0: a++;  
case 1: b++; 
} 
case 2: a++; 
b++; 
} 
printf(“a=%d, b=%dn”, a, b) ; 
return 0; 
}​

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

2、单选题:
​若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是()‎​‎

A:  switch(x) { case 1.0:printf(“*n”);case 2.0:printf(“**n”);}
B: switch((int)x);{ case 1:printf(“*n”);case 2.0:printf(“**n”);}
C: switch(a+b) { case 1:printf(“*n”);case 2:printf(“**n”);} 
D: switch(a+b){ case 1:printf(“*n”);case c:printf(“**n”);}
答案:  switch(a+b) { case 1:printf(“*n”);case 2:printf(“**n”);} 

任务3.5 车辆故障诊断与维修(选择嵌套)随堂测验

1、单选题:
‌在嵌套使用if语句时,C语言规定else总是()。‍‌‍

A: 和之前与其具有相同缩进位置的if配对
B: 和之前与其最近的if配对
C: 和之前与其最近的且不带else的if配对
D: 和之前的第―个if配对
答案:  和之前与其最近的且不带else的if配对

2、单选题:
​以下关于switch语句和break语句的描述中,正确的是()。‎​‎

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

3、单选题:
‌#include <stdio.h>  #include <math.h>  int main ( )  {      double x, y;      scanf(“%lf”,& x);      if (x<2)          y=x;      else if(x<6)            y=x*x+1;      else if(x<10)          y=sqrt(x+1);      else          y=1/(x+1);      printf(“%lfn”, y);      return 0;  }‍‌从键盘输入3,那么程序的结果为‍

A: 3
B: 10
C: 2
D: 0.333
答案:  10

项目三:单元测试

1、单选题:
‍以下运算符中优先级最高的为()‎‍‎‍‎

A: &&
B: !
C: !=
D: ==
答案:  !

2、单选题:
1. 分析以下程序, 下列说法正确的是       。‎main()‎  { int x=5,a=0,b=0;‎if(x=a+b) printf(“* * * *n”);‎else   printf(“# # # #n”);‎  }‎‍‎

A: 有语法错,不能通过编译
B: 通过编译,但不能连接
C: 输出* * * *
D: 输出# # # #
答案:  输出# # # #

3、单选题:
‌若以定义 int=12;执行下面程序的输出结果为___.‍‌Printf(“a=%d,a=%o,a=%xn”a,a,a);‍‌‍

A: a=12,a=14,a=c
B: a=12,a=14,a=a
C: a=12,a=16,a=c
D: a=12,a=14,a=c
答案:  a=12,a=14,a=c

4、单选题:
​设整型变量a,b的值分别为1,0,那么a || b的结果是‍​‍

A: 0
B: 1
C: 2
D: 都不对
答案:  1

5、单选题:
​已知有程序为‏​int x=3,y=10;‏​if(x<1)x=x+y;‏​else if(x<=3)‏​            {    if(y>x) y=y-x;‏​                 else y=x-y;‏​            }‏​则 y 的值为‏

A: 7
B: -7
C: 10
D: 13
答案:  7

6、单选题:
‌‌‌‌从键盘输入1 81,则输出结果为‌void main()‌{    int mode,required,time;‌    printf(“1:快充t2:慢充nn”);‌    printf(“请选择充电方式:(输入对应方式前的数字)n”);‌    printf(“请输入需求电量:n”);‌   scanf(“%d%d”,&mode,&required);    ‌    switch(mode)‌    {     ca



上方为免费预览版答案,如需购买完整答案,请点击下方红字:



点击这里,购买完整版答案


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

添加书签方法:

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

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

点击浏览器底部菜单-【添加书签】-收藏本网页

C语言程序设计(甘肃林业职业技术学院)1452453164 中国大学MOOC答案100分完整版第1张

点击浏览器底部菜单-【书签/历史】-可查看本网页

C语言程序设计(甘肃林业职业技术学院)1452453164 中国大学MOOC答案100分完整版第2张


获取更多慕课答案,欢迎在浏览器访问我们的网站:



http://mooc.mengmianren.com

C语言程序设计(甘肃林业职业技术学院)1452453164 中国大学MOOC答案100分完整版第3张

C语言程序设计(甘肃林业职业技术学院)1452453164 中国大学MOOC答案100分完整版第4张

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


我们的公众号

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

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

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

C语言程序设计(甘肃林业职业技术学院)1452453164 中国大学MOOC答案100分完整版第5张




APP下载



点击这里下载萌面人APP,使用更方便!




APP功能说明

1.可查看各种网课答案

点击【萌面人官网】,可查看知到智慧树,超星尔雅学习通,学堂在线等网课答案

C语言程序设计(甘肃林业职业技术学院)1452453164 中国大学MOOC答案100分完整版第6张

点击【中国大学慕课答案】,可查看mooc慕课答案

C语言程序设计(甘肃林业职业技术学院)1452453164 中国大学MOOC答案100分完整版第7张

2.可一键领取淘宝/天猫/京东/拼多多无门槛优惠券

如图所示,点击对应图标即可领取淘宝/天猫/京东/拼多多无门槛优惠券

C语言程序设计(甘肃林业职业技术学院)1452453164 中国大学MOOC答案100分完整版第8张


隶冈竿井郸耽彭俯鹃必醒俺擅