C语言复习 - 第三章

转义字符

\' - '        \" - "        \? - ?        \\ - \        \a - 警告        \b - 退格        \f - 换页        \n - 换行       

\r - 回车        \t - 水平制表符        \v - 垂直制表符

\o,\oo或\ooo - 与该八进制码对应的ASCII字符

\xh - 与该十六进制码对应的ASCII字符

符号常量,用#define指令,指定用一个符号名称代表一个常量。

#define PI 3.1415                                //注意行末没有分号

将所有的PI置换为3.1415 - 不占内存,只是一个临时符号代表一个值,在预编译后这个符号就不存在了,故不能对符号常量赋新值。

常变量:在定义变量时,前面加一个关键字const - 具有变量的基本属性:有类型,占存储单元,只是不允许改变其值。

在存储单元中的存储方式:用整数的补码形式存放。

一个正数的补码是此数的二进制形式

负数的补码:先将此数的绝对值写成二进制形式,然后对其所有二进制位按位求反,再加1.

int - 默认:有符号类型        unsigned int - 无符号类型

只有整型(包括字符型)数据可以加signed或unsigned修饰符,实型数据不能加。

%d格式输出十进制整数;%u格式输出无符号十进制数;%c格式输出字符

字符型数据(字符对应的ASCII码值)

'A'~65;'a'~97;'1'~49;' '~32;'%'~37;'\n'~10;'\0'~0;'0'~48

整数运算符1+1等于整数2,而字符‘1’+‘1’并不等于整数2或字符2。(字符的‘1’,类似指代数字1样式的图,而非指数字1)

浮点型

float型数据能得到6位有效数字 - 范围:-3.4*10^-38~3.4*10^38 - 最小正数:1.2*10^-38

double型数据能得到15位有效数据

可以在常量的末尾加专用字符,强制指定常量的类型,如加F或f,表float;加L或l,表long double

两个实数相除的结果是双精度实数;

两个整数相除的结果是整数 - 若其中一个是负数,还是整数,但是结果不确定,视编译器而定

除%以外的运算符的操作数都可以是任意算术类型。

+ - * /运算的两个数字中有一个数为float或double型,结果是double型;int与float或double型数据运算,结果是double型。

字符(char)型数据与整型数据进行运算,就是把字符的ASCII代码与整型数据进行运算。

//给定一个大写字母,用小写字母输出
char c1,c2;
c1 = 'A';
c2 = c1 + 32;
printf("%c\n",c2);
printf("%d\n",c2);

一个函数包含声明部分和执行部分

C语言语句分为5类,

第一类:控制语句 共9种

if( )…else…        - 条件语句

for( ; ; )…            - 循环语句

while( ) …           - 循环

do…while( )…     - 循环

continue               - 结束本次循环

break                    - 中止执行switch或循环语句

switch                   - 多分支选择语句

return                    - 从函数返回

go to                      - 转向,现在基本不用。

第二类:函数调用语句        三类:表达式语句        四类:空语句(只有一个分号)        五类:复合语句

赋值过程中的类型转换

1、将浮点型数据(包括单、双精度)赋值给整型变量先对浮点数取整,即舍弃小数部分,然后赋予整型变量。

2、将整型数据赋值给单、双精度变量时,数值不变,但以浮点数形式存储到变量

3、double型赋给float型,先将双精度数转为单精度,即只取6~7位有效数字,存储到float型变量的4个字节中。注意双精度数的大小范围

4、字符型数据赋给整形数据,将字符的ASCII代码赋给整型变量

5、将一个占字节多的整型数据赋给一个占字节少的整型变量或字符变量时,只将其低字节原封不动地送到被赋值的变量。

赋值表达式和赋值语句:赋值表达式可出现在其他表达式中

scanf        printf 分别是输入输出函数,还有其他的输入输出函数

getchar(输入字符)        putchar(输出字符)        puts(输出字符串)        gets(输入字符串)

scanf:在输入数据时,应在对应的位置上输入同样的字符 - 在“%c”格式声明输入字符时,空格字符和转义字符中的字符都作为有效字符输入。

格式字符

d - 有符号的十进制整数        u - 无符号十进制整数        c - 字符         s - 字符串

f - 输出实数(包括单、双精度,长双精度)以小数形式输出        e/E - 以指数形式输出

o - 八进制形式        x - 十六进制形式

格式附加字符

%ld:长整型整数        %m.nf:指定数据宽度和小数位数        %-m.nf:输出的数据向左对齐

读取一行字符 - 结束的标识'\n'

数据都隐含右对齐,如果想左对齐,可以在格式控制中的“%”和宽度之间加一个“-”号来实现;在printf和scanf函数都可以指定数据的宽度;复合语句可以由任意多条语句构成,也可以一条没有

printf("x=%0.5\n",x);        - 保留小数位数为5

"%8.6f"代表总共8位宽度,包括小数点,小数点后有6位小数。

%在C语言中有两个作用:一是用作取余数运算符,另一个用作转义符。

scanf("%d%d%d",&a,&b);        程序从键盘正确地读入前两个数据并且保存在指定的地址,读入第三个数据后,将其放入缓冲区然后寻找应该存放的地址,因为没有找到,程序会发生错误而中断

在输入多个字符串时,系统会把空格字符作输入的字符串之间的分隔符。

输入55666 777123在scanf("%2d%f%s",&j,&k,name);        j的值为55,y的值为666

isalpha(kk)是判断kk是否是字母的函数

位运算的对象只能是整型或字符型数据,不能是其他类型的数据

右移运算时,对于无符号整数和正整数,高位补0;对于负整数,高位补1.

位运算符:~ - 按位求反        << - 左移        >> - 右移        & - 按位与        | - 按位或

^ - 按位异或(两个操作数相同得0,不同得1)        |优先级高于&

//把形参a所指数组中的偶数按原顺序依次存放到a[0],a[1]……中,把奇数从数组中删除,偶数个数返回
int fun (int a[],int n)
{
    int i,j;
    j = 0;
    for (i=0;i<n;i++)
    {
        if(a[i]%2==0)

        {
            a[j]=a[i];
            j++;
        }
    return j;
}
//将s所指字符串中除了下标为奇数,同时ASCII值也为奇数的字符之外,其余的所有字符都删除
void fun( char *s,chat t[])
{
    int i,j=0,n;
    n = strlen(s); //字符串长度
    for ( i = 0 ; i < n ; i++)
    {
        if ( i%2!=0 && s[i]%2!=0 )
        {
            t[j] = s[i];
            j++;
        }
    }
    t[j] = '\0';
}

  • 23
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
以下是数据结构用c语言描述第三版期末考试复习的内容: 1. 数据结构的基本概念和分类 - 数据结构的定义和意义 - 线性结构、树形结构、图形结构的概念及其特点 - 静态存储结构和动态存储结构的概念及其区别 2. 线性表 - 线性表的定义和基本操作(初始化、插入、删除、查找、遍历等) - 线性表的顺序存储结构和链式存储结构的实现及其优缺点 - 线性表的应用 3. 栈和队列 - 栈和队列的定义和基本操作(入栈、出栈、入队、出队等) - 栈和队列的顺序存储结构和链式存储结构的实现及其优缺点 - 栈和队列的应用 4. 串 - 串的定义和基本操作(插入、删除、子串、匹配等) - 串的存储结构及其优缺点 - 串的应用 5. 树和二叉树 - 树和二叉树的定义和基本概念(根节点、叶节点、度、深度等) - 二叉树的遍历方法(前序遍历、中序遍历、后序遍历、层序遍历) - 二叉树的存储结构(顺序存储结构和链式存储结构)及其优缺点 - 线索二叉树的概念及其应用 6. 图 - 图的定义和基本概念(顶点、边、度、路径、连通性等) - 图的存储结构(邻接矩阵、邻接表)及其优缺点 - 图的遍历算法(深度优先遍历、广度优先遍历) - 最小生成树算法(Prim算法、Kruskal算法) - 最短路径算法(Dijkstra算法、Floyd算法) 以上是数据结构用c语言描述第三版期末考试复习的内容,希望对你有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值