c语言基础知识总结(c语言入门基础100题)
大家好,今天给各位分享c语言基础知识总结的一些知识,其中也会对c语言入门基础100题进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
C语言知识总结
c语言概要
第一章、概述
1、 c语言的基本知识
1.1、 c语言的执行步骤
编辑-程序代码的录入,生成源程序*.c
编译-语法分析查错,翻译生成目标程序*.obj
(语法或逻辑错误,从第一个开始改,变量定义,语句格式,表达式格式等)
链接-与其他目标程序或库链接装配,生成可执行程序*.exe
执行
1.2、 main函数的基本知识
main()函数的位置
c程序总是从main()函数开始执行
一个c程序可以包含一个主函数,即main()函数;也可以包含一个main()函数和若干其它函数
1.3、 c程序的结构
函数与主函数
程序由一个或多个函数组成
必须有一个且只能有一个主函数main()
程序执行从main开始,在main中结束,其他函数通过嵌套调用得以执行
程序语句
C程序由语句组成
用“;”作为语句终止符
注释
//
或
/**/为注释,不能嵌套
不产生编译代码
1.4、c程序书写的规则
习惯用小写字母,大小写敏感
不使用行号,无程序行概念:通常一个语句占一行
可使用空行和空格
常用锯齿形的书写格式;同一层次结构的语句上下对齐。
第二章、基本数据类型与运算
2.1、c程序的数据类型
注意类型和变量含义的不同(类型是固定好的名字,变量是自己起的名字)
变量占用的存储空间
数据类型
基本类型:整型、字符型、浮点型(单精度型,双精度型)
构造类型:数组类型、结构体类型
指针类型
空类型
注意基本类型赋初值的方式
基本数据类型的表示形式
整形数据
十进制:以非0数字开头,如:123,-9,0
八进制;以0数字开头,如:0123,067
十六进制:以0x开头,如:0x123,0xff
实型数据
十进制:必须带小数点,如:123.0,-9.0
指数形式;如:1.23E3,0.9e-2,5e2
字符型数据
普通字符:如:’a’,’2’,’H’,’#’
转义字符:如:’\n’,’\167’,’\xlf,’\\’
(实现几列的对齐:指定宽度。如%100\‘\t’制表位)
(字符串长度。“abc\n\t\\” strlen 6; sizeof 7)
基本数据类型的存储长度
整型
Int字节数 2位数 16数的表示范围-32768—32767
Short 2 16-32768—32767
Long 4 32-2147483648—2147483647
实型
Float 4 32 3.4e-38---3.4e38
Double 8 64 1.7e-308---1.7e308
字符型
Char 1 8-128----127
2.2、标识符命名规则
C语言标志符命名规则
标识符有数字,字母,下划线组成
标识符的首字符必须为字母和下划线
标识符不能为c语言的保留字(关键字)
如:auto extern sizeof float static case for struct char goto switch continue in typedef const if union default long unsigned do register void double return else short while enum signed
算术运算符+-*/%
关系运算符><==>=<=!=
逻辑运算符!&&||
位运算符<<>>~| ^&
赋值运算符=及其扩展赋值运算符
条件运算符?:
逗号运算符,
指针运算符*&
求字节数运算符 sizeof
强制类型转换运算符(类型)
分量运算符.->
下标运算符 [ ]
其他如函数调用运算符()
运算符的优先级
由高到低:单目运算符,算数运算符,关系运算符,赋值运算符
说明:单目运算符:自增运算符,自减运算符,类型装换运算符。结合方向:自右至左
如:++--I先—i.。
算术运算结合方向自左至右
2.3基本运算和表达式
关系表达式和逻辑表达式
(a>b)&&(x>y)(a==b)||(x==y)!=a||(a>b)
A&&b.a为0.不执行b
A||b a为1.不执行b
在 c中逻辑运算结果:1代表“真”,0代表“假”;
判断一个表达式是否真:0代表“假”,非0代表“真”
条件表达式逗号表达式
如:k=5,k++
逗号值为5;k为6.
表达式1?表达式2:表达式3
K=5>6? 1: 0
2.4、混合运算的数据类型转换
2/3+0.5双精度浮点型
第三章、顺序结构程序设计
3.1、c语句的分类
简单语句
表达式语句表达式+分号
空语句只有分号的语句
复合语句用花括号将若干语句括起来
流程控制语句
选择语句 if,switch
循环语句 while, do while, for
转移语句 break,continue,return goto
3.2、格式输入函数scanf
一般形式:scanf(“格式控制字符串“,地址列表);
使用scanf函数时,需要注意:
格式字符的个数必须与输入项的个数相同,数据类型必须一一对应,非格式字符串(说明性的)要原封不动的输入。
输入实行数据时,可以不带小数点,即按整型数据输入
数值型数据与字符或字符串混合输入时,需要注意输入方式。
3.3、格式输出函数printf
Printf(“格式控制字符串“,输出列表);
指定输出格式,由格式字符串和非格式字符串两种组成,非格式字符串照原样输出。
%[标志][输出最小宽度][.精度][长度]类型
标志:-左对齐;+右对齐;
%f,%d,%c,%s
3.4、其他输入输出函数
Putchar getchar puts gets
第四章、选择结构程序设计
If选择结构
单分支
If(表达式)
语句
双分支
If(表达式)
语句1
Else
语句2
多分支
If(表达式1)
语句1
Else if(表达式2)
语句2
。。。
Else if(表达式m)
语句m
Else
语句n
Switch(表达式)
{
Case常量表达式1:语句1;break;
Case常量表达式2:语句2;break;
。。。
Case常量表达式m:语句m;break;
Default:语句n;break;
}
注意break的使用
第五章、循环结构程序设计
循环三要素
初始条件;终止条件;在初始条件和终止条件间反复做某件事情(循环体)
While(表达式)
语句
Do
语句
While(表达式);
For(循环体变量赋初值;循环条件;循环变量增量)
( for();//;进行时间延迟。在信息交换等时用。如for(i=0,i<100);互相通讯的时间延迟。 Delay)
Break语句:不能用于循环语句和switch语句之外的任何其他语句;跳出循环。
Continue语句:跳过循环体中剩余的语句而强行执行下一次循环;跳出本次循环。
第六章、函数与编译预处理
6.1、函数的定义和调用
类型标识符函数名(形式参数列表)
{声明部分
语句
}
例:
Int max(int x,int y)
{int z;<br>Z=x>y?x:y;<br>Return(z);}
6.2、局部变量和全局变量
注意函数中静态变量的定义和使用
6.3、变量的存储类型
局部变量的存储类型
自动变量(auto)动态存储
局部静态变量(static)静态存储
寄存器变量(register)静态存储
全局变量的存储类型
自动变量(auto)动态存储
外部变量(extern)静态存储
全局静态变量(static)静态存储
Extern外部引用
Static不能用extern引用。
第七章、数组
7.1、一维数组的定义和使用
特别需要注意循环体的初值,终止条件
例:
Main()
{
Int I,a[10];
For(i=0;i<=9;i++)
A=I;
For(i=9;i>=0;i--)
Printf(“%d”,a);
}
注意下标问题
7.2、二维数组的定义和使用
二维数组的初始化
例如:
Int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
Int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
Int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12};
Int a[ ][4]={{1,2,3,4},{5},{9,10,11,12}};
例如:int a[3][3]={{1},{2},{3}};
是对每一行的第一列元素赋值,未赋值的元素取0
7.3、字符数组和字符串
字符串用字符数组来处理,结束标志符‘\0’
如:char c[ ]={“I am happy”};
用字符串常量使字符数组初值化
Char c[ ]={‘I’,’‘,’a’,’m’,’‘,’h’,’a’,’p’,’p’,’y’,’\0’};
第八章、指针
8.1、地址和指针的概念
Int I;
Int*i_point;
8.2、指针变量和变量的地址
操作符:*&
8.3、指针和一维数组
若有定义
Int a[10];
Int*p=a;
分析下面表达式的含义:
A,&a,
*(a+i), a+I,
*(p+i), p+i
A=*(a+i)=*(P+i)
&a=a+i=p+i
8.4、指针与字符串
Main()
{
Char string[ ]=”I love china!”;
Printf(“%s\n”,string);
}
Main()
{ char*string=”I love china!”;
Printf(“%s\n”,string);
}
8.5、指针变量作为函数参数
形参的定义方式;实参的形式;参数的传递方式。
第九章、结构体
9.1、结构体类型和变量的定义
Struct结构体名
{成员列表};
Struct student
{char stuNO[8];<br>Char name[20];<br>Char sex;<br>Int age;<br>Float score;<br>Char addr[30];<br>};
Stuct student
{char stuNO[8];<br>Char name[20];<br>Char sex;<br>Int age;<br>Float score;<br>Char addr[30];<br>};
Struct student stu1, stu2;
9.2、结构体变量的引用
一般形式为:
结构体变量名.成员名
9.3、结构体数组
结构体数组结构体数组元素.成员名
指向结构体的指针变量
(*p).成员名
p->成员名
其他
Strcpy(字符数组1,字符串2)
Strcat(字符数组1,字符数组2)
Strcmp(字符串1,字符串2)
Strlen(字符数组)
C语言基础知识点
C语言基础知识点集锦
【知识点1】C程序
C语言程序结构有三种:顺序结构,循环结构(三个循环结构),选择结构(if和 switch)
【知识点2】main函数
每个C语言程序中main函数是有且只有一个。读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
【知识点3】存储形式
计算机的数据在电脑中是以二进制的形式保存。最低的存储单元是bit(位),位是由为 0或者1构成。 byte是指字节,一个字节=八个位。数据存放的位置就是它的地址。
【知识点4】注释
是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。
【知识点5】书写格式
每条语句的后面必须有一个分号,分号是语句的一部分。一行内可写多条语句,一个语句可写在多行上。
【知识点6】标识符
合法的用户标识符考查:
合法的要求是由字母,数字,下划线组成。有其它元素就错了。
并且第一个必须为字母或则是下划线。第一个为数字就错了。
C语言标识符分如下3类
(1)关键字。它们在程序中有固定的含义,不能另作他用。如int、for、switch等。
(2)预定义标识符。预先定义并具有特定含义的标识符。如define、include等。
(3)用户标识符。用户根据需要定义的标识符,符合命名规则且不与关键字相同。
关键字不可以作为用户标识符号。main define scanf printf都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。
【知识点7】实型数据
实型数据的.合法形式:小数形式和指数形式。掌握判定指数形式合法性。
2.333e-1就是合法的,且数据是2.333×10-1。
【知识点8】字符
字符数据的合法形式::
1是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
0的ASCII数值表示为48,a的ASCII数值是97,A的ASCII数值是65。
字符型和整数是近亲:
char a= 65;
printf(“%c”, a);得到的输出结果:a
printf(“%d”, a);得到的输出结果:65
一般考试表示单个字符错误的形式:65"1"
字符是可以进行算术运算的,记住: 0-0=48
大写字母和小写字母转换的方法: A+32=a相互之间一般是相差32。
【知识点9】整型数据
整型一般是两个字节,字符型是一个字节,双精度一般是4个字节:
考试时候一般会说,在16位编译系统,或者是32位系统。碰到这种情况,不要去管,
一样做题。掌握整型一般是两个字节,字符型是一个字节,双精度一般是4个字节就可以了。
【知识点10】转义字符
转义字符的考查:
在程序中 int a= 0x6d,是把一个十六进制的数给变量a注意这里的0x必须存在。
在程序中 int a= 06d,是一个八进制的形式。
在转义字符中,’x6d’才是合法的,0不能写,并且x是小写。
‘141’是合法的, 0是不能写的。
‘108’是非法的,因为不可以出现8。
【知识点11】算术运算
算术运算符一共有+、—、*、/、%这五个。%符号两边要求是整数。不是整数就错了。
三种取整丢小数的情况:不是四舍五入是舍掉小数部分。
1、int a=1.6;
2、(int)a;
3、1/2; 3/2;
【知识点12】强制类型转换
将一个运算对象转换成指定类型,格式为(类型名)表达式
一定是(int)a不是 int(a),注意类型上一定有括号的。
注意(int)(a+b)和(int)a+b的区别。前是把a+b转型,后是把a转型再加b。
【知识点13】赋值
是表达式就一定有数值。
赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。
复合赋值运算符:注意:a*=m+2是 a=a*(m+2)
自加、自减表达式:假设a=5,++a(表达式的值为6), a++(表达式的值为5);
j=a++;等价于j=a;a=a+1;而j=++a;等价于a=a+1;j=a;。
考试口诀:++在前先加后用,++在后先用后加。
【知识点14】逗号运算
逗号表达式:优先级别最低;表达式的数值逗号最右边的那个表达式的数值。
(2,3,4)的表达式的数值就是4。
【知识点15】数制转换
一定要记住二进制如何转换成十进制。
八进制是没有8的,逢8进1,018的数值是非法的。
C语言的知识有什么
C语言重要知识点记得背会
总体上必须清楚的:
1.程序结构是三种:顺序结构、选择结构(分支结构)、循环结构。
2.读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。3)计算机的数据在电脑中保存是以二进制的形式。数据存放的位置就是他的地址.4)bit是位是指为0或者1。 byte是指字节,一个字节八个位,
概念常考到的:
1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、define PI 3.1415926;这个写法是错误的,一定不能出现分号。
3、每个C语言程序中main函数是有且只有一个。
4、在函数中不可以再定义函数。
5、算法:可以没有输入,但是一定要有输出。
6、break可用于循环结构和switch语句。
7、逗号运算符的级别最低,赋值的级别倒数第二。
概念常考到的:
1、编译预处理不是C语言的一部分,不占运行时间不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、define PI 3.1415926;这个写法是错误的,一定不能出现分号。
3、每个C语言程序中main函数是有且只有一个,
4、在函数中不可以再定义函数。
5、算法:可以没有输入,但是一定要有输出。
6、break可用于循环结构和switch语句。
7、逗号运算符的级别最低,赋值的级别倒数第二
第一节、对C语言的基础认识
1、C语言编写的程序称为源程序,又称为编译单位。
2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。
3、一个C语言程序有且只有一个main函数,是程序运行的起点。
第二节、熟悉vc++
1、VC是软件,用来运行写的C语言程序。
2、每个C语言程序写完后,都是先编译,后链接,最后运行。(.c---a.obj---a.exe)这个过程中注意.c和obj文件时无法运行的,只有.exe文件才可以运行。(常考!)
第三节、标识符
1、标识符(必考内容):
合法的要求是由字母,数字,下划线组成。有其它元素就错了。
并且第一个必须为字母或则是下划线。第一个为数字就错了
2、标识符分为关键字、预定义标识符、用户标识符关键字:不可以作为用户标识符号。main definescanf printf都不是关键字。迷惑你的地方If是可以做为用户标识符。因为if中的第一个字母大写了,所以不是关键字。
预定义标识符:背诵define scanf printf include。
记住预定义标识符可以做为用户标识符。
用户标识符:基本上每年都考,详细请见书上习题。
第四节:进制的转换
十进制转换成二进制、八进制、十六进制。
二进制、八进制、十六进制转换成十进制。
第五节:整数与实数
1.C语言只有八、十、十六进制,没有二进制。但是运行时候,所有的进制都要转换成二进制来进行处理。(考过两次)
a、C语言中的八进制规定要以0开头。018的数值是非法的,八进制是没有8的,逢8进1。
b、C语言中的十六进制规定要以Ox开头。
2.小数的合法写法: C语言小数点两边有一个是零的话,可以不用写。
1.0在C语言中可写成1
0.1在C语言中可以写成.1。
3.实型数据的合法形式:a、2.333e-1就是合法的,且数据是2.333x10-1。b、考试口诀: e前e后必有数,e后必为整数。请结合书上的例子。
4.整型一般是4个字节,字符型是1个字节,双精度一般是8个字节:
long int x;表示x是长整型。
unsigned int x;表示x是无符号整型。
第六、七节:算术表达式和赋值表达式
核心:表达式一定有数值!
1、算术表达式:+,-,*,1,%考试一定要注意:“/”两边都是整型的话,结果就是个整型。 3/2的结果就是1.
“/”如果有一边是小数,那么结果就是小数。 312.0的结果就是0.5
“%”符号请一定要注意是余数,考试最容易算成了除号。)%符号两边要求是整数。不是整数就错了。[注意!!!]
2、赋值表达式:表达式数值是最左边的数值,a=b=5:该表达式为5,常量不可以赋值。
1、int x=y=10:错啦,定义时,不可以连续赋值。
2、int x,y;
x=y=10;对滴,定义完成后,可以连续赋值。
3、赋值的左边只能是一个变量。
4、int x=7.7;对滴,x就是7
5、float y=7;对滴,x就是7.0
3、复合的赋值表达式
int a=2;a*=2+3;运行完成后,a的值是12。一定要注意,首先要在2+3的上面打上括号。变成(2+3)再运算。
4、自加表达式:
自加、自减表达式:假设a=5,++a(是为6), a++(为5);
运行的机理:++a是先把变量的数值加上1,然后把得到的数值放到变量a中,然后再用这个++a表达式的数值为6,而a++是先用该表达式的数值为5,然后再把a的数值加上1为6
再放到变量a中。进行了++a和a++后在下面的程序中再用到a的话都是变量a中的6了。考试口诀:++在前先加后用,++在后先用后加。
5、逗号表达式:
优先级别最低。表达式的数值逗号最右边的那个表达式的数值。
(2,3,4)的表达式的数值就是4。z=(2,3,4)(整个是赋值表达式)这个时候z的值为4。(有点难度哦!)z= 2,3,4(整个是逗号表达式)这个时候z的值为20
补充:
1、空语句不可以随意执行,会导致逻辑错误。
2、注释是最近几年考试的重点,注释不是C语言,不占运行时间,没有分号。不可以嵌套!
3、强制类型转换;一定是(int)a不是 int(a),注意类型上一定有括号的。
注意(int)(a+b)和(int)atb的区别。前是把a+b转型,后是把a转型再加b。
关于本次c语言基础知识总结和c语言入门基础100题的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。