ADSense script

Code Colors

顯示具有 C語言 標籤的文章。 顯示所有文章
顯示具有 C語言 標籤的文章。 顯示所有文章

2020年4月12日 星期日

GUI Debug String with mutable arguments in C

#include <stdio.h> 
char vstr_bur[64];
void DB_Prt(char idx, char* char_ptr, ... ){
  va_list args;
  int i;
  static char tempstr[20][64]={""};
  static char index=0;
  char prt_idx=0;
  //const int left=800-6*64-20;
  const int left=800-6*64-20;

  va_start(args, char_ptr);
  vsprintf(vstr_bur, char_ptr, args);
  va_end(args);

  printf("%s",vstr_bur);
  if(idx != 0)
    index = idx;
  GUI_SetTextMode(GUI_TM_NORMAL);
  GUI_SetFont(&GUI_Font6x8);
  GUI_SetColor(GUI_WHITE);
  GUI_SetBkColor(GUI_TRANSPARENT);
  if(index >=20) index=0;
  strncpy(tempstr[index], vstr_bur, sizeof(tempstr[0])-1);
  #if 1
  GUI_DispStringAtCEOL(tempstr[index],left+10,10+index*10);
  #elif 0
  for(i=(index +1 )%20;i<20;i++,prt_idx++){
    if(i == index )
      GUI_DispStringAt("*",left,10+prt_idx*10);
    else
      GUI_DispStringAt(" ",left,10+prt_idx*10);
    GUI_DispStringAtCEOL(tempstr[prt_idx],left+10,10+prt_idx*10);
  }
  if(index!=19){
    for(i=0;i<=index;i++,prt_idx++){
      if(i == index )
        GUI_DispStringAt("*",left,10+prt_idx*10);
      else
        GUI_DispStringAt(" ",left,10+prt_idx*10);
      GUI_DispStringAtCEOL(tempstr[prt_idx],left+10,10+prt_idx*10);
    }
  }
  #else
  for(i=0;i<20;i++){
    if(i == index )
      GUI_DispStringAtCEOL("*",left,10+i*10);
    else
      GUI_DispStringAtCEOL(" ",left,10+i*10);
    GUI_DispStringAtCEOL(tempstr[i],left+10,10+i*10);
  }
  #endif
  index++;
  GUI_SetTextMode(GUI_TM_TRANS);	//透明文本
}
//#define printf(...)  DB_Prt(0,__VA_ARGS__)


#不定參數 C 語言
#GUI 除錯字串

2019年12月1日 星期日

C語言入門[func函數/函式]

函數概念:
   函數分為:main函數、函數库函數、函數定義與呼叫函數`
   main函數是固定的第一個執行的函數。

main函數:一般從main函數學起。

以下為main函數:
#include <stdio.h>
Int main(void)
{
/*中間省略*/
return (0);
}

函數库:printfscanfputsputchar C語言所提供的這些函數合稱為函數库。

函數定義與呼叫函數:
可以自己設計符合自己需求的函數。
函數定義:maxof




以下為函數定義的結構:
         傳回值型別     函數名稱   參數宣告
函數標頭     int          maxof    (int x,int y)
         {
                     if(x > y)
    函數本體             return (x);
                     else
                         return (y);
}
函數呼叫運算式:
函數名稱  引數  引數
maxof    (na  ,  nb)

更多相關文章【不想加入git 的檔案類型

呼叫函數:函數maxof!我給你ab兩個值,請把較大者的值回傳給我!
1、由變數、判斷式、迴圈組成,函數可以有多個變數,多個判斷式。
2、函數要宣告:voidDelay(內容),如有內容最後回傳:Void,Delay(內容)
3、要善淤利用{}更多相關文章【C語言入門[func函數/函式]

4、有文字的英文字母()叫函數,函數,這是使用intmaiv,也叫函數,這是定義函數。
5、函數本體(function body):必定是由{ }所夾起來的復合聚述,不管是maxof函數或main函數。
6、函數呼叫運算式計算後之值,應為該傳回值型別的傳回值。
7、常數的定義方式:必須放在程式開頭,以「#define」來定義,放在主函數「main」之前,習慣上以大寫來定義常數,以與變數區別。
平方根之差
Sqr 函數:會傳回指定數字之平方根的 Double
diff:
平方差公式:(a+b)(a-b)=a2-b2
立方值cube
立方值公式:5=5*5*5

更多相關文章【C語言 debug 跑到哪一行

POWER 函數(乘方乘積函數)
Call by value(傳數值):引數傳遞時的傳值就是傳送(變數)值給函式上對應的參數,值被複製一份給參數,傳遞者與接受者兩個變數彼此各佔有一個記憶體,互不相干.
Call by value(傳數值):善用變數
call by address(傳位址):&定位



更多相關文章:

如何學習台灣注音輸入法&如何學習大陸常用的羅馬拼音/漢語拼音/拼音輸入法

C語言入門概念

C語言格式

C語言[陣列Array]

C語言-報錯解決方法

C語言-質數

學習

git commit 更好的理解commit 的作用...type:

Define version with git tag and breach

GUI Debug String with mutable arguments in C

猴子壓縮法(monkey zip with pseudorandomness)

Spin Taichi 太極旋轉

口罩怎麼戴不會耳朵痛?口罩戴不習慣?

自學韓語推薦的書

學英文推薦的書

學汽車考照經驗分享,一次就考過!


#

c語言入門書

c語言入門練習

c語言自學ptt

c語言入門ptt

c語言教學網站

c語言教學手冊

c語言下載

c語言線上課程

#

2019年11月24日 星期日

學習

我認為的學習,它要的是什麼?
是耐心,去認識自己不足的地方,然後去面對它,再去修復它

一開始,學習中
不會或錯了 又怎樣? 是笨還是蠢嗎?
不是,只是因你在學習,(如果妳都會,你還用學嗎?)
然後,最難的一點承認自己的不足,(尤其是成人,總是自己覺得面子掛不住)
當你越直接的點出那些會,哪些不會,
你就越容易從那些會的跨越到那些不會的。

就像是你知道空氣很悶讓人很難受,你要解決這個問題
你不能直接說難受,別人不知道你怎麼難受。
你要說空氣悶,讓我很難受。 這樣別人會知道要解決的點是空氣悶。
但你的問題點真的是要人幫你開窗戶嗎?
也許是你不知道窗戶在哪裡,
也許是窗戶卡太緊了,
所以你無法解決,這些別人是無法幫你辨明的
唯有你自己可以找到卡住的點。
(但如果由別人一點一點地問下去,很多人會覺得是在刁難,其實他只是在嘗試理解你卡住的到底是哪個點)

然後面對它,認識自己為什麼無法克服
然後修正它 填補它
窗戶不知道在哪裡,就學一下怎麼找窗戶或者記住它的位置,
卡住太緊了,問一下是不是有省力的方法,或者它是電動開關的?

這樣認清了以後就真的學會了

也許就像誰說的一樣
知之為知之,不知為不知,是知也...

2019年11月17日 星期日

C語言 質數

質數:指不能被1和本身以外的數值所整除的整數。
1: 若某數大於2且為2的倍數(4,6,8...),則某數確為非質數。
2: 2是偶數中唯一的質數。
3: 要除以比他小的數。
4:只要有一個數能整除它即可判斷它不是質數。
5:整數no無法被小於no的質數所整除則應為質數
6:某整數NO不能被小其平方根質數所整除。
7. Break:中斷。
8. Unsigned long型別:能有效表示最多非負數之整數的類型。
9. 逗號運算子:a,b由左而右依序計值,該運算式之值為b


更多相關文章:

2019年11月10日 星期日

C語言 報錯解決方法

當遇到error: stray '241' in program錯誤的解決方法| 程式前沿

報錯的意思是c/c 中的產生了編譯錯誤。
該錯誤是指源程式中有非法字元,需要將非法字元去掉。一般是由於coder使用中文輸入法或者從別的地方直接複製貼上程式碼造成的。程式碼中出現了中文空格,中文引號, 各種中文標點符號都會出現,簡單修改一下就OK了。
解決方法:
1.把出錯行的空格及其前後空格刪掉重新打一下試試。
2.把明顯和其他標點符號顏色不同的改掉。(大部分編譯器都有顏色識別)
3.直接全部重打。

error:subscripted value is neither array nor pointer nor vector

下标值不符合数组或指针要求,即操作的对象不允许有下标值。

企图使用可变的变量作为下标,尤其对于数组。可以使用下标操作的类型比如指针。
需要检查要操作的对象是否是指针,如果不是可以将其类型转换为指针再进行操作。
更多相關文章【不想加入git 的檔案類型

Warning:passing argument i of putcharmakes integer from pointer withouta cast

传递'putchar'的参数i会使指针产生整数而不进行强制转换
Lvalue required as increment operand
當使用 ++ 或 -- 時必需要有 左值(l value)
講白一點就是說,使用 ++ 或 -- 時要有變數能去儲存運算,而不是一個式子。更多相關文章【C語言入門概念

原来 在这里如果要使用 *des++ 或者 *source++ 那么 des 或 source 就需要是个能进行加一操作的指针也就是地址,然而在上面的代码中更多相關文章【C語言格式

des 和 source 并不是个地址 而是两个字符串数组;
  那么按照这个想法,改变一下,先定义两个 指针 char* c 和 char* k 分别指向两个字符串数组的首地址,然后再对 这两个指针进行增加加操作
Expected expression before [token
多寫了; or [`
Error:expected expression before int
語法錯誤。

更多相關文章【C語言 debug 跑到哪一行



更多相關文章:

2019年11月4日 星期一

C語言[陣列Array]

概念:
  • 一維變數:一串相同型態的變數。變數名+[編號]
  • 二維變數:一個長*寬的二度空間。變數名+[編號] [編號]
  • 陣列的個數宣告須為常數。 int vc[5],不能int vc[n].
  • 陣列的宣告就是:嘿,有東西要來,要為其配位置。
  • vc=vc[0]
  • 陣列只會抓標頭,不會抓個數。

更多相關文章【 git commit 更好的理解commit 的作用...type:

陣列Array的要點:
  •  陣列的for迴圈由0開始。For(i=0;i<(?);i++);
  • 在寫程式時,要多利用分解步驟來寫,才不容易搞混。
  • 初始化值不足的元素則以0開始進行初始化。
  • 陣列無法指定,要一個個分別指定。
  • 2個數值的對調,不能直接對調,要找一個TEMP來存放。例:ab交換,要找一個臨時寄放點temp,    temp=a,a=b,b=temp
  • 名稱#define 定義名稱NUMBER#define  NUMBER *要加在程式定義的外面。
  • :可以把相關數值統一管理提高程式品質。常出現且有一定意義的數值不要直接寫進程式裡面,運用巨來命名比較好。巨的定義要加上注解。
  • 指定運算式經過檢查後,其型別與值都會改變成如指定後的左運算元(2.39int取整數2)
  • vc[ i ]:會變,一般在迴圈時用,vc[ 0 ]:不會變,vc[ ]:要在函數標頭的引數宣告才能用。
  • 多維陣列:

更多相關文章【Define version with git tag and breach

變數名+[編號] [編號]={{}{}}
Int mx[2][3]={{1,2,3},{4,5,6}};
or
Int mx[2][3]={1,2,3,4,5,6};
初始化不足的元素以0開始。
Int mx[2][3]={{1,2,3,},{4,5,0}};
or
Int mx[2][3]={1,2,3,4,0,0};

牙醫助理可以做一輩子嗎

很多人好奇牙醫助理可以做一輩子嗎? 理想是 牙醫助理可以一輩子做,但要靠進修或轉向管理/技術,才能保持薪資與職涯成長,不然容易薪資高度在那。 還有助理做到診所牙醫退休關門的。