嵌入式Linux编程基础ppt,嵌入式LinuxC高级编程.ppt

《嵌入式LinuxC高级编程.ppt》由会员分享,可在线阅读,更多相关《嵌入式LinuxC高级编程.ppt(45页珍藏版)》请在装配图网上搜索。

1、嵌入式Linux C高级编程(一),报告人:曹国辉,课程目标,实训项目,C数据的输入与输出,C语言流程控制,数据类型、运算符和表达式,计算机程序基础及基本概念,程序的本质,广义的讲,为了实现一个特定的目标而预先设计的一组可操作的工作步骤就可以称之为一个程序 找工作: 写简历 投简历 笔试 面试 入职 对于计算机系统,简单的说,程序就是系统可以识别的一组有序的指令 程序存储在磁盘上,被加载到内存中,计算机系统从内存中逐条读取指令并执行 程序 = 算法 + 数据结构 算法:解决问题的方法和步骤,对操作的描述,是程序设计的灵魂。 数据结构:对数据的描述,用来指定程序中的数据类型和数据的组织形式。,程。

2、序设计语言概述,程序设计语言:计算机能够识别的语言,人与计算机交流的语言。 程序设计语言分为:机器语言、汇编语言、高级语言。 机器语言:直接使用机器指令(0,1序列)来设计程序,可以 被计算机系统直接识别。 汇编语言:把机器指令符号化,即通过一组简单的的符号来表示机器指令,更接近于自然语言,更容易理解和使用。 不能被计算机系统直接识别,要转化成机器语言后才能执行。和机器语言一样,开发工作量大,无法移植。 高级语言:和特定的计算机系统无关,更接近于人类自然语言。一条语句对应多条机器指令,工作量小,开发效率高。同样需要转换成机器代码后才能被计算机系统识别、执行。 BASIC , FORTRAN, 。

3、PASCAL, C, C+,C语言程序结构组成,C语言程序实质是函数的集合。,/* test.c This is the first C program */ #include void main ( ) printf (“This is a C program!n); ,函数运行结果是:This is a C program! 如何实现带参数的主函数 ?,C程序的编译、链接与运行,Linux下,C语言源码文件通过编译、汇编与链接后生成可执行文件elf文件,由操作系统加载到内存中运行。,模块化程序设计方法,大型的C程序一般由多个源码文件组成,通常把与实现一个功能相关的函数放在一个源码文件里面,。

4、称为一个模块。,/* main.c */ #include #include int main(void) int x = 10; int y = 20; int z = 0; z = max(x,y); printf(“z:%d”,z); return 0; ,/*mymax.c */ #include int max(int a1,int a2) if(a1 a2) return a1 return a2; ,/*mymax.h */ extern int max(int a1,int a2),课程目标,实训项目,C数据的输入与输出,C语言流程控制,数据类型、运算符和表达式,计算机程序基础。

5、及基本概念,C语言支持的数据类型,数据类型,构造类型,指针类型,空类型(无值类型) void,C语言提供了以下一些数据类型:,常量与符号常量,常量 在程序运行过程中,其值不能被改变的量称为常量 常量分为不同的类型:,整型 100,125,-100,0 实型 3.14 , 0.125,-3.789 字符型 a, b,2 字符串 a, ab,1232,符号常量:用一个标识符代表一个常量 例如: #define PI 3.1415926,变量,变量:在程序运行过程中,其值可以被改变的量称为变量; 变量代表内存中具有特定属性的一个存储单元。它用来存放数据,这就是变量的值,在程序运行期间,这些值是可以改。

6、变的。 变量的类型实质就是指存放在变量所代表的存储单元中存放数据的数据类型,可以是C语言支持所有数据类型。 变量的地址就是它所代表存储单元的地址;,变量的定义与使用,C语言中: 变量必须先定义,后使用 定义变量时要指定变量名和数据类型 变量应该先赋值,后引用 例如: int a, b,c; a = 5; b = 3; c = a+b; printf(“%d”,c);,整型数据类型,有符号整型 无符号整型 数据长度 int unsigned int 16或32位 short int unsigned short int 16位 long int unsigned long int 32位,数据类。

7、型 取值范围 有符号 short(16位) -32768 32767 无符号 unsigned short(16位) 0 65535 有符号 int (32位) -2147483648 2147483647 无符号 unsigned int (32位) 0 4294967295,字符型数据类型,字符具有数值特征 A 65 0100 0001 整型变量和字符变量的定义和赋值可以互换【 ASCII码范围】 char c; c = A; 或 c = 65;,int i; i = 65; 或 i = A;,转义字符,以“”开头的特殊字符称为转义字符,n 换行 t 横向跳格 r 回车 反斜杠 ddd d。

8、dd表示1到3位八进制数字 xhh hh表示1到2位十六进制数字 例如:printf(“n”);,浮点型数据类型(实型数据),实型(浮点型)数据 单精度浮点型 float (4字节) 双精度浮点型 double (8字节),结构体数据类型,结构体是一种构造数据类型 用途:把不同类型的数据组合成一个整体-自定义数据类型 引入结构体的好处:加强数据项之间的联系,如学生的基本信息,包括学号、姓名、性别、年龄、班级、成绩等数据项。这些数据项描述了一个学生的几个不同侧面。,char no9; /学号 char name20; /姓名 char sex; /性别 unsigned int age; /年龄。

9、 unsigned int classno; /班级 float grade; /成绩,结构体类型的定义和使用,结构体类型定义 struct 结构体类型名 数据类型名1 成员名1; 数据类型名2 成员名2; 数据类型名n 成员名n; ; 例: struct Student_Info char no9; /学号 char name20; /姓名 char sex; /性别 float grade; /成绩 ;,定义结构体变量 struct student_info stuinfo; 结构体变量的引用: stuinof.grage = 98.5; strcmp(stuinfo.name,”guoh。

10、ui”); 注意:访问结构体变量只能访问结构体变量的成员,不能整体访问结构体变量,联合体(共用体),构造数据类型,也叫共用体 用途:使几个不同类型的变量共占一段内存(相互覆盖),联合体定义 union 联合体类型名 数据类型名1 成员名1; 数据类型名2 成员名2; 数据类型名n 成员名n; ;,联合体的大小是成员中占内存最大的成员的大小,union UData short i; char ch; float f; ; union UData x; x.i = 78;,C语言运算符概念及分类,的运算符有以下几类: (1)算术运算符 (+ - * / %) (2)关系运算符 (!) (3)逻辑运。

11、算符 (!|) (4)位运算符 ( |) (5)赋值运算符 (及其扩展赋值运算符) (6)条件运算符 (?:) (7)逗号运算符 (,) (8)指针运算符 (*和) (9)求字节数运算符() (10)强制类型转换运算符( (类型) ) (11)分量运算符(-) (12)下标运算符() (13)其他 (如函数调用运算符(),表达式概念及分类,表达式:由运算符和运算对象(操作数)组成的有意义的运算式子,它的值和类型由参加运算的运算符和运算对象决定。 运算符:具有运算功能的符号 运算对象:常量、变量和函数等表达式 算术表达式、赋值表达式、关系表达式、逻辑表达式、条件表达式和逗号表达式等,强制类型转换。

12、运算符,可以利用强制类型转换运算符将一个表达式转换成所需类型。 一般形式:(类型名)(表达式) 例如: (double) 将转换成double类型 (int)(x+y) 将x+y的值转换成整型 (float)(5%3) 将5%3的值转换成float型,关系运算符及关系表达式,逻辑运算符及逻辑表达式,位运算符,复合运算符,条件运算符,条件运算符? : 条件运算符? :是一个三目运算符, 其运算的一般形式是: ? : 例如, int x=82, y=101; x = y ? x+18 :y-100 /运算结果为1 x (y-11) ? x-22 : y-1 /运算结果为60,长度运算符 sizeo。

13、f,长度运算符 sizeof 单目运算符,计算变量或数据类型的字节长度 int a; sizeof(a) 求整型变量 a 的长度,值为4(bytes) sizeof(int) 求整型的长度,值为4 (bytes) sizeof(double) 求双精度浮点型的长度,值为8 (bytes),课程目标,实训项目,C数据的输入与输出,C语言流程控制,数据类型、运算符和表达式,计算机程序基础及基本概念,if else 语句,if (表达式) 语句块1 else 语句块2 例: if(x y) z = x else z = y,if else if else 语句,if(表达式1) 语句块1 else 。

14、if(表达式2) 语句块2 else if(表达式3) 语句块3 else if(表达式4) 语句块4 . else 语句块n,if语句的嵌套,if() if() 语句块1 else 语句块2 else if() 语句块3 else语句块4 if语句中if与else的配对关系为 else总是与它上面的最近的if配对.,switch语句,switch (表达式) case 常量表达式1:语句块1;break; case 常量表达式2:语句块2; break; . case 常量表达式n:语句块n; break; default:语句块n+1 ,for语句构成循环 例如:求 将变化为: for(i。

15、=1;i=100;i+) sum=sum+i; ,循环语句,While循环 例如:求 int main() int i=1,sum=0; while (i=100) sum=sum+i; i+; printf(“%d”,sum); return 0; ,break语句,用于从循环体内跳出循环体,即提前结束循环。 break只能用在循环语句和switch语句中. for(r=1;r100) break; printf(“%f”,area); ,continue语句,结束本次循环,接着判定下一次是否执行循环。 continue与break的区别: continue只结束本次循环,而break终止本。

16、层循环. 例: int main() int n; for(n=100;n=200;n+) if (n%3 = 0) continue; printf(“%d”,n); ,课程目标,实训项目,C数据的输入与输出,C语言流程控制,数据类型、运算符和表达式,计算机程序基础及基本概念,格式化输出函数 printf,printf输出函数用来向控制台输出格式化字符串。 函数原型:int printf(const char *format,.); format参数用来指定输出格式,格式控制说明符号 %。 例: int x = 4 float y = 3.5 char str=“hello” printf(。

17、“x = %dn”,x); printf(“y = %fn”,y); printf(“str = %sn”,str);,常用格式转换说明符,格式化输入函数 scanf,scanf格式化输入函数用来从标准输入设备(键盘)读取信息。 函数原型:int scanf(const char *format,); format参数用来指定输出格式,格式控制说明符号 %。 例: int x; float y; char str10; scanf(“%dn”,字符的输入函数getchar,getchar用来从标准输入流中读取字符 当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区。

18、中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符 回显用户输入字符到屏幕 例: #include int main(int argc,char *argv) char c; while(c=getchar()!=#) printf(hello!n); return 0; ,字符输出函数putchar,字符输出函数putchar:用来向终端输出一个字符。 例: char ch1, ch2; ch1=getchar(); ch2=getchar(); putchar(ch1); putchar(#); putchar(ch2);,课程目标,实训项目,C数据的输入与输出,C语言流程控制,数据类型、运算符和表达式,计算机程序基础及基本概念,实训项目,编写一个程序,显示一个菜单,为你提供加法,减法,乘法或除法的选项。选择后,该程序请求2个数,然后执行你所选择的操作,输出运算结果。如果用户输入的数非法,则提示用户非法输入,要求重新输入数据。,Thank You。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目:使用AngularJs编写的简单 益智游戏(附源代码)  这是一个简单的 javascript 项目。这是一个拼图游戏,也包含一个填字游戏。这个游戏玩起来很棒。有两个不同的版本可以玩这个游戏。你也可以玩填字游戏。 关于游戏 这款游戏的玩法很简单。如上所述,它包含拼图和填字游戏。您可以通过移动图像来玩滑动拼图。您还可以选择要在滑动面板中拥有的列数和网格数。 另一个是填字游戏。在这里你只需要找到浏览器左侧提到的那些单词。 要运行此游戏,您需要在系统上安装浏览器。下载并在代码编辑器中打开此项目。然后有一个 index.html 文件可供您修改。在命令提示符中运行该文件,或者您可以直接运行索引文件。使用 Google Chrome 或 FireFox 可获得更好的用户体验。此外,这是一款多人游戏,双方玩家都是人类。 这个游戏包含很多 JavaScript 验证。这个游戏很有趣,如果你能用一点 CSS 修改它,那就更好了。 总的来说,这个项目使用了很多 javascript 和 javascript 库。如果你可以添加一些具有不同颜色选项的级别,那么你一定可以利用其库来提高你的 javascript 技能。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值