每次用到变量都需要先声明定义;
常量定义:类型符 const 变量名=值;
int整形变量;%d
float单精度浮点型;%f
char字符型变量,只能存一个字符;
c是字符常量;
x以16进制输出;
o以8进制输出,10进制整数以8进制输出,符号也作为数值输入;
u输出unsigned格式的值;
s输出字符串,%3s,%-3s,%3.4s,%-3.4s。后两个是截取4个字符,输出3个位置;
e格式符,以指数的形式输出;%这里的n是小数点后面的位数;
printf是个函数,他的返回值是输出的字符串大小;
while(条件)
循环语句块;
[break];跳出循环。
for(int i=0;i<=5;i++)定义循环次数变量且变量起始值;变量终值;步长)
语句块;[break];跳出循环。
if (条件)
语句块;else
语句块;子程序的调用需要把子程序放在main()函数的前面声明,或在要调用子程序前,把函数名写出,如:int max(int a,int b)
d,对应的是整形变量的输出;
f是单精度浮点型变量的输出;%10.2f,小数点后面取2位,第三位以4舍5入形式输出;
n换行符;取址符号,scanf(”%d”,&a)中必须要用;
scanf(”a=%d”,a);在输入值的时候必须按照格式输入,如:a=15,而不是直接输入15;
m=n%3;其中%是取余的意思,相当于mod;且只能在整形变量中使用;
&;符号相当于and;
int main()
中必须返回一个整数,而void main()则不需要返回;
如果在c中没有给以个变量赋值的话,那么这个变量的值是以个随机数;而在vb中则是个0值;
sqrt(n)=sqr(n)根号n的意思;
sizeof(变量名);通过这个函数能返回变量占用的字节大小;
正数的补码是和源码是一样的,signed int 有符号数;
unsigned int 无符号数(大于0);
浮点型数据:123e3=123*10三次方;float,double,long double;对应的格式说明符是。
f,%lf,%lf;
类型名)(表达式)强制类型转换符,如(int)(3.6);变成3;
字符的运算是变成ascii值进行运算的;
不同的编译器对i++和i—的理解不一样;
优先级是相等的,是自右至左;
switch(表达式)
case值:语句块;
break;
case值:语句块;
break;
default:语句块;
break;
如果没加break的话会产生case穿透,即所有的语句都执行;
关系运算符优先级大于赋值运算符;
putchar,字符输出函数,用法:putchar(表达式);
getchar,字符输入函数,getchar()里面不需要参数;
c=a>b ? a:b 条件表达式当a>b成立的时候,c=a,否则c=b.条件表达式是自右往左;
表达式1?表达式2:表达式3;如果表达式1成立执行表达式2且返回表达式2的值否则执行表达式3且返回表达式3的值;这里的表达式可以是多条语句,但是要用括号括起来;
continue;语句,结束本次循环,进行下一次循环;
break;语句结束循环,跳出循环;
abs(int);形参是整形的;
fabs(double);形参是浮点型的;
整形数据的“/”除是取商,“%是取余;
a[10];数组中有10的元素,分别是a[0]-a[9];
数组中数组名是数组的首地址,int *p;中*是间接引用的意思即通过地址访问内存空间,获取内存空间的值;
a[3][4];二维数组的初始化,char* gets(char *str),从键盘输入字符串,返回给变亮;
strcat(str1,str2)把str2的字符串连接到str1中;相当于vb众的&
strcpy(str1,str2)把str2的字符串复制到str1中;
strcmp(str1,str2),str1和str2比较如果str1=str2,则返回0;str1strlen(str),返回字符串的个数;不返回“\0”;
strlwr(str),把str字符串的大写字母变成小写字母,ucase;
strupr(str)与strlwr相反,是把str变成全大写字母;
子函数的调用,可以把子函数放在其他的源文件中;
形参只有在调用该函数的时候才有内存空间,当调用结束后内存就被施放;
函数的调用:数组作为形参和实参是传递的是数组的首地址;
变量;全局变量和局部变量;
auto变量和static变量register变量,extern变量;
预处理:不分配存储单元;
预处理不是c语言,是在编译前执行的,不用加分号;
包括:无参宏定义;#define pi 3.1415926;#define 标识符(宏名) 字符串;让宏名等于字符串叫宏展开。
#undef 终止宏定义,#undef 标识符(宏名);
有参宏定义;#define a(参数) 字符串;有点像有参函数的使用;
宏定义能替换c中的关键字;
文件包含:#include “文件名”或《文件名》;前者是用户自己的源文件,后者是c库中的源文件;
头文件的后缀名是。h;
条件编译:当满足一定条件时候才编译一条语句,不满足的时候编译另一条语句;
#ifdef 标识符。
#程序段;#else
#程序段2;
#endif
#ifndef 标识符。
#程序段;#else
#程序段;#endif
#if 表达式。
程序段1#else
程序段2#end if
指针:见c语言程序设计的书;
二维数组的指针表示;a[3][4];
a[0]表示二维数组中的第一个一维数组的第一个地址,a[1],a[2];
a[0]+1,a[0]+2,分别表示一维数组中的第一个值,和第二个值;
(*(p+i)+j)用指针表示第i行第j列的数组值;
int (*p)(int ,int);用指针做函数名;p=max;把函数名赋给指针;
prossse(int ,int ,int(*p)(int,int))这里的int (*p)(int ,int)代表的是要求输入一个指针函数名;
char *a[4];数组指针;对数组指针需要用指向指针的指针,既char **p;其中*p引用到字符串而**p引用到字符串中的字符;
把c写的程序在dos界面下运行,有意想不到的效果;
malloc函数,calloc函数;
结构体:struct 结构体名;相当于vb众的type
end type
成员表列;;分号必须;
在使用的时候要声明:struct 结构体名变量名;
可以多层嵌套使用;
struct student
long…char..
a=;也可以这样赋值;在主函数中这样用行;
变量可以是数组;
定义一个结构体指针:struct 结构体名指针;
*p).成员名;
p->成员名;“-是指向运算符;
struc student stu[3]=;
声明:enum 枚举名变量名;
变量名只能是枚举中的内容,否则出错;
按常量处理;
typedef int t;此时的t=int;
type int arr[10];
arr a;此时的a是int类型的长度为10的数组;
typedef int (*pointer)(int,float);定义了一个函数的指针;
与宏定义类似;#define;
位运算中是每个比特位中都进行位运算。
按位与,常用来保留指定位数的值;或用来清0;
按位或,常用来在指定位置插入个1;
按位异或值相同则为0,不同则为1;与1异或常用来取反;与0常用来保留原值;
交换两个值不用第三个变量;a=a^b;b=a^b;a=a^b;
取反运算符。
不同长度的位运算,右端对齐,正数左端补0,负数左端补1;
位段结构体:
struct data
unsigned a:2;定义了用两个比特位存储信息,既能存最大值3;
unsigned :0;可以分开分别占不同的字节;
unsigned b:4;
data;必须是unsigned类型;连续的存储位置;
unsigned short int 类型的数值在参与运算的话会变成4个字节既32个比特位的值;
文件操作:file *fp;定义文件指针;
fp=fopen(“
fclose(fp);关闭文件;
exit(0);关闭本程序的进程;
fcloseall() 返回关闭文件的个数;
fgetc(文件指针)对文件的读取;返回值是文件位置指针的内容;每次只读出一个内容;
fputc(内容,文件指针);
rewind(文件指针);重新让文件重第一个位置开始读;
fflush(文件指针);刷新文件缓冲区;就是把文件内容冲缓冲区写入文件;
eof==-1文件结束;
fgets(字符串指针,长度,文件指针);从一个文件中读取字符串;最后一个是“\0”
fputs(字符串指针,文件指针);把字符串输入文件中;
gets(文件指针);把键盘输入的字符串存到文件指针中;和getchar()一样;
fprintf(文件指针,“%d”,c);格式化输入,既有%d,%s类的格式化输入;在输入字符串的时候需要输入一个“”表示字符串结束,这样在用fscanf读取的时候才能正常读取字符串,而不会把后面的内容也当字符串内容输出;或每个格式用空格隔开;
fscanf(文件指针,“%d”,地址);
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.考虑好哪些量会随着循环不断改变。...