int main()
{
3.14;字面常量
1000;字面常量
const float pai = 3.14f; const 修饰的常量
pai = 5.14; 错误: pai的值改不了
#define MAX 100 #define的标识符常量
n=MAX;可以; MAX=10;改不了。
return 0;
}
枚举类型的常量
enum Options 枚举类型关键字:enum
{
exit, 0
add, 1
del 2
};
"这一句话都算是一个字符串abc"
int main()
{
char arr1[] = "bit";
char arr2[] = {
'b', 'i', 't'}; 单引号引起来的叫 单个字符。
char arr3[] = {
'b', 'i', 't', '\0'};
printf("%s\n", arr1);
printf("%s\n", arr2);bit后面还有随机字符
printf("%s\n", arr3);
return 0;
}
c:\code\test.c
\t
就是一个转义字符,下面是计算机常用转义字符:它告诉编译器需要用特殊的方式进行处理。int main()
{
int coding = 0;
printf("你会去敲代码吗?(选择1 or 0):>");
scanf("%d", &coding);
if(coding == 1)
{
prinf("坚持,你会有好offer\n");
}
else
{
printf("放弃,回家卖红薯\n");
}
return 0;
}
include <stdio.h>
int main()
{
printf("好好学习\n");
int line = 0;
while(line<=20000)
{
line++;
printf("我要继续努力敲代码\n");
}
if(line>20000)
printf("赢取白富美\n");
return 0;
}
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:>");
scanf("%d %d", &a, &b);
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0;
}
上述代码,写成函数如下。:简化代码,代码复用。
#include
int Add(int x, int y)
{
int z = x+y;
return z;
}
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:>");
scanf("%d %d", &num1, &num2);
sum = Add(num1, num2);
printf("sum = %d\n", sum);
return 0;
}
怎么存储1-10的数字呢?数组 :一组相同类型数据的集合。集合里的每一项称为元素。
int arr[10] = {
1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放10个元素
int main()
{
int i = 0;
int arr[10] = {
1,2,3,4,5,6,7,8,9,10};
for(i=0; i<10; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
左移运算符(<<)
按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。
语法格式:
需要移位的数字 << 移位的次数 例如: 3 << 2,则是将数字3左移2位
计算过程:
3 << 2
首先把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011,
然后把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位, 最后在低位(右侧)的两个空位补零。
则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100,则转换为十进制是12。
数学意义:
在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。
二进制形式把所有的数字向右移动对应位移位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。
语法格式:
需要移位的数字 >> 移位的次数
例如11 >> 2,则是将数字11右移2位
计算过程:
11的二进制形式为:0000 0000 0000 0000 0000 0000 0000 1011,
然后把低位的最后两个数字移出,因为该数字是正数,所以在高位补零。
则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 0010。转换为十进制是2。
数学意义:
右移一位相当于除2,右移n位相当于除以2的n次方。
&
按位与按位与运算符"&"是双目运算符。只有对应的两个二进制位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。
|
按位或参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。
^
按位异或参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现。
·~· 按位取反
求反运算符~为单目运算符,具有右结合性。 其功能是对参与运算的数的各二进位按位求反。
0000
—>>1111
a=a+1;等于 a+=1;其余类似。
原文地址
sizeof(int) 求1个整型的内存大小,单位是字节。
&和*
& 取出某个数据的地址。: int a=10; p=&a;
* 通过内存地址找到该变量的位置,并且改变了它的值。
*p=20
&& 并且的意思,a>0 && b>0
|| 或者的意思,a<0 || a>9
表达式为:表达式1?表达式2:表达式3
先求解表达式1,
若其值为真(非0)则将表达式2的值作为整个表达式的取值,
否则(表达式1的值为0)将表达式3的值作为整个表达式的取值。
例如:
1、max=(a>b)?a:b a>b 为真吗?为真就为a,为假就为b.
就是将a和b二者中较大的一个赋给max。
2、min=(a<b)?a:b
就是将a和b二者中较小的一个赋给min。
(表达式1,表达式2,表达式3,...... ,表达式n)
逗号表达式的要领:
(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。
(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。
(3) 逗号运算符的优先级别在所有运算符中最低。
[] 数组下标
()函数调用。
. 结构体.成员
-> 指针地址指向它的成员