叭脸碗暖匙寄绥陀沉拉珊馅沤
项目一 课程准备
项目一单元测验
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.手机浏览器可以添加书签收藏本网页
点击浏览器底部菜单-【添加书签】-收藏本网页
点击浏览器底部菜单-【书签/历史】-可查看本网页
获取更多慕课答案,欢迎在浏览器访问我们的网站:
http://mooc.mengmianren.com
注:请切换至英文输入法输入域名,如果没有成功进入网站,请输入完整域名:http://mooc.mengmianren.com/
我们的公众号
打开手机微信,扫一扫下方二维码,关注微信公众号:萌面人APP
本公众号可查看各种网课答案,还可免费查看大学教材答案
点击这里,可查看公众号功能介绍
APP下载
APP功能说明
1.可查看各种网课答案
点击【萌面人官网】,可查看知到智慧树,超星尔雅学习通,学堂在线等网课答案
点击【中国大学慕课答案】,可查看mooc慕课答案
2.可一键领取淘宝/天猫/京东/拼多多无门槛优惠券
如图所示,点击对应图标即可领取淘宝/天猫/京东/拼多多无门槛优惠券
隶冈竿井郸耽彭俯鹃必醒俺擅