CÕûÐÍÉý¼¶ºÍÑ°³£ËãÊõת»»
ANSI CÖеÄÕûÐÍÉý¼¶
char£¬short int»òÕßintÐÍλ¶Î£¨bit-field£©£¬°üÀ¨ËüÃǵÄÓзûºÅ»òÎÞ·ûºÅ±äÐÍ£¬
ÒÔ¼°Ã¶¾ÙÀàÐÍ£¬¿ÉÒÔʹÓÃÔÚÐèÒªint»òunsigned intµÄ±í´ïʽÖУ¬
Èç¹ûint¿ÉÒÔÍêÕûµØ±íʾԴÀàÐ͵ÄËùÓÐÖµ£¬ÄÇô¸ÃÀàÐ͵ÄÖµ¾Íת»»Îªint£¬·ñÔòת»»Îªunsigned int¡£
ANSI CÖеÄÑ°³£ËãÊõת»»
µ±Ö´ÐÐËãÊõÔËËãʱ£¬²Ù×÷ÊýµÄÀàÐÍÈç¹û²»Í¬£¬¾Í»á·¢Éúת»»¡£
Êý¾ÝÀàÐÍÒ»°ã³¯×Ÿ¡µã¾«¶È¸ü¸ß¡¢³¤¶È¸ü³¤µÄ·½Ïòת»»£¬
ÕûÐÍÊýÈç¹ûת»»Îªsigned²»»á¶ªÊ§ÐÅÏ¢£¬¾Íת»»Îªsigned£¬·ñÔò¾Íת»»Îªunsigned¡£
Õâ¸ö³ÆΪֵ±£Áô£¨value preserving£©ÔÔò£¬ÓëK&R CËù²ÉÓõÄÎÞ·ûºÅ±£Áô£¨unsigned preserving£©ÔÔò²»Í¬¡£
¸¡µãÀà:
Èç¹ûÒ»¸ö²Ù×÷ÊýµÄÀàÐÍÊÇlong double£¬ÄÇôÁíÒ»¸ö²Ù×÷ÊýÎÞÂÛÊÇʲôÀàÐͶ¼½«±»×ª»»³Élong double¡£
Èç¹ûÁ½¸ö²Ù×÷Êý¶¼²»ÊÇlong doubleÐÍ£¬ÄÇôµ±ÆäÖÐÒ»¸ö²Ù×÷ÊýµÄÀàÐÍÊÇdoubleÐÍ£¬ÔòÁíÒ»¸ö¾Í½«±»×ª»»³Édouble ÐÍ¡£
Èç¹ûÁ½¸ö²Ù×÷Êý¶¼²»ÊÇdoubleÐÍ£¬¶øÆäÖÐÒ»¸ö²Ù×÷ÊýÊÇfloatÐÍ£¬ÔòÁíÒ»¸ö±»×ª»»³ÉfloatÐÍ¡£
×¢Ò⣺doubleºÍfloat¶¼²»¿ÉÓÃunsigned,shortÐÞÊΣ¬ÁíÍâfloat»¹²»¿ÉÓÃlongÐÞÊÎ
ÕûÐÎÀà¹æ:
·ñÔò£¬Á½¸ö²Ù×÷Êý¶¼²»ÊÇÈýÖÖ¸¡µãÀàÐÍÖ®Ò»£¬ËüÃÇÒ»¶¨ÊÇijÖÖÕûÖµÀàÐÍ¡£ÔÚÈ·¶¨¹²Í¬µÄÄ¿±êÌáÉýÀàÐÍ֮ǰ£¬±àÒëÆ÷½«ÔÚËùÓÐСÓÚintµÄÕûÖµÀàÐÍÉÏÊ©¼ÓÒ»¸ö±»³ÆΪÕûÖµÌáÉý(integral promotion)µÄ¹ý³Ì¡£ÔÚ½øÐÐÕûÖµÌáÉýʱ£¬ÀàÐÍ(char¡¢signed char¡¢unsigned charºÍshort¡¢int)¶¼±»ÌáÉýΪÀàÐÍint¡£Èç¹û»úÆ÷ÉϵÄintÐÍ×ã¹»±íʾËùÓÐunsigned¡¢shoftÐ͵ÄÖµ(Õâͨ³£·¢ÉúÔÚshortÓðë¸ö×Ö±íʾ£¬¶øintÓÃÒ»¸ö×Ö±íʾµÄÇé¿öÏÂ)£¬Ôòunsigned short intÒ²±»×ª»»³Éint£¬·ñÔòËü»á±»ÌáÉýΪunsigned int¡£
wchar_tºÍö¾ÙÀàÐͱ»ÌáÉýΪÄܹ»±íʾÆäµ×²ãÀàÐÍ(underlying type)ËùÓÐÖµµÄ×îСÕûÊýÀàÐÍ¡£
Ò»µ©ÕûÖµÌáÉýÖ´ÐÐÍê±Ï£¬ÀàÐͱȽϾÍÓÖÒ»´Î¿ªÊ¼¡£Èç¹ûÒ»¸ö²Ù×÷ÊýÊÇunsigned longÐÍ£¬ÔòµÚ¶þ¸öÒ²±»×ª»»³Éunsigned longÐÍ¡£Èç¹ûÁ½¸ö²Ù×÷ÊýµÄÀàÐͶ¼²»ÊÇunsigned long£¬¶øÆäÖÐÒ»¸ö²Ù×÷ÊýÊÇ
Ïà¹ØÎĵµ£º
²Ù×÷ϵͳµÄÒ»¸ö¾µäÎÊÌâÊÇ"Éú²úÕß-Ïû·ÑÕß"ÎÊÌâ, ÕâÉ漰ͬ²½ÐźÅÁ¿ºÍ»¥³âÐźÅÁ¿µÄÓ¦ÓÃ, ÔÚÕâÀï,ÎÒÓÃÏ̵߳Äͬ²½ºÍ»¥³âÀ´ÊµÏÖ.
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <semaphore.h>
#define N 2 // Ïû·ÑÕß» ......
ÔÚÕâÀïÌùÉÏ×î½ü×Ô¼ºÃ¦»îµÄÓÃturbo C±àдµÄ“´ò×ÖÓÎÏ·”µÄÔ´´úÂ룺
#include<graphics.h>
#include<conio.h>
#include<STDLIB.h>
#include<dos.h>
#define BK_COLOR BLACK
#define CHAR_COLOR WHITE
#define C_COLOR BLUE
#define num 10
#define SPEED 3000
#define Esc 27
# ......
C·ç¸ñ×Ö·û´®£º¶Ô×Ö·û´®½øÐвÙ×÷µÄ C º¯Êý¶¨ÒåÔÚÍ·Îļþ<cstring>ÖУ»
1. ×Ö·û´®¶¨Ò壺char* result£»
2. ×Ö·û´®µÄ×îºóÒ»¸ö×Ö·ûÊÇnull×Ö·û£¨'\0'£©£¬¿ÉÒÔͨ¹ýÕâ¸ö×Ö·ûÈ·¶¨×Ö·û´®µÄ½áβ¡£
3. strlen()·µ»ØµÄÊÇ×Ö·û´®µÄ´óС£»Òò´Ë£¬ ......
µ÷ÊÔkeil³ÌÐòʱÓÐʱ»á³öÏÖ¸÷ÖÖ±àÒ뾯¸æ£¬Ò»°ãÇé¿öϲ»»áÓ°Ïì³ÌÐòµÄÔËÐС£µ«³öÏÖÈçÌâWARNING:MULTIPLE CALL TO SEGMENT¾¯¸æʱ£¬ÇëÁôÒâÄúµÄ³ÌÐòÊÇ·ñ»á·¢Éú´íÎó¡£ÉÏÊö¾¯¸æÖ¸µÄÊÇÄ㶨ÒåµÄº¯ÊýÌåÔÚÖ÷³ÌÐòÖб»µ÷Óã¬ÔÚÖжÏÖÐÒ²±»Ö±½Ó»ò¼ä½ÓµÄµ÷ÓÃÁË¡£¿ÉÏëÈôÖ÷³ÌÐòÕýÔËÐд˺¯Êýʱ£¬ÖжÏÀ´ÁÙÒ²ÔËÐÐÕâ¶Î³ÌÐòµÄ»°»á·¢Éúº¯ÊýÖØÔØÏÖÏó¡£ ......
#include <stdio.h>
#define N 19
int main()
{
int i;
for (i=0;i<=N;i++)
{
printf("%*.*s%-*.*s\n",N,i<=N/2?i:N-1,"*******************",\
N,i<=N/2?i+1:N-i+1,"*******************");
}
return 0;
}
%m.ns ......