嵌入式全栈开发学习笔记---C语言笔试复习大全4

目录

常量 

常量的种类

常量标志

1、整型常量

2、以数字“0”开始的整型常量是八进制数

3、以“0x”或者“0X”开始的整型常量是十六进制

4、实型常量

5、字符常量的表示方法       

6、用'\'开头的字符为转义字符

7、字符串常量

变量

const关键字(笔试重点)

输入和输出

1、格式输入函数

2、格式输出函数

格式输出的占位符


上一篇介绍了三道非常经典的考数据类型长度、数据范围和数据类型转换的笔试题。这一篇开始复习常量和变量,输入和输出。

说明:我们学过单片机的一般都是有C语言基础的了,网上关于C语言的资料有很多,大家如果对C语言不熟悉的话可以先去详细学一下,再以这篇博文作为复习资料学习。

这篇博文的目的是复习C语言,我们会陆续以30多个编程题作为复习要点,这30多个编程题基本涵盖了C语言所有的内容了,只要你掌握了这30多个编程题,那么你的C语言基本就没什么问题了。

注意:由于本专栏是嵌入式全栈开发专栏,为了我们能熟悉以后实际工作中的开发环境,我们写C语言全部在Linux中的vim编辑器中写,这么做事为了我们能够熟练掌握Linux系统的常用命令以及Linux上的vim编辑器的常用工作命令,以达到对口训练的目的!

vim编辑器的一些工作命令在上一篇博文中已经详细介绍过了,如果不了解可以先去看看。

我们正式开始:

常量 

数据的表现形式有两种:常量 变量

常量是一种在程序中保持固定类型和固定值的数据。编译系统从数据形式上可以区分(除枚举类型外)

比如宏常量:

常量的种类

常量分为:

a、整型常量

b、实型常量

c、字符常量

d、字符串常量

e、枚举常量(后面再讲)

有时候我们看代码我们会看到这样的一些标志:

常量标志

1、整型常量

十进制常量:18、-31,

long int型常量:123l、123L、123456l、123456L;(这个l或者L只是说明这个数是long类型的常量,写不写都没关系)

unsigned int型常量:123u、 123U(这个u或者U只是说明这个数是unsisgned类型的常量,写不写都没关系);

根据实际数据大小确定int型还是long型。

2、以数字“0”开始的整型常量是八进制数

比如022、-037。注意010(八进制)和10(十进制)大小不一样。因为八进制并不常用,所以此种表示法比较少见。

3、以“0x”或者“0X”开始的整型常量是十六进制

A~F和a~f用来表示十进制的10~15,十六进制的形式比较常用:0x12、-0x1F, -0x1f...

4、实型常量

十进制小数形式:123.45、456.78;

指数形式:1e-2、4.5e3(4.5乘以10的3次方);

float型常量 123.45f、 456.78F、1e-2f、4.5e3F;

long double型常量 123.45l、 456.78L;缺省为double

5、字符常量的表示方法       

    比如:'a'、'A'、'5'、'%'、'$';单引号内只能有一个字符,除非用“\”开头

    注意:'5'和5的区别

字符在内存中是以ASCII码存储的,比如’a’它其实也是以数字的形式在内存中存储的,我们想要查它对应的这个数值,我们就可以去查找ASCII码表,可以看到’a’对应的数值是97,那它在内存中是以97的二进制数值存储的。

6、用'\'开头的字符为转义字符

    例如,'\n',代表1个字符

7、字符串常量

字符串常量是一对双引号括起来的字符序列;

合法的字符串常量:“How do you do.”、”CHINA”、”a”、”$123.45”;

可以用printf直接输出一个字符串,如printf(“How do you do.”);

C规定:在每一个字符串常量的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。C规定以字符'\0'作为字符串结束标志,用sizeof求字符串长度的时候不计算“\0”,但是字符串数组大小要计算“\0”

如:如果有一个字符串常量”CHINA” ,实际上在内存中是:

C

H

I

N

A

\0

它占内存单元不是5个字符,而是6个字符,最后一个字符为'\0'。但在输出时不输出'\0'。

变量

变量是在程序执行过程中可以改变

const关键字(笔试重点)

上一次我们复习了一个非常重要的关键字sizeof,这次我们再复习一个关键字const。

const这个关键字是介于常量和变量之间的,很多人把它理解为是将变量定义为常量,但其实它是用来把变量定义为只读变量。

将变量num定义成了只读变量,那就不能再直接通过num这个变量名来修改对应内存的值,如果硬改就会报错

硬方法不行,那就来软办法:

我们可以通过地址(指针)来间接修改num对应内存的值。

我们先取出num的地址

然后修改并打印出来看看

这样我们就把它修改成1000了

后面我们复习指针的时候还会继续剖析这个const

输入和输出

1、格式输入函数

scanf(格式控制字符串, 地址表列);

scanf("%d %f”, &a,&b); 

注:&取a第一个字节的地址;%表示获取的意思

2、格式输出函数

printf(格式控制字符串, 输出项表列);

函数原型:int printf(const char *format, ...);

注:“...”表示可变参数。

注意:scanf不能加“\n”!输出printf可以加“\0”

格式输出的占位符

%d或%i按十进制有符号整数输出,正数的符号省略

%u按十进制无符号整数输出

%o按八进制无符号整数输出(不输出前导0)

%x或X按十六进制无符号整数输出(不输出前导符0x)

%c按字符型数据输出

%s按字符串数据输出

%f按小数形式输出(6位小数)

%e或E按指数形式输出实数

%%输出%本身

%g或G选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0

%p以十六进制输出(输出带有0x)

以上这些常用的占位符要记忆!

以上就是这篇内容,如想了解更多,欢迎订阅本专栏!

如有问题可评论区或者私信留言,如果想要进交流群请私信!

  • 14
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ARM Cortex-M3是一种广泛应用于嵌入式系统的32位处理器架构。NXP LPC1768是基于ARM Cortex-M3架构的一款微控制器,具有丰富的外设和易于使用的开发环境。 在使用NXP LPC1768进行嵌入式开发实例时,我们需要以下步骤: 1. 硬件准备:准备好NXP LPC1768开发板和必要的连接线材。将开发板连接到计算机,确保正确安装驱动程序。 2. 开发环境设置:ARM Cortex-M3开发使用Keil MDK软件包,下载并安装Keil MDK开发环境。将LPC1768相关文件添加到Keil MDK,并设置正确的编译和调试选项。 3. 编写代码:使用Keil MDK的集成开发环境,我们可以编写C或汇编语言程序来控制LPC1768的外设。例如,可以通过GPIO控制LED灯,通过UART与计算机通信等。 4. 编译和下载:通过Keil MDK编译代码,生成二进制文件。然后,使用编程器将二进制文件下载到LPC1768开发板上。 5. 调试和测试:使用Keil MDK的调试功能,可以在LPC1768上单步执行程序,观察变量的值和寄存器的状态,以确保程序正确运行。 6. 扩展功能:利用LPC1768的丰富外设,我们可以实现各种功能,如通过ADC读取模拟信号,使用PWM控制电机速度等。开发者可以根据具体需求进行相应的硬件和软件开发。 总的来说,ARM Cortex-M3嵌入式开发实例基于NXP LPC1768的开发,需要进行硬件准备、开发环境设置、编写代码、编译和下载、调试和测试等步骤。通过这些步骤,我们可以实现各种功能并开发嵌入式应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vera工程师养成记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值