尔雅嵌入式C语言程序设计章节答案(学习通2023课后作业答案)

法学习题2024-05-19 07:16:1188383抢沙发
尔雅嵌入式C语言程序设计章节答案(学习通2023课后作业答案)摘要: 第一周 C语言认识第一周 单元测验1、本课程《嵌入式C语言程序设计》教学不适合什么专业或行业学习者?A、电子行业从业者;B、计算机专业从业者;C、机电行业从业者;D、硬件开发从业者。2、本课程《嵌入式 ...

尔雅嵌入式C语言程序设计章节答案(学习通2023课后作业答案)

第一周 C语言认识

第一周 单元测验

1、尔雅本课程《嵌入式C语言程序设计》教学不适合什么专业或行业学习者?
A、嵌入电子行业从业者;
B、式C设计计算机专业从业者;
C、语言业答机电行业从业者;
D、程序硬件开发从业者。章节

2、答案本课程《嵌入式C语言程序设计》教学与传统计算机类通识教学相比,学习最大不同之处在于什么?
A、通课以电子硬件开发角度,后作讲解C语言语法知识;
B、尔雅以C语言语法知识为内容,嵌入讲解C语言编程;
C、式C设计以VC++6.0软件为平台,语言业答讲解C语言语法知识;
D、程序以输入输出printf和scanf为编程效果演示。

3、本课程学习重点是什么?
A、电子类硬件知识;
B、灯、数码管、蜂鸣器、按键等硬件;
C、电子硬件工作原理;
D、使用C语言语法指令进行编程。

4、课程教学使用的软件是什么?
A、Protel DXP;
B、VC++6.0;
C、Keil编程软件和Proteus仿真软件;
D、Turbo C++。

5、以下不属于C语言编程规范需要注意的是?
A、排版规范;
B、注释规范;
C、标识符规范;
D、大小写规范。

6、关于编程环境平台说法错误的是?
A、Keil软件是C语言学习的编程软件;
B、编程调试不需要在单片机中进行;
C、C语言程序也可以在硬件实验箱或最小系统中进行仿真;
D、Proteus软件是程序在硬件电路图的仿真软件。

7、以下不是C语言的特点是?
A、C语言为低级语言;
B、C语言为结构式语言;
C、C语言功能齐全;
D、C语言适用范围大。

8、课程教学需要用到以下哪个核心器件?
A、ARM;
B、DSP;
C、单片机;
D、PLC。

第二周 典型C程序运行

第二周 单元测验

1、以下不是本课程学习C语言用到的调试工具?
A、Keil编程软件;
B、单片机开发板;
C、Proteus电路仿真软件;
D、VC++6.0编程软件。

2、关于Keil软件操作描述错误的是?
A、Keil软件需要先创建工程项目,然后再建文件;
B、工程项目名称和文件名称必须不同;
C、Keil软件的C文件必须以.c为后缀名;
D、工程项目名称和文件名称可以相同。

3、关于单片机开发板说法错误的是?
A、本课程使用的是AVR单片机开发板;
B、根据单片机使用的型号可以分为51单片机开发板、AVR单片机开发板;
C、本课程使用的是51单片机开发板;
D、单片机开发板是用于学习51、AVR型号的单片机实验设备。

4、关于Keil软件描述错误的是?
A、Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统;
B、Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起;
C、Keil C51不能用于C语言软件编程;
D、Keil共发布了Keil μVision1、Keil μVision2、Keil μVision3、Keil μVision4、Keil μVision5五个版本。

5、关于Proteus软件描述错误的是?
A、Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件;
B、Proteus软件可以进行C语言编程;
C、Proteus软件不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件;
D、它是目前比较好的仿真单片机及外围器件的工具。

第三周 指示灯设计与实现

第三周 单元测验

1、关于C语言程序说法错误的是?
A、一个C程序可由一个或多个文件组成,而一个文件可由一个或多个函数组成;
B、C程序必须有一个函数名为main的函数,且只能有一个main函数;
C、C程序中可以有多个函数,而且可以有多个主函数;
D、程序运行时从main函数开始。

2、关于C语言程序说法错误的是?
A、C程序结构没有具体的规定,可以任意编写;
B、一个C程序由文件预处理部分、函数部分等组成;
C、函数体中可以包括数据申明部分和语句部分;
D、一个C程序中可以有多个函数。

3、以下不是C语句组成部分的是?
A、表达式语句;
B、函数调用语句和空语句;
C、控制语句和复合语句;
D、指令语句。

4、关于预处理命令include说法错误的是?
A、ANSI C标准规定可以在C源程序中加入一些“预处理命令”,以改进程序设计环境,提高编程效率;
B、预处理命令是C语言本身的组成部分,能直接对它们进行编译;
C、预处理命令不是C语言本身的组成部分,不能直接对它们进行编译;
D、“预处理”,即根据预处理命令对程序作相应的处理。

5、关于include指令说法错误的是?
A、文件包含命令的一般形式为:#include"文件名" 或者#include<文件名>;
B、include命令是C语言语句的组成部分;
C、一个include命令只能指定一个被包含文件,若有多个文件要包含,则需用多个include命令;
D、文件包含允许嵌套,即在一个被包含的文件中又可以包含另一个文件。

6、关于关键字sbit定义格式说法错误的是?
A、sbit 位变量名=字节地址;
B、sbit 位变量名=位地址;
C、sbit 位变量名=特殊功能寄存器名称^变量位地址值;
D、sbit 位变量名=字节地址^变量位地址值。

7、以下不是C语言程序结构的是?
A、顺序结构;
B、选择结构;
C、判断结构;
D、循环结构。

8、以下关于赋值运算符和表达式描述错误的是?
A、简单赋值运算符记为“=”,由“=”连接的式子称为赋值表达式;
B、赋值表达式是计算表达式的值再赋予左边的变量;
C、任何表达式在其末尾加上分号就构成为语句;
D、如果赋值运算符两边的数据类型不相同,系统将无法进行类型转换。

9、关于预处理命令define描述错误的是?
A、C语言源程序中允许用一个标识符来表示一个字符串,称为“宏”;
B、宏定义是由源程序中的宏定义命令完成;
C、宏代换是由预处理程序自动完成;
D、宏定义是由源程序中的包含命令完成;

10、关于宏定义描述错误的是?
A、宏定义不是说明或语句,在行末不必加分号,如加上分号则连分号一起置换;
B、宏定义必须写在函数之外;
C、宏定义必须使用“=”符号连接;
D、宏定义作用域为宏定义命令起到源程序结束。

11、二进制数10110011用十六进制数表示为?
A、0ob3
B、0xb3
C、0bb3
D、0xc3

第四周 警示灯设计与实现

第四周 单元测验

1、C语言程序是由什么构成的?
A、一些可执行语言;
B、main函数;
C、函数;
D、包含文件中的第一个函数。

2、什么是构成C语言程序的基本单位?
A、函数
B、过程
C、子程序
D、子例程

3、C语言程序从哪里 开始执行?
A、程序中第一条可执行语句
B、程序中第一个函数
C、程序中的main函数
D、包含文件中的第一个函数

4、C语言程序从main()函数开始执行,所以这个函数要写在哪里?
A、程序文件的开始;
B、程序文件的最后;
C、它所调用的函数的前面;
D、程序文件的任何位置。

5、以下说法中正确的是?
A、C语言程序总是从第一个定义的函数开始执行
B、在C语言程序中,要调用的函数必须在main( )函数中定义
C、C语言程序总是从main( )函数开始执行
D、C语言程序中的main( )函数必须放在程序的开始部分

6、下列方法中错误的是?
A、主函数可以分为两个部分:主函数说明部分和主函数体
B、主函数可以调用任何非主函数的其它函数
C、任何非主函数可以调用其它任何非主函数
D、程序可以从任何非主函数开始执行

7、下列说法错误的是?
A、C程序运行步骤是编辑、编译、连接、执行
B、C语言的变量名必须用小写,常量用大写
C、C语言的三种基本结构是顺序、选择、循环
D、C程序一定由函数构成的

8、C语言中的简单数据类型包括?
A、整型、实型、逻辑型
B、整型、实型、逻辑型、字符型
C、整型、字符型、逻辑型
D、整型、实型、字符型

9、若int类型数据占2个字节,则unsigned int类型数据的取值范围是?
A、0~255
B、0~65535
C、-32768~32767
D、-256~255

10、在C语言程序中,表达式8/5的结果是?
A、1.6
B、1
C、3
D、0

11、在C语言程序中,表达式5%2的结果是?
A、2.5
B、2
C、1
D、3

第五周 跑马灯设计与实现

第五周 单元测验

1、关于逗号运算符和表达式说法错误的是?
A、所有出现逗号的地方都组成逗号表达式;
B、在C语言中逗号也是一种运算符,成为逗号运算符;
C、把两个表达式连接起来组成一个表达式成为逗号表达式;
D、不是所有出现逗号的地方都组成逗号表达式。

2、以下不是逻辑运算符的是?
A、&&
B、&
C、||
D、!

3、以下不是位运算符的是?
A、&和|
B、^和~
C、<和>
D、<<和>>

4、在C语言中,下列说法中正确的是?
A、do-while语句构成的循环不能用其它语句构成的循环来代替
B、do-while语句构成的循环只能用break语句退出
C、do-while语句构成的循环在while后的表达式非零时结束循环
D、do-while语句构成的循环,在while后的表达式为零时结束循环

5、break语句不能出现在什么语句中?
A、switch
B、for
C、while
D、if…else

6、以下程序段 x=-1; do { x=x*x; } while(x>0);
A、是死循环
B、循环执行一次
C、循环执行二次
D、有语法错误

第六周 显示器设计与实现

第六周 单元测验

1、C语言中函数返回值的类型是由什么决定的?
A、函数定义时指定的类型
B、return语句中的表达式类型
C、调用该函数时的实参的数据类型
D、形参的数据类型

2、在C语言中,函数的数据类型是指?
A、函数返回值的数据类型
B、函数形参的数据类型
C、调用该函数时的实参的数据类型
D、任意指定的数据类型

3、C程序中函数返回值的类型是?
A、函数定义时指定的函数类型
B、函数中使用的最后一个变量的类型
C、调用函数时临时确定
D、调用该函数的主调函数类型

4、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为?
A、由系统选择
B、单向值传递
C、由用户指定传递方式
D、地址传递

5、在函数调用时,以下说法正确的是?
A、函数调用后必须带回返回值
B、实际参数和形式参数可以同名
C、函数间的数据传递不可以使用全局变量
D、主调函数和被调函数总是在同一个文件里

6、在C语言程序中,有关函数的定义正确的是?
A、函数的定义可以嵌套,但函数的调用不可以嵌套
B、函数的定义不可以嵌套,但函数的调用可以嵌套
C、函数的定义和函数的调用均不可以嵌套
D、函数的定义和函数的均可以嵌套

7、以下对C语言函数的有关描述中,正确的是?
A、在C语言程序中,调用函数时,如函数参数是简单变量,则只能把实参的值传递给形参,形参的值不能传送给实参
B、C语言函数既可以嵌套定义又可递归调用
C、C语言函数必须有返回值,否则不能使用函数
D、在C语言程序中有调用关系的所有函数必须放在同一个源程序文件中

8、C语言中对函数的描述正确的是?
A、可以嵌套调用,不可以递归调用
B、可以嵌套定义
C、嵌套调用,递归调用均可
D、不可以嵌套调用

9、以下叙述中正确的是?
A、构成C程序的基本单位是函数
B、可以在一个函数中定义另一个函
C、main()函数必须放在其它函数之前
D、所有被调用的函数一定要在调用之前进行定义

10、用数组名作为函数调用时的实参时,传递给形参的是?
A、数组元素的个数
B、数组第一个元素的值
C、数组全部元素的值
D、数组首地址

第七周 播放器设计与实现

第七周 单元测验

1、关于局部变量说法错误的是?
A、主函数中定义的变量也只能在主函数中使用,不能在其他函数中使用;
B、形参变量是属于被调函数的局部变量,实参变量是属于主调函数的局部变量;
C、允许在不同的函数中使用相同的变量名;
D、在复合语句中可定义变量,其作用域在复合语句范围外;

2、关于全局变量说法错误的是?
A、全局变量也称外部变量;
B、全局变量是在函数外定义的变量;
C、全局变量不属于哪个函数,它也不属于某一个源程序;
D、全局变量的作用域为整个源程序;

3、关于变量存储类别说法错误的是?
A、从变量值存在的生存期角度分静态存储方式和动态存储方式;
B、全局变量全部存放在动态存储区;
C、未加static声明的局部变量都是自动变量;
D、static声明的变量表示函数中的局部变量值在调用结束后不消失而保留原值;

4、关于函数范围说法错误的是?
A、函数本质上是全局的;
B、函数分为内部函数和外部函数;
C、如果一个函数只能被本文件中其他函数所调用,它被称为内部函数;
D、外部函数定义时用关键字static声明;

5、下列说法中错误的是?
A、静态局部变量的初值是在编译时赋予的,在程序执行期间不再赋予初值
B、若全局变量和某一函数中的局部变量同名,则在该函数中,此全局变量被屏蔽
C、静态全局变量可以被其他的编辑单位所引用
D、所有自动类局部变量的存储单元都是在进入这些局部变量所在的函数体(或复合语 句)时生成,退出其所在的函数体(或复合语句)时消失

第八周 按键设计与实现

第八周 单元测验

1、下列关于C语言数据文件的叙述中正确的是
A、文件由ASCII码字符序列组成,C语言只能读写文本文件;
B、文件由二进制数据序列组成,C语言只能读写二进制文件;
C、文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件;
D、文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件

2、C语言中,能识别处理的文件为
A、文本文件和数据块文件;
B、文本文件和二进制文件;
C、流文件和文本文件;
D、数据文件和二进制文件;

3、C语言中,文件组成的基本单位是
A、记录;
B、数据行;
C、数据块;
D、字符序列;

4、表达式0x13^0x17的值是
A、0x04;
B、0x13;
C、0xe8;
D、0x17;

5、在位运算中,操作数左移一位,其结果相当于
A、操作数乘以2;
B、操作数除以2;
C、操作数乘以4;
D、操作数除以4;

6、在位运算中,操作数右移一位,其结果相当于
A、操作数乘以2;
B、操作数除以2;
C、操作数乘以4;
D、操作数除以4;

7、已定义以下函数 fun(char *p2,char *p1) { while((*p2=*p1)!="\0") { p1++;p2++; } }
A、将P1所指字符串复制到P2所指内存空间;
B、将P1所指字符串地址赋给指针P2;
C、对P1和P2两个指针所指字符串进行比较;
D、检查P1和P2两个指针所指字符串中是否有“\0”;

8、以下描述中不正确的是
A、预处理命令行都必须以#开始
B、在程序中凡是以#开始的语句行都是预处理命令
C、宏替换不占用运行时间,只占编译时间
D、在以下定义是正确的:#define PI 3.1415926;

《嵌入式C语言程序设计》课程考试

课程考试客观题

1、C语言程序是由什么构成的
A、一些可执行语言
B、main函数
C、函数
D、包含文件中的第一个函数

2、以下说法中正确的是
A、C语言程序总是从第一个定义的函数开始执行
B、在C语言程序中,要调用的函数必须在main( )函数中定义
C、C语言程序总是从main( )函数开始执行
D、C语言程序中的main( )函数必须放在程序的开始部分

3、下列方法中错误的是
A、主函数可以分为两个部分:主函数说明部分和主函数体
B、主函数可以调用任何非主函数的其它函数
C、任何非主函数可以调用其它任何非主函数
D、程序可以从任何非主函数开始执行

4、下列说法错误的是
A、C程序运行步骤是编辑、编译、连接、执行
B、C语言的变量名必须用小写,常量用大写
C、C语言的三种基本结构是顺序、选择、循环
D、C程序一定由函数构成的

5、下列说法中正确的是
A、由于C源程序是高级语言程序,因此一定要在TC软件中输入
B、由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入
C、由于C程序是高级语言程序,因此输入后即可执行
D、由于C程序是高级语言程序,因此它是由命令组成的

6、C语言提供的合法关键字是
A、next
B、string
C、do case
D、struct

7、下列C语言用户标识符中合法的是
A、*y
B、a+b
C、a123
D、123

8、下列可以正确表示字符型常量的是
A、’\t’
B、”a”
C、”\n”
D、297

9、C语言中字符型(char)数据在内存中的存储的是
A、原码
B、补码
C、反码
D、ASCII码

10、在C语言中,字符型数据所占的内存空间是
A、2个字节
B、4个字节
C、1个字节
D、由用户自定义

11、若int类型数据占2个字节,则unsigned int类型数据的取值范围是
A、0~255
B、0~65535
C、-32768~32767
D、-256~255

12、C语言中,关系表达式和逻辑表达式的值是
A、0
B、0或1
C、1
D、‘T’或’F’

13、已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是
A、0
B、1
C、5
D、6

14、以下运算符中优先级最高的运算符是
A、&&
B、++
C、+=
D、!=

15、设x为int型变量,则执行以下语句后,x的值为 x=10; x*=x;
A、10
B、20
C、100
D、0

16、若有语句int a=1,b; double y=2.3; b=(int)y; 则b的值为
A、3
B、2
C、1
D、2.3

17、设 int x=0, y=1; 表达式(x||y)的值是
A、0
B、1
C、2
D、3

18、在C语言中,认为( )为逻辑"真"
A、true
B、大于0的数
C、非0整数
D、非0的数

19、为表示逻辑表达式79<X<90,应使用的C语言表达式是
A、( X>79 )&&( X<90 )
B、( X>79 )!=( X<90 )
C、79<X<90
D、(X>79 )||( X<90 )

20、设x,t均为int型变量,则执行语句“x=10;t=x&&x>10;”后,t的值为
A、不定值
B、10
C、1
D、0

21、若int i=10; 执行下列程序后,变量i的正确结果是 switch ( i ) { case 9: i+=1; case 10: i+=1; case 11: i+=1; default : i+=1; }
A、13
B、12
C、11
D、10

22、假定所有变量均已正确定义,则下列程序段运行后y的值是 int a=0,y=10; if(a=0) { y--; } else if(a>0) { y++; } else { y+=y; }
A、20
B、11
C、9
D、0

23、假定所有变量均已正确定义,则下列程序段运行后x的值是 a=b=c=0; x=35; if(!a) { x--; } else if(b); if(c) { x=3; } else { x=4; }
A、34
B、4
C、35
D、3

24、C语言对嵌套if语句的规定是:else语句总是与()配对
A、其之前最近的if
B、第一个if
C、缩进位置相同的if
D、其之前最近的且尚未配对的if

25、C语言中用( )表示逻辑“真”
A、true
B、整数值1
C、非零整数值
D、false

26、在C语言中,下列说法中正确的是
A、do-while语句构成的循环不能用其它语句构成的循环来代替
B、do-while语句构成的循环只能用break语句退出
C、do-while语句构成的循环在while后的表达式非零时结束循环
D、do-while语句构成的循环,在while后的表达式为零时结束循环

27、break语句不能出现在()语句中
A、switch
B、for
C、while
D、if…else

28、对于break语句和continue语句的说法错误的是
A、break语句不能用于循环语句和switch语句之外的任何其他语句中
B、break和continue也可以用于if语句中
C、continue语句只结束本次循环,而不是终止整个循环的执行
D、break语句是结束整个循环过程,不再判断执行循环的条件是否成立

29、语句while(!y);中的表达式!y等价于
A、y==0
B、y!=1
C、y=!0
D、y==1

30、对以下程序段的叙述正确的是 int x=1; do { x= -1*x; } while(!x)
A、是死循环
B、循环执行一次
C、循环执行二次
D、有语法错误

31、以下对一维数组a的正确说明是
A、char a(10)
B、int a[]
C、int k=5,a[k]
D、char a[3]={ ‘a’,’b’,’c’}

32、以下能对一维数组a进行初始化的语句是
A、int a[5]=(0,1,2,3,4,)
B、int a(5)={ }
C、int a[3]={ 0,1,2}
D、int a{ 5}={ 10*1}

33、已知:int a[10]; 则对a数组元素的正确引用是
A、a[10]
B、a[3.5]
C、a(5)
D、a[0]

34、若有以下数组说明,则i=10;a[a[i]]元素数值是() int a[12]={ 1,4,7,10,2,5,8,11,3,6,9,12};
A、10
B、9
C、6
D、5

35、C语言中函数返回值的类型是由()决定的
A、函数定义时指定的类型
B、return语句中的表达式类型
C、调用该函数时的实参的数据类型
D、形参的数据类型

36、在C语言中,函数的数据类型是指
A、函数返回值的数据类型
B、函数形参的数据类型
C、调用该函数时的实参的数据类型
D、任意指定的数据类型

37、C程序中函数返回值的类型是由()决定的
A、函数定义时指定的函数类型
B、函数中使用的最后一个变量的类型
C、调用函数时临时确定
D、调用该函数的主调函数类型

38、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为
A、由系统选择
B、单向值传递
C、由用户指定传递方式
D、地址传递

39、在函数调用时,以下说法正确的是
A、函数调用后必须带回返回值
B、实际参数和形式参数可以同名
C、函数间的数据传递不可以使用全局变量
D、主调函数和被调函数总是在同一个文件里

40、在C语言程序中,有关函数的定义正确的是
A、函数的定义可以嵌套,但函数的调用不可以嵌套
B、函数的定义不可以嵌套,但函数的调用可以嵌套
C、函数的定义和函数的调用均不可以嵌套
D、函数的定义和函数的均可以嵌套

41、以下对C语言函数的有关描述中,正确的是
A、在C语言程序中,调用函数时,如函数参数是简单变量,则只能把实参的值传递给形参,形参的值不能传送给实参
B、C语言函数既可以嵌套定义又可递归调用
C、C语言函数必须有返回值,否则不能使用函数
D、在C语言程序中有调用关系的所有函数必须放在同一个源程序文件中

42、C语言中对函数的描述正确的是
A、可以嵌套调用,不可以递归调用
B、可以嵌套定义
C、嵌套调用,递归调用均可
D、不可以嵌套调用

43、以下叙述中正确的是
A、构成C程序的基本单位是函数
B、可以在一个函数中定义另一个函数
C、main()函数必须放在其它函数之前
D、所有被调用的函数一定要在调用之前进行定义

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

45、下列说法中正确的是
A、局部变量在一定范围内有效,且可与该范围外的变量同名
B、如果一个源文件中,全局变量与局部变量同名,则在局部变量范围内,局部变量不起作用
C、局部变量缺省情况下都是静态变量
D、函数体内的局部静态变量,在函数体外也有效

46、在C语言中,表示静态存储类别的关键字是
A、auto
B、register
C、static
D、extern

47、未指定存储类别的变量,其隐含的存储类别为
A、auto
B、static
C、extern
D、register

48、若有以下说明语句: struct student { int num; char name[ ]; float score; }stu; 则下面的叙述不正确的是:
A、struct是结构体类型的关键字
B、struct student 是用户定义的结构体类型
C、num, score都是结构体成员名
D、stu是用户定义的结构体类型名

49、设有以下说明语句: typedef struct stu { int a; float b; } stutype; 则下面叙述中错误的是
A、struct是结构类型的关键字
B、struct stu是用户定义的结构类型
C、a和b都是结构成员名
D、stutype是用户定义的结构体变量名

50、语句int *p;说明了
A、p是指向一维数组的指针
B、p是指向函数的指针,该函数返回一int型数据
C、p是指向int型数据的指针
D、p是函数名,该函数返回一指向int型数据的指针

51、变量的指针,其含义是指该变量的
A、值
B、地址
C、名
D、一个标志

52、若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是
A、pb=&x
B、pb=x
C、*pb=&x
D、*pb=*x

53、下列不正确的定义是
A、int *p=&i,i;
B、int *p,i;
C、int i,*p=&i;
D、int i,*p;

54、若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是
A、p=q
B、*p=*q
C、n=*q
D、p=n

55、int *p,a=10,b=1; p=&a; a=*p+b;执行该程序段后,a的值为
A、编译出错
B、10
C、11
D、12

56、有语句:int a[10],;则()是对指针变量p的正确定义和初始化
A、int p=*a;
B、int *p=a;
C、int p=&a;
D、int *p=&a;

57、若有说明语句“int a[5],*p=a;”,则对数组元素的正确引用是
A、a[p]
B、p[a]
C、*(p+2)
D、p+2

58、若有以下定义,则不能表示a数组元素的表达式是() int a[10]={ 1,2,3,4,5,6,7,8,9,10},*p=a;
A、*p
B、a[10]
C、*a
D、a[p-a]

59、已知int a[5],*p=a;下面的叙述中正确的是
A、p+1与a+1等价
B、p[1]与*p等价
C、*(p+1)与a+1等价
D、p[1]与a++等价

60、若有以下说明:int a[10]={ 1,2,3,4,5,6,7,8,9,10},*p=a;则数值为4的表达式是
A、*p+4
B、*(p+4)
C、*(p+3)
D、p+3

61、下列数据中属于“字符串常量”的是
A、“a”
B、{ ABC}
C、‘abc\0’
D、‘a’

62、下面不正确的字符串常量是:
A、‘PROGRAM’
B、“12’12”
C、“0”
D、“ ”

63、下述对C语言中字符数组的描述错误的是
A、字符数组可以存放字符串
B、字符数组中的字符串可以整体输入和输出
C、可在赋值语句中通过赋值运算符“=”对字符数组整体赋值
D、可在对字符数组定义时通过赋值运算符“=”对字符数组整体初始化

64、已知:char s[20]= ”programming”, *ps=s; 则不能引用字母o的表达式是
A、ps[2]
B、s[2]
C、ps+2
D、ps+=2, *ps

65、在C语言中,文件由
A、字符(字节)序列组成
B、记录组成
C、数据行组成
D、数据块组成

66、在进行文件操作时,写文件的一般含义是
A、将磁盘中的信息存入计算机内存
B、将计算机内存中的信息存入磁盘
C、将计算机CPU中的信息存入磁盘
D、将磁盘中的信息存入计算机CPU

67、在C语言程序中,以#号带头的行是预编译处理
A、命令
B、语句
C、函数
D、字符串

68、下列正确的预编译命令是
A、define PI 3.14159
B、#define P(a,b)=strcpy(a,b)
C、#define stdio.h
D、#define PI 3.14159

69、下列命令或语句中,正确的是
A、#define MYNAME=”ABC”
B、#include stdio.h
C、for(i=0;i<10;i++);
D、struct int stu{ int name};

70、下列命令或语句中,错误的是
A、#define PI 3.14159
B、#include <math.h>;
C、if(2);
D、for(;;) if(1) break;

期末试卷主观题

1、按要求C语言编程,实现4个按键控制8个LED灯1个数码管程序。具体要求如下: 1、按键一,清零作用。无论数码管以前显示何内容,都归零,显示0; 2、按键二,加一作用。数码管显示内容加1,显示到9后,要回0; 3、按键三,减一作用。数码管显示内容减1,显示到0后,要回9; 4、按键四,控制8个LED灯流水灯效果。效果可以自己任意选定,只要用到8个LED等,且8个灯都有有亮灭效果。 5、引脚连接电路图参考课程中提供的电路,调试也可以使用该电路调试。 6、只上交C文件就可以。

学习通嵌入式C语言程序设计

嵌入式系统在现代生活中已经无处不在,从智能家居到汽车电子系统,从医疗设备到航空航天设备,都需要嵌入式系统的支持。而C语言作为嵌入式系统的主流编程语言,已经成为开发嵌入式系统的必备技能之一。学习通嵌入式C语言程序设计,就成为了很多开发人员必须要掌握的技能。下面本文将介绍学习通嵌入式C语言程序设计的相关内容。

嵌入式系统基础知识

在学习嵌入式C语言编程前,我们需要先了解嵌入式系统的基础知识。嵌入式系统是一种特殊的计算机系统,具有硬件和软件的特点。其硬件通常是由微处理器/微控制器、存储器、输入输出接口等组成,而软件则是由操作系统、应用程序等组成。对于嵌入式系统而言,系统资源是非常有限的,因此嵌入式系统的开发需要考虑系统性能、功耗、成本等方面的因素。

C语言基础知识

C语言是一种结构化编程语言,它具有代码简洁、执行速度快等优势,因此被广泛应用于嵌入式系统的开发中。学习嵌入式C语言编程,需要先掌握C语言的基础知识,包括语言结构、数据类型、运算符、控制语句、函数、指针等内容。

嵌入式C语言编程

学习完C语言的基础知识后,就可以开始学习嵌入式C语言编程了。嵌入式C语言编程需要考虑到硬件资源的特点,因此需要了解嵌入式系统的硬件结构、寄存器、中断等内容。嵌入式C语言编程还需要掌握一些特殊的语句,如volatile变量、位运算等内容。

嵌入式系统开发工具

进行嵌入式C语言编程,需要使用专门的开发工具。常用的嵌入式系统开发工具包括Keil、IAR、CooCox等。其中Keil是一款功能强大的嵌入式系统开发工具,其提供了完整的嵌入式系统开发环境,包括编译器、调试器、仿真器等。IAR也是一款知名的嵌入式系统开发工具,其提供了高效的编译器、调试器、分析工具等。

嵌入式系统实战案例

为了更好的学习嵌入式C语言编程,我们可以结合一些实战案例进行学习。实战案例可以帮助我们更好的理解嵌入式系统的工作原理和应用场景。例如可以开发一个简单的LED控制程序,实现对LED灯的亮灭控制。

总结

学习嵌入式C语言编程,需要掌握嵌入式系统基础知识和C语言基础知识,了解嵌入式系统开发工具,结合实战案例进行学习。掌握了嵌入式C语言编程,就可以进行嵌入式系统的开发,并且为现代生活带来更多的便利和安全。

文章版权及转载声明

本文地址:http://www.zzxhsh.org/99f799826.html发布于 2024-05-19 07:16:11
文章转载或复制请以超链接形式并注明出处五煦查题

评论列表 (暂无评论,44人围观)参与讨论