0.0882

五煦查题

快速找到你需要的那道考题与答案

moocC语言程序设计_120章节答案(mooc2023课后作业答案)

42 min read

moocC语言程序设计_120章节答案(mooc2023课后作业答案)

项目一 课程准备

项目一单元测验

1、语言程业答1. 程序员职业道德要严守商业秘密,序设代码、计章节答资料保密,案m案尤其是后作做到不进行恶意泄露、破坏代码,语言程业答严格编程规范,序设请问编写正确代码、计章节答数组边界检查目的案m案是为进行( )
A、防止拒绝服务攻击;
B、后作防止远程操纵;
C、语言程业答缓冲器溢出保护;
D、序设防止报文攻击.

2、计章节答printf()函数的案m案格式说明符中,要输出单个字符应使用下面那个说明符
A、后作%d
B、%s
C、%f
D、%c

3、一个完整的C源程序是( )
A、要由一个主函数(或)一个以上的非主函数构成
B、由一个且仅由一个主函数和零个以上(含零)的非主函数构成
C、要由一个主函数和一个以上的非主函数构成
D、由一个且只有一个主函数或多个非主函数构成

4、下列说法中正确的是( )
A、main函数必须出现在所有函数之前
B、main函数可以在任何地方出现
C、main函数必须出现在所有函数之后
D、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环境

8、1. C语言程序总是从_____________函数开始,而不论其在程序中的位置。
A、主
B、main
C、任意位置
D、不确定

项目一单元作业

1、典型案例1.已知2015年江苏省的车辆上牌数量如图1-3-2所示,显示苏州的车辆上牌信息:

2、典型案例2. 显示一辆新能源车辆的基本数据。驾驶员的驾照类型为A,车牌号码为苏E88888,车辆速度为80公里/小时,累计里程15347.5公里,充放点次数100次,目前处在的档位为4 档。

项目二 车辆行驶状态显示(输入、输出)

任务1 统计汽车的数量 (printf函数)随堂测验

1、int类型用什么运算符
A、%d
B、%f
C、%lf
D、%c

2、float类型用什么格式符
A、%d
B、%f
C、%lf
D、%c

3、double类型用什么格式符
A、%d
B、%f
C、%c
D、%lf

4、字符型用什么格式符
A、%d
B、%lf
C、%f
D、%c

5、以下哪种printf的用法正确
A、printf("%d",'a');
B、printf("%d",4.0);
C、printf("%d",4);
D、printf("%f",4);

6、以下关于long、int和short类型数据占用内存大小的叙述中正确的是
A、均占4个字节
B、由用户自己定义
C、由C语言编译系统决定
D、根据数据的大小来决定所占内存的字节数

7、以下程序的显示结果为 #main() { int a=10,b=5; printf("a=%d,b=%d",a,b);
A、a=10,b=5
B、10 5
C、a=10 5
D、a=5,b=10

任务2 统计汽车的载客人数 (scanf函数)随堂测验

1、若变量已正确说明为float类型, 要通过语句scanf("%f %f%f", &a, &b, &c);给a赋予10.0, b赋予22.0, c赋予33.0, 不正确的输入形式为()。
A、10<回车> 22<回车> 33
B、10.0,22.0,33.0<回车>
C、10.0<回车> 22.0 33.0
D、10 22<回车> 33

2、若x,y均为int型,z定义为double型,以下不合理的scanf函数调用语句是
A、scanf("%d%lx%le",&x,&y,&z);
B、scanf("%x%*d%le",&x,&y,&z);
C、scanf("%d%d%lf",&x,&y,&z);
D、scanf("%d%d%f",&x,&y,&z);

3、下面scanf格式用法正确的是
A、scanf("%d",x);
B、scanf("%d,x);
C、scanf(%d,&x);
D、scanf("%d",&x);

4、根据定义和数据的输入方式,输入语句正确的形式为 已有定义: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)

5、从键盘输入10,以下程序的输出结果为 #main() { int a; scanf("%d",&a); a=a+20; printf("a=%d",a); }
A、10
B、30
C、a=10
D、a=30

任务3 计算需要的车辆(算术运算符、强制转换)随堂测验

1、下面哪个符号两边只能用整型
A、*
B、/
C、%
D、!

2、设 a、b、c、d、m、n均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值为:
A、0
B、1
C、2
D、3

3、C语言中8/3的结果为
A、2.6
B、2.0
C、2
D、3

4、C语言中8/3.0的结果为
A、2.66667
B、2
C、3
D、2.0

5、C语言中10%3的结果为
A、1
B、2
C、0
D、3

6、逻辑且是哪个符号
A、&&
B、||
C、|
D、&

7、逻辑或是哪个符号
A、&&
B、||
C、|
D、&

任务4 显示驾照的类型(字符输入与输出)随堂测验

1、getchar()的作用
A、从键盘输入一个字符
B、从键盘输入一个字符串
C、从键盘输出一个字符
D、从键盘输出一个字符串

2、putchar()的作用
A、从键盘输入一个字符
B、从键盘输入一个字符串
C、从键盘输出一个字符
D、从键盘输出一个字符串

3、有以下程序,输入大写字母B后,程序运行结果是 #include"stdio.h" void main() { char c; c=getchar(); c=c+32; printf("%c",c);}
A、B
B、b
C、c
D、C

4、有以下程序,输入小写字母q后,程序运行结果是 #include"stdio.h" void main() { char c; c=getchar(); c=c-32; printf("%c",c);}
A、q
B、Q
C、C
D、c

5、有以下程序,需要从键盘输入两个字符,输入格式正确的是 #include"stdio.h" void main() { char ch1,ch2; scanf("%c%c",&ch1,&ch2); printf("%c %c",ch1,ch2);}
A、sf
B、s f
C、s f
D、s,f

任务5 领取驾照流程(流程图)随堂测验

1、流程图的输入与输出用什么符号
A、平行四边形
B、椭圆形
C、三角形
D、矩形

2、流程图的判断用什么符号
A、平行四边形
B、椭圆形
C、菱形
D、矩形

3、流程图的开始和结束用什么符号
A、平行四边形
B、椭圆形
C、菱形
D、矩形

4、流程图的计算用什么符号
A、平行四边形
B、椭圆形
C、菱形
D、矩形

5、从键盘输入10,20以下程序输出的结果为 #include"stdio.h" { int a,b,c; scanf("%d%d",&a,&b); c=a+b; printf("%d",c); }
A、30
B、c=30
C、20
D、c=20

项目二单元测试

1、下面哪种不是C语言的基本类型的
A、字符型
B、数组
C、整型
D、浮点型

2、字符型用什么格式符表示
A、%d
B、%f
C、% c
D、%lf

3、下列程序的运行结果是什么 #include <stdio.h> void main( ) { char ch; ch='A'; printf("%c\n",ch); printf("%d\n",ch); }
A、‘A' ‘A'
B、65 65
C、‘A' 65
D、65 ‘A'

4、若a为int类型,且其值为3,则执行完表达式“a+=a-=a*a”后,a的值是
A、-3
B、9
C、-12
D、6

5、阅读下面的程序找出哪一行出错 #include "stdio.h" void main() { char ch; 1 printf("请输入一个字符"); 2 ch=getchar(); 3 printf("刚刚输入的字符为"); 4 printf("%f",ch); }
A、1
B、2
C、3
D、4

6、阅读下面的程序找出哪一行出错 #include "stdio.h" void main() { double num1,num2,num3; 1 printf("请输入两个数据"); 2 scanf("%lf%lf",num1,num2); 3 num3=num1+num2; 4 printf("两数之和为%lf",num3); }
A、1
B、2
C、3
D、4

7、显示欢迎来到C语言课堂正确的语句为
A、printf("欢迎来到C语言课堂");
B、printf(欢迎来到C语言课堂);
C、print("欢迎来到C语言课堂");
D、printf("欢迎来到C语言课堂")

8、阅读下面的程序,分析功能 #include "stdio.h" void main() { int num1=5,num2=3,num3; num3=num1; num1=num2; num2=num3; printf("num1=%d,num2=%d",num1,num2); }
A、求和
B、赋值
C、无作用
D、交换两个数据

9、阅读下面的程序,分析功能 #include "stdio.h" void main() { char ch; printf("请输入一个大写字母"); scanf("%c",&ch); ch=ch+32; printf("请输成字符%c",ch); }
A、大写字母转换为小写字母
B、小写字母转换为大写字母
C、不确定
D、输入与输出

10、数学方程为F=3/2M,写成C语言程序为
A、F=3/2M
B、F=3/2*M
C、F=3.0/2*M
D、F=3/2*M*1.0

11、int类型用什么运算符
A、%d
B、%f
C、%lf
D、%c

12、double类型用什么运算符
A、%d
B、%f
C、%lf
D、%c

13、float类型用什么运算符
A、%d
B、%f
C、%lf
D、%c

14、char类型用什么运算符
A、%d
B、%f
C、%lf
D、%c

15、以下关于long、int和short类型数据占用内存大小的叙述中正确的是
A、均占4个字节
B、由用户自己定义
C、由C语言编译系统决定
D、根据数据的大小来决定所占内存的字节数

16、以下变量命名合法的是:
A、1e5
B、a1
C、int
D、*p

17、以下不是程序过程的是
A、定义变量
B、计算
C、输出
D、显示各种数据

18、以下程序的显示结果为 #main() { int a=10,b=5; printf("a=%d,b=%d",a,b);}
A、a=10,b=5
B、10 5
C、a=10 5
D、a=5,b=10

19、C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符
A、必须为下划线
B、可以是这三种字符中的任一种
C、必须为字母或下划线
D、必须为字母

20、若变量已正确说明为float类型, 要通过语句scanf("%f %f%f", &a, &b, &c);给a赋予10.0, b赋予22.0, c赋予33.0, 不正确的输入形式为()。
A、10<回车> 22<回车> 33
B、10.0,22.0,33.0<回车>
C、10.0<回车> 22.0 33.0
D、10 22<回车> 33

21、若x,y均为int型,z定义为double型,以下不合理的scanf函数调用语句是
A、scanf("%d%lx%le",&x,&y,&z);
B、scanf("%x%*d%le",&x,&y,&z);
C、scanf("%d%d%lf",&x,&y,&z);
D、scanf("%d%d%f",&x,&y,&z);

22、下面scanf格式用法正确的是
A、scanf("%d",x);
B、scanf("%d,x);
C、scanf(%d,&x);
D、scanf("%d",&x);

23、根据定义和数据的输入方式,输入语句正确的形式为 已有定义: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)

24、从键盘输入10,以下程序的输出结果为 #main() { int a; scanf("%d",&a); a=a+20; printf("a=%d",a); }
A、10
B、30
C、a=10
D、a=30

25、设 a、b、c、d、m、n均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值为:
A、0
B、1
C、2
D、3

26、下面哪个符号两边只能用整型
A、/
B、%
C、*
D、!

27、C语言中8/3的结果为
A、2.66667
B、2.0
C、2
D、3

28、C语言中8/3.0的结果为
A、2.66667
B、2.0
C、2
D、3

29、C语言中10%3的结果为
A、1
B、2
C、3
D、3.3333333

30、逻辑且是哪个符号
A、&&
B、||
C、|
D、&

31、逻辑或是哪个符号
A、&&
B、||
C、|
D、&

32、如果在一个C语言表达式中有多个运算符,则运算时应该
A、只考虑优先级
B、只考虑结合性
C、先考虑优先级,然后考虑结合性
D、先考虑结合性,然后考虑优先级

33、getchar()的作用
A、从键盘输入一个字符
B、从键盘输入一个字符串
C、从键盘输出一个字符
D、从键盘输出一个字符串

34、putchar()的作用
A、从键盘输入一个字符
B、从键盘输入一个字符串
C、从键盘输出一个字符
D、从键盘输出一个字符串

35、有以下程序,输入大写字母B后,程序运行结果是 #include"stdio.h" void main() { char c; c=getchar(); c=c+32; printf("%c",c);}
A、b
B、B
C、C
D、c

36、有以下程序,输入小写字母q后,程序运行结果是 #include"stdio.h" void main() { char c; c=getchar(); c=c-32; printf("%c",c);}
A、q
B、Q
C、C
D、c

37、有以下程序,需要从键盘输入两个字符,输入格式正确的是 #include"stdio.h" void main() { char ch1,ch2; scanf("%c%c",&ch1,&ch2); printf("%c %c",ch1,ch2);}
A、s f
B、s f
C、sf
D、s,f

38、流程图的输入与输出用什么符号
A、平行四边形
B、椭圆形
C、三角形
D、矩形

39、流程图的判断用什么符号
A、平行四边形
B、椭圆形
C、菱形
D、矩形

40、流程图的开始和结束用什么符号
A、平行四边形
B、椭圆形
C、菱形
D、矩形

41、流程图的计算用什么符号
A、平行四边形
B、椭圆形
C、菱形
D、矩形

42、从键盘输入10,20以下程序输出的结果为 #include"stdio.h" { int a,b,c; scanf("%d%d",&a,&b); c=a+b; printf("%d",c); }
A、30
B、c=30
C、20
D、c=20

项目二 任务1单元作业

1、典型案例1.已知B汽车运营公司共拥有48377辆汽车,目前正在运营的车辆47342辆,求维修的车辆数?

2、典型案例2.已知B汽车运营公司共有48377辆汽车,为了保证公司业务的正常运营,售后维修部门必须有车辆数量的1/80的轮胎数,求维修部门的轮胎数。

项目二任务2单元作业

1、典型案例1.从键盘上输入某辆汽车的累计行驶里程和使用年限,求该辆车平均每年的行驶里程。

2、典型案例2.已知某公交车队某品牌A款纯电动城市客车36,B款纯电动城市客车荷载人数为18,输入两款车的数量,求出总的荷载人数。

3、典型案例3. 通过键盘上输入某客车每年的平均行驶里程和累计行驶年限,求该辆车的累计行驶里程。

项目二任务3单元作业

1、典型案例1. 从键盘输入货物的吨数和货车的载重量,求共需要拉几次和最后一次拉的吨数。(吨数不能整除载重量)

2、典型案例2.从键盘输入一个浮点数,求它的整数部分和小数部分。

项目二任务4单元作业

1、典型案例1.一个驾驶员原来是小轿车类型C 型驾照,驾驶员通过大客车的学习升了二级级,显示驾驶员最新的驾照类型。

2、典型案例2. 从键盘输入一个大写字母,转换成小写字母并输出。

3、典型案例3.从键盘输入3个字母,输出这些字母后面的字母。(选择一种方法即可)

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

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

1、已知定义double类型值battery_capacity,则scanf格式化字符串___.
A、%D
B、%lf
C、%C
D、.%S

2、使用scanf函数需要在头文件中添加___.
A、#include <stdio.h>
B、#include <ctype.h>
C、#include <float.h>
D、include <iomanip.h>

3、定义int x=5, y=6;执行y=x+y程序后,变量y的值是___.
A、1
B、11
C、6
D、0

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

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

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

1、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是(?)。 ?int?x;? scanf("%d",&x);? if(++x>5)????? printf("%d",x);? else?????????? printf("%d\n",x?--);
A、7和5?
B、6和3?
C、7和4?
D、6和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

3、下边程序段? int?a=2,b=3,c=4;? ? ? if(c=a+b)?? printf(“OK!”); ?else???????? printf(“NO!”);? 输出结果是(??)。
A、OK!
B、NO
C、程序错误
D、以上都不对

4、设整型变量a,b的值分别为1,0,那么a?||?b的结果是(???)。
A、0
B、1
C、2
D、都不对

5、有以下程序段? int?a;? if?(3&&2)?? a=1;? else?? a?=?2;? 执行后a=(???)。
A、1
B、2
C、3
D、0

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

1、下列语句搭配正确的是( )
A、if ,while
B、while ,else
C、if ,else
D、if ,else if

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

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

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

5、请给空格处填空void main() { char Typeofdrivinglicense[2]; printf("输入你的车型:\n"); scanf("(____)",&Typeofdrivinglicense);
A、%a
B、%c
C、%s
D、%f

任务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=%d\n",?a,?b)?; return?0;? }
A、a=1,?b=0?
B、a=2,?b=1?
C、a=1,?b=1?
D、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");}

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

1、在嵌套使用if语句时,C语言规定else总是()。
A、和之前与其具有相同缩进位置的if配对
B、和之前与其最近的if配对
C、和之前与其最近的且不带else的if配对
D、和之前的第―个if配对

2、以下关于switch语句和break语句的描述中,正确的是()。
A、在switch语句中必须使用break语句
B、在switch语句中,可以根据需要使用或不使用break语句
C、break语句只能用于switch语句中
D、break语句是switch语句的一部分

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("%lf\n", y); return 0; } 从键盘输入3,那么程序的结果为
A、3
B、10
C、2
D、0.333

项目三:单元测试

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=%x\n”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

4、设整型变量a,b的值分别为1,0,那么a?||?b的结果是
A、0
B、1
C、2
D、都不对

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

6、从键盘输入1 81,则输出结果为 void main() { int mode,required,time; printf("1:快充\t2:慢充\n\n"); printf("请选择充电方式:(输入对应方式前的数字)\n"); printf("请输入需求电量:\n"); scanf("%d%d",&mode,&required); switch(mode) { case 1: if(required>80) time=30+(required-80)*10; else time=30; break; case 2: time=required*8;break; } printf("充电所需的时间是%d分钟",time); }
A、充电所需的时间是40分钟
B、充电所需的时间是30分钟
C、充电所需的时间是640分钟
D、充电所需的时间是1个小时

7、从键盘输入1 50,则输出结果为 void main() { int mode,required,time; printf("1:快充\t2:慢充\n\n"); printf("请选择充电方式:(输入对应方式前的数字)\n"); printf("请输入需求电量:\n"); scanf("%d%d",&mode,&required); switch(mode) { case 1: if(required>80) time=30+(required-80)*10; else time=30; break; case 2: time=required*8;break; } printf("充电所需的时间是%d分钟",time); }
A、充电所需的时间是30分钟
B、充电所需的时间是40分钟
C、充电所需的时间是400分钟
D、充电所需的时间是300分钟

8、执行下面程序段 int a=1,b=1,c=1; a=a++ +b++ +c++; printf(“%d,%d,%d”,a , ++b , c++);
A、2,2,2
B、3,3,2
C、2,3,3
D、3,3,3

9、设有下列运算符:<<、+、++、--、&&、<=,其中优先级最高的是
A、++、--、
B、&&、
C、<=,
D、<<

10、设有下列运算符:<<、+、++、--、&&、<=,=优先级最低的是
A、<<
B、&&
C、+
D、=

11、若有以下定义:char a 、int b、float c、double d,则表达式a*b+d-c值的类型为
A、char
B、int
C、float
D、double

12、设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果为
A、4
B、3
C、2
D、1

13、设ch是char型变量,其值为'A',则ch=(ch='A'&&ch<='Z')?(ch+32):ch表达式的值是
A、A
B、?a
C、Z
D、z

14、程序输出结果是 main() { int a; if (3 && 2) a=1; else a=2; printf("%d",a); }
A、1
B、2
C、3
D、4

15、设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)

16、设有定义:long x=-123456L;,则能够正确输出变量x值的语句是
A、printf("x=%d\n",x);
B、printf("x=%ld\n",x);
C、printf("x=%8dL\n",x);
D、printf("x=%LD",x);

项目三任务1单元作业

1、典型案例1:对纯电动客车可以通过剩余电池容量查询其续航里程,从键盘输入电池容量(27)千瓦时,显现它的续航里程为200km。(变量:电池容量 battery capacity,续航里程limited mileage)

2、典型案例2:对纯电动客车可以通过续航里程查询其所需要的电池容量,要求从键盘输入汽车需要的续航里程(如果大于等于550km),输出此时对应的电池容量为80千瓦时。(变量:续航里程imited_mileage 电池容量battery_capacity,l)

项目三任务2单元作业

1、典型案例1:在车辆故障诊断系统中当车辆发生故障时,需要及时发出警告,从键盘输入车辆故障类型(如果等于1),显示存在故障,否则显示无故障。(变量:故障类型Fault type)

2、典型案例2:当汽车的剩余电量低于0.2时,汽车会发出电池不足预警,从键盘输入剩余电量,当小于等于0.2时,显示电量不足需要充电,否则显示电量充足,不须充电。(变量:剩余电量 residual battery)

项目三任务3单元作业

1、典型案例1:汽车故障诊断应用中将车辆故障等级分为4级:0,正常;1,一级故障/严重故障,停机处理;2,二级故障/轻微故障,限定功率;3,三级故障/警告提醒。依据输入的故障等级,输出相应的处理模式,如输入1显示“一级故障/严重故障,停机处理”。(变量:故障等级fault level)

2、典型案例2:驾驶员考试在科目三考试时,主要考察档位和车速是否匹配,假设车速为0时,使用0档,低于15km/h使用一档,车速在15及到30时使用二挡,车速在30及到40时使用四挡,车速在40级以上时使用五档。通过键盘输入车速,输出汽车相应的档位。(变量:车速speeD.

项目三任务4单元作业

1、典型案例1:汽车故障诊断应用中将车辆故障等级分为4级:0,正常;1,一级故障/严重故障,停机处理;2,二级故障/轻微故障,限定功率;3,三级故障/警告提醒。依据输入的故障等级,输出相应的处理模式,如输入1显示“一级故障/严重故障,停机处理”。如果输入其它数据,则显示输入有误。(变量:故障等级 fault level) 必须用switch格式

2、典型案例2:驾驶员可以驾驶的车辆和获得的驾驶证存在对应关系,下面列举几种驾照和车型的关系 A级:大型客车或者牵引车或者城市公交车; B级:中型客车或者大型货车; C级:小型汽车。 通过键盘输入驾驶证的类型输出可以驾驶的车型。(变量:驾驶证类型Type of driving license) 必须用switch格式

项目四 车辆电池充电状态显示 (循环结构)

任务4.1 车辆电池充电显示(for循环)随堂测验

1、下面有关for循环的正确描述是( )
A、for循环只能用于循环次数已经确定的情况
B、for循环是先执行循环体语句,后判定表达式
C、在for循环中,不能用break语句跳出循环体
D、for循环体语句中,可以包含多条语句,但要用花括号括起来

2、以下for循环的格式中正确的是
A、for(表达式1,表达式2,表达式3) { }
B、for(表达式1;表达式2,表达式3) { }
C、for(表达式1;表达式2;表达式3) { }
D、for(表达式1;表达式2) { }

3、把让我们共同学习显示10遍的程序是哪一个
A、int i; for(i=0;i<10;i++) printf("让我们共同学习\n");
B、int i; for(i=1;i<10;i++) printf("让我们共同学习\n");
C、int i; for(i=0;i<10;i++) print("让我们共同学习\n");
D、int i; for(i=0;i<10;i=i+2) printf("让我们共同学习\n");

4、int i; for(i=1;i<10;i++) pirntf("%d",i); 上面的程序循环了10次

5、计算从1加到100的和 #include <stdio.h> int main(){ int i, sum=0; for(i=1; i<=100; i++){ ________; } printf("%d\n",sum); return 0; }

任务4.2 固定时间内车辆电池状态实时监测(while循环)随堂测验

1、以下do---while语句格式正确的是
A、初值 do{ 循环体 步长增量 }while(判断条件)
B、初值 do{ 循环体 步长增量 }while(判断条件);
C、do{ 初值 循环体 步长增量 }while(判断条件)
D、do{ 初值 循环体 步长增量 }while(判断条件);

任务4.3 固定时间内车辆电池状态实时监测(do-while循环)随堂测验

1、C语言中( )
A、不能使用do-while语句构成的循环
B、do-while语句构成的循环必须用break语句才能退出
C、do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
D、do-while语句构成的循环,当while语句中的表达式值为零时结束循环

2、C语言中while和do-while循环的主要区别是( )
A、do-while的循环体至少无条件执行一次
B、while的循环控制条件比do-while的循环控制条件严格
C、do-while允许从外部转到循环体内
D、do-while的循环体不能是复合语句

3、在C语言中,while和do…while循环的主要区别是( )
A、do…while的循环体不能是复合语句
B、do…while允许从循环体外转到循环体内
C、while的循环体至少被执行一次
D、do…while的循环体至少被执行一次

4、设有如下程序段: #include "stdio.h" void main() { int i,sum; i=0; sum=1; do { sum=sum+i; i++;}while(i<=6); printf("%d\n",sum); } 上述程序段的输出结果是( )
A、11
B、16
C、22
D、15

5、下面关于while和do-while循环的说法中,正确的是( )
A、与do-while语句不同的是,while语句的循环体至少执行一次
B、do-while语句首先计算终止条件,当条件满足时,才去执行循环体中的语句
C、两种循环除了格式不同外,功能完全相同
D、以上答案都不正确

任务4.4 固定时间内车辆电池故障数判别(循环加选择)随堂测验

1、for循环()内用什么间隔
A、:
B、;
C、,
D、空格

2、循环体的语句最少执行几个?
A、0
B、1
C、2
D、3

3、下列不是循环体的四要素的是
A、判断条件
B、赋值
C、初值
D、初值

4、1. 显示1到31天的日期: int day = 1; do { printf("%d\n", day); ______; } while (day <= 31);

5、do while循环来打印连续的数据 #include <stdio.h> #include <conio.h> void main() { int i = 1, number = 0; printf("Enter a number: "); scanf("%d",&number); do { printf("%d \n", (i)); i++; } while (_______); }

6、编程实现猜数字游戏,假设谜底为 0?10 的整数,猜谜者每次输入一个整数,直到猜对为止。 #include<stdio.h> int main (void){ int pwd=7,gs; //pwd:谜底 printf ("\tGames Begin\n"); do{ printf("Please guess (0~10):"); scanf("%d",&gs); }while(_______); printf ("\tSucceed!\n"); printf ("\tGaines over\n"); return 0; }

任务4.5 新能源多种汽车一年销售数据显示(循环嵌套)随堂测验

1、1、有如下程序代码的功能是计算:1到50中是7的倍数的数值之和,请选择填空( ) #include "stdio.h" void main() { int i; int sum=0; for(i=1;i<=50;i++) { if( 填空 ) sum=sum+i; } printf("%d",sum); }
A、A、(int)(i/7)==i/7
B、A、(int)i/7==i/7
C、i%7=0
D、A、i%7==0

2、1、有以下程序,m值为( ) #include "stdio.h" void main() { int i,j,m=55; for(i=1;i<=3;i++){ for(j=3;j<=i;j++){ m=m%j;} } printf("%d",m); }
A、1
B、5
C、55
D、3

3、有以下程序,s的值为:( ) #include "stdio.h" void main() { int i,j,s; for(i=3;i>=1;i--){ s=0; for(j=1;j<=i;j++){ s+=i*j; } }printf("%d",s); }
A、1
B、3
C、0
D、1.0

4、while和do-while循环的主要区别()
A、do-while的循环体至少无条件执行一次
B、while的循环体控制条件比do-while的循环控制调节严格
C、do-while允许从外部转到循环体内
D、do-while的循环体不能是复合语句

5、以下程序段?______。? int?x=-1;?do ?{ ? ????x=x*x;??}? while?(!x);?
A、是死循环
B、循环执行2次
C、循环执行1次
D、有语法错误

6、填空,输出100以内所有的素数(质数) int i,a; for(a=2;a<=100;a++){ If(a%i==0) _______; If(i==a) printf(“%d”,a); }

项目四 单元测验

1、C语言中while和do-while循环的主要区别是( )。
A、do-while的循环体至少无条件执行一次
B、while的循环控制条件比do-while的循环控制条件严格
C、do-while允许从外部转到循环体内
D、do-while的循环体不能是复合语句

2、下列叙述正确的是
A、continue语句的作用是结束整个循环的执行
B、只能在循环体内和switch语句体内使用break语句
C、在循环体内使用break语句或continue语句的作用相同
D、从多层循环嵌套中退出时,只能使用goto语句

3、以下for循环语句,循环体的执行次数是: for(?i=5;?i>1;?i--?)?;?
A、4
B、5
C、3
D、2

4、以下for循环是()for(x=0,y=0;(y!=123)&&(x<4);x++)
A、无限循环
B、循环次数不定
C、执行4次
D、执行3次

5、下列选项中正确的是() #include<stdio.h> void main() { int i,n,sum=0; printf(“请输入n的值:\n”); scanf(“%d”,&n); for(i=1;i<=n;i++) sum=sum*i; printf(“%d”,sum); } 输入n的值为5
A、120
B、1
C、0
D、10

6、下面有关for循环的正确描述是()
A、?for循环是先执行循环体语句,后判定表达式?
B、在for循环中,不能用break语句跳出循环体
C、for循环体语句中,可以包含多条语句,但要用花括号括起来
D、?for循环只能用于循环次数已经确定的情况?

7、对于while语句,错误的说法是(????)。
A、用条件控制循环体的执行次数
B、循环体至少要执行一次
C、循环体有可能一次也不执行
D、循环体中可以包含若干条语句

8、循环四要素()
A、初值、判断条件、循环体、输出
B、输入、判断条件、循环体、步长增量
C、初值、输入、循环体、步长增量
D、初值、判断条件、循环体、步长增量

9、对下边for循环,循环体执行的次数是()for(i=1;i<=10;i++)
A、10
B、9
C、8
D、7

10、以下代码片段执行结束后,变量i的值是多少?int i =10; while ( i>0 ) { i /=2; }
A、0
B、2
C、1
D、3

11、循环格式中正确的是哪个
A、for(;)
B、for()
C、for(;:)
D、do{ }while();

12、有以下程序: for(i=1;i<5;i++) i=2*i; 循环执行次数和i的值分别是:
A、2,4
B、2,7
C、3,6
D、3,7

13、有以下程序: i= - 4; do { i=0; i++; }while(i<0); 循环一共进行 次。
A、4
B、0
C、1
D、5

14、有以下程序: #include <stdio.h> main() { int x=4,y; do { y=x; if(!y)printf("x"); else printf("y"); x--; }while(x); } 程序的输出结果是( )
A、xyyx
B、yyyy
C、yyxx
D、yxyx

15、有以下程序: main() { int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf("%d,%d,%d\n",x,y,z); } 程序执行后的输出结果是( )
A、3,2,0
B、3,2,-1
C、4,3,-1
D、5,-2,-5

16、有以下程序: #include <stdio.h> main() { int i,j,x=0; for (i=0;i<2;i++) { x++; for(j=0,j<=3;j++) { if(j%2)continue; x++; } x++; } printf("x=%d\n",x); } 程序执行后的输出结果是( )
A、x=4
B、x=8
C、x=6
D、x=12

17、下列程序的输出结果是( )。 #include <stdio.h> main() { int i; for(i=1;i<=10;i++) { if((i*i>=20)&&(i*i<=100)) break; } printf("%d\n",i*i); }
A、49
B、36
C、25
D、64

18、1. int i,sum=0; for(i=1;;i++) sum=sum+i; printf(“%d”,sum); 它的输出为
A、死循环
B、5050
C、0
D、无法判断

项目四 任务1单元作业1

1、典型案例2:某集团对于驾驶员的工资是根据是否出现交通事故而定,如果不出事故,驾驶员下一月的工资会加50元,一个驾驶员去年12个月的基本工资为3000元,那么这一年都开车都没有出事故,则这名驾驶员第12月的工资为多少?(变量:工资:salary,12月份工资)

2、典型案例3:某集团对于驾驶员的工资是根据是否出现交通事故而定,如果不出事故,驾驶员下一月的工资会增加上月工资的10%,一个驾驶员1月份的工资为3000元,这一年都开车都没有出事故,则这名驾驶员第12月的工资为多少,本年一共领取了多少工资?(变量:基本工资salary,12月份工资,总工资sum_salary)

项目四任务2任务3单元作业2

1、典型案例2:某集团对于驾驶员的工资是根据是否出现交通事故而定,如果不出事故,驾驶员下一月的工资会加50元,一个驾驶员去年12月份的工资为3000元,这一年都开车都没有出事故,则这名驾驶员第12月的工资为多少,本年一共领取了多少工资?(用while显示)

2、典型案例5:某新能源大客车集团需要招收一名驾驶员,要求是驾驶员必须驾照为A级并且3年内没有出现任何交通事故,从键盘输入驾驶员的等级和驾驶安全年限,当不满足要求时,显示条件不满足,请继续招聘,请输入应聘驾驶员的驾照等级和安全年限。当满足条件时 ,显示应聘条件合格,招聘结束。(do-while显示)

项目四任务4单元作业3

1、典型案例1: 某电池需要充电,当电池充电时间少于8小时时,显示充电多少小时,继续充,当超过8小时显示充满,请停止充电。

项目四任务5单元作业4

1、典型案例2已知某新能源客车集团目前需要驾驶人员20人,其中驾龄10年以上的需要工资1万,驾驶5年以上的需要工资6000元,驾龄1年以上的工资需要3000,目前每月能发的工资为12.5万,请问需要驾龄10年以上、驾龄5年以上、驾龄1年以上的分别有几人。

项目五 汽车销售数据(数组)

任务5.1显示某品牌新能源汽车一年的销售额(一维数组的输入与输出)随堂测验

1、以下不能对二维数组a进行正确初始化的语句是( )
A、int a[2][3]=;
B、int a[ ][3]={ { 1,2},};
C、int a[2][3]={ { 1,2},{ 3,4},{ 5,6}};
D、int a[ ][3]={ 1,2,3,4,5,6};

2、对数组int a[10]的元素的正确引用是
A、a[10]
B、a[3,5]
C、a(5)
D、a[10-10]

3、以下给字符数组str定义和赋值正确的是( )
A、char str[10]; str={ "China!"};
B、char str[ ]={ "China!"};
C、char str[10]; strcpy(str,"abcdefghijkl");
D、char str[10]={ "abcdefghijkl"};

4、以下程序的输出结果是( ) #include #include void main( ) { char p1[ ]="abcd",p2[ ]="efgh",str[50]="ABCDEFG"; strcat(str,p1);strcat(str,p2); printf("%s\n",str); }
A、ABCDEFGefghabcd
B、ABCDEFGefgh
C、abcdefgh
D、ABCDEFGabcdefgh

5、判断两个字符串S1和S2相等的正确语句是( )
A、if(S1=S2)
B、if(S1==S2)
C、if(strcpy(S1,S2))
D、if(strcmp(S1,S2)==0)

任务5.2 求某品牌新能源汽车一年的最高销售月(一维数组求最值)随堂测验

1、以下定义语句中,错误的是()
A、int a[]={ 1,2};
B、char a[]={ “test”};
C、char a[]={ “test”};
D、int n=5,a[n];

2、以下对一维数组a的正确说明是____
A、int n; scanf(“%d”,&n); int a[n]
B、int n=10,a[n];
C、int a(10);
D、#define SIZE 10 int a[SIZE]

3、在c语言中,一维数组的定义方式为:类型说明符数组名___
A、[常量表达式]
B、[整型表达式]
C、[整型表达式]或[整型常量]
D、[整型常量]

4、12若有说明:int a[][4]={ 0,0},则下面不正确的叙述是一_
A、数组a的每个元素都可得到初值0
B、二维数组a的第一维大小为1
C、因为二维数组a中第二维大小的值除初值个数的商为0,故数组a的行数1
D、只有元素a[0][0]和a[0][1]可]得到初值0,其余元素均得不到初值0

5、若有说明:int a[3][4]=,则下面正确的叙述是___
A、有元素a[0][0]可以得到初值0
B、此说明语句不正确
C、数组中各元素都可以得到初值,但其值不一定为0
D、数组中每个元素均可得到初值0

任务5.3 对某品牌新能汽车销售人员业绩排序(一维数组排序)随堂测验

1、在c语言中,引用数组元素时,其数组下标的数据类型是____
A、整型常量
B、整型表达式
C、整型常量或常量表达式
D、任何类型的表达式

2、若有说明: int a[3][4],则对a数组元素的正确引用是___
A、a[2][4]
B、a[1,3]
C、a[1+1][0]
D、a(2)(1)

3、假定int类型变量占用两个字节,其有定义:int?x[10]={ 0,2,4};,则数组x在内存中所占字节数 是(?????)。
A、3
B、6
C、10
D、? 20

4、下面程序的输出结果是________ main(){ ? int?a[]={ 1,8,2,8,3,8,4,8,5,8};? ???? printf("%d,%d\n",a[4]+3,a[4+3]);? }?
A、6,6
B、8,8
C、6,8
D、8,6

5、如有定义语句int?a[]={ 1,8,2,8,3,8,4,8,5,8};?,?则数组a的大小是______
A、10
B、11
C、8
D、不定

任务5.4 显示某车企的新能源汽车品牌(字符数组)随堂测验

1、下面程序段的运行结果是____char a[7]=”abcdef”,b[4]=”ABC”; Strcpy(a,b) Printf(“%c”,a[4]);
A、F
B、\0
C、e
D、ef

2、下面程序段的运行结果是_____ char c[5]={ ‘a’, ‘b’ ‘’ ‘c’ ‘’}; printf(“%s”,c)
A、’a’’b’
B、ab
C、abc
D、ab (表示空格)

3、对两个数组a和b进行如下初始化 char a[]=”ABCDEF” char b[]={ ‘A’, ‘B’ ‘C’ ‘D’ ‘E’ ‘F’}; 则以下叙述正确的是_____
A、a与b数组完全相同
B、a与b数组长度相同
C、a和b中都存放字符串
D、a数组比b数组长度长

4、有两个字符数组a、 b,则以下正确的输入语句是____
A、.gets(a,b);
B、scanf (“%s%s”,a,b);
C、scanf(“%s%s”,&a,&b),
D、gets("a");gets("b");

5、有字符数组a[80]和b[80] ,则正确的输出语句是____
A、puts(a,b)
B、printf(“%s%s”,a[],b[])
C、putchar(a,b);
D、puts(a),puts(b);

任务5.5 某车企多年销售统计(二维数组)随堂测验

1、以下能对二维数组a进行正确初始化的语句是____
A、int a[2][]={ { 1,0,1},{ 5,2,3}};
B、int a[][3]={ { 1,2,3},{ 4,5,6}};
C、int a[2][4] ={ { 1,2,3},{ 4,5},{ 6}};
D、int a[][3] ={ { 1,0,1},{ },{ 1,1}}

2、以下各组选项中,均能正确定义二维实型数组a的选项是___
A、float a[3、4]; float a[][4];
B、float a(3、4); float a[3][4];
C、static float a[][4]= { { 0},}; static float b[][1]={ { 0},,};
D、float a[3、4]; float a[3][]; float a[][4];

3、若二维数组a有m列,则计算任元素a[i][j]在数组中位置的公式为(假设a[0][0]位于数组的第一个位置上
A、i*m+j
B、j*m+i
C、.i*m+j-1
D、i*m+j+1

4、以下不能对二维数组a进行正确初始化的说明是___
A、int a[2][3]=;
B、int a[][2]={ { 1,2},};
C、int a[2][3]={ { 1,2},{ 3,4},{ 5,6}};
D、int a[][3]={ 1,2,3,4,5,6};

5、14.以下各组选项中,均能正确定义二维实型数组a的选项是___
A、int a[3][];
B、float a(3、4);
C、double a[1][4];
D、float a(3)(4);

项目五:单元测验

1、以下不能对二维数组a进行正确初始化的语句是
A、int a[2][3]=;
B、int a[ ][3]={ { 1,2},}
C、int a[2][3]={ { 1,2},{ 3,4},{ 5,6}}
D、int a[ ][3]={ 1,2,3,4,5,6}

2、判断两个字符串S1和S2相等的正确语句是
A、if(S1=S2)
B、if(S1==S2)
C、if(strcpy(S1,S2))
D、if(strcmp(S1,S2)==0)

3、以下对一维数组a的正确说明是
A、int n; scanf(“%d”,&n); int a[n]
B、int n=10,a[n];
C、int a(10);
D、#define SIZE 10 int a[SIZE]

4、若有说明:int a[3][4]=,则下面正确的叙述是
A、只有元素a[0][0]可以得到初值0
B、此说明语句不正确
C、数组中各元素都可以得到初值,但其值不一定为0
D、数组中每个元素均可得到初值0

5、如有定义语句int?a[]={ 1,8,2,8,3,8,4,8,5,8};?,?则数组a的大小是
A、10
B、11
C、8
D、不确定

6、若有说明: int a[3][4],则对a数组元素的正确引用是
A、a[2][4]
B、a[1,3]
C、a[1+1][0]
D、a(2)(1)

7、下面程序段的运行结果是____ char c[5]={ ‘a’, ‘b’ ‘’ ‘c’ ‘’}; printf(“%s”,c)
A、’a’’b’
B、ab
C、abc
D、ab (表示空格)

8、有两个字符数组a、 b,则以下正确的输入语句是
A、gets(a,b)
B、scanf (“%s%s”,a,b)
C、scanf(“%s%s”,&a,&b)
D、gets("a");gets("b")

9、判断字符串a是否大于b正确的表达式为( )
A、if(a=b)
B、if(a>b)
C、if(strcmp(a,b)>0)
D、if(strcmp(a,b)==0)

10、以下程序的输出结果是( )int main( ) { int i,x【3】【3】={ 9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++) printf(“%2d”,x[1][i]); Return 0; }
A、6 5 4
B、9 6 3
C、9 5 1
D、9 8 7

11、如何输入数组(a[5])
A、scanf("%d",&a[5]);
B、for(i=0;i<5;i++) scanf("%d",&a[5]);
C、for(i=0;i<5;i++) scanf("%d",&a[i]);
D、for(i=1;i<=5;i++) scanf("%d",&a[i]);

12、字符数组的输入正确的是(a[10])
A、scanf("%c",a[10]);
B、gets(a);
C、puts(a);
D、a[10]=getchar();

13、若有: int a[][3] = { { 0},{ 1},{ 2}}; 则 a[1][2] 的值是?
A、0
B、1
C、2
D、3

14、int?a[4]={ 5,3,8,9};其中?a[3]的值为(?)
A、5
B、3
C、8
D、9

15、数组的下标从()开始
A、0
B、1
C、-1
D、2

16、以下程序输出数组a中的最小值及其下标,在划线处填入,正确的是() #include<stdio.h> void main() { int i,p=0,a[10]; for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(i=1;i<10;i++) if(a[i]<a[p]) ; _______________ printf(“%d”,%d\n”,a[p],p); }
A、i=p
B、a[p]=a[i]
C、p=j
D、p=i

17、int a[4]=0;表示正确的
A、int a[4]=0000;
B、int a[4]={ 0000};
C、int a[4]=0,0,0,0;
D、int a[4]={ 0,0,0 ,0};

18、下列二维数组定义中正确的是
A、int A[2][]={ 1,2};
B、int A[2]={ 1,2};
C、int a[2][]={ { 1,2},{ 2,3}};
D、int a[2][3]={ { 1,2}, ,{ 2,3}};

19、若有定义double m[3][3];则m数组元素的最大下标是

20、语句“char str1[ ]="abcde";”定义的数组str1的分配空间是字节

项目五:任务1单元作业1

1、典型案例1:已知某品牌4S店的一年12月的销售量分别为{ 10,12,15,14,16,8,7,14,16,17,11,12},输出12个月的销售数据。

2、典型案例2:下表为某品牌新能源小客车在不同时段的耗油量,从键盘输入各个时段的耗油量,编写程序求出该小客车的平均耗油量。 时段 时段1 时段2 时段3 时段4 时段5 时段6 时段7 时段8 时段9 耗油量 8.5 8.8 9.2 10.1 7.8 8.6 8.7 8.7 9.5

项目五:任务2单元作业2

1、典型案例1:已知某品牌4S店的一年12月的销售量分别为{ 10,12,15,14,16,8,7,14,16,17,11,12},输出12个月的最高销量。

2、典型案例2:下表为某品牌新能源小客车在不同时段的耗油量,编写程序求出该小客车的耗油量最小的时段。 时段 时段1 时段2 时段3 时段4 时段5 时段6 时段7 时段8 时段9 耗油量 8.5 8.8 9.2 10.1 7.8 8.6 8.7 8.7 9.5

项目五:任务4单元作业3

1、典型案例2:从键盘输入某辆车的车架号,并求长度,判断是否满足车架号的长度。

项目六 模块化设计

任务6.1 显示车辆数据(无参数无返回值类型)随堂测验

1、一个完整的C源程序是【 】。
A、要由一个主函数或一个以上的非主函数构成
B、由一个且仅由一个主函数和零个以上的非主函数构成
C、要由一个主函数和一个以上的非主函数构成
D、由一个且只有一个主函数或多个非主函数构成

2、以下关于函数的叙述中正确的是【 】
A、C语言程序将从源程序中第一个函数开始执行
B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
D、main可作为用户标识符,用以定义任意一个函数

3、以下关于函数的叙述中不正确的是【 】。
A、C程序是函数的集合,包括标准库函数和用户自定义函数
B、在C语言程序中,被调用的函数必须在main函数中定义
C、在C语言程序中,函数的定义不能嵌套
D、在C语言程序中,函数的调用可以嵌套

4、在一个C程序中,【 】。
A、main函数必须出现在所有函数之前
B、main函数可以在任何地方出现
C、main函数必须出现在所有函数之后
D、main函数必须出现在固定位置

5、若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【 】
A、float
B、long
C、int
D、double

6、以下关于函数叙述中,错误的是【 】
A、函数未被调用时,系统将不为形参分配内存单元
B、实参与形参的个数应相等,且实参与形参的类型必须对应一致
C、当形参是变量时,实参可以是常量、变量或表达式
D、形参可以是常量、变量或表达式

7、在c语言中以下不正确的说法是
A、实参可以是常量、变量、或表达式
B、形参可以是常量、变量、或表达式
C、实参可以为任意类型?
D、形参应与其对应的实参类型一致?

任务6.2 根据车辆品牌,显示车辆数据(有参数无返回值类型)随堂测验

1、如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了 一个变量,则该变量【 】。
A、为全局变量,在本程序文件范围内有效
B、为局部变量,只在该函数内有效
C、为局部变量,只在该复合语句中有效
D、定义无效,为非法变量

2、若函数调用时,用数组名作为函数的参数,以下叙述中正确的是【 】。
A、实参与其对应的形参共用同一段存储空间
B、实参与其对应的形参占用相同的存储空间
C、实参将其地址传递给形参,同时形参也会将该地址传递给实参
D、实参将其地址传递给形参,等同实现了参数之间的双向值的传递

3、若用数组名作为函数调用的实参,则传递给形参的是 【 】
A、数组的首地址
B、数组的第一个元素的值
C、数组中全部元素的值
D、数组元素的个数

4、若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是【 】。
A、函数的实参和其对应的形参共占同一存储单元
B、形参只是形式上的存在,不占用具体存储单元
C、同名的实参和形参占同一存储单元
D、函数的形参和实参分别占用不同的存储单元

5、函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是【 】
A、实参将其地址传递给形参,并释放原先占用的存储单元
B、实参将其地址传递给形参,调用结束时形参再将其地址回传给实参
C、实参将其值传递给形参,调用结束时形参再将其值回传给实参
D、实参将其值传递给形参,调用结束时形参并不将其值回传给实参

6、若函数调用时参数为基本数据类型的变量,以下叙述正确的是【 】。
A、实参与其对应的形参共占存储单元
B、只有当实参与其对应的形参同名时才共占存储单元
C、实参与对应的形参分别占用不同的存储单元
D、实参将数据传递给形参后,立即释放原先占用的存储单元

7、C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是 【 】。
A、参数的形实(哑实)结合
B、函数返回值
C、全局变量
D、同名的局部变量

8、以下关于函数叙述中,错误的是【 】。
A、函数未被调用时,系统将不为形参分配内存单元
B、实参与形参的个数应相等,且实参与形参的类型必须对应一致
C、当形参是变量时,实参可以是常量、变量或表达式
D、形参可以是常量、变量或表达式

任务6.3:根据车辆品牌,显示销售额(有返回值类型)随堂测验

1、若在一个C源程序文件中定义了一个允许其他源文件引用的实型外部变量a,则在另一 文件中可使用的引用说明是【 】。
A、extern static float a
B、float a
C、extern auto float a
D、extern float a

2、C语言规定,程序中各函数之间【 】
A、既允许直接递归调用也允许间接递归调用
B、不允许直接递归调用也不允许间接递归调用
C、允许直接递归调用不允许间接递归调用
D、不允许直接递归调用允许间接递归调用

3、float myadd(float a, float b) { return a+b;} 并将其放在调用语句之后,则在调用之前应对该函数进行说明。以下说明中错误的是【 】。
A、float myadd( float a,b)
B、float myadd(float b, float a)
C、float myadd(float, float)
D、float myadd(float a, float b)

4、以下程序运行后的输出结果是【 】。 fun(int a, int b) { if(a>b) return a; else return b; } main() { int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf("%d\n",r); }
A、3
B、6
C、8
D、12

任务6.4 :根据驾驶员的工作年限,求工资的数额 (嵌套和递归)随堂测验

1、有如下程序 int func(int a,int b) { return(a+b);} main() { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(“%\d\n”,r); } 该程序的输出的结果是
A、12
B、13
C、14
D、15

2、有如下程序 long fib(int n) { if(n>2) return(fib(n-1)+fib(n-2)); else return(2); } Main() { printf(“%d\n”,fib(3)); } 该程序的输出结果是
A、2
B、4
C、6
D、8

3、int f(int n) { if (n==1) return 1; else return f(n-1)+1; } main() { int i,j=0; for(i=1;i<3;i++) j+=f(i); printf("%d\n",j); } 程序运行后的输出结果是______。
A、4
B、3
C、2
D、1

4、有以下程序 fun(int a, int b) { if(a>b) return(a); else return(b); } main() { int x=3, y=8, z=6, r; r=fun(fun(x,y), 2*z); printf("%d\n", r); } 程序运行后的输出结果是
A、3
B、6
C、8
D、12

5、以下程序运行后的输出结果是 fun(int x) { if(x/2>0) fun(x/2); printf("%d ",x); } main() { fun(6); }
A、1 3 6
B、1 2 5
C、1 8 9
D、2 9 6

项目六单元测验

1、在c语言中以下不正确的说法是:( )
A、实参可以是常量、变量、或表达式
B、形参可以是常量、变量或表达式
C、实参可以为任意类型
D、形参应与其对应的实参类型一致

2、以下程序有语法性错误,有关错误原因的正确说法是:( ) int main() { int G=5,k; void prt_char(); …… k=prt_char(G); …… }
A、语句void prt_char();有错,它是函数调用语句,不能用void说明
B、变量名不能使用大写字母
C、函数说明和函数调用语句之间有矛盾
D、函数名不能使用下划线

3、以下正确的说法是:( )
A、函数的定义可以嵌套,但函数的调用不可以嵌套
B、函数的定义不可以嵌套,但函数的调用可嵌套
C、函数的定义和调用均不可以嵌套
D、函数的定义和调用均可以嵌套

4、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是:( )
A、函数调用可以作为独立的语句存在
B、函数调用可以作为一个函数的实参
C、函数调用可以出现在表达式中
D、函数调用可以作为一个函数的形参

5、以下所列的各函数首部中,正确的是:( )
A、void play(var :Integer,var b:Integer)
B、void play(int a,b)
C、void play(int a,int b)
D、Sub play(a as integer,b as integer)

6、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是:
A、地址传递
B、单向值传递
C、由实参传给形参,再由形参传回实参
D、传递方式由用户指定

7、有以下程序 void fun (int a,int b,int c) { a=456; b=567; c=678;} ) int main() { int x=10, y=20,z=30; fun (x,y,z); printf("%d,/%d,%d\n",x,y,z); return 0; } 输出结果是:( )
A、30,20,10
B、10,20,30
C、456,567,678
D、678,567,456

8、以下程序的输出结果是( ) int func (int a,int b) { return (a+b);} int main() { int x=2,y=5,z=8,r; r=func (func(x,y),z); printf(“%d\n”,r); }
A、12
B、13
C、14
D、15

9、正确的函数定义是
A、double fun(int x;int y); { double z=x+y;return z;}
B、double fun(int x,int y) { double z=x+y; return z;}
C、double fun (x,y) { double z;z=x+y;return z;}
D、double fun (int x,y) { double z;z=x+y;return z;}

10、gets 属于四种函数情况中的哪一种
A、无参数无返回值
B、无参数有返回值
C、有参数无返回值
D、有参数无返回值

项目六单元作业

1、项目六任务1典型案例1:下表为某集团新能源某不同类型客车在不同时段的耗油量,编写程序,要求自定义两个函数,分别输出表头和内容。

2、项目六任务2典型案例1:从键盘输入一个车牌,要求长度等于5,如果长度不等于5输出不合格,如果等于5输出长度合格。

3、项目六任务4典型案例2:有5名驾驶员坐在一起,问第5个人的年龄,他说比第4个人大3岁,问第4个人的年龄,他说比第3个人大3岁,问第3个人的年龄,他说比第2个人大3岁,问第2个人的年龄,他说比第1个人大3岁,第一个人的年龄是25岁,问第5个人多少岁。

4、项目六任务4典型案例3:求10!用递归方法实现。

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

任务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,%d\n",c,d); }
A、7,1
B、1,7
C、7,-1
D、c、d未赋值,编译出错

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]

3、若有定义int *p1,*p2; 则错误的表达式是( )。
A、p1+p2
B、p1-p2
C、p1<p2
D、p1=p2

4、以下程序段运行后,表达式*(p+4)的值为( )。 char a[]="china"; char *p; p=a;
A、'n'
B、'a'
C、存放'n'的地址
D、存放'a'的地址

5、以下程序段运行后,表达式*(p++)的值为( )。 char a[5]="work"; char *p=a;
A、'w'
B、存放'w'的地址
C、'o'
D、存放'o'的地址

6、若有定义: int *p,k=4; p=&k; 以下均代表地址的是( )。
A、k, p
B、&k, &p
C、&k, p
D、k, *p

7、下面语句错误的是( )。
A、int *p; *p=20;
B、char *s="abcdef"; printf("%s\n",s);
C、char *str="abcdef"; char *p; p=str
D、char *str;str="abcdef";

任务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])

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

3、设P1和P2 是指向同一个int型一维数组的指针变量,k 为int 型变量,则不能正 确执行的语句是 。
A、k=*P1+*P2;
B、p2=k;
C、P1=P2;
D、k=*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

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

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]

任务7.3 某车企多项数据显示(指针作为函数参

学习通C语言程序设计_120

在如今的信息时代,计算机已经成为了人们生活中不可或缺的一部分。而编程语言则是计算机操作的重要工具之一。C语言作为一种高级编程语言,具有语法简洁、执行效率高等优点,受到了广大程序员的青睐。因此,学习C语言程序设计已经成为了越来越多人的选择。

什么是学习通C语言程序设计_120?

学习通C语言程序设计_120是由清华大学计算机系推出的一门C语言课程。该课程共分为120个学时,涵盖了C语言的基本语法、指针、数组、结构体、文件操作等知识点。通过学习此课程,学生可以掌握C语言的基本编程思路和技能。

学习通C语言程序设计_120课程内容

学习通C语言程序设计_120课程分为6个模块:

  • 模块一:基础语法
  • 模块二:数组和指针
  • 模块三:函数和递归
  • 模块四:文件操作
  • 模块五:结构体和链表
  • 模块六:综合实践

在模块一中,学生将学习如何使用C语言进行基本的输入输出操作,掌握了解析算术表达式、流程控制语句和循环语句等内容。

在模块二中,学生将学习如何使用C语言进行数组和指针的操作。掌握了数组的定义、数组的初始化和数组的使用方法,学习了指针变量的定义、指针变量的初始化和指针变量的使用方法。

在模块三中,学生将学习如何使用C语言进行函数和递归的操作。掌握了函数的定义、函数的声明和函数的调用方法,学习了递归的概念和递归的实现方法。

在模块四中,学生将学习如何使用C语言进行文件操作。掌握了文件操作的概念和文件的打开方法、读写文件等相关内容。

在模块五中,学生将学习如何使用C语言进行结构体和链表的操作。掌握了结构体的定义、结构体的声明和结构体的使用方法,学习了链表的概念和链表的实现方法。

在模块六中,学生将进行综合实践。通过实际编写程序来综合应用所学的知识。

学习通C语言程序设计_120的学习方法

学习通C语言程序设计_120的学习方法,可以采用以下几点:

  • 认真听课,做好笔记
  • 多做习题,加深印象
  • 参加讨论,与他人交流
  • 多编写程序,深入理解知识

通过这些学习方法,可以更好地掌握C语言程序设计的知识点,提高编程技能。

学习通C语言程序设计_120的优势

学习通C语言程序设计_120的优势主要有以下几点:

  • 课程内容涵盖广泛,覆盖了C语言的基本语法和常用操作
  • 课程设置合理,模块划分明确,易于学习
  • 教师团队实力雄厚,为学生提供贴心服务
  • 学习方式灵活,可以在任何时间、任何地点进行学习
  • 学习资源丰富,提供了大量的学习资料和习题

通过学习通C语言程序设计_120课程,可以让学生轻松掌握C语言编程技能,为未来的编程工作打下坚实的基础。

结语

学习通C语言程序设计_120是一门非常优秀的C语言课程,其课程设置合理,内容丰富,教学质量高,适合大部分想要学习C语言的人群。相信通过认真学习,每个人都可以成为一名优秀的C语言程序员。

中国大学C语言程序设计_120

《中国大学C语言程序设计_120》是一本面向大学生的C语言入门教材,由谭浩强等人编写,是C语言教学的经典之作。

内容概述

  • 第1部分:C语言基础
    • 第1章:认识C语言
    • 第2章:C语言基本语法
    • 第3章:运算符与表达式
    • 第4章:程序控制结构
    • 第5章:数组与字符指针
    • 第6章:函数
  • 第2部分:C语言高级应用
    • 第7章:结构体
    • 第8章:文件操作
    • 第9章:动态内存分配
    • 第10章:指针高级应用
    • 第11章:位运算与移位操作
    • 第12章:C预处理器与C标准库

特点

  1. 内容全面:覆盖了C语言的基础知识和高级应用。
  2. 体系完整:章节之间有层次感,逐步深入,有助于学生系统掌握C语言。
  3. 案例丰富:每章节都有多个实例讲解,对学生的实践能力有很大帮助。
  4. 难度适中:语言通俗易懂,适合初学者。

适用人群

本书适合大学本科生、研究生和计算机爱好者学习,也适合初学者作为自学教材。

教学建议

  1. 理论结合实践教学:在讲解基础知识的同时,要与实例结合,让学生做到学以致用。
  2. 生动形象的讲解:运用图表、实例等形式,让抽象的概念更加具体化。
  3. 注重培养程序设计思维:不仅要教授语言的基础知识,更要培养学生的程序设计思维,帮助学生理解程序设计的本质。
  4. 灵活运用教学方法:对于学生的不同程度和兴趣爱好,要采取不同的教学方法,引导学生主动学习。

总结

《中国大学C语言程序设计_120》是一本优秀的C语言入门教材,内容详实,适用范围广,是教学和自学的好帮手。