易网时代-编程资源站
Welcome
首页
/
软件开发
/
C语言
链表的c语言实现(十)
2016-07-27
57
链表的c语言实现(十)2007-05-03 本站 在这里列举了一个应用单链表基本算法的综合程序,双向链表和循环链表的综合程序大家可以自己去试一试。#include <stdio.h>#include <malloc.h>#include <string.h>#define N 10 typedef struct node{char name[20];struct node *link;}stud;stud * creat...
结构体类型变量的定义和引用
2016-07-27
73
结构体类型变量的定义和引用2007-05-03前面的课程我们学习了一些简单数据类型(整型、实型、字符型)的定义和应用,还学习了数组(一维、二维)的定义和应用,这些数据类型的特点是:当定义某一特定数据类型,就限定该类型变量的存储特性和取值范围。对简单数据类型来说,既可以定义单个的变量,也可以定义数组。而数组的全部元素都具有相同的数据类型,或者说是相同数据类型的一个集合。在日常生活中,我们常会遇到一些需要填写的登记表,如住宿表、成绩表、通讯地址等。在这些表中,...
结构体数组的定义和引用(一)
2016-07-27
74
结构体数组的定义和引用(一)2007-05-03单个的结构体类型变量在解决实际问题时作用不大,一般是以结构体类型数组的形式出现。结构体类型数组的定义形式为:struct stu / *定义学生结构体类型* /{char name[20]; / *学生姓名* /char sex; / *性别* /long num; / *学号* /float score[3]; / *三科考试成绩* /};struct stu stud[20]; 定/*义结构体类型数组st...
结构体数组的定义和引用(二)
2016-07-27
60
结构体数组的定义和引用(二)2007-05-03第四步,按平均成绩排序,排序算法采用冒泡法。void order(arr,n)struct stu arr[];int n;{ struct stu temp;int i,j,x,y;f o r ( i = 0 ; i < n - 1 ; i + + )f o r ( j = 0 ; j < n - 1 - i ; j + + )if (arr[j].score[3]>arr[j+1].sc...
结构体数组的定义和引用(三)
2016-07-27
69
结构体数组的定义和引用(三)2007-05-03第七步,定义m a i n ( )函数,列出完整的程序清单。#include #include struct stu{char name[20];long number;float score[4];} ;m a i n ( ){void input(); / *函数声明* /void aver();void order();void output();void out_row();struct stu st...
结构体数组的定义和引用(四)
2016-07-27
56
结构体数组的定义和引用(四)2007-05-03指针变量非常灵活方便,可以指向任一类型的变量,若定义指针变量指向结构体类型变量,则可以通过指针来引用结构体类型变量。7.3.1 指向结构体类型变量的使用首先让我们定义结构体:struct stu{char name[20];long number;float score[4];} ;再定义指向结构体类型变量的指针变量:struct stu *p1, *p2 ;定义指针变量p 1、p 2,分别指向结构体类型变量...
结构体数组的定义和引用(五)
2016-07-27
89
结构体数组的定义和引用(五)2007-05-032)指针法若p指向数组的某一个元素,则p++就指向其后续元素。3)指针的数组表示法若p=student,我们说指针p指向数组student,p[i]表示数组的第i个元素,其效果与student[i]等同。对数组成员的引用描述为:p[i].name、p[i].num等。[例7-4]指向结构体数组的指针变量的使用。structdata/*定义结构体类型*/{intday,month,year;};structst...
指针数组(一)
2016-07-27
54
指针数组(一)2007-05-03前面介绍了指向不同类型变量的指针的定义和使用,我们可以让指针指向某类变量,并替代该变量在程序中使用;我们也可以让指针指向一维、二维数组或字符数组,来替代这些数组在程序中使用,给我们在编程时带来许多方便。下面我们定义一种特殊的数组,这类数组存放的全部是指针,分别用于指向某类的变量,以替代这些变量在程序中的使用,增加灵活性。指针数组定义形式:类型标识 *数组名[数组长度]例如: char *str[4];由于[ ] 比*优先权...
指针数组(二)
2016-07-27
59
指针数组(二)2007-05-03[例6-25] 对已排好序的字符指针数组进行指定字符串的查找。字符串按字典顺序排列,查找算法采用二分法,或称为折半查找。折半查找算法描述:1.设按开序(或降序)输入n个字符串到一个指针数组。2.设low指向指针数组的低端,high指向指针数组的高端,mid=(low+high)/23.测试mid所指的字符串,是否为要找的字符串。4.若按字典顺序,mid所指的字符串大于要查找的串,表示被查字符串在low和mid之间,否则,表...
指针与数组(一)
2016-07-27
57
指针与数组(一)2007-05-03变量在内存存放是有地址的,数组在内存存放也同样具有地址。对数组来说,数组名就是数组在内存安放的首地址。指针变量是用于存放变量的地址,可以指向变量,当然也可存放数组的首址或数组元素的地址,这就是说,指针变量可以指向数组或数组元素,对数组而言,数组和数组元素的引用,也同样可以使用指针变量。下面就分别介绍指针与不同类型的数组。6.4.1指针与一维数组假设我们定义一个一维数组,该数组在内存会有系统分配的一个存储空间,其数组的名字...
指针与数组(二)
2016-07-27
62
指针与数组(二)2007-05-03[例6-11]用指针法输入输出二维数组各元素。#include<stdio.h>main(){int a[3][4],*ptr;int i,j;ptr=a[0];for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",ptr++);/*指针的表示方法*/ptr=a[0];for(i=0;i<3;i++){for(j=0;j<4;j++)...
指针与数组(三)
2016-07-27
75
指针与数组(三)2007-05-03由于C程序的函数调用是采用传值调用,即实际参数与形式参数相结合时,实参将值传给形式参数,所以当我们利用函数来处理数组时,如果需要对数组在子程序中修改,只能传递数组的地址,进行传地址的调用,在内存相同的地址区间进行数据的修改。在实际的应用中,如果需要利用子程序对数组进行处理,函数的调用利用指向数组(一维或多维)的指针作参数,无论是实参还是形参共有下面四种情况:我们知道,二维数组在内存中是按行存放,假定我们定义二维数组和指针...
指针运算符与指针表达式
2016-07-27
63
指针运算符与指针表达式2007-05-036.3.1指针运算符与指针表达式在C中有两个关于指针的运算符:•&运算符:取地址运算符,&m即是变量m的地址。•*运算符:指针运算符,*ptr表示其所指向的变量。[例6-2]从键盘输入两个整数,按由大到小的顺序输出。main(){int *p1,*p2,a,b,t;/*定义指针变量与整型变量*/scanf("%d,%d",&a,&b);p1=&...
指针与指针变量
2016-07-27
62
指针与指针变量2007-05-03指针是C语言的精华部分,通过利用指针,我们能很好地利用内存资源,使其发挥最大的效率。有了指针技术,我们可以描述复杂的数据结构,对字符串的处理可以更灵活,对数组的处理更方便,使程序的书写简洁,高效,清爽。但由于指针对初学者来说,难于理解和掌握,需要一定的计算机硬件的知识做基础,这就需要多做多练,多上机动手,才能在实践中尽快掌握,成为C的高手。过去,我们在编程中定义或说明变量,编译系统就为已定义的变量分配相应的内存单元,也就是...
main函数的参数(一)
2016-07-27
60
main函数的参数(一)2007-05-03C程序最大的特点就是所有的程序都是用函数来装配的。main()称之为主函数,是所有程序运行的入口。其余函数分为有参或无参两种,均由main()函数或其它一般函数调用,若调用的是有参函数,则参数在调用时传递。main(){...y1=f1(x1,x2);...}f1(int a,int b){....Y2=f2(x3,x4);....}f2(int m,int n){.........}在前面课程的学习中,对mai...
main函数的参数(二)
2016-07-27
59
main函数的参数(二)2007-05-03图6-16中,argv[0]是程序名,argv[1]是r1的值,argv[2]是rs的值,argv[3]是屏幕的背景色。由于指针数组均存放字符串,所需的圆半径及背景色彩通过atoi()函数转换为整型。通过带参数的main()函数,我们可以为自己的程序设置口令,在运行程序的命令行中给出所需的口令,正确则继续,否则退出。程序图形输出如图6-17所示。[例6-30]将上述程序作修改,在程序的入口处添置密码,若给定密码正...
C语言的整型数据
2016-07-27
62
C语言的整型数据2007-05-032.3.1整型常量整型常量及整常数。它可以是十进制、八进制、十六进制数字表示的整数值。十进制常数的形式是:d i g i t ss这里d i g i t s可以是从0到9的一个或多个十进制数位,第一位不能是0。八进制常数的形式是:0 d i g i t ss在此,d i g i t s可以是一个或多个八进制数(0~7之间),起始0是必须的引导符。十六进制常数是下述形式:0 x h d i g i t s0 X h d i...
C语言条件控制语句(一)
2016-07-27
76
C语言条件控制语句(一)2007-05-03在程序的三种基本结构中,第二种即为选择结构,其基本特点是:程序的流程由多路分支组成,在程序的一次执行过程中,根据不同的情况,只有一条支路被选中执行,而其他分支上的语句被直接跳过。C语言中,提供if语句和switch语句选择结构,if语句用于两者选一的情况,而switch用于多分支选一的情形。3.3.1 if语句1.if语句的两种基本形式首先,我们看一个例子,由此了解选择结构的意义及设计方法。[例3-5]输入三个数...
C语言条件控制语句(二)
2016-07-27
55
C语言条件控制语句(二)2007-05-033.if...elseif语句实际应用中常常面对更多的选择,这时,将if...else扩展一下,就得到if...elseif结构,其一般形式为:if<表达式1>语句1else if<表达式2> 语句2 else if<表达式3>语句3else 语句4对应的流程图见图3-4。[例3-7]货物征税问题,价格在1万元以上的征5%,5000元以上1万元以下的征3%,1000元以上500...
C语言条件控制语句(三)
2016-07-27
51
C语言条件控制语句(三)2007-05-033.3.2switch语句if语句只能处理从两者间选择之一,当要实现几种可能之一时,就要用if...elseif甚至多重的嵌套if来实现,当分支较多时,程序变得复杂冗长,可读性降低。C语言提供了switch开关语句专门处理多路分支的情形,使程序变得简洁。switch语句的一般格式为:switch<表达式>case常量表达式1:语句序列1;break;case常量表达式2:语句序列2;break;...
<<
31
32
33
34
35
36
37
38
39
40
>>
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图