程序设计基础(1)复习

2026/1/12 23:40:46

1

程序设计基础(1)复习参考

一、C语言基础

C语言程序的组成特点、标识符、C语言的数据类型、常量和变量、运算符及表达式、格式输入和格式输出函数、控制结构

1、十进制整型常量、八进制整型常量和十六进制整型常量 整数:十进制整数(非0开头)、八进制整型(0开头) 十六进制整型(0x/0X开头)、长整型(后加l或L) 实数:十进制整数、指数形式

字符:?? 转义字符:\\0 \\n \\t \\ddd八进制数 \\xdd十六进制数 字符串常量:字符串结束标志:\\0 “”符号常量( #define) 2、变量 整型变量

基本型 int x (2字节) -32768~32767 短整型 short int x (2字节) -32768~32767

长整型 long int x (4字节) -2,147,483,648~2,147,483,647 无符号型 unsigned int x (2字节) 0~65535 unsigned short x(2字节) 0~65535

unsigned long x (4字节) 0~4,294,967,295 实型变量

单精度 float x (4字节)3.4x10-38~3.4x1038 双精度 double x (8字节)1.7x10-308~1.7x10308字符变量: char c (1字节) 在内存中的存储方式 ‘A?+32 各类数值间的混合运算

整型、字符型、单精度型、双精度型数据——可以混合运算 字符型、整型——可以通用

3、运算符

①左结合方向的运算符:算术(%必须是整数)、关系、逻辑、逗号②右结合方向的运算符自增、自减、赋值(赋值号\左边是必须是变量)、条件③运算符的优先次序 ()、!++/--/-转移、算术、关系(<<=>>=)、关系(= = !=)、&&、||、条件(?)、赋值、逗号

④混合运算中的强制类型转换 ⑤逻辑运算中的求值短路

5>3&&2||8<4-!0 1||∞ (结果1)0&&∞ (结果0) 如:a&&b&&c a<>0才判断a&&b例:1) -a++ 相当于 -(a++)

2) x=4,y=7 求:y+=++x-3 x的值5 y的值9 3) x=4,y=7 求:y=y+++x-3 x的值4 y的值9

4) a=7,x=2.5,y=4.7 求:s=x+a%3*(int)(x+y)%*2/4 s的值2.500000

2

a%3*(int)(x+y)%*2 =》 1(整型) / 4 (整型) =》0.25 =》0(整型)

4、printfh scanf(取地址&)中的格式控制符 d,i 带符号十进制形式

u 无符号十进制形式 例3-3 c 字符形式 s 字符串形式

f 实数(小数)形式 默认6位小数

l —— 输出长整型或双精度数据 即:printf( “%ld, %lf ” , i, y ) h —— 输出短型数据 即:printf( “%hu ” , a ) -m.n m最小宽度 n小数(实数) -左对齐 5、控制语句

①条件:if else 多分支:switch 分支终止: break ②循环:for() while() do while()

循环结束:continue 终止循环或switch:break 死循环 基本例子:数列、素数、最大小、3个数排序、大小写转换

二、指针与数组

指针变量的定义、指针变量的赋值、对指针变量的操作、移动指针操作、指针的比较(数组)、指向指针的指针变量、C语言的内存动态分配函数、一维数组的定义和元素的引用、一维数组和指针、二维数组的定义和元素的引用、二维数组和指针、字符数组与字符串 1、数组

①数组名、最小(大)下标、定义、初值、引用(循环)、字符数组和字符串(初值)、二维数组下标顺序 假设 m×n的数组a, 计算a[i][j]序号的公式: i×n+j

每一维的下标从0开始,整个数组元素为:5×6=30个 二维数组中元素排列的顺序是按行存放 ②典型例子:

排序(选择、冒泡)、二维数组行列转换、矩阵求最大元素及行列号、打印图形(三角)③字符串数组函数:strcat /strcpy/strcmp /strlen scanf ( “%s”, c ); c不用加地址符& 2、指针

指向一般变量指针:定义、赋值、运算、*与&的组合使用

指向数组变量:指针赋值(数组名)、指针运算(元素)、下标法(指针法) 数组指针作函数参数

指向字符串指针:定义、赋值、输入、输出

典型例子:排序、素数、折半查找、串复制、串连接、首尾交换、成绩统计

①指针的数据类型

a)int i; char c; float f; 定义各种变量的数据类型

3

b)int *p; char *p; float *p; 定义指向各种变量的指针类型

c)int a[n]; char a[n]; float a[n]; 定义各种类型数组,它有n个元素 d)int *p[n]; char *p[n]; float *p[n]; char *p[ ]={“123”, “12”, “12345”, “1”} e)int (*p)[n];

定义p为指向含n个元素的一维数组的指针变量,p的增值以一维数组的长度为单位。

即:p+1指的元素是原来p指向的元素的下一个元素。 例: float (*f )[5] ;

即定义了一个指向一维浮点数的指针,*f有5个元素,f的值是该一维数组的首地址;注:f不能指向一维数组中的第j个元素。 如果f指针地址为:1000

当:f[0]+i,指针就指向其后的4×i个单元,即f[0]+2=1000+8=1008 可用于处理二维数组(a[3][4]) 说明:1)f+i可表示二维数组a的第i行的地址

注:f+2和*(f+2)表示第二行首地址,具有相同的值 2)*(f+2)+3表示a数组第2行第3列元素地址 注:(f+2)+3与*(f+2)+3的值不相同

3)*(*(f+2)+3)表示a数组第2行第3列数组元素,即a[2][3]

②指针的运算

a)指针变量加(减)一个整数

例如:p++、p--、p+i、p-i、p+=i、p-=i

说明:p+i代表地址计算:p+c*i,c为系数(整c=2实c=4字符=1) 表示p指向下面第i个元素 b)指针变量赋值

将一个变量地址赋给一个指针变量 p=&a ;将变量a的地址p

p=array ;将数组array首地址赋给p

p=&array[i] ;将数组array第i个元素的地址赋给p

p=max ;max为已定义的函数,将max的入口地址赋给p p1=p2 ;p1和p2都是指针变量,将p2的值赋给p1 注意:1)不能把一个整数赋给指针变量,即p=1000

2)指针变量可以有空值,即该指针变量不指向任何变量 p=NULL ;NULL实际是整数0 c)两个指针变量可以相减

如果两个指针指向同一个数组的各个元素,则两个指针变量值之差是两个指针之间的元素个数。

如:p1=a[1] p2=a[5] p2-p1=5-1=4 p1+p2 无意义

4

d)两个指针变量比较

如果两个指针指向同一个数组的各个元素,则两个指针变量可以比较它们的大小。 即: p1>p2 、 p2>p1

三、函数

1、函数定义、说明、调用、返回值

2、函数间的参数传递:值传递、地址传递(数组名、共享存贮区) 3、头函数

4、函数递归调用(阶乘) 5、变量作用域局部变量:自动变量(函数内):离开函数,值消失 定义auto int a 函数内定义

静态局部(函数内):离开函数,值保留 定义static int a函数内定义 寄存奇(函数内):离开函数,值消失 定义 register int a函数内定义 全局变量:静态外部(函数内,本文件) 首字母大写 使用static声明(可多次声明) 定义 ertern int A 函数外定义,用static声明(内外均可) 非静态外部变量(项目内所有文件)首字母大写 非动态,编译时分配内存 定义 ertern int A 函数外定义


程序设计基础(1)复习.doc 将本文的Word文档下载到电脑
搜索更多关于: 程序设计基础(1)复习 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219