湖大計算機(jī)829考研要點提要(來自于湖南歷年真題本今,整理不易)

文檔鏈接如下:

https://download.csdn.net/download/warkey1998/10817643

部分要點如下:

? ? e或E之前必須有數(shù)字,且e或E后面必須為整數(shù)烛亦,如12.34e-3诈泼。

? ? C語言本身不提供輸入輸出語句。

? ? char a[] = "\\TOP\t\65\""; // 結(jié)果:\TOP? ? 5"

【注】長度為7,大小為8.

? ? 幾個默認(rèn)值的問題:

函數(shù)的默認(rèn)返回類型為 int

默認(rèn)存儲類別為auto

默認(rèn)錯

? ? a煤禽、b 的值分別為 2铐达、3,當(dāng)執(zhí)行運(yùn)算 b+=(++a)+(++a)后檬果,b的值為? 11

相當(dāng)于b=b+a+a;也就是3+4+4=11 自增在前 全部自增完成后才開始賦值

? ? 對于全局變量瓮孙,在程序開始執(zhí)行時給其分配存儲區(qū),程序執(zhí)行完畢就釋放(對)

? ? 對选脊,注意區(qū)分全局變量和局部變量的區(qū)別

? ? 逗號運(yùn)算符的運(yùn)算順序是自左向右的, 如y=((x = 4 * 5, x * 5),x + 25)結(jié)果是45.

a = 2 * 6, a * 3, a + 5;? // 12

s=(a= 2 *6,a*3,a+5)//17

【注意括號作用范圍,不在括號內(nèi)賦值運(yùn)算優(yōu)先計算杭抠,結(jié)果就是第一個的值】

? ? printf(“%d %d%d”,i++,--i,i)//i=0 不同的編譯器其結(jié)果不相同。一般的在printf 函數(shù)中參數(shù)列表是從右到左結(jié)合恳啥。不需深究偏灿,這類題從來不考。

? ? 運(yùn)算符和結(jié)合性:

-i++ 等價于 -(i++)? 結(jié)合順序自右向左,++優(yōu)先級高,故輸出結(jié)果就等于-i

i---i等價于i-- -i 結(jié)果為0

int (*p)[4]表示指向一維數(shù)組的指針,而int *p[4]表示指針數(shù)組

*p++和(*p)++ 意義不同,前者表示下標(biāo)加一,后者表示p指向的數(shù)值加一

b -=b += b*b 等價于b=b-(b=b+(b*b)) 結(jié)果等于0

? ? (int)x強(qiáng)制轉(zhuǎn)換只保留整數(shù)部分,如8.2,8.9結(jié)果都是8

? ? float x = 213.82631; printf(“%3d”, (int)x);其中的3d表示輸出占三位(213),若為4d表示占四位( 213),若所占位數(shù)不足時,依然按照原數(shù)的長度輸出,如2d結(jié)果還是213.

? ? 字母大小寫轉(zhuǎn)換:’a’-32 == ‘A’? ‘A’+32==‘a(chǎn)’

? ? 判斷文件打開是否成功:if((fp=fopen(filename,’r’)==NULL)? printf(“文件打開失敗”);

? ? 程序文件:源文件(.c)钝的、目標(biāo)文件(.obj)翁垂、可執(zhí)行文件(.exe)

? ? 數(shù)據(jù)文件:ASCII文件(文本文件)和二進(jìn)制文件(映像文件)

? ? C語言程序結(jié)構(gòu)有以下特點:

? ? 一個程序由一個或多個源程序文件組成。

? ? 函數(shù)是C語言的主要組成部分

? ? 一個函數(shù)包括兩個部分

? ? 程序總是從main函數(shù)開始執(zhí)行的

? ? 程序中對計算機(jī)的操作是由函數(shù)中的C語句完成的

? ? 在每個數(shù)據(jù)聲明和語句的最后必須有一個分號

? ? C語言本身不提供輸入輸出語句

? ? 程序中應(yīng)當(dāng)包含注釋

? ? 運(yùn)行C語言步驟和方法:

(1)輸入和編輯源程序

(2)對源程序進(jìn)行編譯

(3)進(jìn)行連接處理

(4)運(yùn)行可執(zhí)行程序

? ? 程序=數(shù)據(jù)結(jié)構(gòu)+算法

? ? 算法分為:數(shù)值運(yùn)算算法和非數(shù)值運(yùn)算算法硝桩。

? ? 算法的主要特征:有窮性沿猜、確定性、有零個或多個輸入碗脊、有一個或多個輸出啼肩、有效性。

? ? 算法常用表示方法:自然語言衙伶、傳統(tǒng)流程圖祈坠、結(jié)構(gòu)化的流程圖、偽代碼矢劲。

? ? 圓角矩形表示開始颁虐、結(jié)束;平行四邊形表示輸入輸出框卧须;菱形框表示判斷另绩;普通矩形表示處理儒陨;箭頭表示流程線;圓表示連接點笋籽。

? ? 三大基本結(jié)構(gòu):順序蹦漠、選擇、循環(huán)結(jié)構(gòu)车海。

? ? 判斷素數(shù):

int prime(int n)

{

int i, k= sqrt(n);

for(i=2; i<=k; i++)

{

if(n%i==0)

return 0;

}

if(i>k)

return 1;

else

? ? ? return 0;

}

? ? 求最大公約數(shù)最小公倍數(shù):

? ? int gcd(int a, int b)

{

? ? ? ? ? if (b == 0)

? ? ? ? ? ? ? ? return a;

? ? ? ? ? else

return gcd(b, a%b);

}

int lim(int a, int b)

{

? ? ? ? ? return a * b / gcd(a, b);

}

? ? 采取以下方法得到結(jié)構(gòu)化的程序:

? ? (1)自頂向下

? ? 逐步細(xì)化

? ? 模塊化設(shè)計

? ? 結(jié)構(gòu)化編碼

? ? 符號常量不占內(nèi)存笛园,只是一個臨時的符號。

? ? 在定義枚舉時侍芝,枚舉常量可以是標(biāo)識符或數(shù)字研铆。錯,只能是標(biāo)識符

? ? 將整數(shù)值賦給枚舉變量時不需要作強(qiáng)制類型轉(zhuǎn)換州叠。 錯棵红,需要

? ? 語句*--p;執(zhí)行之后p指向的內(nèi)存單元被改變咧栗。

? ? 宏展開不作語法檢查逆甜,展開時不替換關(guān)鍵字和常量。

? ? C語言采用解釋方式將源程序轉(zhuǎn)換為二進(jìn)制的目標(biāo)代碼致板。編譯不解釋

? ? 數(shù)據(jù)類型:

? ? 基本類型:

? ? ? ? ? ? ? ? 整形類型:int,short int,long int,long long int,char,bool.

? ? ? ? ? ? ? ? 浮點型:float,double,float_complex,double_comple,long long_comple.

? ? 枚舉類型:enum

? ? 空類型:void

? ? 派生類型:指針類型交煞、數(shù)組類型、結(jié)構(gòu)體類型斟或、共用體類型素征、函數(shù)體類型。

? ? 無符號整形數(shù)據(jù)用”%u”格式輸出萝挤。

? ? 自增御毅,自減只能用于變量,不能用于常量或者表達(dá)式平斩。如5++,(a+b)++均不合法亚享。

? ? puts(輸出字符串)咽块,gets(輸入字符串)绘面,getchar(輸入字符),putchar(輸出字符).

? ? “%5d” 表示數(shù)據(jù)占五列

? ? “%o”輸出八進(jìn)制

? ? “%x”輸出十六進(jìn)制

? ? printf("%13.2e",123.456); //? ? 1.23e+002前面四個空格

? ? printf(“%5.2f”,a);//表示數(shù)據(jù)寬度為5,小數(shù)位數(shù)為2

? ? putchar(‘\101’);? // A

? ? putchar(‘\’’);? // 單撇

? ? putchar(‘\015’); // 回車

? ? printf(“%d”,’a’);

? ? 運(yùn)算符優(yōu)先順序:(低→高)

逗號運(yùn)算符è賦值運(yùn)算符è條件運(yùn)算符è||è&&è|è^è&è!=侈沪、==è關(guān)系運(yùn)算符è位移運(yùn)算è算術(shù)運(yùn)算符èsizeof揭璃、取地址、指針亭罪、負(fù)號瘦馍、自減、自加应役、按位取反情组、邏輯非è結(jié)構(gòu)體成員運(yùn)算符燥筷、指向結(jié)構(gòu)體成員的運(yùn)算符、下標(biāo)運(yùn)算符院崇、括號

如:a>b==c ó(a>b)==c

!a+b || a=b>=1 && b+=c%d ó ((!a) + b) || ((a=(b>=1)) && (b+=(c%d)))

相同優(yōu)先級中肆氓,按結(jié)合順序計算。大多數(shù)運(yùn)算是從左至右計算底瓣,只有三個優(yōu)先級是從右至左結(jié)合的谢揪,它們是單目運(yùn)算符、條件運(yùn)算符捐凭、賦值運(yùn)算符拨扶。

? ? 基本的優(yōu)先級需要記住:

? ? 指針最優(yōu)茁肠,單目運(yùn)算優(yōu)于雙目運(yùn)算患民。如正負(fù)號。

? ? 先乘除(模)官套,后加減酒奶。

? ? 先算術(shù)運(yùn)算,后移位運(yùn)算奶赔,最后位運(yùn)算惋嚎。請?zhí)貏e注意:1 << 3 + 2 & 7等價于

? ? (1 << (3 + 2))&&7.

? ? 邏輯運(yùn)算最后計算啄刹。

? ? getchar輸入兩個字符時不能有空格刻盐。

? ? 輸入雙精度浮點數(shù)用“%lf”浪讳。

? ? 條件表達(dá)式:a > b ? a : b? //當(dāng)a>b時拗小,輸出a孵构;否則輸出b姆打。

? ? 判斷閏年:(year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)

? ? 判斷浮點數(shù)等于0用fabs(a) <= 1e-6

? ? for(表達(dá)式1亭病,表達(dá)式2逻恐,表達(dá)式3){ 語句 } 循環(huán)執(zhí)行過程:先執(zhí)行表達(dá)式1因悲,再求解表達(dá)式2堕汞,若真則繼續(xù)執(zhí)行循環(huán)體語句,否則結(jié)束循環(huán)晃琳,接下來執(zhí)行表達(dá)式3.

? ? 數(shù)組中的元素都屬于同一種數(shù)據(jù)類型讯检。

? ? 在main函數(shù)中不允許定義(動態(tài)數(shù)組)int a[n],但是在調(diào)用函數(shù)中可以,如下所示:

int fun(int n)

{

int a[n];? //若改為static int a[n],則此處是錯誤的卫旱。

...

}

【注】因為調(diào)用函數(shù)是臨時分配內(nèi)存的人灼,故每次調(diào)用時數(shù)組大小可以改變。

? ? char a[ ] = "china"; ó char a[ ]={‘c’,’h’,’i’,’n’,’a’,’\0’};//也可以char a[]= {"china"}; 系統(tǒng)處理字符串常量時會在末尾自動添加’\0’顾翼,此時數(shù)組長度為5投放,大小為6。

? ? 用新字符串“hello”賦值原字符串“C program”适贸。結(jié)果為hellogram灸芳,原因是沒有加’\0’結(jié)束符涝桅。

? ? 如果數(shù)組長度大于字符串實際長度,也只輸出到遇到’\0’結(jié)束烙样。

? ? puts(str); //會將結(jié)束標(biāo)志’\0’轉(zhuǎn)換成’\n’苹支。因此自動換行。

? ? puts(str)误阻,gets(str)只能輸入輸出一個字符串债蜜。//不允許gets(str1,str2)。

? ? strcpy(str1,”china”)究反;第二個參數(shù)可以為字符串或數(shù)組名寻定,第一個必須為數(shù)組名。

? ? str1=”cabc”; str1=str2; //不能直接賦值精耐,都是非法的狼速。

? ? strncpy(str1,str2,2);將str2中的前兩個字符復(fù)制到str1。

? ? strcmp(str1,str2);比較時按ASCII碼大小比較卦停。如“DOG”<“cat”向胡。

結(jié)果相等時為0,大于為正數(shù)惊完,小于為負(fù)數(shù)僵芹。

? ? 大寫字母轉(zhuǎn)小寫:ch+32; 小寫轉(zhuǎn)大寫:ch-32。

? ? strlwr(str)小槐; //將字符串轉(zhuǎn)小寫

? ? strupr(str)拇派; //將字符串轉(zhuǎn)大寫

? ? 一個c程序由一個或多個程序模塊組成,每個程序模塊作為一個源程序文件凿跳。

? ? 一個源程序文件由一個或多個函數(shù)以及其他有關(guān)的內(nèi)容組成件豌。

? ? C語言執(zhí)行程序從main函數(shù)開始,也是從main函數(shù)結(jié)束控嗜。

? ? 函數(shù)不能嵌套定義茧彤。

? ? 函數(shù)體包括聲明和語句部分。

? ? 形參和實參類型應(yīng)該相同或賦值兼容疆栏。

? ? 實參向形參的數(shù)據(jù)傳遞是“值傳遞”曾掂,單向傳遞,只能由實參傳給形參承边,而不能形參傳給實參遭殉。它們在內(nèi)存中存放的位置不同石挂。

? ? 函數(shù)類型決定返回值類型博助。

? ? float add(int a,int b); //函數(shù)聲明。

? ? int fun(int, float, double);ó int fun(int a, float b, double c);

? ? 一維形參數(shù)組可以指定大小或不指定大小痹愚,兩者本質(zhì)上一樣(編譯系統(tǒng)不檢查其大小富岳,只傳遞數(shù)組首地址)蛔糯,但是二維數(shù)組列數(shù)必須一致,行數(shù)可不一致窖式。

? ? 變量定義的三種情況:

? ? 在函數(shù)的開頭定義

? ? 在函數(shù)的復(fù)合語句內(nèi)定義蚁飒。

? ? 在函數(shù)的外部定義。

? ? 漢諾塔三步驟:

? ? 將A上的n-1個盤借助C座先移到B座上萝喘。// hanoi(n-1,one,three,two);

? ? 將A座上剩下的一個盤移到C座上淮逻。// move(one,three);

? ? 將n-1個盤從B座借助A座移動到C座上。// hanoi(n-1,two,one,three);

? ? 全局變量的缺點:

? ? 全局變量在整個程序執(zhí)行過程中都要占用內(nèi)存阁簸。

? ? 全局變量降低函數(shù)的通用性爬早。

? ? 全局變量降低程序的可讀性。

? ? 全局變量和局部變量同名時:在局部變量的范圍內(nèi)启妹,全局變量被屏蔽筛严。

? ? 變量的存儲有兩種:靜態(tài)存儲方式和動態(tài)存儲方式。

? ? 存儲空間:

? ? 程序區(qū)

? ? 靜態(tài)存儲區(qū)(存放全局變量)

? ? 動態(tài)存儲區(qū)(函數(shù)形式參數(shù)饶米、函數(shù)定義聲明的自動變量桨啃、函數(shù)調(diào)用時的保護(hù)現(xiàn)場和返回地址)

? ? C語言的存儲類別:自動的(auto)、靜態(tài)的(static)檬输、寄存器的(register)照瘾、外部的(extern)。

? ? 每個變量和函數(shù)都有兩個屬性:數(shù)據(jù)類型和存儲類別丧慈。

? ? 靜態(tài)局部變量在編譯時賦初值网杆,且只賦初值一次,在程序運(yùn)行時已有初值伊滋。其在整個運(yùn)行過程中不釋放碳却。

? ? 用static將外部變量的作用域限制在本文件中。

? ? 正確而靈活地使用指針笑旺,可以使程序簡潔昼浦、緊湊、高效筒主。

? ? 簡要陳述指針的優(yōu)缺點

答案: 優(yōu)點:1关噪、提高程序效率;2乌妙、在調(diào)用函數(shù)時當(dāng)指針指向的變量的值改變時使兔,這些值能夠為主調(diào)函數(shù)使用,即可以從函數(shù)調(diào)用得到多個可以改變的值藤韵;3虐沥、可以實現(xiàn)動態(tài)存儲分配

? ? ? ? 缺點:容易出錯,且錯誤往往比較隱蔽,使用不當(dāng)會出現(xiàn)隱蔽的欲险、難以發(fā)現(xiàn)和排除的故障镐依。

? ? 機(jī)器語言和高級語言各有什么特點

機(jī)器語言:能夠被機(jī)器立即識別并加以執(zhí)行,具有執(zhí)行速度快天试,占用內(nèi)存小等優(yōu)點槐壳;但難學(xué)、難記喜每、難以推廣使用务唐。

? ? ? 高級語言:彌補(bǔ)了機(jī)器語言的不足,不依賴于具體機(jī)器带兜,容易理解绍哎,較為方便。

? ? 指針變量只能存放地址鞋真,不能將一個整數(shù)賦值給它崇堰。

? ? p[2]并不一定等于a[2],只有當(dāng)p指向a[0]時才會等。

? ? 字符指針變量指向的字符串常量中的內(nèi)容是不可以改變的涩咖。如:char *p=”Helolo”;? ? p[2]=’r’; //非法

? ? 引用數(shù)組各元素的值三種方法:下標(biāo)法海诲、數(shù)組名計算數(shù)組元素地址、指針變量指向數(shù)組檩互。

? ? 數(shù)組名a是指針常量特幔,無法實現(xiàn)a++。

? ? p[3]=(void ) &a; //p3只是得到了a的純地址闸昨,而沒有指向a蚯斯,故不能輸出*p3。

? ? *(p++) ó * p++? //先取值饵较,后++拍嵌。

? ? *(++p)//先++,再取值循诉。

? ? ++(*p)//p指向元素加一

? ? *(a[i]+j)ó *(*(a+i)+ j)//表示a[i][j]

? ? &a[i]或a+i指向行横辆,而a[i]或*(a+i)指向列。

? ? int (*p)[4] //表示定義一個指針變量茄猫,它指向包含四個整型元素的一維數(shù)組狈蚤。

? ? int *p[4] //表示指針數(shù)組

? ? 若int a[4],int (*p)[4]划纽,則p = &a; //表示指向一維數(shù)組(行)脆侮。寫成p=a是錯誤的,這樣寫表示p的值是&a[0],指向a[0]勇劣。

此時的(*p)[3] ó a[3]靖避。

? ? char *str=”adnd” 的大小為5,最后一個字符存放’\0’,str指向字符串的第一個字符。

? ? char str[]={‘a(chǎn)’,’d’}; //長度為8(此處長度有時不定)筋蓖,大小為2.

? ? char *p; *p=”dumin”; //這是錯誤的,應(yīng)為p=”dumin”;

? ? 特別提示:字符串?dāng)?shù)組復(fù)制時最后要記得加結(jié)束標(biāo)志’\0’。

? ? 字符串題目易錯點:

char p[]="chinese",q[]="dumin";

char *a = p, *b = q;

cout << a << b<<endl;

while ((*(a++) = *(b++)));

cout << a << endl; //結(jié)果:e,因為a已經(jīng)指向了第七個字符的位置了退敦。

cout << p << endl; //結(jié)果:dumin

? ? char str[14]; str=”dhhd”;//錯誤粘咖,數(shù)組名為常量。

? ? 指向函數(shù)的指針:int (*p)(int,int); p = max; c = (*p)(a,b);

【注】:函數(shù)的指針類型是int(*)(int侈百,int)

? ? void *malloc(unsigned int size) //動態(tài)分配一個長度為size的連續(xù)空間

? ? void *callmoc(unsigned n, unsigned size)//分配n個長度為size的連續(xù)空間

? ? void *free(void *p)//釋放空間

? ? void *realloc(void *p,unsigned int size)//重新分配大小

? ? int a=3; int *p1=&a; void *p; p=(void *)p1; cout<<*p<<endl; //錯誤瓮下,p為純地址,不能指向a钝域。

? ? struct Student{

int num;

char name[10];

}s[3] = { { 1, " " }, { 1, " " }, { 1, " " } }; //也可s[3] = {1," ",1," ",1," "};

Student *p;

p = s; //等價于p = &s[0];

cout << p->num << (*p).num << endl; //此處不可以寫成 * p.num

? ? 共用體:幾個變量共享一個內(nèi)存段讽坏。

union Student{

? ? ? int i;

? ? ? double d;

? ? ? float f;

? ? ? char c;

};

Student p = {90};

cout << p.i <<” ”<< p.c << endl; //結(jié)果:90 Z

共用體類型特點如下:

? ? 同一個內(nèi)存段可以用來存放幾種不同類型的成員,但同一時刻只能存放一個例证。

? ? 可對共用體變量初始化路呜,但只能初始化一個。

? ? 共用體變量中起作用的是最后一次被賦值的成員织咧。

? ? 共用體變量的地址和他的各成員的地址都是同一個地址胀葱。

? ? 不能對共用體變量名賦值,也不能企圖引用變量名得到一個值笙蒙。

? ? 以前的c規(guī)定不能用共用體作函數(shù)的參數(shù)抵屿,但是c99允許。

? ? 共用體類型可以出現(xiàn)在結(jié)構(gòu)體類型的定義中捅位,也可以定義共用體數(shù)組轧葛。反之也可。

? ? 枚舉類型:

enum { sum, monday, tue, wed, thu }week; //默認(rèn)值為從0開始艇搀,依次加1尿扯。

【注】若初始時monday=2,則sum=0, tue=3, wed=4, thu=5焰雕。

若初始時sum=1, monday=3姜胖,則tue=4, wed=5, thu=6。

week = monday; //變量賦值

monday = 1; //錯誤淀散,枚舉元素是常量不能被賦值右莱。

? ? typedef類型使用:(相當(dāng)于別名)

? ? typedef int Integer;//此時Integer 等同于int

? ? typedef struct {

? int num;

? int name;

}Data;

Data p;

? ? typedef int Num[100];

Num a;

? ? typedef char * String;

String p, s[10];

? ? typedef int (*Pointer)();

Pointer p1,p2;

? ? 程序文件:源文件(.c)、目標(biāo)文件(.obj)档插、可執(zhí)行文件(.exe)

? ? 數(shù)據(jù)文件:ASCII文件(文本文件)和二進(jìn)制文件(映像文件)

? ? fopen(“shiyan”,”r”); //文件名,打開方式

? ? 常見文件打開方式:

“r”只讀慢蜓,若文件不存在,則出錯郭膛。

“w”只寫晨抡,若文件不存在,則建立新文件。

“a”追加耘柱,若文件不存在如捅,則出錯。

“rb”只讀调煎,若文件不存在镜遣,則出錯。

“wb”只寫士袄,若文件不存在悲关,則建立新文件。

“ab”追加娄柳,若文件不存在寓辱,則出錯。

“r+”讀寫赤拒,若文件不存在秫筏,則出錯。

“w+”讀寫挎挖,若文件不存在跳昼,則建立新文件。

“a+”讀寫肋乍,若文件不存在鹅颊,則出錯。

“rb+” 讀寫墓造,若文件不存在堪伍,則出錯。

“wb+” 讀寫觅闽,若文件不存在帝雇,則建立新文件。

“ab+” 讀寫蛉拙,若文件不存在尸闸,則出錯。

【注】記憶方法:帶“w”的才會創(chuàng)建新文件孕锄,帶“b”的是表示二進(jìn)制文件吮廉,

帶“+”的表示讀寫均可。

? ? 文件讀寫:

FILE *in,*out;

if ((in = fopen("a.txt", "r")) == NULL)

{

? ? ? printf("無法打開文件畸肆!");

? ? ? exit(0);

}

if ((out = fopen("b.txt", "w")) == NULL)

{

printf("無法打開文件宦芦!");

exit(0);

}

char ch;// //讀取單個字符

while (!feof(in)) //如果沒有遇到文件結(jié)束符

{

ch = fgetc(in); //等同于getc(in)

fputc(ch, out); //等同于putc(in)

}

char str[5]; //讀取字符串

while (fgets(str, 5, in)!=NULL)

{

fputs(str,out);

}

fclose(in);

fclose(out);

? ? fread(buffer,size,count,fp);

? ? fwrite(buffer,size,count,fp)轴脐;

? ? fputs(char *s,fp);

? ? fputc(char s,fp);

? ? fgets(char *s,int n,fp);

? ? fgetc(char s,fp);

? ? fprintf(fp,”%d”,a); //文件指針调卑、格式化抡砂、數(shù)據(jù)

? ? fscanf(fp,”%d”,a); //文件指針、格式化恬涧、數(shù)據(jù)

? ? 用二進(jìn)制的形式向文件讀寫一組數(shù)據(jù)的范例代碼:

for (int i = 0; i < 10; i++)

{

scanf("%d%lf",s[i].num,s[i].score);

fwrite(&s[i],sizeof(Student),1,fp); //表示向文件讀入1個Student的數(shù)據(jù)注益。

fread(&s[i],sizeof(Student),1,fp); //表示從文件讀取1個Student的數(shù)據(jù)。

? ? ? }

? ? ? fclose(fp);

? ? rewind(fp); 使文件指針重新指向文件頭溯捆。

? ? fseek(文件類型指針丑搔,位移量,起始點)? //起始點0表示文件開始位置现使,1表示文件當(dāng)前位置低匙,2表示文件的末尾位置旷痕。

示例如下:

fseek(fp,100L,0); //表示移到離文件文件開頭(之后)100個字節(jié)的位置碳锈。

fseek(fp,100L,1); //表示移到離文件文件當(dāng)前位置100個字節(jié)的位置。

fseek(fp,-100L,2); //表示移到離文件文件結(jié)尾(之前)向后100個字節(jié)的位置欺抗。

【注】L表示long 型數(shù)據(jù)售碳。第二個參數(shù)為正數(shù)表示起始點向后的偏移量,負(fù)數(shù)表示偏移量向前的偏移量绞呈。

? ? ftell(fp); //測定文件位置標(biāo)記的當(dāng)前位置贸人。

? ? ferror(fp); //返回為0,表示為出錯佃声;否則出錯艺智。

? ? int a(10); //表示對a賦值

? ? 文件指針指向指針,而文件內(nèi)部指針則是用于標(biāo)記當(dāng)前讀寫位置圾亏。兩者意義不同十拣。

? ? scanf("a=%db=%dc=%d", &a, &b, &c); //此時輸入為:a=1b=2c=3 【不能有空格】

? ? 結(jié)構(gòu)體中:如struct Student s1,*s2; //則只能寫成s1.a或s2→a或 (*s2).a

? ? 文件打開(關(guān)閉)含義:建立(撤銷)相應(yīng)的信息區(qū)和文件緩沖區(qū)。

? ? 指向文件的指針變量并不是指向外部介質(zhì)上的數(shù)據(jù)文件的開頭志鹃,而是指向內(nèi)存中的文件信息區(qū)的開頭夭问。

? ? 宏定義后面不加分號。#define PI 3.14

? ? 宏名與帶參數(shù)的括號之間不能有空格曹铃。#define S(r) PI*r*r? a=S(3);

? ? int a[][4]; //單純的這樣申明是不對的缰趋。

【必須有數(shù)據(jù)初始化,如int a[][4]={1,2,3,4,5,6};】

? ? 邏輯運(yùn)算:

? ? &(與):1&1=1,其他情況均為0.

? ? |(或):有1則結(jié)果為1陕见,否則為0.

? ? ^(異或):同號為0秘血,異號為1.

? ? ~(取反):0變1, 1變0.

? ? ?(左移):乘以2.

? ? ?(右移):除以2.

---------------------

作者:行走的日子

來源:CSDN

原文:https://blog.csdn.net/Warkey1998/article/details/84638405

版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接评甜!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末直撤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蜕着,更是在濱河造成了極大的恐慌谋竖,老刑警劉巖红柱,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蓖乘,居然都是意外死亡锤悄,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門嘉抒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來零聚,“玉大人,你說我怎么就攤上這事些侍×ブⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵岗宣,是天一觀的道長蚂会。 經(jīng)常有香客問我,道長耗式,這世上最難降的妖魔是什么胁住? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮刊咳,結(jié)果婚禮上彪见,老公的妹妹穿的比我還像新娘。我一直安慰自己娱挨,他們只是感情好余指,可當(dāng)我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著跷坝,像睡著了一般酵镜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上探孝,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天笋婿,我揣著相機(jī)與錄音,去河邊找鬼顿颅。 笑死缸濒,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的粱腻。 我是一名探鬼主播庇配,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼绍些!你這毒婦竟也來了捞慌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤柬批,失蹤者是張志新(化名)和其女友劉穎啸澡,沒想到半個月后袖订,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嗅虏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年洛姑,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片皮服。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡楞艾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出龄广,到底是詐尸還是另有隱情硫眯,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布择同,位于F島的核電站两入,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏奠衔。R本人自食惡果不足惜谆刨,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一塘娶、第九天 我趴在偏房一處隱蔽的房頂上張望归斤。 院中可真熱鬧,春花似錦刁岸、人聲如沸脏里。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽迫横。三九已至,卻和暖如春酝碳,著一層夾襖步出監(jiān)牢的瞬間矾踱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工疏哗, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留呛讲,地道東北人。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓返奉,卻偏偏與公主長得像贝搁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子芽偏,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 在C語言中,五種基本數(shù)據(jù)類型存儲空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,343評論 0 2
  • 指針是C語言中廣泛使用的一種數(shù)據(jù)類型雷逆。 運(yùn)用指針編程是C語言最主要的風(fēng)格之一。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu)污尉; ...
    朱森閱讀 3,444評論 3 44
  • 第1章 第一個C程序第2章 C語言基礎(chǔ)第3章 變量和數(shù)據(jù)類型第4章 順序結(jié)構(gòu)程序設(shè)計第5章 條件結(jié)構(gòu)程序設(shè)計第6章...
    小獅子365閱讀 10,652評論 3 71
  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,798評論 0 38
  • 題目來源:1、中興某宪、華為捂齐、慧通、英華達(dá)缩抡、微軟亞洲技術(shù)中心等中外企業(yè)面試題目奠宜;2、C 語言面試寶典(林銳《高質(zhì)量編程...
    月震閱讀 1,813評論 0 1