嵌入式day2(2022.1.7)

2022-12-02 14:29:01 浏览数 (1)

c中所有数据类型 取值范围

十进制切换二进制(原码反码补码)

练习

1、指出下列常量的类型和意义(如果有的话):

a) ‘b’

Backspace,即退格键

字符型常量,‘’转义字符

b) 1066

long int类型,表示数字1066

整型常量,表示整数1066(10进制)

c) 99.44 、

浮点数99.44

浮点型常量

d) 0XAA

16进制0XAA。表示1010 1010(2进制)或者170(10进制),252(8进制)

整型常量,16进制整数

e) 2.0e30

表示小数2.0^30,即2……(后跟30个0)

科学计数法表示的浮点型常量

  1. “TOM”

字符型常量

Tips:常量的共同点是都不能作为赋值符号的左值(不能被更改)

2.编写一个程序,实现如下功能:用户输入一个 ASCII 码值(如 66),程序输出相应的字符。

代码语言:javascript复制
#include <stdio.h>

int main(void)

{

    int ascii;

    printf("请输入一个ASCII码值:");

    scanf("%d",&ascii);

    printf("ASCII码值为 %d 对应的字符是 %cn",ascii,ascii);

    return 0;

}

运行结果:

3.Mr. Bing 写了下面这个程序,请指出你认为不妥的地方:

代码语言:javascript复制
include “stdio.h”

main{ }

(

float g; h;

float tax, rate;

g = e21;

tax = rate * g;

printf(“%fn”, tax);

)
代码语言:javascript复制
#include<stdio.h>

int main()

{

    float g,h;

    float tax,rate;

    g=1e21;

    tax=rate*g;

    printf("%fn",tax);

    return 0;

}

4.一个水分子的质量大约为 3.0*10-23g,1 夸脱水大约有 950g。编写一个程序,要求输入水的夸脱数,然后显示这么多水中包含多少个水分子。

代码语言:javascript复制
#include<stdio.h>

#include<math.h>

int main(void)

{

 float w1,w2;

 printf("请输入水的夸脱数n");

 scanf("%f",&w1);

 w2=(w1*950)/(3.0*pow(10,-23));/*用(3.0*1e-23)也可以*/

 printf("水分子数量为%en",w2);

 return 0;

}

项目运行截图

5、假设 ch 为 char 类型变量。使用转义序列、十进制值、八进制字符常量以及十六进制字符常量等方法将其赋值为回车符(使用 ASCII 码)。

转义字符 char ch='r';

十进制值 char ch='13'

八进制 char ch='15'

十六进制 char ch='xd'

6.说说'A'与"A"有什么区别?

一个是char a,一个是char *a

一个是字符,一个是字符串

代码语言:javascript复制
#include<stdio.h>
int main(){
    char a1='A';
    char *a2="A";
    printf("size:a1=%ld a2=%ldn",sizeof(a1),sizeof(a2));
    return 0;
}

‘A’ 是字符型常量4字节,a1是字符型变量1字节

“A”是字符串常量,大小为2字节:'A' ''(结束符)

7.有时候我们需要使用 uint32_t 类型变量代替 unsigned int 类型变量的原因是什么?

uint32_t 看起来更明确,u 是 unsigned, int32 是 32 位整型,t 是 type

0 人点赞