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...