c语言笔记

发布 2021-05-12 01:09:28 阅读 4060

第1章 c语言概述。

1.1 c语言初步。

要求:初步了解c语言,掌握c语言的框架。

补充:1byte = 8bits

内存是按字节编址的。

1. c语言的扩展名为:*.c c++的扩展名为:*.cpp

2. c语言的框架(重点掌握)

#include <>#表示预处理,include表示把包含到当前工程中,standard input output header

int main() int是integer的缩写,表示函数的返回值为整型;main是函数名,小括号()为函数的标志。

return 0; /返回给系统数值0

//大括号{}为函数体部分,函数功能的具体实现。

注意:注释掉的**不参与编译。

/两个斜线表示单行注释。

* .表示多行注释 .

/一个工程中,有且只能有一个main函数。

3. 例1:求1+2+……n的和。

#include <>

int main()

int i=1,n,sum=0; /定义整型变量i,n和sum

printf("请输入一个正整数:");printf为输出函数,表示回车换行。

//双引号中的内容原样输出,除了格式控制符(%)和转义字符(\)

scanf("%d",&n); scanf为输入函数,%d表示按整型输入,&为取地址符。

while(i<=n) /while表示循环,i<=n是循环条件。

printf("1+2+..d=%d",n,sum);

return 0;

第2章数据类型、输入输出。

2.1 输入输出。

要求:掌握scanf和printf的用法,掌握变量和常量的概念及定义。

printf的一般形式:

printf(“待输出的内容”[,对应格式输出的表达式的值])

说明:双引号中的内容原样输出,除了格式控制符(%)和转义字符(\)表示可选项(可有可无),如果前面有格式控制符,则后面必须要有对应输出表达式的值,而且是一一对应的。

scanf的一般形式:

scanf(“格式控制列表”,地址列表);

说明:双引号中的内容原样输入,除了格式控制符;格式控制列表要和后面的地址列表一一对应。

取地址符:&

要求掌握的基本数据类型及对应的格式控制如下:

int %d(十进制)%o(八进制) %x(十六进制) char %c(单个字符)或%s(字符串) float %f double %lf

m表示输出数据总的宽度,n表示小数位数。如果输出的内容长度大于指定的m值,则按实际长度靠左输出,反之靠右。加-负号的靠左。

对于特殊的字符,如都需要特殊处理。

%输出一个% 其他的特殊字符输出需要在前面加上\

例1:#include <>

int main() main为主函数,程序执行时的入口。

int a; /整型。

double b; /双精度的浮点型。

printf("请输入两个整数:");

scanf("%d%lf",&a,&b); a=3 b=5

printf("%d+%lf=%.2lf",a,b,a+b);

return 0;

标识符:通俗来说就是给变量、常量或函数起的名字。只能由数字、字母和下划线组成,且数字不能作为开头,不能使用系统的关键字。一般情况下,建议定义常量使用大写字母,变量使用小写字母。

注意:c语言区分大小写。

常量:在程序运行过程中,值不能改变的量。通常定义放在include后面,定义方式如下:

#define 常量名常量的值。

变量:在程序运行过程中,值能改变的量。通常在函数内部,定义方式如下:

变量的类型变量名1, 变量名2,…,变量名n[=变量的值];

例2:#include <>

#define pi 3.1415926 //定义的符号常量,又叫宏定义。

int main()

float r; /定义变量,在函数的内部。

double area;

printf("请输入圆的半径:");

scanf("%f",&r);

area=pi*r*r;

printf("圆的面积是:%.3lf",area);

return 0;

重点:变量必须先定义后使用。

变量定义后,变量的值是随机的,在使用变量之前,要确保变量有值(不是随机值)

int a,b,c; /定义了三个变量,名字分别是a,b,c,此时变量的值是随机的。在定义变量的同时赋值又叫变量的初始化。

2.2 数据类型及字符的输入输出。

要求:掌握基本的数据类型,尤其是字符型。

例1:数据的交换(重点掌握交换的方法)

#include <>

int main()

int a,b,t;

printf("请输入两个整数:");

scanf("%d%d",&a,&b);

printf("交换之前:a=%d,b=%d",a,b);

//实现两个数据的交换。

t=a;a=b;

b=t;printf("交换之后:a=%d,b=%d",a,b);

return 0;

例2:数据的溢出。

#include <>

int main( )

short int a,b; /定义短整型变量a、b*/

long x,y; /定义长整型变量x、y*/

a=32767;

b=a+1; /已经超出短整型能够表示的最大范围,数据溢出。

printf("a=%d, .b=%d ",a,b);

x=32767l; /整数后面加l(l)表示长整型。

y=x+1;

printf ("x=%ld, y=%ld ",x,y);

return 0;

实型数据(浮点型数据:float和double)

注意:1和1.0表达不同的含义,1表示整型,1.0表示实型,在内存中存储方式不同。

c编译系统对实型常量不分float和double,而是都作为double(双精度)来处理,如果确实想赋值为float类型,则需要在实型数据后面加f或f,如:float a=3.2f;

类型转换:隐式转换(自动类型转换):系统自动由低类型高类型(高低指的是数据占用的存储空间),如:float a=3.2f; double b=a;

显示转换(强制类型转换):需要在待转换的数据前加(要转换到的数据类型),如:double a=3.2; float b=(double)a;

字符:两侧加单引号,如:’a’,

字符存储的是ascii,所以可以和整型数据进行加减运算。

2.3 字符和字符串、运算符。

要求:掌握字符、字符串的用法;掌握基本的运算符。

特殊的字符:

#include <>

int main()

printf("s t\tuden\'t\'");

printf(" h\tqqello");

return 0;

说明:表示回车,但不换行(重新到所在行的开头)

\t表示横向跳格(相当于按下tab键)

表示输出一个单引号。

字符、字符串对比:

字符:单引号括起来。

字符串:双引号括起来。末尾系统自动添加’\0’作为字符串结束的标志,所占存储空间比实际长度大1

例1:#include <>

int main()

/ printf("%c",'101');101 ==8*8+1=65-->a

char str=a"; 表示数组。

printf("%d",sizeof(str));sizeof函数求占用存储空间的大小。

char ch='a';

printf("%d",sizeof(ch));

printf("%s",str); 字符串%s

printf("%c",ch); 字符%c

return 0;

大小写字母的判断:

#include <>

int main()

char ch;

printf("请输入一个字符:");

scanf("%c",&ch);

if(ch>='a' &ch<='z') 满足此条件,说明ch为小写。

printf("%c是小写字母",ch);

else if(ch>='a' &ch<='z') 满足此条件,说明ch为大写。

printf("%c是大写字母",ch);

elseprintf("%c不是字母",ch);

return 0;

例2:字符串移位加密。

#include <>

int main()

char str=hellodf;gfj..,gfzxyz"; 表示定义数组,用于存放字符串。

for(int i=0;i

else if(str[i]>=a' &str[i]<=z') 大写。

printf("%s",str);

return 0;

运算符。赋值运算符(=)把右侧表达式的值赋给左侧的变量。

复合赋值运算符(如+=)a +=3; 等价于 a=a+3;

除号(/)1. 如果/两侧都是整型数据,则表示整除,舍弃余数。

2. 如果/两侧有一侧是实型数据,则表示数学的除法。

如:3/2 ==1 3.0/2 ==1.5

求余(%)舍弃商,取余数。如: 3%2 ==1

例3:整数的位数分离。

#include <>

int main()

int n=153;

int a,b,c; /a存放百位,b存放十位,c存放个位。

a=n/100;

b=n/10%10; /b=n%100/10;

c=n%10;

if(a*a*a + b*b*b + c*c*c ==n)

printf("%d是水仙花数",n);

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.考虑好哪些量会随着循环不断改变。...