C语言笔记一

发布 2021-05-12 01:16:28 阅读 8400

一.基础回顾。

#include <>

void main()

printf("hello world!");

c语言的注释:

1. 块注释:关键符号:/*斜杠+*,符号成对出现,不能嵌套

2.行注释:关键符号//

只能注释掉一行**。

/ 这是行注释。

语言程序的基本组成单位:函数。

2.一个c语言程序中必须有,而且只能有1个main函数。

main函数是程序执行的入口地址,当程序开始运行的时候,首先从main开始。

语言的函数定义的基本格式:

返回值类型函数名(参数列表)

语言的语句:

必须由分号结束。

二.常量和变量。

#include <>

void main()

int a = 6;

int b;

a = 10;

主题:常量和变量。

1.常量:出现在程序中的,在程序运行过程中不能改变的量。

int a = 5; 数据5就是常量。

2.变量:在程序运行过程中,能改变的量。

变量的实质:是存储器中的一块空间(容器)

3.常量的定义(声明)

1)符号常量的定义 #define max 5

2)常规的常量就是出现在语句中的一个数据,比如:int a = 5; 语句中的5就是常量。

4.变量的定义。

变量定义的格式:

数据类型变量名;

变量在定义的同时可以初始化;

1)变量在使用之前必须定义(一般情况下,习惯放在函数的开头或者文件的开头集中定义)

2) 变量必须有名字,变量名:标示变量占用的是存储器中的那块空间。

变量名其实就是变量所占的存储单元的地址。

比如:int a = 5; 变量名:a

3)变量名的命名规则:

只能由字母数字下划线组成(在一些特殊的编译环境中,可能还有个别合法的符号),不能用数字开头。

变量名区分大小写 int student;int student;student和student是两个不同的变量。

三.数据类型。

#include <>

void main()

int a = 6;

float f1 = 2.3;

double f2 = 2.6;

char c1 = 6',c2 = b';

主题:基本数据类型。

1.常用的数据类型。

1) 存放数值型数据。

数值型数据:数学上的数据,可以比较大小。

分为整数和浮点数(小数)

** 整数的数据类型。

int long

short三种不同的整型类型所占的存储单元的个数不同,整型数据的变量存储数据的时候,注意:溢出、

产生溢出的原因:变量所占的存储单元空间有限,能表示的数据的范围也是有限的。超出了范围就溢出。

** 小数的数据类型:浮点数。

double

float字符型数据:就是一些符号,本身没有大小,学号里面的数字20140202;20140203;

字符型的常量:用单引号。

标准的c语言中,字符型数据只能是1个符号。

'ab','abcd'都是错误的。

char例如:

char c1 = 6',c2 = b'; 字符型变量c1,存储了一个字符型的常量'6',这里的6只表示符号6,没有数值概念。

四:数据编码。

不同类型的数据(基础类型)在内存中怎么存放。

#include <>

void main()

int a = 6,k=-6,l = 20;

char c1,c2;

c1 = 0';

c2 = a';

printf("%d, %x",a,a);

printf("%d, %x",k,k);

printf("%c, %d",c1,c1);

printf("%c, %d",c2,c2);

printf("%c, %d",c2+1,c2+1);

printf("hello world");

printf("hello it's a \"hahaha");单引号在这里放在了双引号里面,不用再转义了,*

主题:基本数据类型的数据编码。

1. 整数。

整数在内存中的编码是以补码的形式存储的。

整数的编码分为:原码,反码,补码。

所有的编码,都分为符号位和数值位。

最高位都是符号位,正数用0表示,负数用1表示。

数值位针对不同的编码有不同的表示。

原码:用数值的二进制码表示。

比如,数据6, 二进制码是:110

在字长是8位的机器中(int型数据占8位,1位符号位,7位数值位)

6的原码编码:0000 0110;

6的原码编码:1000 0110;

反码:是一种过渡编码,是为了求补码。

正数的反码:跟原码一样。

负数的反码:符号位为1,数值位取反。

6的反码编码:0000 0110;

6的反码编码:1111 1001;

补码:正数的补码:跟原码一样。

负数的补码:符号位为1,数值位反码+1(原码取反+1)

6的补码编码:0000 0110

6的补码编码:1111 1010 (十六进制显示:fa)

字长增加的情况,大家自己分析。

无符号数:unsigned int

存储空间的所有的位数都用来作为数值位,没有符号位,只能存正数。

衍生的问题:

变量存储数据的范围(溢出)

2个字节的int型变量可以存储的数据的范围是:

2个字节的unsigned int 可以存储的数据的范围:

2. 浮点数。

把内存空间划分为2块。

一块存放底数,一块存放指数。

数据123.5689转换成,0.1235689*10^3

底数1235689和指数3被分别存放。

底数和指数的存放都是按照整数的编码来存放的。

使用浮点数做运算的时候注意不要让两个相差很大的数据做运算,会因为精度原因丢失数据。

3. 字符数据。

字符数据在内存中用专用编码存放:ascii码。

常用的特殊字符的ascii码记住,比如字符0, 空格,a, a

ascii码也是些整数。

在特殊情况下,char型数据和int可以互通。

字符数据可以在一定范围内进行一些简单的加减运算,比如,'a'+1 ,其实是97+1 = 98,代表的是字符b

转义字符:把一些符号的含义进行转换。

转义符号:\,表示出现在\后面的符号,有了新的意义,不再是原来的含义。

比如::回车换行。

这个符号中,转义符:\后面的n,被转义了,不再是原来的符号n,而是表示回车换行。

这个符号中,'原来的含义:就是字符数据的界定符,转义后,它不再表示界定符,而是就是单引号符号本身。

这个符号中,"原来的含义:就是字符串数据的界定符,转义后,它不再表示界定符,而是就是双引号符号本身。

下列语句正确的是:第三个,第四个。

char c;

c = a"; c = ab'; c = c', c = n', c = n"

c = b'+1; c = a"+1;

四.运算符。

#include <>

main()

int a,b,c,d,e;

float f1=4.6,f2=2.3,f3,f4,f5,f6=4.8;

a=10;b=5;

f3 = f1+f2;

printf("%f",f3);

/* 标准的c语言中,/只能用于整型数据。

vc中进行了运算符的重载*/

f4 = f1/f2;

printf("%f",f4);

% 只能用于整型数据,运算符的左边和右边都不能出现浮点数。

//f5 = f6%f2;

//printf("%f",f5);

c = a+++b++;

printf("a = d;b = d,c = d",a,b,c);

a=10;b=5;

c = a+b++;

printf("a = d;b = d,c = d",a,b,c);

a=10;b=5;

c = a+(+b);

printf("a = d;b = d,c = d",a,b,c);

printf(" d, %d", 5>3, 3>5);

a=5;b = 10;

d = 20;

e = 30;

c =(e=8>5)&&d=a>b);

printf("%d,%d,%d",c,d,e);

a=5;b = 10;

d = 20;

e = 30;

&&运算符链接的两个表达式,如果第一个不成立了,第二个就不会被执行判断和了。

c =(e=8<5)&&d=a printf("%d,%d,%d",c,d,e);

a = 0;

printf("!0 = d",a);

a = 5;

printf("!0 = d",a);

一。运算符和表达式。

1. 算数运算符。

++:变量自增1

--:变量自减1

1) x++ 等价于: x = x+1;

运算符中隐含了赋值操作,赋值操作只能对变量进行赋值。

++运算符只能用于变量,不能出现 5++ 这样的表达式。

--也是一样的。

2) +运算符构成的表达式:

x++ x; 两个表达式功能相同,都是x+1;

3) 当++运算符与其他运算符结合的时候。

y = x++;y=x;x=x+1;

C语言笔记

第一课时。c语言标准格式。include vidomain 以 开头的语句称为预处理指令。include语句不是必须的,但是如果一旦有该语句就必须把它放在文件开始处是standared input output header的缩写standared 标准input 输入output 输出header...

C语言笔记

c语言算法和数据类型。整型。基本类型 字符型注释 基本类型的特点是其不可实型 单精度型以再分解为其他类型双精度型数组型。数据结构 构造型 结构体型共用体型指针型空类型。一 常量。define 语句不以分号结尾,它可以放在源 的任何位置。不过在定义常量时,只有在它定义后的源 中才有效。是一个修饰符,在...

c语言笔记

1.if中别忘了 而不是 2.写完程序别忘了检查前后大括号 小括号是否完全照应。3.遇到几分之几的分数可以方程两边同时乘以一个数来消去分母。4.写指针题时看准指针对应的是行还是列。例 int a 4 3 int p a 0 列指针。int ptr 3 a 行指针。5.考虑好哪些量会随着循环不断改变。...