C语言程序设计一小时复习(谭浩强老师那本)

抽时间复习了下C程序复习(谭浩强老师那本书)。基础要打牢。

一、二、介绍部分

1。C程序在UNIX系统下运行 cc a.c 默认的所有输出为 a.out.    可改,如: cc -o f.out f.c

2。程序包括两个方面,一是对数据的描述也就是数据结构;二是对操作的描述也就是算法。

3。算法是为解决一个问题采取的方法和步骤。

4。算法特性:有穷性,确定性,有限输入输出,有效性。

5。流程图:起止(椭圆),输入输出(平行四边形),判断(菱形),处理(长方形),流程线(-->),连接点(小圆)。


三、数据类型、运算符、表达式

1。C的数据类型:

     1)基本类型:整型,字符,浮点,枚举

     2)构造类型:数组,结构体,共用体

     3)指针类型

     4)空类型

2。整型: 8进制 0开头, 16进制 0x开头

3。整型在内存中是二进制且以补码存放的占2个字节16位。正数的补码和其原码相同,负数的补码为符号位为1,其它位按位取反再加1。
     整型范围:-32768(2^15) ~~32767 (2^15 - 1)    unsigned (0-2^16)

     注(INT):32767+1=-32768,原因,  +1后,符号位为1,其它为0,这是-32768的补码形式。如下:

    1000000000000000 为-32768

    1000000000000001 为-32767

    1000000000000010 为-32766。。。。。。

     区别反码,正数不变,负数将原码除符号位外取反。

 

     实型(4个字节,32位)实型数据是按指数形式存放的。 数符位,+小数部分:.314159,还有指数部为为10的几次方。

 

4。字符型:

     1)转义字符:/n, /t(8列), /b回退, /r回车不换行, /f换页, //

     2)存的是ASCII码, 'a' 97 整型可与字符转换,A 65

     3)C中没有专门存放字符串的变量,用字符数组。

5。类型转换: char, short-->int; float-->double; int-->unsigned-->long-->double

6。运算符:

     1)算术:+-*/%

     2)比较:>, <, >=, <=, ==, !=

     3)逻辑:|| && !

     4)位:<< >> ~ | ^ &

     5)赋值:=

     6)条件:?:

     7)指针:*&

     8)求字节: sizeof

     9)分量:. ->

     10)强制转换:()

逗号, 语句值为最后一个。且顺序执行。

printf("%d",-i++) 先取i值,再取负输出,再加1

 

 

 

四、顺序程序设计

1。C 语句

     1) 控制语句: if()~else~; for(); while; do~while(); continue; break; switch; goto; return;

     2) 函数调查用语句: printf("  ");

     3) 表达示语句:a=3; i++;

     4) 空语句

     5) {} 复合语句(分程序)

2。 赋值语句:可以加分号成表达式,也可以在其它语句中

3。 C的标准库中的输入输出函数:putchar(输出字符)、getchar(输入字符)、puts(输出字符串)、gets(输入字符串)、printf函数和scanf函数。 无输入输出可以使程序编译简单,不与硬件相关。

4。 使用库函数时,要用预编译命令“#include ”将相关头文件包在用户源文件中。 标准输入输出库要用 #include <stdio.h> 其中用printf函数和scanf函数可以不加

5。 字符数据的输入输出: putchar('A'),  char c=getchar(a)

6。 格式输出 unsigned int a=65535; printf("a=%d,%o,%x,%u", a,a,a,a) 输出为:a=-1, 177777, ffff, 65535

注:各进制数之间的转换:十进制转为N进制除N取余。从尾到头串。

如65535 十进制转化为八进制

65535 / 8

8191           余 7

8191 /8

1023           余 7

1023 /8

127             余 7

127 /8

15               余 7

15/8

1                 余 7

1/8             

0                 余 1

结果为17777

 

N进制转成十进制: 按位* N的M次方求和  17777(八进制转成十进制) 1*(8^5)+7*(8^4)+7*(8^3)+7*(8^2)+7*(8^1)+7*(8^0)

 

其它二、八、十六转,全转成二再转其它。

 

7。 想输出%时要写成%%

8。 格式输入:scanf*("%d",&a); 输入多个时可用空格,逗号,回车或组合都可以。

9。 %s 输入,字符串,放在一个字符数组中,以/0结尾

10。输入时%*表示跳过去不给任何变量。

 

 

五、选择结构程序设计

1。 关系运算符优先次序: <, <=, >, >=相同,高于 ==, !=

2。 运算符优先级为: 算术,关系,赋值

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值