没有合适的资源?快使用搜索试试~ 我知道了~
C语言基本知识概况与理解.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 132 浏览量
2023-02-27
20:27:29
上传
评论
收藏 623KB PDF 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/87510587/0001-307c787342cda081050d9f6ad7739ee4_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
11页
.
资源推荐
资源详情
资源评论
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/release/download_crawler_static/87510587/bg1.jpg)
C 语言
Note:b 与 B 的区别;
C 语言中无布尔类型;
数据类型、运算符、表达式
1.#include <stdio.h>
2.c 语言除了复合语句外都是以分号作为结束标志。
3.注释用/*和*/
4.程序中的相邻保留字、标示符之间应由空格或回车 /换行作为分隔符,逗号则用于相邻同
类项之间的分隔。
数据类型:
1. 整型可以准确表示某个数,实型不可以(范围也不行,存在舍入)
2. 基本类型:整型、实型(浮点型)、字符型、枚举类型。
3. 构造类型:数组类型、结构体类型、共用体类型。
4. 指针类型和空类型。
除 void 类型外,基本数据类型之前都可以加各种修饰符(Modifier)。
:signed“有符号”可以修饰 int,char。int 默认为有字符,char 默认为无字符。
:long 可以修饰 int,double。Short 可以修饰 int。
Signed 和 unsigned 也可以用来修饰 long int 和 short int,但是不能修饰 double 和 float。
5. 符号位:有无符号的区别在于最高位,符号为 0 时表示正数,符号位为 1 时表示负数。
无符号:;有符号。
原码,补码,反码的转化:负数的补码就是,在符号位不变的情况下,先求得其反码,然后
将其结果加 1。正数的反码,补码与其原码相同。转化发生溢出时舍掉最高位的进位。
6. 标示符
1) 由英文字母、数字和下划线组成,且必须以英文字母或下划线开头。
2) 不允许使用关键字作为标示符名字,同时标示符名也不能与库函数名相同。
3) 标识符的长度为任意长度。
4) 标识符区分大小写。
常量与变量:
ASCII 最大表示在 2∧8 以内即 127。
1. 整型常量:十进制(Decimal),八进制(Octal),十六进制(Hexadecimal)的表示与转
换。
:长整型常量值后跟 L 或 l,无符号整型常量值后跟 U 或 u。
2.实型常量:必须有小数点,0 可以省略,指数形式以 e 或 E 来表示以 10 为底的指数。单
精度实型常量后跟 F 或 f。
![](https://csdnimg.cn/release/download_crawler_static/87510587/bg2.jpg)
3.字符常量:C 语言中的字符常量是由单引号括起来的一个字符。包括空格。
转义字符:以反斜线“\”开头的字符序列。利用 ASCII 码值使整型与字符型的转换。
4.字符串常量:双引号内的字符串。
5.宏常量:是指用一个标识符代表的一个常量。#define 标识符 字符串;标识符大写。
6. 枚举常量:利用关键字 enum 来定义类型。
enum response{no,yes,none},enum response answer; 声明了名为 response 的枚举数据
类型,有三种取值,然后定义了个名为 answer 的变量。Response 是枚举标记可省略。
enum {no,yes,none}answer;枚举标记后面的变量表中的每个符号代表的是一个整数值,这些
符号只是一个整数值的名字,不是字符串。默认初始值为 0。
7. 变量:Const 类型修饰符:必须放在它所修饰的类型名之前,用 const 修饰的标识符为常
量,编译程序将其放在只读存储区。因此,const 常量只能在定义时赋初值,不能在程
序中改变其值。
8. 使用变量时的注意事项:
1) 必须遵循“先定义,后使用”。
2) 注意区分变量名和变量值。
3) Int 类型变量隐含的修饰类型,其默认为有符号类型。(程序中的 int 类型都为有符号,
即最大小值与最高位问题。)
4) Char 型数据在任何情况下在内存中都只占 1 个字节。使用 sizeof 获得类型或变量的字长。
5) 注意 char 型数据与 int 型数据之间的关系。只要在 ASCII 码值范围内的 char 与 int 类型数
据之间的相互转换不会丢失信息。
6) 注意实型变量数据的舍入误差:printf 输出时,默认小数点后保留 6 位。单精度变量有
效值是 7 位,双精度有效值是 16 位,超过则后边的数就会发生变化产生误差。
运算符及表达式:
分清说明要求的是表达式还是表达式语句。
1. 运算符的优先级与结合性:算术运算符、关系运算符、逻辑运算符、位运算、顺序求值
运算符=》自左向右;单目运算、三目运算、赋值运算符=》自右向左。
2. 自左向右与自右向左:
3. 算术运算符:*,/,%高于+,-。两类间优先级相同即顺序执行。
1) 两个整数相除的结果仍为整数,舍去小数部分的值。
2) 求余运算限定参与运算的两个操作数为整数(结果与被除数符号相同)。
3) 表达式必须以线性形式写出。sqt(),fabs(),exp(),pow(x,y)。
4.关系运算符:关系运算后的结果即成立或不成立为‘0‘或‘1’即没有大小关系只有数
值 0 或否,但表示真假时用‘0’或‘非 0’。
5.逻辑运算符:同关系运算符结果只有‘0’或 1。
6.赋值运算符:a=b,a *=b+2,a=a +(b+2);
7.增 1 和减 1 运算符:两者作为前缀运算符或后缀运算符使用时,对于变量(即运算对象)
而言,运算都是一样的;但对增 1 和减 1 表达式而言,结果却是不一样的:m=-n++。
8.强制转换运算符:为单目运算符,与其他单目运算符的优先级相同。理解强制类型转换
中括号的使用。
9.位运算符:位运算就是对字节或字内的二进制数位进行测试,抽取,设置或移位等操作。
操作对象只能是标准的 int 和 char 数据类型。‘-’按位取反(单目其余双目),‘<<’,‘>>’
左右移位,‘&’按位与,‘^’按位异或,‘|’按位或。
![](https://csdnimg.cn/release/download_crawler_static/87510587/bg3.jpg)
1)按位与:两个操作数任意一个为 0 时,运算结果对应位就会被置为 0.
2)按位或:两个操作数任意一个为 0 时,运算结果对应位就会被置为 1.
3)按位异或:两个操作数相同则被置 0,不同被置 1.
4)无论左移位还是右移位,从一端移走的位不移入另一端,移出的位信息都丢失了:左移位
空位补 0,右移位无符号时左边补 0,有符号时左边空位补符号位上的值。
(都记忆为关于 1 的操作,“与”表示两个都是 1 才能是 1 否则为 0;“或”表示一个是 1 就
是 1;“异或”表示在两个操作数不同的情况下一个是 1 就是 1。)
10.赋值和表达式中的类型转换:将右侧表达式的值转换成左侧(目标侧)变量的类型。
short,char->int->long->float->double 其中 short 和 char 不会相互转换。
For:设 a, b, c 为 int 型变量,且 a=3, b=4, c=5,下面表达式值为 0 的是:
A) ‘a’ &&’b’ B)a<=b C)a||b+c &&b-c D)! ( (a<b) && !c || 1)
关于逻辑运算(其他运算),“非 0”表示真,“0”表示假。
即 a,b,c 都是真:&&表示两个都是真才为真,||表示一个为真就是真,!表示相反。
A:“a”与“b”都为真所以最后结果为 1
B:根据 a,b 的值 a<=b 的值为真
C:根据运算符优先级 b+c 和 b-c 优先,后从右向左 b+c&&b-c 都为真则结果为 1 后与 a 与则为
真,即结果为 1.
D:根据式子(a<b)为真值为 1,!c 为假值 0,!c||1 值为 1,1 与(a<b)值为 1,括号外!所以
结果为 0.
C 程序设计
表达式与表达式语句的区别:后边加‘;’即构成表达式语句。
基本输入/输出操作:
1. 字符输入/输出:变量=getchar(),putchar(变量);
2. 格式输入 printf(格式控制字符串,输出参数表):
1)%d 或%i 输出带符号的十进制整数,正数的符号省略。
2)%u 以无符号的十进制整数形式输出。
3)%x 和%X 以无符号的十六进制整数形式小写和大写输出,不输出前导符 0x。
4)%c 输出一个字符。
5)%f 以十进制小数形式输出实数(包括单、双精度),整数部分全部输出,隐含输出 6 位小
数,输出的数字并非全部是有效数字,根据单双进度有效数位。
6)%e 和%E 以指数形式输出实数,%e 要求小数点前必须有且仅有 1 位非零数字。
7)%%显示百分号%。
8)%o 以无符号的八进制整数形式输出,不输出前导符 0。
3.函数 printf()中的格式修饰符:
1)英文字母 l:修饰 d,i,o,x,u 时,用于输出 long 型数据。
2)英文字母 L:修饰格式符 f,e,g 时,用于输出 long double 型数据。
3)英文字母 h:修饰格式符 d,i,o,x 时,用于输出 short 型数据。
4)最小宽 m(整数):若 m 为正整数,当输出数据宽度小于m 时,在域内向右靠齐,左边多
剩余10页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/dfba069df9d743e89798b70d3e80af24_xxpr_ybgg.jpg!1)
xxpr_ybgg
- 粉丝: 6561
- 资源: 3万+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)