week 10 課上例項

2021-06-22 03:24:13 字數 2097 閱讀 6670

c程式設計week10課上例項

目錄(?)[+]

1 乙個神奇的程式

== 使用了 【指標】【強制型別轉換】兩項技術 或規則 ==

== 裡面的位址可能需要重新寫一下下 ==

[cpp] view plaincopy

#include "stdio.h"  

main()  

2 變數review

== 該程式很簡單,但確是最需要理解的 ==

[cpp] view plaincopy

#include "stdio.h"  

main()  

3  乙個錯誤的程式

== 想想為什麼 ==

[cpp] view plaincopy

#include "stdio.h"  

void main()  

4 陣列的另類理解

== int a[4] ==

== a的內容是什麼?a的大小是多少 ?==

== 認真體會 ==

[cpp] view plaincopy

#include "stdio.h"  

void pz(int arr)  

void main();  

printf("a=0x%x \n",a);  

printf("sizeof a is %d \n",sizeof(a));  

pz(a);  

}  5 指標與陣列

== 兩個知識點 【指標指向陣列】【指標加上乙個整數】==

[cpp] view plaincopy

#include "stdio.h"  

#define size 4  

main()  

另乙個例子

[cpp] view plaincopy

#include "stdio.h"  

void main();  

for(int i=0;iprintf("the value of a+%d : %d\n",i,*(a+i));  

int *pa1,*pa2,*pa3;  

pa1 = a;  

pa2 = a+2;  

pa3 = &a[3];  

printf("*pa1=%d,*pa2=%d,*pa3=%d\n",*pa1,*pa2,*pa3);  

printf("pa1=%p,pa2=%p,pa3=%p\n",pa1,pa2,pa3);  

printf("pa2-pa1 = %d\n",pa2-pa1);     

}  6 理解函式中的傳值、傳位址

[cpp] view plaincopy

#include "stdio.h"  

void change(int a)  

void main()  

[cpp] view plaincopy

#include "stdio.h"  

void change(int* pa)  

void main()  

7 當函式的引數為指標、為陣列時

[cpp] view plaincopy

#include "stdio.h"  

void changearray(int ar)  

void changepointer(int *pa)  

void main();  

changearray(a);  

changepointer(a);  

for(int i=0;iprintf("a[%d]=%d\n",i,a[i]);  

}  8 指向函式的指標

[cpp] view plaincopy

#include "stdio.h"  

void welcometobaoding()  

void welcometoxian()  

void main()  

9 利用指標動態分配記憶體

[cpp] view plaincopy

#include "stdio.h"  

#include "stdlib.h"  

void main()

week14課上測試

多選題 1分 假設用add指令完成c表示式t a b的功能,有關條件碼暫存器的說法正確的是 a.若t0,則zf 1 b.若t 0,則cf 1 c.若t 0,則sf 1 d.若 a 0b 0 t 0 a 0 則of 1 e.若 a 0 b 0 t 0 a 0 則cf 1 f.leaq指令不影響條件碼暫...

week10限時模擬

東東轉魔方 注意在某段連續s 連續t的字串中,若tnum snum,那麼此時刪除完st之後,t會剩餘,這些剩餘的t不會再有用處,即不會再用這些t構成st。但是,若刪除完st之後,s剩餘,那麼這些s是有用的!舉個例子,sssstttstt sssttstt sststt sstt st 空,連續的s ...

week10作業簽到

東東在玩遊戲 game23 在一開始他有乙個數字n,他的目標是把它轉換成m,在每一步操作中,他可以將n乘以2或乘以3,他可以進行任意次操作。輸出將n轉換成m的操作次數,如果轉換不了輸出 1。輸入的唯一一行包括兩個整數n和m 1 n m 5 10 8 輸出從n轉換到m的操作次數,否則輸出 1.samp...