日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

嵌入式开发-lesson9-顺序结构程序设计

發布時間:2023/11/29 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 嵌入式开发-lesson9-顺序结构程序设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Lesson9-順序程序設計

一、常量與變量

1、常量

在程序運行過程中,其值不能改變的量,叫做常量。

f(x) = 2x + 1

常用的常量有以下幾種類型:

1)整型常量, 100, 0, -234

2)實型常量, 123.456, 123456e-3,? 123e+3

3)字符型常量

?普通字符, ‘a’ ‘#’

?轉義字符, ‘\n’ ‘\t’ '\b'

4)字符串常量, “123”? "weijie"

5)符號常量? #define? ABC ? 3.14 ? ABC就是一個符號常量

2、變量

在運行過程中值可以改變的量,叫做變量。變量必須先定義后使用,例如:int a;定義一個整數類型的變量

標識符:在高級語言中用來對變量、符號常量、函數等等起名字的有效字符,叫做標識符。

標識符的要求:只能包含字母、數字、下劃線,并且只能以字母和下劃線開頭

int ? 2a ? 錯

int ? a#b? 錯 ??

二、進制轉換

十進制(d):

逢10進1,十進制的算法123 = 1x100 + 2x10 + 3x1,十進制中每一位都不超過10

二進制(binary):

逢2進1,二進制的算法(101)B = 1x4 + 0x2 + 1x1,二進制中每一位都不超過2

(10010011)b = 1*1+1*2+0+0+1*16+1*64

八進制(o):

逢8進1,八進制的算法(765)O = 7x64 + 6x8 + 5x1,八進制中每一位都不超過8

十六進制(hex):

逢16進1,十六進制的算法(765)H = 7x256 + 6x16 + 5x1,十六進制中每一位都不超過16

十六進制中有超過10的數該怎么表示?用字母a,b,c,d,e,f


位:一個位里面只能放一個1位的二進制數

一個字節byte等于8位,一個字等于2個字節


十進制數num轉為n進制的方法:

step1: n/(n+1) = 0....1

step2: num÷n = 商......余數1

step3: 如果商為0,跳轉finish

step4: 商 ÷n = 商......余數2

step3: 如果商為0,跳轉finish

step4: 商 ÷n = 商......余數3

step3: 如果商為0,跳轉finish

step4: 商 ÷n = 商......余數4

。。。。。。

finish:將余數1到余數n從右到左寫下來,這就是你的結果

n進制轉十進制的方法:

給一個8進制4123,那么對應的十進制是:

3x8的0次方 + 2x8的1次方 + 1x8的2次方 + 4x8的3次方



二進制的技巧

任何一個正整數都可以表示為2的N次方相加,你不信也得信。。。

10 = 8 + 2

100 = 64 + 32 + 4

1000 = 512 + 256 + 128 + 64 + 32 + 8

當然你需要熟練掌握2的10次方以內的所有結果,這是一個程序猿的要求。

789 = 512+256+16+4+1 = ? 1100010101

二進制轉十六進制:四個一組,每一組都是2的0次方到2的3次方

(1011 1100)B = (bc)H


三、基本數據類型

C語言基本數據類型:整型、浮點型

整型:基本整型、長整型、短整型、雙長整型、字符型

浮點型:單精度浮點、雙精度浮點

1、??? 整型

整型:integer

基本整型(int):占4個字節或者2個字節(分操作系統)

短整型(short int):占2個字節

長整型(long):占4個字節

雙長整型(long long):占8個字節


在實際應用中有些數據只有正數,不能為負數,因此數據又可以分為有符號數據和無符號數據,所以c語言把整型變量又仔細劃分為

unsigned int

[signed] int

unsigned short [int]

[signed] short [int]

unsigned long [int]

[signed] long [int]

unsigned long long [int]

[signed] long long [int]


1111 1111 = 255(無符號)

二進制的最高位是符號位,0代表+, 1代表-

1111 1111 = -127


定義一個整型變量:

int a; //定義變量

a = 100;//給變量賦值

也可以在定義變量的時候順便給變量賦值,這叫變量的初始化

int a=100;

int a,b;

int a=10, b=100;

2、??? 字符型

字符型(char):占1個字節

字符型也可以分為有符號和無符號:

[signed] char

unsigned char

定義一個整型變量:

char a;? //定義變量

a = ‘#';//給變量賦值

char a='$';

字符其實也是以整數的形式存在,因為計算機只認識0和1。你可以查看ASCII碼表,里面對每一個字符都進行的編碼。需要記住‘a’== 97

‘A’==65?? ‘0’== 48(不是整數0)

注意:并不是所有的字符都能被c語言識別。


3、??? 浮點型

浮點型:

單精度浮點(float):占4個字節

雙精度浮點(double):占8個字節

其實浮點型就是我們說的小數,只不過float和double的精確度不一樣

float? a=1.0;


4、??? 打印變量

打印常量

printf("hello\n");

打印變量

int a;

a = 10;

printf("num is %d", a); //num is 10

%d代表int %f代表float類型數據 %lf代表double類型數據

%ld代表long類型, %c打印char類型數據


如何打印多個變量:

int a,b,c;

a = 10;

b = 11;

c = 12;

printf("three num is %d %d %d\n", a,b,c);

?

四、運算符與表達式

1、四則運算

?+ 加法

?- 減法

?* 乘法,因為沒有×

?/ 除法,因為沒有÷

?% 取余數(取模)? 10%6 = 4


2、自增自減

int i = 10;

?++i 使用之前i的值加1 ,而且會改變i的值

?i++ 使用之后i的值加1

?--i 使用之前i的值減1

?i-- 使用之后i的值減1


3、表達式

?用c語法寫的式子就是c算術表達式,例如a+b*2-3+8/2,c算術表達式的計算方法和數學是一樣的


4、混合運算

?在實際運算的過程中,難免有不同類型的數據同時參加運算,鑒于此種情況,C語言有以下規則

?1)+-*/中有一個是float另一個是double,那么系統會將float轉為double,因此結果是double

?2)int和float或者double運算時,先將int轉為float或者double

?3)字符數據與整型計算時,先將字符轉為對應的ASCII碼,然后計算;字符與float或者double運算時,將字符的ASCII碼轉為float或者double


5、強制轉換

?c語言可以把一個數強制轉換成其他類型,例如:

?(int)a 把a強轉為int類型

?(float)b 把b強制轉換為float類型

?注意:當一個小數轉為整數的時候,只保留整數部分(不是四舍五入)


6、其他運算符

?1)賦值運算 =,將"="右邊的數值給等號左邊

?2)復合運算 += ,a+=3 ---> a=a+3

?3)比較運算 > >=

?4)條件運算 a = b>c?1:2


五、c語句

一個c程序就是由不同的c語言句子組成的,c語句可以分為5類

1、控制語句,控制程序的執行過程

? 1)if()...else... ??? 條件判斷

? 2)for()... ????????? 循環

? 3)while()... ??????? 循環

? 4)do...while()... ?? 循環

? 5)continue... ?????? 結束本次循環

? 6)break... ????????? 中止循環或者switch

? 7)switch ??????????? 分支

? 8)return ??????????? 返回

2、函數調用語句,由一個函數調用加一個分號組成

??printf(“hello”); ?

3、賦值語句,由一個復制表達式和分號組成

??a = 6;

4、空語句,由一個分號構成

??;

5、復合語句,可以用{ }把許多語句括起來,構成復合語句

{

??int a=10,b=20;

??int c=a+b;

??printf("%d\", c);

}


六、數據輸出

c語言有很多輸入輸出的語句,所謂輸入就是從外部獲取信息到cpu,輸出就是將cpu的信息給外部


1、printf

c語言最常用的輸出語句是printf,這個一個格式輸出的語句,用戶必須指定數據的格式,printf(格式控制, 輸出列表),例如

printf("sum = %d + %d", a, b);

%d就是指定數據的格式為int, a和b就是輸出列表, 有兩個%d,因此要有兩個數據


2、格式控制

1)%d

?用來輸出一個有符號的十進制整數,若是長整型用%ld,long long則使用%lld

2)%c

用來輸出一個字符,如果對應的輸出列表是一個整型,那么會轉為字符型。例如

?int a = 65;

?printf(“%c”, a); 屏幕會輸出一個字母A,因為A得ASCII碼是65

同樣的,如果使用%d的時候,對應的輸出列表是一個char,那么會將char轉為整數,例如:

?char a = ‘A’;

?printf(“%d”, a); 屏幕會輸出一個字母A,因為A得ASCII碼是65

3)%f

?輸出float類型,如果是double類型的,可以用%lf,默認6位小數。

?使用%m.nf,指定輸出的float格式m代表整數部分的位數,如果不夠則左端補空格,如果整數部分超出指定范圍,那么按實際操作,不可以影響它的大小;n指定小數部分的位數,如果不夠右邊補0,如果超出,四舍五入。

?float num=11.234;

?printf("%f", num);? ?? 11.234000

?printf("%1.5f", num);? 11.23400

?printf("%3.1f", num); _11.2

4)其他格式

%e 以指數形式輸出實數,例如:

? int num=1234;

? printf("%e", num);? ?? 1.234000e+003 ??

? int num=0.00123;

? printf("%e", num);? ?? 1.23000e-003

%x 以十六進制輸出整數

%o 以八進制輸出整數

%u 輸出無符號整數

%a 輸出地址


七、數據輸入

c語言的輸入也有很多種方法,常見的是scanf函數。scanf函數的使用方法基本和printf差不多,我們來找找不一樣的地方

scanf("a=%d,b=%d,c=%d", &a,&b,&c); 后面的列表多了個&

當然你需要在鍵盤上輸入:a=1,b=1,c=3 或者其他的

scanf要注意:

1)格式控制的后面不是一個變量,而是變量的地址

2)如果使用%c,那么空格和轉義字符都被認為是有效的字符

?scanf("%c%c%c", &a,&b,&c)

?輸入abc三個字母,中間不能有空格

3)如果是輸入數值,那么空格、tab、回車、等非法字符都被認為是數據結束,例如:

?scanf("%d%d%d", &a,&b,&c)

?輸入10 12 13,或者10,12,13都可以

字符的輸入與輸出:

對于字符的輸入和輸出,可以使用其他函數putchar、getchar

1)輸出字符

?char a='m';

?putchar(a);

2) 字符出入

?char a;

?a=getchar();

?putchar(a);

總結

以上是生活随笔為你收集整理的嵌入式开发-lesson9-顺序结构程序设计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。