課件-chapt簡(jiǎn)單闡述了為什么需要自定義數(shù)據(jù)類型_第1頁(yè)
課件-chapt簡(jiǎn)單闡述了為什么需要自定義數(shù)據(jù)類型_第2頁(yè)
課件-chapt簡(jiǎn)單闡述了為什么需要自定義數(shù)據(jù)類型_第3頁(yè)
課件-chapt簡(jiǎn)單闡述了為什么需要自定義數(shù)據(jù)類型_第4頁(yè)
課件-chapt簡(jiǎn)單闡述了為什么需要自定義數(shù)據(jù)類型_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

《程序設(shè)計(jì)基礎(chǔ):C上一章知識(shí) 本講教學(xué) 數(shù)據(jù)“交換”的方法。數(shù)據(jù)“交換”的方法。 本章授課標(biāo)準(zhǔn)庫(kù)與非標(biāo)準(zhǔn)字符處標(biāo)準(zhǔn)語(yǔ)言補(bǔ) 本章授課標(biāo)準(zhǔn)庫(kù)與非標(biāo)準(zhǔn)字符處標(biāo)準(zhǔn)語(yǔ)言補(bǔ) 轉(zhuǎn)計(jì)標(biāo)準(zhǔn)庫(kù)與轉(zhuǎn)計(jì)日 數(shù)輸輸游 文開(kāi) 讀游 標(biāo)準(zhǔn)庫(kù)與非標(biāo)準(zhǔn)#include<stdio.h>#include<stdlib.h>#include<math.h>int{intx=-printf("x的絕對(duì)值是:%d\nabs(x/*printf是標(biāo)準(zhǔn)庫(kù)函數(shù)*/printf("x絕對(duì)值開(kāi)根號(hào)的結(jié)果是:%.2f\n",sqrt(abs(x)));system("PAUSE");/*system是標(biāo)準(zhǔn)庫(kù)函數(shù)*/return} 標(biāo)準(zhǔn)庫(kù)與非標(biāo)準(zhǔn)assert.h:包含定義assertcomplex.h(C99新增):ctype.h(ANSIC)數(shù)(如isalpha和toascii等) inttype.h(C99):包含大量有關(guān)printf、scanf 標(biāo)準(zhǔn)庫(kù)與非標(biāo)準(zhǔn)方便地使用C 標(biāo)準(zhǔn)庫(kù)與非標(biāo)準(zhǔn) stdbool.h(C99):包含4stdbool.h(C99):包含4個(gè)宏:bool、true 標(biāo)準(zhǔn)庫(kù)與非標(biāo)準(zhǔn) wchar.hC95 本章授課標(biāo)準(zhǔn)庫(kù)與非標(biāo)準(zhǔn)字符處標(biāo)準(zhǔn)語(yǔ)言補(bǔ) 字符 字符例11-2編寫一個(gè)對(duì)字符串進(jìn)行加密的函數(shù),形

字符#include #include#include

#includechar*encrypt(constchar*src,char{charc=*src;assert(src&&dest);{cif(isalphac&&isupper*dest++=tolower(c);elseif(isalpha(c)&&islower(c))*dest++=*dest++=}while('\0'!=return} int{

字符charsrc[MAX_LENGTH]=chardest[MAX_LENGTH];encrypt(src,dest);

printf" return} 本章授課標(biāo)準(zhǔn)庫(kù)與非標(biāo)準(zhǔn)字符處標(biāo)準(zhǔn)語(yǔ)言補(bǔ) 字符串處字符串指:字符串字面值或以’\0’為最后一個(gè)例11-3字符數(shù)組:charstr1

字符數(shù)組:charstr2‘a(chǎn)’,b 字符串處 字符串處例11-4編一個(gè)函數(shù),從給定字符串(由形式參#include#include<stdlib.h>#include<assert.h>#include<string.h>#include#defineMAX_LENGTH1000char*erase(char*src,constchar{charchar*tmpDest=malloc(strlen(src)+1);tmpDest[0]='\0';returnword=strtok(src, 字符串處while(NULL!={strcat(tmpDest,word=strtok(NULL,}strcpy(src,tmpDest);returnsrc;}int{erase(src,",.");return0;},charsrc[MAX_LENGTH]="Thisisanerase(src,",.");return0;},字符串處例11-5有5#include<stdio.h>#include #include#include<string.h>#include<memory.h>#defineMAX_LENGTH100voidsortCountry(char(*country)[MAX_LENGTH],int{inti=intj=char*c=malloc(MAX_LENGTH+1);if(0>=countryCount||MAX_LENGTH<={} 字符串處for(i=0;i<countryCount-1;{for(j=0;j<countryCount-1-i;{if(strcmp(country[j],country[j+1])>{strcpy(c,country[j]);strcpy(country[j+1],c);}}}} 字符串處int{charcountry[][MAX_LENGTH]={ NewGuinea","Colombia","Kyrgyzstan",intcountryCount=inti=sortCountry(&country[0countryCount*排序*/for(i=0;i<countryCount;i++)return0;} 本章授課標(biāo)準(zhǔn)庫(kù)與非標(biāo)準(zhǔn)字符處標(biāo)準(zhǔn)語(yǔ)言補(bǔ) 文所謂“文件”一般是指 在外部介質(zhì)上數(shù)據(jù)的 文件的打開(kāi)與關(guān)、雖然讀、雖然讀者可以利用FILE類型定義變量,但有通過(guò)fopen成的FILE型的對(duì)象才是有意 文件的打開(kāi)與關(guān)例11-6設(shè)有FILE*fp;,且c盤根 a.txt文件,文件內(nèi)容為“Thisisan 文件 文件例11-7請(qǐng)?jiān)赾盤根 的文本文件,其內(nèi)容設(shè)置為:Thisiaanexample,givenbyWenbin.。#include #include #include#include #includeintmain(void){FILE*fp=fopen("c:\\a.txt","r");longintpos;char*str=errno=0;{printf(stderr,"openc:\a.txtfailed.Errorcode:%s\n",return-} 文件fscanf(fp,"%s",fseek(fp,8L,SEEK_SET);pos=f if(-1L==pos&&errno<={fprintf(stderr,"返回c:\a.txt的指針當(dāng) 位置失敗.Errorcode:return-}printf("指針當(dāng)前位置為:%ld\n",pos);fscanf(fp"%s"str); fseek(fp,20L,SEEK_SET);fscanf(fp,"%s",str); fseek(fp,pos,SEEK_SET);fscanf(fp,"%s",str); fclose(fp);/*關(guān)閉文件*/return}

文件的讀文件 文件的讀例11-8c盤根 下有一名為a.txt的文件,

98899987 文件的讀#include<stdio.h>#include<stdlib.h>#include<string.h>#defineHEAD_OF_FORM"學(xué) #defineSTU_NO_LENGTH#defineNAME_LENGTHtypedefcharname[NAME_LENGTH];floatmathScore;floatengScore;floatliteraScore; 文件的讀int{inti=0;intj=char*fileName=STUDENT_SCOREFILE*fp=fopen(fileName,errno={fprintf(stderr,"openc:\a.txtfailed.Errorcode:%s\n",return-}fseek(fp,sizeof(HEAD_OF_FORM),i=while(!feof(fp)&&i<{fscanf(fp,"%s%s%f%f%f\n",stuScores[i].stuNo,stuScores[i].name,} }文件的讀for(j=0;j<i;{}return0;} 文件的寫 文件的寫例11-9將 文件的寫#include<stdio.h>#include<stdlib.h>#include<string.h>#defineHEAD_OF_FORM #defineADDRESS_LENGTH#defineMOBILE_LENGTH typedefstruct{charcharmobileNo[MOBILE_LENGTH]; 文件的寫int{inti=char*fileNamec:\\contact.txt*寫入的文件名 _COUNT]={"Yiying","Yiying'saddress",{"Yiying","Yiying'saddress", intCount=FILE*fp=fopen(fileName,errno={fprintf(stderr,"Creat/openc:\a.txtfailed.Errorcode:%s\n",return-} 文件的寫fprintf(fp,"%s\n",for(i=0;i Count;{ }return0;} 文件的標(biāo)準(zhǔn)輸入輸

文件的標(biāo)準(zhǔn)輸入輸#includee1#include#include

與printf、fscanf與scanfint{charstr1[MAX_LENGTH]= ocharfprintf(stdout,由fprintf輸出的:%s\n",fscanf(stdin,"%s",str2);printf("你剛才輸入的字符串為:%s\nscanf("%s",printf("你剛才輸入的字符串為:%s\nstr2);return} 本章授課標(biāo)準(zhǔn)庫(kù)與非標(biāo)準(zhǔn)字符處標(biāo)準(zhǔn)語(yǔ)言補(bǔ) 標(biāo)準(zhǔn)語(yǔ)言“標(biāo)準(zhǔn)語(yǔ)言補(bǔ)充”的標(biāo)準(zhǔn)庫(kù)對(duì)應(yīng)的頭文件有: 標(biāo)準(zhǔn)語(yǔ)言補(bǔ)充--iso646.h 標(biāo)準(zhǔn)語(yǔ)言補(bǔ)充--例11-11閱讀下面的程序,體會(huì)“助記符”。#include<stdio.h>#include<stdlib.h>#include<iso646.h>int{inta=3,b=4,c=if(aandprintf 的值為:%d\n"aandc=abitorprintf("abitorb的值為:%d\n"c);sstem"PAUSE"return} 標(biāo)準(zhǔn)語(yǔ)言補(bǔ)充--stdarg.h中包含的函數(shù)為編程人員提供了 標(biāo)準(zhǔn)語(yǔ)言補(bǔ)充--例11-12請(qǐng)編寫一個(gè)可變參數(shù)的函數(shù),能對(duì)多#include<stdio.h>#include<stdlib.h>voidsum(char*string,intnum_args,{ints=0;va_listap;inti;va_start(ap,for(i=0;i<num_args;i++)s+=va_arg(ap,int);printf(string,s);} 標(biāo)準(zhǔn)語(yǔ)言補(bǔ)充--intmain{sum("Thesumof10+15is%d.\n",2,10,sum("Thesumof10+15+13is%d.\n",3,10,15,return} 取的當(dāng)前的可變參數(shù)的類型。這個(gè)宏首先將ap取的當(dāng)前的可變參數(shù)的類型。這個(gè)宏首先將apva_end:這個(gè)宏有一個(gè)參數(shù):ap。在用va_argstdarg.hva_list:該類型用于局部狀態(tài)變量(ap),用該宏用于對(duì)ap進(jìn)行初始化。在標(biāo)準(zhǔn)C語(yǔ)言中,其主 標(biāo)準(zhǔn)語(yǔ)言補(bǔ)充--ANSIC注意

類型形式參數(shù)1 標(biāo)準(zhǔn)語(yǔ)言補(bǔ)充-- 標(biāo)準(zhǔn)語(yǔ)言補(bǔ)充--例11-13閱讀下面的程序,體會(huì)bool型變量的#include<stdio.h>#include<stdlib.h>#include<stdbool.h>intmain(void){boolx=booly;printf("x=%d\n",printf("y=%d\n",printf("y=%d\n",y= return},標(biāo)準(zhǔn)語(yǔ)言補(bǔ)充--size_t,是sizeof參數(shù):結(jié)構(gòu)體類 標(biāo)準(zhǔn)語(yǔ)言補(bǔ)充--#includsd.>#includ<stdli.h>#inlde<stdf.LL{strutst{charintint{inta[]={1,2,3,int*p=NULL;ptrdiff_tnum=0;size_tst=0;p=q=num=q-st=

int*q=printf("sizeof(num)=%d,num=%d\n",st,num);printf("offsetof(structTest,y)=%d\n",offsetof(structTest,y)); return0;}

標(biāo)準(zhǔn)語(yǔ)言補(bǔ)充-- 標(biāo)準(zhǔn)語(yǔ)言補(bǔ)充-- 標(biāo)準(zhǔn)語(yǔ)言補(bǔ)充-- 標(biāo)準(zhǔn)語(yǔ)言補(bǔ)充-- 標(biāo)準(zhǔn)語(yǔ)言補(bǔ)充-- cluds #includelud<tdi.h#includeint{int8_tx=intmax_tmv=intptr_tptr=printf("x的寬度為:%d\n"

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論