scanf格式控制的完整格式:
% * m l或h 格式字符
① 格式字符與printf函數中的使用方式相同,以%d、%o、%x、%c、%s、%f、%e,無%u格式、%g格式。
② 可以指定輸入數據所佔列寬,系統自動按它截取所需數據。如:
scanf(「%3d%3d」,&a,&b);
輸入:123456
系統自動將123賦給a,456賦給b。
③ %後的「*」附加說明符,用來表示跳過它相應的數據。例如:
scanf(「%2d%*3d%2d」,&a,&b);
如果輸入如下信息:1234567。將12賦給a,67賦給b。第二個數據」345」被跳過不賦給任何變量。
2008年12月5日 星期五
C/C++:printf 格式控制介紹
printf的格式控制:
% - 0 m.n l或h 格式字符
下面對組成格式說明的各項加以說明:
① %:表示格式說明的起始符號,不可缺少。
② -:有-表示左對齊輸出,如省略表示右對齊輸出。
③ 0:有0表示指定空位填0,如省略表示指定空位不填。
④ m.n:m指域寬,即對應的輸出項在輸出設備上所佔的字符數。N指精度。用於說明輸出的實型數的小數位數。為指定n時,隱含的精度為n=6位。
⑤ l或h:l對整型指long型,對實型指double型。h用於將整型的格式字符修正為short型。
格式字符
% - 0 m.n l或h 格式字符
下面對組成格式說明的各項加以說明:
① %:表示格式說明的起始符號,不可缺少。
② -:有-表示左對齊輸出,如省略表示右對齊輸出。
③ 0:有0表示指定空位填0,如省略表示指定空位不填。
④ m.n:m指域寬,即對應的輸出項在輸出設備上所佔的字符數。N指精度。用於說明輸出的實型數的小數位數。為指定n時,隱含的精度為n=6位。
⑤ l或h:l對整型指long型,對實型指double型。h用於將整型的格式字符修正為short型。
格式字符
C/C++:string.h 常用函數介紹
*****取得陣列長度*****
int strlen(const char *str);
範例:
int length;
char array[10];
length strlen(array); //lenght = 10;
*****複製字串*****
char *strcpy(char *Dest, char *Source);
範例:
char dest[5]; //註:char sour[5] = char *sour
char sour[5]="abc";
strcpy(dest,sour); //將sour複製到dest
//dest內容為abc
int strlen(const char *str);
範例:
int length;
char array[10];
length strlen(array); //lenght = 10;
*****複製字串*****
char *strcpy(char *Dest, char *Source);
範例:
char dest[5]; //註:char sour[5] = char *sour
char sour[5]="abc";
strcpy(dest,sour); //將sour複製到dest
//dest內容為abc
C/C++:動態產生陣列
以下為C語言動態產生陣列:
動態產生大小為m的一維陣列:
動態產生一個[m][n]陣列 Array 的方法:
但這不夠好,若你要的是一個較大的m*n陣列,那麼太多的malloc
會使記憶體碎片化(memory fragment)!窮則變,變則通
問題既出在for loop不斷的 memory allocation,那就從這下手:
動態產生大小為m的一維陣列:
int n;
int *Array;
Array = (int *)malloc(n*sizeof(int));
動態產生一個[m][n]陣列 Array 的方法:
int i;
int **Array;
Array= (int **)malloc(m*sizeof(void *));
for (i=0; i<m; i++)
Array=(int *)malloc(n*sizeof(int *));
但這不夠好,若你要的是一個較大的m*n陣列,那麼太多的malloc
會使記憶體碎片化(memory fragment)!窮則變,變則通
問題既出在for loop不斷的 memory allocation,那就從這下手:
C/C++:計算檔案大小
/*
說明:
將檔案指標fp移動到檔案最尾巴
使用ftell回傳從檔案開頭到目前檔案指標所經過的byte數
*/
輸出結果:
說明:
將檔案指標fp移動到檔案最尾巴
使用ftell回傳從檔案開頭到目前檔案指標所經過的byte數
*/
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *fp;
long size;
if(argc!=2)
{
printf("直接把檔案拖曳到此程式。\n指令用法:此程式檔名稱 要複製的檔案名稱\n");
system("pause");
}
else
{
fp = fopen(argc[argv-1],"rb"); /*使用二進位開檔才會正確*/
fseek(fp, 0, SEEK_END); /*移到檔案最尾端 */
size = ftell(fp); /*因為讀取指標已經移到最後面了,所以值就是檔案大小*/
printf("File Size is %d bytes.",size);
fclose(fp);
}
return 0;
}
輸出結果:
File Size is 9065 bytes.
2008年12月4日 星期四
C/C++:產生亂數並檢查重複
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
srand(time(NULL));
int number[7];
int i,j;
for(i=0;i<=5;i++)
{
number[i]=rand()%50+1; //產生6個1~50的數字
for(j=0;j<i;j++)
{
if(number[i]==number[j])
{
i--;
break;
}
}
}
for(i=0;i<=5;i++)
printf("%d ",number[i]);
return 0;
}
輸出結果:
20 15 42 8 14 33
CCleaner - 清理系統好工具
【軟體名稱】:CCleaner
【軟體類型】:系統清理
【軟體性質】:免費
【軟體語言】:多國語言(含繁中)

官方網站:http://www.ccleaner.com
下載點:http://www.filehippo.com/download_ccleaner/
【軟體類型】:系統清理
【軟體性質】:免費
【軟體語言】:多國語言(含繁中)

官方網站:http://www.ccleaner.com
下載點:http://www.filehippo.com/download_ccleaner/
C/C++:時間相關函數及用法
常用到的時間相關函數有:
說明:
time_t time(time_t *t);
time(). 它會傳回自 00:00:00 01/01/1970 到現在所經過的秒數。在 x86 上 time_t 是一個 32bit 的整數 (signed long int). time() 若傳回 -1 表示錯誤。
- time_t time(time_t *t);
- struct tm *gmtime(const time_t *timep);
- struct tm *localtime(const time_t *timep);
- char *asctime(const struct tm *tm);
- char* ctime(const time_t* timer);
- clock_t clock(void);
- double difftime(time_t timer2, time_t timer1);
- time_t mktime ( struct tm * timeptr );
說明:
time_t time(time_t *t);
time(). 它會傳回自 00:00:00 01/01/1970 到現在所經過的秒數。在 x86 上 time_t 是一個 32bit 的整數 (signed long int). time() 若傳回 -1 表示錯誤。
2008年12月1日 星期一
第一篇文章...(這是標題嗎XDDDD)Test
原本舊網誌:http://www.wretch.cc/blog/neilchennc
想跳槽是因為無名很多功能都很不好用
都沒啥彈性...尤其是無名不支援iframe....
Blogger可以用ScribeFire來編輯、發佈
很多東西都能自己更改,方便多了~
所以就跳到Blogger啦~
以下是測試,請勿理我...
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
想跳槽是因為無名很多功能都很不好用
都沒啥彈性...尤其是無名不支援iframe....
Blogger可以用ScribeFire來編輯、發佈
很多東西都能自己更改,方便多了~
所以就跳到Blogger啦~
以下是測試,請勿理我...
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
this is a test
aaaaaaaa
bbbbbbbbb
cccc
訂閱:
文章 (Atom)