一、C语言的组成:由函数以及c语句组成
二、一些常用的关键字:include void return int char double float sizeof for while do...whlie switch break countinue ...
三、一些运算符:位运算:位与(&),按位相与,遇0则0;
逻辑与:&&,两个操作数进行判断产生的逻辑值(0或者1);
位或:(|),按位取或,遇1则1;
逻辑或:(||),两个操作数进行判断产生逻辑值(0或者1);
异或:(^),按位进行异或,相同为0,不同为1;
位取反:(~),按位取反;
取反:(!),产生逻辑值,非零数的反是0,0的反是1;
移位:(<<)(>>),左移和右移;移位的前提是这个数字的类型必须是unsigned,向左移位相当于乘2,向右移位相当于除2;典型例题就是判断一个数的二进制含1的个数问题,程序如下:
int main(void)
{
int a = 0xAE, cnt = 0, flag = 1;
printf("输入任意一个整形数字:\n");
//标准输入
scanf("%d", &a);
//统计这个数字的二进制形式:1的个数
while (flag)
{
//每次判断这个位是不是1,是就计数
if (a & flag)
cnt++;
//a 向右移动一位
flag <<= 1;
}
//cnt = 31.
printf("cnt = %d.\n", cnt);
}
四、数组
1、数组的定义:数组是一种复杂的数据结构,研究这些数据在内存中如何存放的;
2、算法:指的是如何将这些数据更高效的方式从内存中提取出来;
3、数组的标志是[a],并且这个a必须是一个常量;
4、数组里面存放的元素,默认的下标是从0开始;
五、字符数组内部的去相应字符或者空格
思想:1、定义一个字符类型的数组,内部存放的是初始的字符串
2、循环遍历整个数组,查找需要删除的字符,其他的字符依旧存放在当前的数组
3、输出更改后的数组
代码:
#include<stdio.h>
int main(voide)
{
char buf[] = "I LOVE YOU!";
printf("buf = [%s].\n", buf);
//控制循环次数
int len = strlen(buf), i = 0, j = 0;
//去除字符串中的空格
for (i=0; i<len; i++)
{
//循环比较字符串中是否有空格字符,更改我们的字符数组
if (buf[i] != ' ')
{
//更新数组元素
buf[j] = buf[i]; // 打印结果,去掉了空格,但是多了一些字符
j++;
}
}
// j++;
buf[j] = 0;
//更改后的buf数组
printf("buf = [%s].\n", buf);
二、一些常用的关键字:include void return int char double float sizeof for while do...whlie switch break countinue ...
三、一些运算符:位运算:位与(&),按位相与,遇0则0;
逻辑与:&&,两个操作数进行判断产生的逻辑值(0或者1);
位或:(|),按位取或,遇1则1;
逻辑或:(||),两个操作数进行判断产生逻辑值(0或者1);
异或:(^),按位进行异或,相同为0,不同为1;
位取反:(~),按位取反;
取反:(!),产生逻辑值,非零数的反是0,0的反是1;
移位:(<<)(>>),左移和右移;移位的前提是这个数字的类型必须是unsigned,向左移位相当于乘2,向右移位相当于除2;典型例题就是判断一个数的二进制含1的个数问题,程序如下:
int main(void)
{
int a = 0xAE, cnt = 0, flag = 1;
printf("输入任意一个整形数字:\n");
//标准输入
scanf("%d", &a);
//统计这个数字的二进制形式:1的个数
while (flag)
{
//每次判断这个位是不是1,是就计数
if (a & flag)
cnt++;
//a 向右移动一位
flag <<= 1;
}
//cnt = 31.
printf("cnt = %d.\n", cnt);
}
四、数组
1、数组的定义:数组是一种复杂的数据结构,研究这些数据在内存中如何存放的;
2、算法:指的是如何将这些数据更高效的方式从内存中提取出来;
3、数组的标志是[a],并且这个a必须是一个常量;
4、数组里面存放的元素,默认的下标是从0开始;
五、字符数组内部的去相应字符或者空格
思想:1、定义一个字符类型的数组,内部存放的是初始的字符串
2、循环遍历整个数组,查找需要删除的字符,其他的字符依旧存放在当前的数组
3、输出更改后的数组
代码:
#include<stdio.h>
int main(voide)
{
char buf[] = "I LOVE YOU!";
printf("buf = [%s].\n", buf);
//控制循环次数
int len = strlen(buf), i = 0, j = 0;
//去除字符串中的空格
for (i=0; i<len; i++)
{
//循环比较字符串中是否有空格字符,更改我们的字符数组
if (buf[i] != ' ')
{
//更新数组元素
buf[j] = buf[i]; // 打印结果,去掉了空格,但是多了一些字符
j++;
}
}
// j++;
buf[j] = 0;
//更改后的buf数组
printf("buf = [%s].\n", buf);