C语言知识点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章数据类型、运算符、表达式、赋值语句与输入输出
一、标识符
1.不能是关键字
2.只能由数字、下划线和英文字母组成
3.第一个字符只能为下划线和英文字母
如:abc.d、Level-A、switch都不符合标识符的命名规则
二、常量
1.整形常量:0x27,016分别表示十六进制和八进制(以0开始的数字)的整数
2.用指数方式表示的常量:e前e后必须有数,e后必须是整数。如2E1.6不合法
3.字符型常量:注意转义字符,如’\’’和’\\’分别表示字符单引号和斜杠,如‘\x51’表示ascii
码为十六进制数51的字符,如‘\32’和‘\0’分别表示ascii码为八进制数32和0的字符。
注意字符型数据在计算机内部保存的是该字符的ascii码,所以’\0’的值就是0,’\32’-26的值为0
4.字符串常量:注意以字符’\0’结尾。如char p[10] = “abcd”;则p[4]的值为’\0’即为0。注
意字符串常量以字符组成,字符的表示形式可以是转义字符的形式,如”abc\\c”,这里的第四个字符是一个斜杠’\\’。
三、运算符
1.赋值运算符: 左边必须是变量、数组元素、指针指向的数据或者结构成员中的变量类型
数据。如int a,b,c; a+b = c;这个赋值语句是错误的。
2.逻辑运算符:&&,||。如判断一个字母变量是大些字母char a; if(a >= ‘A’ && a <=’Z’)……
3.++。前置运算符:先将数据增加再将增加后的数据放入表达式中。
后置运算符:先将数据放入表达式中,再对数据增加。
如
char *p,*q;
char A[10];
p = A;q = A;
*(++p) = 10;//表示先将p指向A[1]然后将A[1]设置为10
*(q++) = 10;//表示先将A[0]设置为10然后将q指向A[1]
又如:
int a = 1;
a++;printf(“%d”,a);//屏幕打印出的值为2
又如:
int a = 1;
printf(“%d”,a++);//屏幕打印出的值为1
又如:
int a = 10;
switch(a++)
{
case 10: printf(“10”);break;
case 11: printf(“11”);break;
}
//屏幕打印出的值为10
4.--
如:int A[10];
int a,b;
a = 8,
b = 8;
A[a--] = 10; //表示先将A[8]设置为10,然后将a的值减1
A[--b] = 10; //表示先将b的值减1,变为7,然后将A[7]设置为10
5.相等比较运算符:==
注意是两个等于。
如:
char A[4] = {‘e’, ’d’, ’f’, ’a’};
int i=3;
if(A[i] == ‘a’){}//不能是A[i]=’a’
6.printf():%d,表示输出整数,如果是字符型数据,则输出字符型数据的ascii码;
如char a = ‘A’;
printf(“%d”,a);//打印A的ascii码,即在屏幕上显示65
%f,表示输出浮点型数据
如float speed = 10.1f;
printf(“%f”,speed);//在屏幕上打印浮点数10.1
可以直接输出字符串,如:
printf(“hello world”);//在屏幕上打印hello world
7.scanf
注意:以空格、Tab键或者回车键作为输入终止;输入到变量中,这个变量名前要加&,如果输入到字符数组中,则不用加&。
如:
float t; scanf(“%f”,&t);//从键盘输入一个浮点数
又如:
char a[10],b[10];
scanf(“%s %s”,a,b);
当输入you are good student时a和b中的值为you和are
8./ %
/表示除法,当两个操作数都是整数,进行的是整除运算。如:3/5的结果是0
%表示取余数运算,如5%3的结果是2,表示5除以3的余数。
又如:怎么求1234的个位数?可以这样:int t = 1234; int b; b = t%10;//b计算的结果就是个位数。继续上面如何求十位数? 可以这样: t = t/10; b = t%10;//先把1234整除10,变为123,然后对123求除10以后的余数,结果就是3
9.sizeof
参数为变量或者数据类型,表示变量或者该数据类型在内存中的字节数。如:
char a;printf(“%d”,sizeof(a));//在屏幕上打印出1
10.程序框架
#include
int main()
{
return 0;
}
第四章分支结构
1.if else 匹配规则:else与最近的没有匹配的if匹配
结构
if( ){}
else if() {}
else if(){}
else
只会执行其中的一个分支
如:
char a = ‘a’;
if(a >=‘a’ && a<= ‘z’)a = ‘A’- ‘a’ +a;
else if(a >=‘A’ && a<= ‘Z’)a = ‘1’;
else if(a >=‘0’ && a<= ‘9’)a = ‘\n’;
else printf(“其余字符”);
上述if语句结构,只会执行第一个分支后的语句,即只会执行a = ‘A’- ‘a’ +a;语句,其余语句都不会执行。
2.switch…case
注意:case后的语句中若无break语句,则执行完case后的语句后会执行后面每一个case的语句。
如:
switch(2)
{
case 2: printf(“2”);
case 3: printf(“3”);
case 4: printf(“4”);
}
上述代码会输出234
第五章循环结构
1.for循环
注意:循环语句为for后的第一个语句。
如:
for(i= 1;i<=5;i++)
k++;//此语句是for的循环体
k++;//此语句不是for的循环体
printf(“%d”,k);//屏幕输出6
2.while循环
如:
int i= 4,k = 4;
while(i--)
{
k++;
}//当i变为0时,循环终止,循环体会执行4次,所以K变为4
3.do…while循环
注意先执行循环体,再判断循环条件,循环体至少执行一次