C语言基础知识Word格式文档下载.docx
《C语言基础知识Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言基础知识Word格式文档下载.docx(53页珍藏版)》请在冰豆网上搜索。
2.运算符与表达式
C运算符简介
0-1分
10%
运算符的结合和优先级
强制类型转换运算符
逗号运算符和逗号表达式
40%
基本的算术运算符
1-2分
算术表达式和运算符的
优先级与结合、自增自减运算符
赋值运算符和赋值表达式
2-4分
简单,重点掌握重点理解
复合的赋值运算符
偏难,不是重点
赋值运算中的类型转换
75%
位运算符和位运算
偏难,属重点识记知识点
二.教学讲点
1.C语言的基本构成和格式
#include“stdio.h”
main()
{
inta,b,sum;
/*定义变量*/
a=10;
/*把整数10赋值给变量a*/
b=20;
/*把整数20赋值给变量b*/
sum=a+b;
/*把两数之和赋值给变量sum*/
printf(“a=%d,b=%d,sum=%d\n”,a,b,sum);
/*输出计算结果*/
}
(1).C程序由函数组成,一个程序必须且只能有一个主函数(main()),C程序总是从主函数开始执行,在主函数中结束。
(2).定义函数时函数名后必须有一对小括号,函数体必须放在一对花括号内,在函数体中,函数体有两个部分:
定义部分和执行部分。
定义语句必须出现在执行语句之前,我们先定义了a,b,sum,然后才给它们赋值。
(3).C语言中每条语句都以分号“;
”结束,分号时C语句的一部分。
即使是程序的最后一个语句也不例外。
分号是语句结束的标志。
(4).一行可以写多条语句,一条语句也可以分在多行上写,但是,不能将一个整体分开。
例如:
int是错误的,而int正确。
(5).C语言的注释必须放在“/*”和“*/”之间,“/”和“*”之间不允许有空格。
“/*”和“*/”之间不允许再插入“/*”或“*/”。
注释可以出现在程序中的任意位置。
注释部分不被执行。
(6).C语言程序书写格式自由,语句可以从任一列开始书写,一行内可以写多个语句。
但是过于“自由”的程序书写格式往往使人们很难读懂程序,初学者应该从一开始就养成好的习惯,是程序便于阅读。
2.标识符
(1)标识符只能由字母、数字和下划线组成。
(2)标识符的第一个字符必须是字母或下划线。
(3)标识符的大小写字母是有区别的,如abc和ABC是两个完全不同的标识符。
(3)标识符的分类:
关键字:
关键字是具有特定的含义的、专门用来说明C语言特定成分的一类标识符。
详细的查阅附录二。
预定义标识符:
在C语言中它也有特定的含义。
预定义标识符可以用位“用户表标识符”使用,只是这将使这些标识符失去了原来的意义。
用户标识符:
由用户根据需要定义的标识符被成为用户标识符。
用户标示符用来给变量、函数、数组或者指针等命名。
3.C语言的数据类型
3.1数据可以分为常量和变量。
常量是指在程序执行中不变的量,常量分为:
整型常数、实型常数、字符常量、字符串常量。
整型数据:
进制间的转换
3.11.二、八、十六进制转为十进制
规则:
“按权相加”
3.12.十进制转为二、八、十六进制
整数部分:
基数除取余,逆序排列
小数部分:
基数乘取整,顺序排列
3.13.二进制转为八、十六进制
三(四)合一,按序相拼(整数部分,从右向左取,小数部分从左向右取,位数不足补零)。
3.14.八、十六进制转为二进制
一分三(四),按序相拼
3.2整型数据在内存中的存放形式
1字节=8位,1Byte=8bit
字长:
指CPU能同时处理的二进制位数。
由CPU的型号而定。
如:
16位微机的字长就是16位或2字节。
1GB=1024MB,1MB=1024KB,1KB=1024B
B:
表示字节,字节是表示存储容量的最小单位。
位(bit):
是计算机中信息表示的最小单位。
3.21.正整数在内存中用“原码”形式存放。
(直接转换为二进制即可)。
5
1
二字节能存放的最大数是:
32767
对带符号数,最高位是符号位,用0表示正,用1表示负。
3.22.负整数在内存中用“补码”形式存放。
取补码的步骤:
(1)忽略负号,求出原码。
(2)将原码按位取反(0、1互换)。
(3)在第二步的基础上加1。
取-5的补码。
(1)
(2)
(3)
将补码转换成相应的整数的步骤:
(1)将补码按位取反加1。
(2)将步骤1得到的二进制数转换成十进制数,然后加上负号即可。
例如:
按位取反加1
+1
转换成十进制:
1×
215=32768
加负号:
-32768
几个特殊的带符号整数:
1000000000000000-32768
011111111111111132767
1111111111111111-1
3.23.无符号整数:
只有正整数,没有负整数,最高位不表示符号位,每一位均参与转换。
二进制
带符号整数
无符号整数
111111*********1
-1
65535
1000000000000000
32768
例2-12:
若有:
inta=-1;
unsignedb=65535;
则
printf(“%d,%u,%d,%u”,a,a,b,b);
输出结果是:
-1,65535,-1,65535
数据益出问题:
例2-13:
若有inta=32767;
则a=a+1的结果是:
例2-14:
若有unsignedb=65536;
则b的值是:
分析:
32767:
01111111111111111
+1
100000000000000
将100000000000000按照带符号数转为十进制为-32768
65535:
+1
11111111
00000000
65536
unsignedb=655536;
而b属于无符号整型,在内存中只占两字节,所以只能包括16位。
标准C没有具体要求规定各类型数据所占内存的字节数,现以这次考试标准viusal
c++6.0为例,说明各类型变量所占的位数。
类型
所占位数
所占字节数
short
16
2
unsigned
int
32
4
long
Float
Double
64
8
3.3实型数据(浮点数)
3.31.实型常量
(1)小数形式:
由数字和小数点组成,必须有小数点,小数点的某一侧可以没有数字。
.23,123.876,123.
(2)指数形式:
用“e”或“E”后接一个整数,表示以10为底的幂数。
“e”或“E”之前之后必须有数字,且之后的数字必须是整数。
他们和前后的数字之间不能有空格。
例2-15:
下列合法的常量是()。
A.-32169B.0128C.0XDEFGD.13E0.5
例2-16:
下列合法的实型常量是( )。
(A)0Xff(B)124E(C)1.23E5.0(D)3.E2(E)1.25E+2(F).23e+02
3.32.实型变量
单精度型float占4字节
双精度型double占8字节
长双精度longdouble占16字节(较少用)
4.表达式与运算符
4.1算术运算符及其表达式:
+-*/%
%:
(求余运算)
(1)%两边必须是整型数据。
12.0%3表达式是错误的。
(2)求余(%)的方法是:
忽略符号,求出余数,再将所得余数的符号定为与被除数相同。
17%3结果是:
17%-3结果是:
2,-17%3结果是:
-2,-17%-3结果是:
-2
4.2强制类型转换
强制类型表达式:
(类型名)表达式
类型名(表达式)这种形式是C++的强制类型表达方式。
5.赋值运算符及其表达式
5.1.赋值运算符=
格式:
变量名=表达式
功能:
将表达式的值赋给左边的变量。
注:
(1)赋值运算符左边只能是一个变量,不能是常量,也不能是表达式。
a+b=34=3是非法的表达式
a=6a+(b=3)都是合法的表达式
a=b=20a=(b=10)/(c=2)都是合法的表达式
(2)实型数据赋给整型变量时,小数部分被舍去,整型数据赋给实型变量时,系统自动将整型数据转换为实型数据。
floata;
intb;
表达式a=10%3的值是1.0
表达式b=a=10%3的值是1
5.2.复合赋值运算符及其表达式:
+=-=*=/=%=&
=|=^=>
>
=<
<
=
a+=3相当于a=a+3,a/=b+4相当a/=(b+4)或a=a/(b+4)
例:
若a=12,则执行表达式a+=a-=a+a后a的值是多少?
a+=a-=(a+a)/*a