C语言基础知识 考研复习篇

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

b, 98 B, 66
b, 98 B, 66
相当于97-65
三、数据类型——常量
4、字符串常量
• 用双引号括住的由0个或多个字符组成的字符序列
–"I am a string" –""表示空字符串
–除注释外,是唯一可以出现中文的地方
• C语言内部用’\0’表示字符串的结束 –"x"和’x’是不同的 • <string.h>里定义了一系列专门的字符串处理函数 • 转义字符也可在字符串中使用
标识符只能是字母、数字、下划线组成的字符串,并且 第一个字符必须是字母或下划线,用户定义的标识符不 应与关键字相同。
• • • •
关键字:由C语言规定的具有特定意义的字符串 运算符:与变量、函数一起组成表达式,实现运算功能 分隔符:逗号和空格 常量:数字常量、字符常量、字符串常量、符号常量、
转义字符
一、C语言的特点
1、语言简洁、紧凑,使用方便、灵活;一共有32 个关键字,9种控制语句,主要用小写字母表示。
auto break case char const continue default
do
goto signed
double else
if static int sizeof
enum
long struct
area = 88.247263 circumference = 33.300854
错误实例 :计算圆的周长和面积
#include <stdio.h> #define PI 3.14159; #define R 5.3; main() { printf("area = %f\n", PI * R * R); printf("circumference = %f\n", 2 * PI * R); } 相当于执行 语法错 #include <stdio.h> 误 main() { printf("area = %f\n", 3.14159;*5.3;*5.3;); printf("circumference = %f\n", 2*3.14159;*5.3;); }
【注】带*号表示的数据类型与机器硬件有关
(二)变量在内存中的存放形式
• 1、整型数据在内存中以补码形式存放 正数:原码即为补码(该数的二进制数) 负数:(1)取绝对值 (2)求绝对值的二进制形式 (3)将二进制按位取反 (4)再加上1,可得补码 注意:若给出一个数在内存中的存放形式,先看最高位来 判断是正负数。 -10在机器内存中的存放形式 11 1 1 1 1 1 1 1 1 1 1 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b= -32768
(二)变量在内存中的存放形式
2、实型数据在内存中的存放形式 实型数据一般占4个字节(32位)内存空间。 按指数形式存储。实数3.14159在内存中的存 放形式如下:
+
类型说明符 float
.314159
比特数(字节数) 有效数字
实践挑战:
3、在C语言中,宏定义 #define PI 3.14159 中,用宏名PI代替了一个()(南师大06) A.单精度数 B.双精度数 C.字符序列 D.常量
• 两种语法形式 strlen(字符串)
–如:strlen(“abcd”);
strlen(字符指针变量); –char *s=“abc"; stelen(s);
三、数据类型——常量
宏常量
–也称符号常量
–一般采用全大写字母表示
• 宏定义不是语句,而是一种编译预处理命令
• 格式如下:
#define
标识符
• 由于a 是单精度浮点型,有效位数只有七位。而整数 已占五位,故小数二位后之后均为无效数字。 • b 是双精度型,有效位为十六位。但Turbo C 规定小 数后最多保留六位,其余部分四舍五入。
• double d=12.3456789;printf(“%lf”,d);
三、数据类型——常量
1、整数常量
• 无符号整型变量: 最大表示65535
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
(二)变量在内存中的存放形式
• 解决整型数据的溢出问题 • 如:int a=32767,b; b=a+1;printf(“%d”,b);
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
实践挑战:
1、设:char *s=“\ta\017\bc”; 则strlen(s)的值为( )。 (04南师大) 2、在一个32位系统中(如Windows XP), 若定义char *s="010\010\\010\n";则 sizeof(s)的值为( ),strlen(s) 的值为( )
答案:1、5 2、2 9Βιβλιοθήκη Baidu
十进制整数:带符号,0~9组成,第一位数字为非 零(除零外) -456 八进制整数:0~7组成,最高位用0引导 0123=(123)8=(83)10 十六进制整数:0~9及a~f 或 A~F组成,最高位 用0x或0X引导, 0x123=(123)16=(291)10
整数常量后加字母u或U表示该数为无符号型,加字 母l或L表示该数为长整型 12345u 123L
2.设x、y、t均为int型变量,则执行语句: x=y=3;t=++x||++y;后,x 的值为 ,y 的值为 。 A)不定值 B) 4 C) 3 D) 8
热身练习:
3.有如下定义,若要求a1,a2,c1,c2的值分别为 10,20,A和B,当从第一列开始输入数据时,正 确的数据输入方式是 。 int a1,a2; char c1,c2; scanf(“%d%d”,&a1,&a2); scanf(“%c%c”,&c1,&c2); A) 1020AB<CR> B) 10 20<CR> AB<CR> C) 10 20AB<CR> D) 10 20 AB<CR>
字符串
使用时,将标识符用字符串完全替换
正确的实例:计算圆的周长和面积
#include <stdio.h> #define PI 3.14159 #define R 5.3 main() { printf("area = %f\n", PI * R * R); printf("circumference = %f\n", 2 * PI * R); } 相当于执行 宏替换 #include <stdio.h> main() { printf("area = %f\n", 3.14159 * 5.3 * 5.3); printf("circumference = %f\n", 2 * 3.14159 * 5.3); }
三、数据类型——常量
• 字符常量就是一个普通整数,也可参与各种 数学运算
– 每个字符具有一个0~255之间的数值,可
从ASCII表查出
– 注意:‟5‟和整数5的区别
– ‟5‟的ASCII码值是53
– 思考:‟ 6‟—‟ 2‟的值是多少?
例题:小写字母转换为大写字母
#include <stdio.h> main() { char ch = 'b'; printf("%c, %d\n", ch, ch); ch = 'b' - 32; printf("%c, %d\n", ch, ch); } #include <stdio.h> main() { char ch = 'b'; printf("%c, %d\n", ch, ch); ch = 'b' - ('a' - 'A') ; printf("%c, %d\n", ch, ch); }
• 注释符:“/*”开头并以“*/”结尾的串
三、数据类型
基本整型 长整型 整型 短整型 无符号整型 单精度实型 实型(浮点型) 双精度实型 字符型 枚举类型
数组类型 构造类型 结构体类型
基本类型
数据类型
共用体类型
指针类型 空类型
(一)基本类型的分类及特点
表 2.2 基本数据类型(IBM 及其兼容机) 类 型 符 号 int 带 short [int] 整 long [int] 型 unsigned [int] 不 unsigned short [int] 带 unsigned long [int] 字 带 char 符 型 不 unsigned char (单精度) 实 带 float 型 double (双精度) 关 键 字(小写) 取 值 范 围 -32768~ 32767 -32768~32767 -21×109~21×109 0~65535 0~65535 0~42×109 -128~127 0~255 -10-38~1038 -10-308~10308 字节数 2B* 2B 4B 2B* 2B 4B 1B 1B 4B* 8B*
(二)变量在内存中的存放形式
• 求-10的补码过程: 10的原码: 0000000000001010 按位取反: 1111111111110101 再加1,得-10的补码: 1111111111110110
(二)变量在内存中的存放形式
• 有符号整型变量: 最大表示32767
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
break
return
一、C语言的特点
2、运算符丰富:共有34种运算符。 算术运算符、关系运算符、逻辑运算符、位 操作运算符、赋值运算符、条件运算符、逗 号运算符、指针运算符、求字节数运算符、 特殊运算符等。 3、数据结构丰富: C的数据类型有:整型、实型、字符型、数 组类型、结构体类型、共用体类型、指针类 型、空类型等。
热身练习:
1.已知各变量的类型说明如下,则以下不符合 C语言语法的表达式是 。 int k,a,b; unsigned long w=5; double x=1.42; A) x%(-3) B) w+=-2 C) k=(a=2,b=3,a+b) D) a+=a-=(b=4)*(a=3)
热身练习:
1
数的范围 10-38~1038
32(4)
64(8) 128(16)
6~7
15~16 18~19
double
long double
10-308~10308
10-4932~104932
三、数据类型——变量
main() { float a; double b; a=33333.33333; b=33333.33333333333333; printf("%f\n%f\n",a,b); }
sizeof 到底是什么?
• C语言的关键字,并非函数
–计算类型占用的字节数 • 两种语法形式 sizeof(类型) –结果为类型占用的字节数
sizeof(表达式)
–结果为表达式值所属类型占用的字节数 一般都使用sizeof(变量名)
strlen( )到底是什么?
• strlen( )是函数,返回字符串中所包 含的字符个数。 • 注:统计时不包括’\0’
extern
float
for
short union
register return switch typedef
unsigned void
volatile while
一、C语言的特点
九种控制语句:
if()~else~ for()~ while()~
do~while()
switch
cotinue
goto
以下不是合法的实数,请说明理由: 345 E7 -5 53.-E3 2.7E
三、数据类型——常量
3、字符常量-转义字符
三、数据类型——常量
3、字符常量-转义字符 \ddd 输出一到三位八进制数所对应的字符 \xhh 输出一到两位16进制数所对应的字符
例如: char a=„\101‟, b=„\x41‟; putchar(a); putchar(b); 答案:A A
三、数据类型——常量
2、实型常量
在C中有两种表示方法: • 十进制小数形式:0.0、25.0、300.、-267.8230等。 注意,必须有小数点。 • 指数形式:men(或mEn)表示 m*10n (这里m为非0 实数,n为整数)。如:12.3E-2表示12.3*10-2 在C编译系统中,将浮点型常量 作为双精度来处理 •
一、C语言的特点
4、具有结构化的控制语句; 5、语法限制不太严格,程序设计自由度大; 6、C语言能进行位操作,能实现汇编语言的大部 分功能,可以直接对硬件进行操作; 7、生成目标代码质量高,程序执行效率高; 8、用C语言编写的程序可移植性好。
二、C语言的词汇
在C语言中使用的词汇分为六类: • 标识符:变量名、函数名、标号等统称为标识符
相关文档
最新文档