报告人:吴宪云2018.10.21;这次报告比较局限于 C 语言,不会讲太多其他高级语言比如 C++, JAVA, PYTHON 等等,刚进实验室的学生我的建议是先学好 C 语言,掌握项目开发中软件的开发目的,开发流程,测试流程等。注意,做这个报告的目的是希望大家能够开发出高效的 C 程序,而不是让大家开发出复杂高难度高技巧的 C 程序。;提纲;开发软件;一、C语言基础;标识符只能是字母、数字、下划线组成的字符串,并且其第一个字符必须是字母或下划线。 以下标识符是合法的:a, x, _3x, BOOK_1, sum5 以下标识符是非法的:3s 以数字开头; s*T 出现非法字符*; -3x 以减号开头; ;在使用标识符时注意以下几点:标准 C 不限制标识符的长度,但它受各种版本的 C 语言编译系统限制,同时也受到具体机器的限制;在标识符中,大小写是有区别的。例如 BOOK 和 book 是两个不同的标识符;标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便阅读理解,作到“顾名思义”。 int ImgWidth;;1、匈牙利命名法:开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写。int iMyAge; “i”是int类型的缩写;?char cMyName[10]; “c”是char类型的缩写;?float fManHeight; “f”是float类型的缩写;2、驼峰规则:又叫小驼峰式命名法。?第一个单词首字母小写,后面其他单词首字母大写。int myAge;?char myName[10];?float manHeight;3 . 帕斯卡命名法:又叫大驼峰式命名法。每个单词的第一个字母都大写。int MyAge;?char MyName[10];?float ManHeight;;关键字是由 C 语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键字相同。C 语言的关键字分为以下几类:;C 语言中运算符与变量,函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成,如 >,<=,&& 等。;(5)常量;什么是字节对齐,为什么要字节对齐?;(1)什么是字节对齐?;(2)为什么要字节对齐?;(3)大小端(例程);(3)大小端(例程);(3)大小端(例程);// 作者版权版本说明,头文件声明,全局变量,函数声明,预处理块
#include #include ”global.h”void output(); // 子函数声明
int main(int argc, char *argv[]){int i,j;unsigned char *data; //定义局部变量// 分配数据空间,分配在堆上data = (unsigned char *)malloc(1000*sizeof(unsigned char));for(i…) {}// 调用子函数output();// 释放分配空间free(data);data=NULL;}
void output(){…}; #ifndef GRAPHICS_H (作用:防止graphics.h被重复引用) #define GRAPHICS_H #include.... (作用:引用标准库的头文件) #include... (作用:引用非标准库的头文件) void Function1(...); (作用:全局函数声明) class Box (作用:类结构声明) {}; #endif;在头文件中,用 ifndef/define/endif结构产生预处理块,用 #include 格式来引用库的头文件。头文件一般由三部分内容组成:;头文件的主要作用在于调用库功能,对各个被调用函数给出一个描述,其本身不包含程序的逻辑实现代码,它只起描述性作用,告诉应用程序通过相应途径寻找相应功能函数的真正逻辑实现代码。用户程序只需要按照头文件中的接口声明来调用库功能,编译器会从库中提取相应的代码。; 注意:1) 在 .h文件中声明的函数,如果在其对应的 .c 文件中有定义,那么我们在声明这个函数时,不使用 extern 修饰符, 如果反之,则必须显示使用 extern 修饰符; 2) 不要在 .h 文件中编写实现代码,不要 #include “.c”文件。;所有全局变量尽量以 g_ 开头,并且尽可能声明成 static 类型;