C语言的特点 1. C程序由许多函数组成 2. C程序必须有且只有一个主函数main( ) 3. 函数用“{”和“}”表示起点和终点

Slides:



Advertisements
Similar presentations
第 8 章 数组 计算机科学学院 李淮 Tel QQ
Advertisements

第一章 C语言概述.
中华人民共和国教育部 深入推进中小学校挂牌督导工作 主讲:周坚 2015年6月19日
电子成绩单项目实现.
第九章 字串 (String).
第九章日治時期的台灣(下).
项目五——校园一卡通程序功能模块化设计 5-1项目显示查询和退出函数设计.
補充: Input from a text file
C语言基础——指针的高级应用 Week 05.
第十三章 收入和利润.
第九章 指针 目录 指针与指针变量的概念 变量的指针和指向变量的指针变量 数组的指针和指向数组的指针变量
第8章 字元與字串處理 8-1 C語言的字元檢查函數 8-2 C語言的字串 8-3 字串的輸入與輸出 8-4 指標與字串
C语言程序设计 第十二章 位运算.
第六章 数 组 主讲教师 贾月乐 联系电话:
C程序设计 第9章 自定义数据类型 主讲教师: 鲁 萍 西安建筑科技大学 理学院.
循环结构又称为重复结构:用来处理需要重复处理的问题,它是程序中一种很重要的结构。
函數 授課:ANT 日期:2009/3/24.
選擇排序法 通訊一甲 B 楊穎穆.
Introduction to the C Programming Language
程序设计II 第三讲 字符串处理.
函數 授課:ANT 日期:2011/3/28.
项目六 用指针优化学生成绩排名 项目要求 项目分析
Introduction to the C Programming Language
Introduction to the C Programming Language
目录 第八章 数组 1 简单学生成绩管理系统的开发 2 一维数组 3 多维数组 4 字符数组 5 数组作函数参数.
计算概论 第十八讲 C语言高级编程 结构与习题课 北京大学信息学院.
Introduction to the C Programming Language
Chap 8 指针 8.1 寻找保险箱密码 8.2 角色互换 8.3 冒泡排序 8.4 电码加密 8.5 任意个整数求和*
6.4.1指针与二维数组 1、二维数组结构的分析 设有数组定义为:int a[3][4]; 则有: a表示数组在内存中的首地址。
C语言 程序设计基础与试验 刘新国、2012年秋.
字符串和字符数组 字符串的输入和输出 字符串的基本操作
函 数 实验八 第24讲 C程序设计 Main() { int x,y; X=10; y=x*x+1;
第五章 习题课 电子信息与计算机科学系 曾庆尚.
第三章 数据类型、运算符与表达式.
2.1 C语言的数据类型 2.2 常量与变量 2.3 变量赋初值 2.4 各类数值型数据间的混合运算 2.5 C语言的运算符和表达式
数组 梁春燕 华电信息管理教研室.
Struct結構 迴圈
C++大学基础教程 第5章 数组 北京科技大学 信息基础科学系.
|09 陣列.
第十章 用户自定义数据类型 目录 学生信息管理系统的开发 结构体数据类型的概述 结构体变量的使用 结构体数组
目录 9.1 结构体类型 9.2 共用体类型 9.3 枚举类型 9.4 类型声明符typedef 1.
C语言概述 第一章.
資料結構與C++程式設計進階 排序與搜尋 講師:林業峻 CSIE, NTU 6/ 14, 2010.
C语言复习3----指针.
C语言复习2----函数.
C语言大学实用教程 第6章 数组 西南财经大学经济信息工程学院 刘家芬
函式庫補充資料.
<编程达人入门课程> 本节内容 字符与字符串 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
本节内容 字符与字符串 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C程序设计.
第4章 数 组.
第九章 指针.
第二章 类型、对象、运算符和表达式.
C/C++基礎程式設計班 C++: 物件的使用、參考、重載函式 講師:林業峻 CSIE, NTU 3/28, 2015.
第1章程序设计和C语言.
1.4WIN32中的宽字符.
本节内容 C语言中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C/C++基礎程式設計班 字元與字串 講師:林業峻 CSIE, NTU 3/14, 2015.
目录 12.1 位运算符 12.2 位域(位段) 1.
Introduction to the C Programming Language
Introduction to the C Programming Language
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
C/C++基礎程式設計班 陣列 講師:林業峻 CSIE, NTU 3/14, 2015.
C 程式設計— 字元與字串 台大資訊工程學系 資訊系統訓練班.
字串 第10章 part I 8/30/2019.
第一次上機考參考答案 僅供參考,同學可自行再想更好的方法..
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
台大資訊工程學系 資料系統訓練班 第119期 吳晉賢
C语言基础学习 从外行到入门.
Presentation transcript:

C语言的特点 1. C程序由许多函数组成 2. C程序必须有且只有一个主函数main( ) 3. 函数用“{”和“}”表示起点和终点 5. 头文件在程序开始,用“#include”说明 6. C语言区分大小写 7. C程序从main( )开始,终止在main( )

C程序的结构 在C语言中,子程序以函数的形式表现,主干程序以主函数main( )的形式表现。 由main( )函数调用其它函数,但其它函数不能调用main( )函数。其它函数之间可以相互调用。 库函数----由C系统提供的函数,用户可以直接使用。 自定义函数----用户自己定义的函数 函数的形式分为无参函数和有参函数 无参函数----调用此类函数不需要传送数据,但可以带回函数值。 有参函数----调用函数时有数据传输。

C语言复习1----数组

数组定义的形式 类型 数组名[下标1][下标2]...[下标n] 其中: 类型----数组的类型也是数组中每个元素的类型。 下标个数为n是n维数组。 下标的值----数组元素的个数,必须是整型,C语言数组的下标从0开始

一维数组 类型 数组名[常量表达式] 其中: 类型----数组中所有数据所具有的共同数据类型 常量表达式----此一维数组的固定长度 例如: 类型 数组名[常量表达式] 其中: 类型----数组中所有数据所具有的共同数据类型 常量表达式----此一维数组的固定长度 例如: int a[10] 定义了1个一维数组,数组名为a,数据类型为整型,数组中有10个元素,分别是a[0]、a[1]、a[2]、a[3]、a[4]、a[5]、a[6]、a[7]、a[8]、a[9]。

数组元素的引用 #include<stdio.h> void main() { int i,a[10]; for(i=0;i<10;i++) a[i]=i; /*一维数组循环赋值*/ printf("%d ",a[i]); /*一维数组循环引用*/ } 运行结果: 0 1 2 3 4 5 6 7 8 9

二维数组 类型 数组名[常量表达式][常量表达式] 例如:int a[3][2]; 类型 数组名[常量表达式][常量表达式] 例如:int a[3][2]; 这表示数组a是一个3行2列的数组,共有6个元素,每个元素都是int型。 C语言的二维数组的下标都从0起算 a[0][0] a[0][1] a[1][0] a[1][1] a[2][0] a[2][1]

二维数组的引用 二维数组的引用与一维数组类似,形式为: 数组名[下标表达式] [下标表达式] 与一维数组一样,引用时下标表达式可以是整形常量、整型变量或整形表达式,如: a[2][2],a[2-1][2*2-1] 数组元素可以被赋值 b[1][2]=a[2][3]/2

字符数组 字符数组就是类型为char的数组,形式如下: char 数组名[常量表达式] 例如:char c[6]; 字符数组的赋值与一般数组一样,例如: c[0]=‘i’;c[1]=‘1’;c[2]=‘a’;c[3]=‘m’;c[4]=‘y’;c[5]=‘h’; 字符型与整型是互通的,字符数组的处理基本上与整型数组相同,只是在ASCII表中,每个字符的数值小于255。

定义和初始化1个二维字符数组 char c[5][5]={{' ',' ','*'},{' ','*',' ','*'},{'*',' ',' ',' ','*'},{' ','*',' ','*'},{' ',' ','*'}}; * * * * *

字符数组的引用 #include<stdio.h> void main() { char c[5][5]={{' ',' ','*',' ',' '},{' ','*',' ','*',' '},{'*',' ',' ',' ','*'},{' ','*',' ','*',' '},{' ',' ','*',' ',' '}}; int i,j; for(i=0;i<5;i++) for(j=0;j<5;j++) printf("%c",c[i][j]); printf("\n"); } 运行结果: * * * * *

字符串 字符串是若干个字符构成的序列,以’\0’为结束标志。 字符串常量是用双括号括起来的一串字符,如”China”,C语言会在其尾部添加字符’\0’。 在C语言中没有字符串变量,字符串是作为一维字符数组来处理的。 程序用检测’\0’的位置来判定字符是否结束。

字符串输入函数gets 调用形式: gets(字符数组); 功能:从终端输入1个字符串,存入字符数组,并且得到1个函数值,此函数值就是字符数组的起始地址。例如: char c[25]; gets(c); 从键盘输入: hello 所输入的字符串被送进字符数组c中,函数值就是字符数组c的起始地址。

字符串输出函数puts 调用形式: puts(字符数组); 功能:将1个字符串输出到终端。 注意:字符串必须是以’\0’结尾的,当输出时,此字符串结束标志就转换成了’\n’,即输出字符串后进行换行。 字符串中也可以包含转义字符’\0’,例如: char c[ ]={“hello\nworld”}; puts(c); 输出为: hello world

Strcmp(”compare”,”computer”) 调用形式: strcmp(字符串1,字符串2); 功能:把两个字符串从左到右逐个进行比较,直到出现不同字符或遇到’\0’为止。比较的结果由数值返回。要用头文件#include <string.h>。 函数值=0,字符串1=字符串2; 函数值>0,字符串1>字符串2; 函数值<0,字符串1<字符串2; 例如: Strcmp(”compare”,”computer”)

If(strcmp(str1,str2)>0) 字符串比较 两字符串逐个字符比较,当出现不同字符时,以第1个不相同的字符为准。 实际上,计算机中字符的比较是用其ASCII编码来进行比较,编码大的为大。 char a[]={"compare"}; char b[]={"computer"}; printf("%d",strcmp(a,b)); 注意:对两个字符串的比较,不能用以下形式: If(str1>str2) 只能用 If(strcmp(str1,str2)>0) 运行结果 -1

字符串拷贝函数strcpy 调用形式: strcpy(字符数组1,字符串2) 功能:把字符串2的内容拷贝到字符数组1中。 要用头文件#include <string.h> 例如: char a[]={"compare"}; char b[]={"computer"}; strcpy(b,a); puts(b); 就是把字符串a的内容拷贝到字符串b中,后面自动加1个结束符’\0’。 如果把strcpy(b,a)改为strcpy(a,b),会应为超长而出错。 运行结果: compare

字符串拷贝函数的说明 strcpy(字符数组1,字符串2) 1)“字符数组1”必须是字符串数组,“字符串2”可以是字符串数组也可以是字符串常量。例如: strcpy(str1,”china”); 2)如果之前未对字符数组str1赋初值,在进行strycpy后,字符串2的内容及其后的’\0’拷贝到字符数组1, 如”china0”,取代前6个字符,但后面的剩余字符空间并没有被自动充值成0.

字符串连接函数strcat 调用形式: Strcat(字符数组1,字符数组2); 功能:将字符数组2中的字符连接到字符数组1字符串的后面,结果放在字符数组1中。要用 #include <string.h>。 字符数组1原来的结束标志’\0’会被删除,连接后新的字符串后面保留’\0’。例如: char str1[30]={“People’s Republic of "}; char str2[10]={"China"}; printf("%s",strcat(str1,str2)); 输出结果为: People’s Republic of China

字符串长度测试函数strlen 调用形式: Strlen(字符串); 功能:测试字符串的长度,函数返回值为字符串的实际长度,其中不包括’\0’。例如: char str[10]={“China”}; printf(“%d”,strlen(str)); 输出结果是5。 也可以直接测试字符串常量的长度,例如: strlen(“China”);