分享
分享赚钱 收藏 举报 版权申诉 / 8

类型C语言答疑.doc

  • 上传人:ysd1539
  • 文档编号:6372106
  • 上传时间:2019-04-09
  • 格式:DOC
  • 页数:8
  • 大小:241.50KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    C语言答疑.doc
    资源描述:

    1、C 语言答疑提纲分别从下面几个方面重点答疑:1. C 语言基本语法知识2. C 语言的数据类型3. C 函数、调用及其相关参数一、C 语言基本语法知识此部分主要围绕 C 语言语法知识进行介绍。(1) C 程序的构成1、C 语言程序基本构成 函数与主函数 程序由一个或多个函数组成 必须有且只能有一个主函数 main() 程序执行从 main 开始,在 main 中结束,其它函数通过嵌套调用得以执行。 程序语句 C 程序由语句组成 用“;”作为语句终止符 注释 /* */为注释,不能嵌套 不产生编译代码 编译预处理命令程序编写规范要求: 习惯用小写字母,大小写敏感 不使用行号,无程序行概念 可使用

    2、空行和空格 常用锯齿形书写格式2、C 语句特点C 语句: 以“;” 作分隔符 ,编译后产生机器指令 .C 语句分类表达式语句:表达式加分号构成。空语句: ;程序控制语句(9 种):分支:if( )else ;switch循环:for( );while( );dowhile( )辅助控制:continue;break;goto;return复合语句:用 括起来的一组语句一般形式: 数据说明部分;执行语句部分; 说明:“”后不加分号语法上和单一语句相同复合语句可嵌套注意事项:单分支、多分支语句的嵌套问题辅助控制语句的作用,尤其是 switch 分支中 break 语句作用。3、常见运算符:二、C

    3、语言的数据类型C 语言提供了强大丰富的数据类型,供程序人员使用,其具体分类见下图所示。基 本 类 型构 造 类 型指 针 类 型空 类 型 void定 义 类 型 typedef数 值 类 型字 符 类 型 char枚 举 类 型 enum整 型浮 点 型 单 精 度 型 float双 精 度 型 double短 整 型 short长 整 型 long整 型 int数 组结 构 体 struct共 用 体 union数据类型作用,主要为决定:1. 数据占内存字节数int 类型数据占 4 个内存字节;char 类型数据占一个内存字节;float 类型数据占 4 个内存字节。2. 数据取值范围不同

    4、数据类型取值范围不同,在程序设计开发过程中需要防止出现操作溢出等错误。3. 其上可进行的操作1、简单数据类型及其取值范围2、构造数据类型1)数组:有序数据的集合,用数组名标识。其元素属同一数据类型,用数组名和下标确定。C语言中支持多维数组定义。其定义:数据类型 数组名维度 1维度 2.维度 n其中:数据类型见上图所示;数组名符合 C 语言命名规则的合法标识符;维度 1.n:支持多维数组;数组元素个数为:各维度数值相乘个元素。其所占据内存空间为:sizeof(数据类型)*数组元素个数数组名表示内存首地址,是地址常量维度:表示元素个数,下标从 0 开始引用:只能逐个引用数组元素,不能一次引用整个数

    5、组引用方式: 数组名下标 其中:下标可以是常量或整型表达式例如:int a56:a 数组中存放 5*6 个 int 类型数据;其占据的内存空间是:sizeof (int)*(5*6)=120 字节;a23表示 a 数组中第三行第四个元素;char chs358:chs 数组中存放 3*5*8 个 char 类型数据;其占据的内存空间是:sizeof(char)*(3*5*8)=120 字节需要特别注意:Char 数组:字符数组的初始化:逐个字符赋值;用字符串常量。字符串:无字符串变量,用字符数组处理字符串字符串结束标志:0char 数组采用字符串进行赋值之类操作需要注意结束标志所占据的数据位。

    6、2)结构体 struct属于:自定义数据类型。其把不同类型的数据组合成一个整体。 例如:struct 结构体名类型标识符 成员名;例 3: struct int num;char name20;float score;char addr30;stu1,stu2; 类型标识符 成员名;.;注意事项:struct 是关键字,不能省略;结构体名:合法标识符,可省:无名结构体;成员类型可以是基本型或构造型。结构体类型定义描述结构的组织形式,不分配内存。仅在声明结构体变量时才分配内存。用无名结构体直接定义变量只能一次结构体类型与结构体变量概念不同类型:不分配内存; 变量:分配内存类型:不能赋值、存取、运

    7、算; 变量:可以结构体可嵌套结构体成员名与程序中变量名可相同,不会混淆结构体类型及变量的作用域与生存期例如:例 3 为无名结构体,其对 score 成员的引用为:stu1.score;或者 stu2.score;3) 共用体 union使几个不同类型的变量共占一段内存(相互覆盖)共用体类型定义:union 共用体名类型标识符 成员名;类型标识符 成员名;.;union data int i;char ch;float f;a,b 共 用 体 指 针 名 -成 员 名共 用 体 变 量 名 .成 员 名 (*共 用 体 指 针 名 ).成 员 名其引用常见方式为:a.i a.ch a.f 或者(

    8、*p).i (*p).ch (*p).f 或者 p-i p-ch p-f4)枚举类型功能:用自定义名字为已有数据类型命名类型定义简单形式: typedef type name;说明:1.typedef 没有创造新数据类型2.typedef 是定义类型,不能定义变量3.typedef 与 define 不同define typedef预编译时处理 编译时处理简单字符置换 为已有类型命名 5)指针类型:类型定义不分配内存;共用体变量任何时刻只有一个成员存在;共用体变量定义分配内存,长度=最长成员所占字节数;引用规则:不能引用共用体变量,只能引用其成员共用体变量中起作用的成员是最后一次存放的成员;不

    9、能在定义共用体变量时初始化可以用一个共用体变量为另一个变量赋值讲到指针,必然和变量联系在一起,变量是对程序中数据存储空间的抽象指针:一个变量的地址指针变量:专门存放变量地址的变量两个运算符:int *i_pointer;i_poinnter= i_pointer-指针变量,它的内容是地址量*i_pointer-指针的目标变量,它的内容是数据说明:实参与形参个数相等,类型顺序一致,按顺序一一对应实参表求值,因系统而定(Turbo C 自右向左)函数返回: 返回语句 形式: return(表达式); 或 return 表达式; 或 return; 功能:使程序控制从被调用函数返回到调用函数中,同时

    10、把返值带给调用函数 说明: 函数中可有多个 return 语句 若无 return 语句,遇时,自动返回调用函数 若函数类型与 return 语句中表达式值的类型不一致,按前者为准,自动转换 -函数调用转换 void 型函数函数参数及其传递方式:函数参数分为两类:形参与实参 形式参数:定义函数时函数名后面括号中的变量名 实际参数:调用函数时函数名后面括号中的表达式传递方式: 值传递方式 方式:函数调用时,为形参分配单元,并将实参的值复制到形参中;调用结束,形参单元被释放,实参单元仍保留并维持原值 特点: 形参与实参占用不同的内存单元 单向传递 举例:#include main() int x=

    11、7,y=11;printf(“x=%d,ty=%dn“,x,y);printf(“swapped:n“);swap(x,y);printf(“x=%d,ty=%dn“,x,y);swap(int a,int b) int temp;temp=a; a=b; b=temp;其输出结果:7,11 地址传递方式 方式:函数调用时,将数据的存储地址作为参数传递给形参特点: 形参与实参占用同样的存储单元 “双向”传递 实参和形参必须是地址常量或变量 举例:swap(p1,p2)int *p1,*p2; int p; p=*p1;*p1=*p2; *p2=p;main()int a,b;scanf(“%d

    12、,%d“,printf(“a=%d,b=%dn”,a,b);printf(“swapped:n”);swap(printf(”a=%d,b=%dn“,a,b);函数的嵌套与递归调用定 义 : 函 数 直 接 或 间 接 的 调 用 自 身 叫 函 数 的 递 归 调 用f( )调 f 调 f2 调 f1f1( ) f2( )说 明 C编 译 系 统 对 递 归 函 数 的 自 调 用 次 数 没 有 限 制每 调 用 函 数 一 次 , 在 内 存 堆 栈 区 分 配 空 间 , 用 于 存 放 函 数 变 量 、返 回 值 等 信 息 , 所 以 递 归 次 数 过 多 , 可 能 引 起 堆 栈 溢 出int f(int x) int y,z;z=f(y);.return(2*z);int f1(int x) int y,z;z=f2(y);.return(2*z);int f2(int t) int a,c;c=f1(a);.return(3+c);递 归 调 用C 语言程序设计必须掌握的一些基本算法:冒泡排序、文件读取、文件拷贝.

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:C语言答疑.doc
    链接地址:https://www.docduoduo.com/p-6372106.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开