关于C语言入门的小知识点
来源:互联网 发布:网络工商营业执照 编辑:程序博客网 时间:2024/05/10 03:05
类型.运算符.表达式
变量名
1. 名字是由字母和数字组成,第一个字符必须是字母,下划线”_”被认为是字母
2. 大小写字母有区别,变量名用小写,符合常量全部使用大写字母
3. 变量名不要以”_”开头,为了提高可读性,以“字母_字母”为好
数据类型和长度
1. Char字符型:占用一个字节
2. Int整型:反映机器中整数类型的自然长度
3. Float类型:单精度浮点类型
4. Double类型:双精度浮点类型
5. Short int si;
6. Long int li;
Short类型通常是16位,long类型通常是32位,int类型可以是16位或者32位
在位数上:Short<int<long
Signed和unsigned,限定任何整型和char类型,unsigned类型的数总是正的或者0
Long double类型表示高精度浮点数
常量
1. int类型常量:3344
2. long类型常量:9876654321L
3. 无符号常量以字母u或者U结尾
4. 浮点数常量:89.89
进制问题
整数类型表示:35--10进制(35),8进制(035),16进制(0x1f),
字符常量
1. 一个字符常量就是一个整数
2. 字符常量也叫字符串字面值,也就是字符序列,”hello”, ””等等;‘x’这是整数,”x”字符
声明变量
所有变量必须先声明后使用,声明变量会规定变量的类型,
Int lw1,lw2,lw3; <====>int lw1; int lw2; int lw3;
声明变量初始化
int i = 22;
char c=’h’;
如果不是自动变量,则变量只能初始化一次,也可以使用const修饰,表示该变量不可以被修改,const修饰的数组元素也都不可以被修改:
const int i=33;
const double d=3.14;
const char msg[]=’hello’;
运算符
算术运算符
+
-
*
/
%
++
--
整数相除,不能整除会对小数部分进行截取
#include <stdio.h>
int main()
{
/* 除号运算 */
int i=10,j=3;
int res=i/j;
int res2=i%j;
printf("%d,----,%d",res,res2);
return 0;
}
关系运算符
==
!=
<=
>=
<
>
关系运算符的优先级低于算术运算符
#include <stdio.h>
main()
{
int a = 20;
int b = 10;
int c ;
if( a == b )
{
printf("Line 1 : a 等于 b\n" );
}
else
{
printf("Line 1 : a 不等于 b\n" );
}
if ( a < b )
{
printf("Line 2 : a 小于 b\n" );
}
else
{
printf("Line 2 : a 不小于 b\n" );
}
if ( a > b )
{
printf("Line 3 : a 大于 b\n" );
}
else
{
printf("Line 3 : a 不大于 b\n" );
}
/* 改变 a 和 b 的值 */
a = 10;
b = 20;
if ( a <= b )
{
printf("Line 4 : a 小于或等于 b\n" );
}
if ( b >= a )
{
printf("Line 5 : b 大于或等于 b\n" );
}
}
Line 1 : a 不等于 b
Line 2 : a 不小于 b
Line 3 : a 大于 b
Line 4 : a 小于或等于 b
Line 5 : b 大于或等于 b
逻辑运算符
假设A为真,B为假
&&
称为逻辑与运算符。如果两个操作数都为真,则条件为真。
(A && B) 为假。
||
称为逻辑或运算符。如果两个操作数中有任意一个非假,则条件为真。
(A || B) 为真。
!
称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。
!(A && B) 为真。
#include <stdio.h>
main()
{
int a = 5;
int b = 20;
int c ;
if ( a && b )
{
printf("Line 1 - 条件为真\n" );
}
if ( a || b )
{
printf("Line 2 - 条件为真\n" );
}
/* 改变 a 和 b 的值 */
a = 0;
b = 10;
if ( a && b )
{
printf("Line 3 - 条件为真\n" );
}
else
{
printf("Line 3 - 条件不为真\n" );
}
if ( !(a && b) )
{
printf("Line 4 - 条件为真\n" );
}
}
赋值运算符
=
简单的赋值运算符,把右边操作数的值赋给左边操作数
C = A + B 将把 A + B 的值赋给 C
+=
加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数
C += A 相当于 C = C + A
-=
减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数
C -= A 相当于 C = C - A
*=
乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数
C *= A 相当于 C = C * A
/=
除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数
C /= A 相当于 C = C / A
%=
求模且赋值运算符,求两个操作数的模赋值给左边操作数
C %= A 相当于 C = C % A
<<=
左移且赋值运算符
C <<= 2 等同于 C = C << 2
>>=
右移且赋值运算符
C >>= 2 等同于 C = C >> 2
&=
按位与且赋值运算符
C &= 2 等同于 C = C & 2
^=
按位异或且赋值运算符
C ^= 2 等同于 C = C ^ 2
|=
按位或且赋值运算符
C |= 2 等同于 C = C | 2
杂项运算符
sizeof()
返回变量的大小。
sizeof(a) 将返回 4,其中 a 是整数。
&
返回变量的地址。
&a; 将给出变量的实际地址。
*
指向一个变量。
*a; 将指向一个变量。
? :
条件表达式
如果条件为真 ? 则值为 X : 否则值为 Y
表达式
赋值表达式
a = a+2; <==> a+=2;
x* = y+2; <==> x = x*(y+2);
条件表达式
if(a>b);
c=a;
else
c=b;
这里<==> c = (a>b)?a:b;
#include <stdio.h>
int max(int a,int b);
int main()
{
int a=1,b=2,c;
c=max(a,b);
printf("%d",c);
return 0;
}
int max(int a,int b){
if(a>b)
return a;
else
return b;
}
优先级问题
后缀
() [] -> . ++ - -
从左到右
一元
+ - ! ~ ++ - - (type)* & sizeof
从右到左
乘除
* / %
从左到右
加减
+ -
从左到右
移位
<< >>
从左到右
关系
< <= > >=
从左到右
相等
== !=
从左到右
位与 AND
&
从左到右
位异或 XOR
^
从左到右
位或 OR
|
从左到右
逻辑与 AND
&&
从左到右
逻辑或 OR
||
从左到右
条件
?:
从右到左
赋值
= += -= *= /= %=>>= <<= &= ^= |=
从右到左
逗号
,
从左到右
- 关于C语言入门的小知识点
- c语言小知识点
- c语言小知识点
- C语言小知识点
- c语言小知识点
- C语言小知识点
- 关于C++语言的一些小知识点
- 学习C语言的小知识点
- C语言小知识点的笔记
- 关于C的一些小知识点
- C&C++语言小知识点
- C语言小知识点积累
- C语言小知识点总结
- c语言小知识点总结
- C语言要注意的几个小知识点
- C语言小知识点 汇总3 struct的使用
- C语言小知识点 汇总6 scanf的使用
- c语言小知识点 8 strncpy()的使用
- Linux服务-vsftp
- 数据结构实验之链表三:链表的逆置
- POJ 2377 (最大生成树 Kruskal)
- android studio下ndk开发
- poj 2251 Dungeon Master (BFS)
- 关于C语言入门的小知识点
- HDU 5755 Gambler Bo 高斯消元解同余方程组
- java类加载器
- 河南多校大一训练赛(最小生成树k算法)
- MySQL存储过程
- JavaScript数组去重的6个方法
- 快速二分幂
- Kotlin 开发Android 笔记1:Kotlin介绍及项目配置
- CS231n Class Notes- lecture11 ConvNets in Practice