LECTURE 2 C程序设计2.docVIP

  • 2
  • 0
  • 约4.58千字
  • 约 10页
  • 2017-05-12 发布于河南
  • 举报
LECTURE 2 C程序设计2

程序设计基本概念 程序设计语言发展,compile,link 算法特征:有穷性、确定性、可行性、零个或多个输入、一个或多个输出 结构化程序设计的3种基本结构 C程序设计初步 简单C程序基本构成 C语言源程序由函数构成,每一个函数完成相对独立的功能; 程序中必须有一个main()函数,C 程序总是从main()开始执行; 每个语句以“;”结束; 程序注释应包括在“/*”与“*/”之间 常量、变量和标识符 1)标识符的命名规则: 字母或下划线开始的字母、数字、下划线组合; 区分大小写; 不能与关键字、库函数同名; 应注意“见名知意” 2)常量 整形常量:十进制、八进制、十六进制常量 36、044、0X24 实型常量:小数形式、指数形式 .618、6.18e-1 字符常量:用单引号括起来的一个字符。包括字符和转义字符(3类) 字符串常量 符号常量 整型数据(常量和变量)、实型数据(常量和变量) 表达式和运算优先级(自加/减运算,逗号表达式) 运算符的优先级和结合性优先级 运算符 种类 结合性 ( ) [ ] - . 双 从左到右 + - ++ -- ! ~ * sizeof (类型) 单 从右到左   单 从左到右 * / %   双 从左到右 + -  双 从左到右   双 从左到右 = = 双 从左到右 = = ! =  双 从左到右 双 从左到右 ^ 双 从左到右 | 双 从左到右 双 从左到右 | | 双 从左到右 ? : 三 从左到右 = 复合赋值运算 双 从右到左 , 双 从左到右 While语句 DO-WHILE语句 FOR循环 循环嵌套 break, continue语句 典型算法:数列、统计、素数、迭代法求方程根、打印图形、穷举法求不定方程解 字符型数据 字符常量 普通字符、转义字符、字符串常量、字符运算 字符变量 定义,和int间混合运算 字符输入输出 printf ( ), scanf ( ); putchar ( ), getchar ( ) 函数 库函数 #include “math.h” //pow(),fabs( ), sqrt( ), …… 函数的定义和返回值 函数定义的格式,返回值的类型和return语句 函数的调用,函数的说明 值传递和地址传递,函数调用时数据传递的3种方式 典型例题 地址和指针 变量的地址和指针 指针变量的定义和指针变量的基类型 给指针变量赋值 对指针变量的操作 函数间地址值的传递 数组 一维数组的定义和数组元素的引用 一维数组和指针 函数调用时对一维数组和数组元素的引用 典型应用:排序、二分查找、统计 二维数组 指向二维数组的指针 对于数组int a[m][n],可以用以下几种方法引用a[i][j]: a[i][j] 、*(a[i]+j)、*(*(a+i)+j)、(*(a+i))[j]、*(a[0][0]+n*i+j ); 若定义int *p[m] 字符串 一维数组存放字符串 指针指向字符串 字符串的输入和输出 printf ( ), sanf ( ); gets( ), puts( ) 字符串数组 程序举例 对函数的进一步讨论 传给main函数的参数 通常我们在写main()时是不带参数的,但事实上它可以用两个参数,格式为: main(int argc, char **argv) 或main(int argc, char *argv[ ]) argc :运行程序所带参数的个数 int类型 argv:指向字符型指针数组的指针。程序运行时,参数分别以字符串形式存放在内存,argv[0]指向.exe文件名;argv[1]指向第1个参数;argv[n]指向第n个参数。 例如:将下面的程序以文件名eg1.c存盘,编译连接成生可执行文件eg1.exe。在命令行方式输入eg1 abc de f(回车),输出结果应为 (eg1.c) main(int argc,char **argv) { int i; printf(argc=%d\n,argc); for (i=1;iargc;i++) printf(%s ,argv[i]); } *通过实参向函数传递函数名或指向函数的指针变量 函数的递归调用 凡是可以写成初始条件+递推式的问题,都可以用递归方法解决。 例:求a的平方根。使用递推公式 (eg2.c) C中用户定义标识符的作用域与存储类 局部变量、全局变量——生存期、作用范围 存储分类:a

文档评论(0)

1亿VIP精品文档

相关文档