课件-chapt简单阐述了为什么需要自定义数据类型_第1页
课件-chapt简单阐述了为什么需要自定义数据类型_第2页
课件-chapt简单阐述了为什么需要自定义数据类型_第3页
课件-chapt简单阐述了为什么需要自定义数据类型_第4页
课件-chapt简单阐述了为什么需要自定义数据类型_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《程序设计基础:C上一章知识 本讲教学 数据“交换”的方法。数据“交换”的方法。 本章授课标准库与非标准字符处标准语言补 本章授课标准库与非标准字符处标准语言补 转计标准库与转计日 数输输游 文开 读游 标准库与非标准#include<stdio.h>#include<stdlib.h>#include<math.h>int{intx=-printf("x的绝对值是:%d\nabs(x/*printf是标准库函数*/printf("x绝对值开根号的结果是:%.2f\n",sqrt(abs(x)));system("PAUSE");/*system是标准库函数*/return} 标准库与非标准assert.h:包含定义assertcomplex.h(C99新增):ctype.h(ANSIC)数(如isalpha和toascii等) inttype.h(C99):包含大量有关printf、scanf 标准库与非标准方便地使用C 标准库与非标准 stdbool.h(C99):包含4stdbool.h(C99):包含4个宏:bool、true 标准库与非标准 wchar.hC95 本章授课标准库与非标准字符处标准语言补 字符 字符例11-2编写一个对字符串进行加密的函数,形

字符#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} 本章授课标准库与非标准字符处标准语言补 字符串处字符串指:字符串字面值或以’\0’为最后一个例11-3字符数组:charstr1

字符数组:charstr2‘a’,b 字符串处 字符串处例11-4编一个函数,从给定字符串(由形式参#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;} 本章授课标准库与非标准字符处标准语言补 文所谓“文件”一般是指 在外部介质上数据的 文件的打开与关、虽然读、虽然读者可以利用FILE类型定义变量,但有通过fopen成的FILE型的对象才是有意 文件的打开与关例11-6设有FILE*fp;,且c盘根 a.txt文件,文件内容为“Thisisan 文件 文件例11-7请在c盘根 的文本文件,其内容设置为: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的指针当 位置失败.Errorcode:return-}printf("指针当前位置为:%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);/*关闭文件*/return}

文件的读文件 文件的读例11-8c盘根 下有一名为a.txt的文件,

98899987 文件的读#include<stdio.h>#include<stdlib.h>#include<string.h>#defineHEAD_OF_FORM"学 #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;} 文件的标准输入输

文件的标准输入输#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} 本章授课标准库与非标准字符处标准语言补 标准语言“标准语言补充”的标准库对应的头文件有: 标准语言补充--iso646.h 标准语言补充--例11-11阅读下面的程序,体会“助记符”。#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} 标准语言补充--stdarg.h中包含的函数为编程人员提供了 标准语言补充--例11-12请编写一个可变参数的函数,能对多#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);} 标准语言补充--intmain{sum("Thesumof10+15is%d.\n",2,10,sum("Thesumof10+15+13is%d.\n",3,10,15,return} 取的当前的可变参数的类型。这个宏首先将ap取的当前的可变参数的类型。这个宏首先将apva_end:这个宏有一个参数:ap。在用va_argstdarg.hva_list:该类型用于局部状态变量(ap),用该宏用于对ap进行初始化。在标准C语言中,其主 标准语言补充--ANSIC注意

类型形式参数1 标准语言补充-- 标准语言补充--例11-13阅读下面的程序,体会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},标准语言补充--size_t,是sizeof参数:结构体类 标准语言补充--#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;}

标准语言补充-- 标准语言补充-- 标准语言补充-- 标准语言补充-- 标准语言补充-- cluds #includelud<tdi.h#includeint{int8_tx=intmax_tmv=intptr_tptr=printf("x的宽度为:%d\n"

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论