您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 经典linux系统编程(值得收藏)第3章
第3章linux环境下系统函数的使用2本章重点Linux环境下数学函数的使用方法Linux环境下字符函数的使用方法Linux环境下系统时间与日期函数的使用方法Linux环境下环境控制函数的使用方法Linux环境下内存分配函数的使用方法Linux环境下数据结构中常用函数的使用方法33.1数学函数的使用例3.1:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前m项之和,m由键盘输入。编辑源程序代码:思考题:键盘输入一个整数n,求序列1-1/2+2/3-3/5+5/8-…….前n项的值。43.1数学函数的使用例3.2:键盘输入一个整数n,接着输入n个实型数,分别求取这n个实型数的平方根。源程序代码:53.1数学函数的使用例3.3:产生10个介于1到10间的随机数值。源程序代码:63.1数学函数的使用rand函数说明:思考题:在3.3.c中去掉srand((int)time(0))语句,观察程序的运行结果。73.1数学函数的使用srand函数说明:思考题:请编写一程序用srandom函数产生20个随机数。83.2字符函数的使用字符测试函数93.2字符函数的使用例3.4:从键盘读入一行字符,测试读入字符是否为大写字符。源程序代码:103.2字符函数的使用例3.5:从键盘读入一行字符,测试读入的是否为十六进制数字符。源程序代码:113.2字符函数的使用isxdigit函数说明:思考题:请用函数ispunct编写一程序,测试输入的一行字符是否为标点符号或特殊符号。123.3系统时间与日期函数的使用系统时间与日期函数133.3系统时间与日期函数的使用例3.6:用程序的方法显示当前的系统时间,然后设置系统时间。源程序代码:143.3系统时间与日期函数的使用结构体tm的定义为:structtm{inttm_sec;/*代表目前秒数,正常范围为0-59,但允许至61秒*/inttm_min;/*代表目前分数,范围0-59*/inttm_hour;/*从午夜算起的时数,范围为0-23*/inttm_mday;/*目前月份的日数,范围01-31*/inttm_mon;/*代表目前月份,从一月算起,范围从0-11*/inttm_year;/*从1900年算起至今的年数*/inttm_wday;/*一星期的日数,从星期一算起,范围为0-6*/inttm_yday;/*从今年1月1日算起至今的天数,范围为0-365*/inttm_isdst;/*日光节约时间的旗标*/};153.3系统时间与日期函数的使用time函数说明:163.3系统时间与日期函数的使用gmtime函数说明:173.3系统时间与日期函数的使用asctime函数说明:183.3系统时间与日期函数的使用localtime函数说明:193.3系统时间与日期函数的使用例3.7:应用结构体structtimeval的成员tv_sec与tv_usec显示系统时间的秒与微秒,并显示与Greenwich的时间差,并测试运行这段程序所用时间。源程序代码:203.3系统时间与日期函数的使用结构体timeval定义为:structtimeval{longtv_sec;/*秒*/longtv_usec;/*微秒*/};结构体timezone定义为:structtimezone{inttz_minuteswest;/*和Greenwich时间差了多少分钟*/inttz_dsttime;/*日光节约时间的状态*/};213.3系统时间与日期函数的使用gettimeofday函数说明:思考题:结构定义中有:structtimeval{longtv_sec;/*秒*/longtv_usec;/*微秒*/};你是否能设计一个程序,计算机屏幕呈现一个字符后,取得结构体timeval成员tv_usec的值,然后你作出按键正确反应后再取得tv_usec的值,计算你的正确反应时间。223.4环境控制函数常用环境控制函数233.4环境控制函数例3.8:显示当前所登录的用户。源程序代码:243.4环境控制函数getenv函数说明253.4环境控制函数例3.9:显示当前所登录的用户。源程序代码:263.4环境控制函数setenv函数说明273.5内存分配函数常用内存分配函数283.5内存分配函数例3.10:某手机用户要增加通迅录,通迅录的结构体定义为:structco{intindex;charname[8];charhtel[12];chartel[12];};其中:index为用户在通迅录中的序号,name存放用户名,htel存放手机号,tel存放电话号码。如果要增加一用户,就分配一存储空间,输入数据,请编写一程序进行模拟,最后检测此内存的分页大小。293.5内存分配函数源程序代码:303.5内存分配函数calloc函数说明313.5内存分配函数getpagesize函数说明323.5内存分配函数malloc函数说明思考题:参照例3.10,把内存分配函数malloc替换为calloc来编写,并调试。333.5内存分配函数mmap函数说明343.5内存分配函数例3.11:利用mmap()来读取/etc/passwd文件内容,把文件中的内容映射到内存中的区域,可被读此区域中的内容,对映射区域的写入操作会产生一个映射文件。源程序代码:353.6数据结构中常用函数常用数据查找、排序函数363.6数据结构中常用函数例3.12从键盘读入不多于50个数的int型数据,组成一个数组,应用qsort函数进行排序。源程序代码:373.6数据结构中常用函数qsort函数说明:思考题:从键盘读入不多于20个字符串,组成一个字符串数组,应用qsort函数进行排序。383.6数据结构中常用函数例3.13:从键盘读入一字符串,在已有字符串数组中查找这一字符串,如找不到,主动把该项数据加入到字符串数组里,如找到显示这一字符串。源程序代码:393.6数据结构中常用函数lfind、lsearch函数说明:403.6数据结构中常用函数bsearch函数说明思考题:从键盘读入不多于20个数的int型数据,组成一个数组,应用qsort函数进行排序,然后又从键盘读入一个整型数,用二分法进行查找。41思考与实验1.编写一个简单的c语言程序:函数intinput(inta[],intn)用于输入一个有n个元素的整型数组,voidoutput(intb[],intn),函数intsum(inta[],intn)用于数组求和,在main函数中依次调用函数input、output、sum。2.编写一个简单的c语言程序:用随机数函数产生两个整型数,根据输入的字符’+’、’-‘、’*’、’/’作算术运算。3.编写一个程序,求2-n间的素数,n由键盘输入,循环变量分别从2到n、2到(int)sqrt(n),分别测出两个循环的所用时间。4.输入一个整型数组,再进行排序,然后键盘输入一个整数,用二分法进行查找。
本文标题:经典linux系统编程(值得收藏)第3章
链接地址:https://www.777doc.com/doc-3791517 .html