C程序设计期末复习:知识点总结
1. 算法及流程图表示
(1)程序流程图 : 可以表示结构化算法和非结构化算法,用箭头表示执行顺序
(2)N-S : 只能表示结构化算法,用上下关系表示执行顺序
(3)基本算法
交换两个变量的值
最大公约数的欧几里德算法
判断是否是素数
从多个数中最大最小值
冒泡排序法(数组)
直接选择排序法(数组)
折半查(数组)
2. 程序代码之——预处理部分
(1)预处理的作用 : 编译之前根据预处理命令对源代码进行修改
(2)文件包含 : 为代码中的函数提供声明
#include <stdio.h>
        scanf( )  : 格式化输入
        printf( )  大一期末c语言必考知识点: 格式化输出
        gets( )    : 输入一行字符串
        puts( )    : 输出一行字符串
#inlcude <math.h>
        sin( )    : 求正弦值
        cos( )    : 求余弦值
#include <stdlib.h>
        malloc( )  : 分配指定字节的内存空间,返回该空间的起始地址
        free( )    : 释放所分配的内存空间
#include <string.h>
        strlen( ) : 求字符串的长度(实现机制)
        strcpy( ) : 字符串拷贝(实现机制)
        strcat( ) : 字符串连接(实现机制)
(3)宏定义 : 掌握如何定义符号常量
#define PI 3.14
3. 程序代码之——注释部分
(1)注释的作用 : 只供人阅读,编译器跳过这些字符不予处理
(2) /*  */  : 块注释,可跨多行
(3) //        : 行注释,从//开始至本行结束的字符为注释内容
4. 程序代码之——常量的表示
(1)整数表示 :
8进制整数的表示  : 0开头表示8进制整数
16进制整数的表示  : 0x开头表示16进制整数
8进制数的常见错误 : 01238, 048 (只能用0~78个数码)
(2)浮点数表示 :
小数表示形式 : 必须有小数点,如3.14
指数表示形式 : <小数或整数形式>E<整数形式>,如10E10
(3)字符 : ''限定的一个字符
'a'  : 小写字母a,其值为97
'A'  : 大写字母A,其值为65
'0'  : 数字0,其值为48
'\n' : 转义字符换行,其值为10
'\0' : 字符串结束符,其值为0
(4)字符串 : ""限定的一个字符序列,含有字符串结束符'\0'
5. 程序代码之——标识符
(1)标识符的功能 : 用来为变量、数组、函数命名
(2)标识符的命名规则 : _或字母开头,由_、字母和数字组成,不能用关键字
(3)C语言大小写字母敏感 : IFifIfiF不相同
6. 程序代码之——变量及其数据类型
(1)字符型变量的关键字
      signed(有符号)  unsiged(无符号)  char(1字节)
(2)整型变量的关键字
      signed(有符号) unsiged(无符号)
      short(2字节) int(4字节) long(4字节)
      char ch=0xFF;
      short s=0xFFFF;
      int i=0xFFFFFFFF;
      long l=0xFFFFFFFF;
(3)实型变量的关键字
      float(4字节) double(8字节)
(4)字符变量的输入和输出
      char ch;
      scanf("%c",&ch);
      printf("%c",ch);//以字符形式输出
      printf("%d",ch);//以整数形式输出
(5)整型变量的输入和输出
      int i;
      scanf("%d",&i);
      printf("%d",i);
(6)实型变量的输入和输出
      float a;
      double b;
      scanf("%f%lf",&a,&b);
      printf("%f%f",a,b);
7. 程序代码之——运算符和表达式
(1)运算符及优先级
(15)    () []
(14)    ~(位运算) 、! ++ -- & * sizeof  ()
(13)    * %
(12)    + -
(11)    <<(位运算) >>(位运算)
(10)    > <  >= <=
(9)    == !=
(8)    &(位运算)
(7)    ^(位运算)
(6)    |(位运算)
(5)    &&
(4)    ||
(3)    ? :  ()
(2)    = *= /= += -=  ()
(1)    ,
(2)重点表达式解释
i++++i: 先用i的值,i再增1i先增1,再用i的值
a=1,2a=(1,2): 注意逗号运算符的级别最低,括号可改变优先级
a/ba%b : 除运算和取余运算,%要求两侧都是整数
a&ba&&b : 按位与和逻辑与
a|ba||b : 按或与和逻辑或
a>b?a:b : 条件运算,条件表达式成立,其值为a,否则为b
~a!a :按位非运算和逻辑非运算
8. 程序代码之——语句
(1)语句规则 : 将多条语句书写于一行及将一条语句书写于多行无需特殊处理
(2)if语句:
    if (expression1) statement1 ;
    else if (expression2) statement2 ;
    else if (expression3) statement3 ;
    ……
    else if (expressionm) statementm ;
    else statementn ;
(3)switch语句:
switch(expr){
case const_expr1: statements1;[break]
case const_expr2: statements2;[break]
……
case const_exprn: statementsn;[break]
default : statmentsn+1  ;
}
(4)else 悬挂 : else将和距离最近的、尚未匹配的if语句匹配
if (y != 0)
        if (x != 0)
        result = x / y;
else
        printf("Error: y is equal to 0\n");
(5)switch瀑布 :
switch(n){
        case 1: printf("Monday");
        case 2: printf("Tuesday");
        case 3: printf("Wednesday");
        case 4: printf("Thursday");
break;
        case 5: printf("Friday");
        case 6: printf("Saturday");
        case 7: printf("Sunday");
        default:printf("Invalid number!");
}
上述代码中,若n的值为1,将输出:
Monday Tuesday Wednesday Thursday
(6)while语句 : 当型循环,循环体的执行次数可能为0
    while(control_expr){
          loop_statements;
    }
(7)do语句 : 直到型循环,循环体的执行次数至少为1
    do{
          loop_statements;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。