CÊä³ö¸ñʽ×ܽá
2007-07-08 12:09
1 Ò»°ã¸ñʽ
printf(¸ñʽ¿ØÖÆ£¬Êä³ö±íÁУ©
ÀýÈ磺printf("i=%d,ch=%c\n",i,ch);
˵Ã÷:
(1)“¸ñʽ¿ØÖÆ”ÊÇÓÃ˫ƲºÅÀ¨ÆðÀ´µÄ×Ö·û´®£¬Ò²³Æ“ת»»¿ØÖÆ×Ö·û´®”£¬Ëü°üÀ¨Á½ÖÖÐÅÏ¢£º
¢Ù¸ñʽ˵Ã÷£ºÓÉ“%”ºÍ¸ñʽ×Ö·û×é³É£¬ËüµÄ×÷ÓÃÊǽ«Êä³öµÄÊý¾Ýת»»ÎªÖ¸¶¨µÄ¸ñʽÊä³ö¡£
¢ÚÆÕͨ×Ö·û£¬¼´ÐèÒªÔÑùÊä³öµÄ×Ö·û¡£
(2)“Êä³ö±íÁДÊÇÐèÒªÊä³öµÄһЩÊý¾Ý£¬¿ÉÒÔÊDZí´ïʽ
(3) printfº¯ÊýµÄÒ»°ãÐÎʽ¿ÉÒÔ±íʾΪ
printf(²ÎÊý1£¬²ÎÊý2£¬……£¬²ÎÊýn)
¹¦ÄÜÊǽ«²ÎÊý2¡«²ÎÊýn°´²ÎÊý1¸ø¶¨µÄ¸ñʽÊä³ö
2 ¸ñʽ×Ö·û£¨9ÖÖ£©
(1)d£¨»òi£©¸ñʽ·û¡£ÓÃÀ´Êä³öÊ®½øÖÆÕûÊý£¬ÓÐÒÔϼ¸ÖÖÓ÷¨£º
¢Ù%d£¬°´ÕûÐÍÊý¾ÝµÄʵ¼Ê³¤¶ÈÊä³ö¡£
&n ......
//ÊäÈë²ÎÊý£º*str ËÑË÷×Ö·û´®
// subStrLen ÓÃÓÚ·µ»ØÕÒµ½µÄ×î´ó×Ó×Ö·û´®³¤¶È
//·µ»Ø£ºÕÒµ½µÄ×î´ó×Ó×Ö·û´®Ö¸Õë
char * findMaxSubStr(char *str, int &subStrLen){
char *subStr;
char *p = str;
int index[256] ;
for (int ix = 0; ix < sizeof(index)/sizeof(index[0]); ix++)
{
index[ix] = -1;
}
int subStrPos = 0; // ×Ó×Ö·û´®ÔÚ×Ö·û´®strÖÐµÄÆ«ÒÆ
int charPos = 0; // µ±Ç°×Ö·ûÔÚ×Ö·û´®strÖÐµÄÆ«ÒÆ
int currLen = 0; //µ±Ç°×Ó×Ö·û´®³¤¶È
int maxLen = 0; //ÒѾÕÒµ½µÄ×î´ó×Ó×Ö·û´®³¤¶È
char ch;
while (ch = *p)
{
if (index[ch] < subStrPos){ //×Ö·ûÊ״γöÏÖ »òÕß ×Ö·ûÔÚ×Ó×Ö·û´®¿ªÊ¼µÄλÖúóÊ״γöÏÖ
index[ch] = charPos;
currLen++;
}else {
currLen = charPos - index[ch];
subStrPos = ++index[ch];
index[ch] = charPos;
}
if (currLen > maxLen)
{
subStr = str + subStrPos;
maxLen = currLen;
}
p++;
charPos++;
}
subStrLen = maxLen;
return subStr;
} ......
//ÊäÈë²ÎÊý£º*str ËÑË÷×Ö·û´®
// subStrLen ÓÃÓÚ·µ»ØÕÒµ½µÄ×î´ó×Ó×Ö·û´®³¤¶È
//·µ»Ø£ºÕÒµ½µÄ×î´ó×Ó×Ö·û´®Ö¸Õë
char * findMaxSubStr(char *str, int &subStrLen){
char *subStr;
char *p = str;
int index[256] ;
for (int ix = 0; ix < sizeof(index)/sizeof(index[0]); ix++)
{
index[ix] = -1;
}
int subStrPos = 0; // ×Ó×Ö·û´®ÔÚ×Ö·û´®strÖÐµÄÆ«ÒÆ
int charPos = 0; // µ±Ç°×Ö·ûÔÚ×Ö·û´®strÖÐµÄÆ«ÒÆ
int currLen = 0; //µ±Ç°×Ó×Ö·û´®³¤¶È
int maxLen = 0; //ÒѾÕÒµ½µÄ×î´ó×Ó×Ö·û´®³¤¶È
char ch;
while (ch = *p)
{
if (index[ch] < subStrPos){ //×Ö·ûÊ״γöÏÖ »òÕß ×Ö·ûÔÚ×Ó×Ö·û´®¿ªÊ¼µÄλÖúóÊ״γöÏÖ
index[ch] = charPos;
currLen++;
}else {
currLen = charPos - index[ch];
subStrPos = ++index[ch];
index[ch] = charPos;
}
if (currLen > maxLen)
{
subStr = str + subStrPos;
maxLen = currLen;
}
p++;
charPos++;
}
subStrLen = maxLen;
return subStr;
} ......
ÔÎÄ£º
http://www.codeproject.com/cpp/complex_declarations.asp
×÷ÕߣºVikram A Punathambekar
½éÉÜ
Ôø¾Åöµ½¹ýÈÃÄãÃԻ󲻽⡢ÀàËÆÓÚint * (* (*fp1) (int) ) [10];ÕâÑùµÄ±äÁ¿ÉùÃ÷Â𣿱¾ÎĽ«ÓÉÒ×µ½ÄÑ£¬Ò»²½Ò»²½½Ì»áÄãÈçºÎÀí½âÕâÖÖ¸´ÔÓµÄC/C++ÉùÃ÷£ºÎÒÃǽ«´ÓÿÌì¶¼ÄÜÅöµ½µÄ½Ï¼òµ¥µÄÉùÃ÷ÈëÊÖ£¬È»ºóÖð²½¼ÓÈëconstÐÞÊηûºÍtypedef£¬»¹Óк¯ÊýÖ¸Õ룬×îºó½éÉÜÒ»¸öÄܹ»ÈÃÄã׼ȷµØÀí½âÈκÎC/C++ÉùÃ÷µÄ“ÓÒ×ó·¨Ôò”¡£ÐèҪǿµ÷һϵÄÊÇ£¬¸´ÔÓµÄC/C++ÉùÃ÷²¢²»ÊǺõıà³Ì·ç¸ñ£»ÎÒÕâÀï½ö½öÊǽÌÄãÈçºÎÈ¥Àí½âÕâЩÉùÃ÷¡£×¢Ò⣺ΪÁ˱£Ö¤Äܹ»ÔÚͬһÐÐÉÏÏÔʾ´úÂëºÍÏà¹Ø×¢ÊÍ£¬±¾ÎÄ×îºÃÔÚÖÁÉÙ1024x768·Ö±æÂʵÄÏÔʾÆ÷ÉÏÔĶÁ¡£
»ù´¡
ÈÃÎÒÃÇ´ÓÒ»¸ö·Ç³£¼òµ¥µÄÀý×Ó¿ªÊ¼£¬ÈçÏ£º
int n;
Õâ¸öÓ¦¸Ã±»Àí½âΪ“declare n as an int”£¨nÊÇÒ»¸öintÐ͵ıäÁ¿£©¡£
½ÓÏÂÈ¥À´¿´Ò»ÏÂÖ¸Õë±äÁ¿£¬ÈçÏ£º
int *p;
Õâ¸öÓ¦¸Ã±»Àí½âΪ“declare p as an int *”£¨pÊÇÒ»¸öint *Ð͵ıäÁ¿£©£¬»òÕß˵pÊÇÒ»¸öÖ¸ÏòÒ»¸öintÐͱäÁ¿µÄÖ¸Õë¡£ÎÒÏëÔÚÕâÀïÕ¹¿ªÌÖÂÛһϣºÎÒ¾õµÃÔÚÉùÃ÷Ò»¸öÖ¸Õ루»òÒýÓã©ÀàÐ͵ıäÁ¿Ê±£¬×îºÃ½«*£¨»ò&£©Ð´ÔÚ½ô¿¿±äÁ¿Ö®Ç°£¬¶ø²»Êǽô¸ú»ù±¾ÀàÐÍÖ®ºó¡ ......
ÔÎÄ£º
http://www.codeproject.com/cpp/complex_declarations.asp
×÷ÕߣºVikram A Punathambekar
½éÉÜ
Ôø¾Åöµ½¹ýÈÃÄãÃԻ󲻽⡢ÀàËÆÓÚint * (* (*fp1) (int) ) [10];ÕâÑùµÄ±äÁ¿ÉùÃ÷Â𣿱¾ÎĽ«ÓÉÒ×µ½ÄÑ£¬Ò»²½Ò»²½½Ì»áÄãÈçºÎÀí½âÕâÖÖ¸´ÔÓµÄC/C++ÉùÃ÷£ºÎÒÃǽ«´ÓÿÌì¶¼ÄÜÅöµ½µÄ½Ï¼òµ¥µÄÉùÃ÷ÈëÊÖ£¬È»ºóÖð²½¼ÓÈëconstÐÞÊηûºÍtypedef£¬»¹Óк¯ÊýÖ¸Õ룬×îºó½éÉÜÒ»¸öÄܹ»ÈÃÄã׼ȷµØÀí½âÈκÎC/C++ÉùÃ÷µÄ“ÓÒ×ó·¨Ôò”¡£ÐèҪǿµ÷һϵÄÊÇ£¬¸´ÔÓµÄC/C++ÉùÃ÷²¢²»ÊǺõıà³Ì·ç¸ñ£»ÎÒÕâÀï½ö½öÊǽÌÄãÈçºÎÈ¥Àí½âÕâЩÉùÃ÷¡£×¢Ò⣺ΪÁ˱£Ö¤Äܹ»ÔÚͬһÐÐÉÏÏÔʾ´úÂëºÍÏà¹Ø×¢ÊÍ£¬±¾ÎÄ×îºÃÔÚÖÁÉÙ1024x768·Ö±æÂʵÄÏÔʾÆ÷ÉÏÔĶÁ¡£
»ù´¡
ÈÃÎÒÃÇ´ÓÒ»¸ö·Ç³£¼òµ¥µÄÀý×Ó¿ªÊ¼£¬ÈçÏ£º
int n;
Õâ¸öÓ¦¸Ã±»Àí½âΪ“declare n as an int”£¨nÊÇÒ»¸öintÐ͵ıäÁ¿£©¡£
½ÓÏÂÈ¥À´¿´Ò»ÏÂÖ¸Õë±äÁ¿£¬ÈçÏ£º
int *p;
Õâ¸öÓ¦¸Ã±»Àí½âΪ“declare p as an int *”£¨pÊÇÒ»¸öint *Ð͵ıäÁ¿£©£¬»òÕß˵pÊÇÒ»¸öÖ¸ÏòÒ»¸öintÐͱäÁ¿µÄÖ¸Õë¡£ÎÒÏëÔÚÕâÀïÕ¹¿ªÌÖÂÛһϣºÎÒ¾õµÃÔÚÉùÃ÷Ò»¸öÖ¸Õ루»òÒýÓã©ÀàÐ͵ıäÁ¿Ê±£¬×îºÃ½«*£¨»ò&£©Ð´ÔÚ½ô¿¿±äÁ¿Ö®Ç°£¬¶ø²»Êǽô¸ú»ù±¾ÀàÐÍÖ®ºó¡ ......
¡¾1¡¿ “ = ”µÄÓÅÏȼ¶µÍÓÚ “ || ” ÇÒ “ = ” ΪÓÒ½áºÏÐÔ£¬×¢ÒâһϴúÂëΪËÀÑ»·£ºwhile(c=' '||c=='\t'||c=='\n')
³ÌÐò±¾ÒâÊÇÌø¹ý¿Õ¸ñ£¬ÖƱí·û£¬»»Ðзû£¬µ«ÓÉÓÚ²»Ð¡ÐĽ«c==' 'д³ÉÁËc= ' 'µ¼Ö³ÌÐò½øÈëËÀÑ»·
¡¾2¡¿a=-1 ÔÚºÜÀϵÄC°æ±¾ÀïÀí½âΪ a =- 1
¡¾3¡¿µ¥ÒýºÅ´ú±íÒ»¸öÕûÊý£¬Èça='a'»ò0141»ò97
¡¾4¡¿a++²»ÄÜ×÷Ϊ×ó²Ù×÷·û£¬a+++++b = (a++) + (++b)
¡¾5¡¿void add() ==== void (*add)() *add() ==== * add()
¡¾6¡¿void (*signal(int,void(*)(int)))(int) £¨ºÃ¸´ÔÓ£©
typedef void (*HANDLER)(int)
HANDLER signal(int,HANDLER) £¨Ì«ÄÑÀí½âÁË£¬¶øÇÒ²»ÖªµÀ×Ô¼ºÀí½âµÄ¶Ô·ñ£¡£©
¡¾7¡¿Á½¸ö¶þµÄ±¶ÊýÏà¼Ó¿ÉÓð´Î»»ò´úÌæ 1+2=1|2
¡¾8¡¿½á¹¹Ìå³ÉԱѡÔñ·û>µ¥Ä¿ÔËËã·û£¨ÀàÐÍת»»·ûÊǵ¥Ä¿£©>˫ĿÔËËã·û£¨ÔËËã>ÒÆÎ»>¹ØÏµ>Âß¼>¸³Öµ>Ìõ¼þ£¨ÆäʵÊÇÈýÄ¿µÄ£©£©>¶ººÅ
¡¾9¡¿main ĬÈÏ·µ»ØÖµÎªint ......
Fork º¯Êý£º
#include <unistd.h>
pid_t fork(void);
ÓÉfork ´´½¨µÄнø³Ì±»³ÆÎª×Ó½ø³Ì¡£fork º¯Êý±»µ÷ÓÃÁ½´Î£¬µ«ÊÇ·µ»ØÁ½´Î¡£Á½´Î·µ»ØµÄÎ¨Ò»Çø±ðÊÇ×Ó½ø³ÌµÄ·µ»ØÖµÊÇ0£¬¶ø¸¸½ø³ÌµÄ·µ»ØÖµÔòÊÇÐÂ×Ó½ø³ÌµÄID¡£½«×Ó½ø³ÌµÄID ·µ»Ø¸ø¸¸½ø³ÌµÄÀíÓÉÊÇ£ºÒ»¸ö½ø³Ì¿ÉÒÔÓжà¸ö×Ó½ø³Ì£¬²¢ÇÒûÓк¯ÊýÊÇÒ»¸ö½ø³Ì»ñµÃÆä×Ó½ø³ÌµÄ½ø³ÌID¡£fork ÔÚ×Ó½ø³ÌÖзµ»Ø0µÄÀíÓÉÊÇ£ºÒ»¸ö½ø³ÌÖ»ÄÜÓÐÒ»¸ö¸¸½ø³Ì£¬²¢ÇÒ¿ÉÒÔͨ¹ýgetppid º¯Êý»ñµÃÆä¸¸½ø³ÌµÄID¡£
×Ó½ø³ÌºÍ¸¸½ø³Ì¼ÌÐøÖ´ÐÐfork µ÷ÓúóµÄÖ¸Áî¡£×Ó½ø³ÌÊǸ¸½ø³ÌµÄ¸±±¾¡£ÀýÈ磺×Ó½ø³Ì»ñµÃ¸¸½ø³ÌµÄÊý¾Ý¿Õ¼ä¡¢¶ÑºÍÕ»µÄ¸±±¾¡£×¢ÒâÕâÊÇ×Ó½ø³Ì×Ô¼ºµÄ¸±±¾£¬¸¸¡¢×Ó½ø³Ì²¢²»¹²ÏíÕâЩ´æ´¢¿Õ¼ä²¿·Ö¡£¸¸¡¢×Ó½ø³Ì¹²ÏíÕýÎĶΡ£(ÕâÀï¿ÉÒԲμûhttp://blog.csdn.net/lihe2008125/archive/2010/05/11/5580487.aspx)
Àý×Ó³ÌÐò£º(½ö¹©²Î¿¼)
#include "apue.h"
int glob= 6;
char buf[] = "a write to stdout\n";
int main(void){
int var;
pid_t pid;
var = 88;
if(write(STDOUT_FILENO,buf,sizeof(buf)-1) != sizeof(buf)-1)
  ......
C ³ÌÐòÓÐÏÂÃæ¼¸¸ö²¿·Ö×é³É£º
1 ÕýÎĶΣºÕâÊÇCPU Ö´ÐеĻúÆ÷Ö¸ÁîµÄ²¿·Ö¡£Í¨³£ÕýÎĶÎÊÇ¿ÉÒÔ¹²ÏíµÄ£¬ËùÒÔ¼´Ê¹ÊÇÆµ·±Ö´ÐеijÌÐò£¨È磺Îı¾±à¼Æ÷£©ÔÚ´æ´¢Æ÷ÉÏÒ²Ö»ÓÐÒ»¸ö¸±±¾¡£ÁíÍâÕýÎĶγ£³£ÊÇÖ»¶ÁµÄ£¬ÒÔ·ÀÖ¹³ÌÐòÒòΪÒâÍâ¶øÐÞ¸ÄÆä×ÔÉíµÄÖ¸Áî¡£
2 ³õʼ»¯Êý¾Ý¶Î£ºÍ¨³£½«´Ë¶Î³ÆÎªÊý¾Ý¶Î£¬Ëü°üº¬Á˳ÌÐòÖÐÐèÃ÷È·¸³ÖµµÄ±äÁ¿¡£ÀýÈ磺ÔÚÈκκ¯ÊýÖ®ÍâµÄÉùÃ÷£ºint maxcount = 99; ÊDZäÁ¿´úÓгõʼֵ´æ·ÅÔÚ³õʼ»¯Êý¾Ý¶ÎÖС£
3 ·Ç³õʼ»¯Êý¾Ý¶Î£ºÍ¨³£½«´Ë¶Î³ÆÎªbss¶Î(block started by symbol)¡£ÔÚ³ÌÐò¿ªÊ¼Ö´ÐÐ֮ǰ£¬Äں˽«´Ë¶ÎÖеÄÊý¾Ý³õʼ»¯Îª0»òÕß¿ÕÖ¸Õë¡£³öÏÖÔÚÈκκ¯ÊýÍâµÄC ÉùÃ÷£º long sum[100]; ʹ´Ë±äÁ¿´æ·ÅÔڷdzõʼ»¯Êý¾Ý¶ÎÖС£
4 Õ»£º×Ô¶¯±äÁ¿ÒÔ¼°Ã¿´Îº¯Êýµ÷ÓÃʱËù±£´æµÄÐÅÏ¢¶¼´æ·ÅÔڴ˶ÎÖС£È»ºó£¬×î½üµ÷Óõĺ¯ÊýÔÚÕ»ÉÏΪÆä×Ô¶¯ºÍÁÙʱ±äÁ¿·ÖÅä´æ´¢¿Õ¼ä¡£Í¨¹ýÒÔÕâÖÖ·½Ê½Ê¹ÓÃÕ»£¬¿ÉÒԵݹéµ÷ÓÃC º¯Êý¡£µÝ¹éº¯Êýÿ´Îµ÷ÓÃ×ÔÉíʱ£¬¾ÍÊÇÓÃÒ»¸öеÄÕ»Õ룬Òò´ËÒ»¸öº¯Êýµ÷ÓÃʵÀýÖеıäÁ¿²»»áÓ°ÏìÁíÒ»¸öº¯Êýµ÷ÓÃʵÀýµÄ±äÁ¿¡£
5 ¶Ñ£ºÍ¨³£ÔÚ¶ÑÖнøÐж¯Ì¬´æ´¢·ÖÅä¡£ÓÉÓÚÀúÊ·ÉÏÐγɵĹßÀý£¬¶ÑλÓڷdzõʼ»¯Êý¾Ý¶ÎºÍÕ»Ö®¼ä¡£
......