初识C语言 学习笔记2
字符串+转义字符+注释
字符串
"Hello World"
由双引号引用起来的字符叫做字符串
转义字符:\
#include <stdio.h>
#include <string.h>
int main(){
char arr1[] = "abc";//数组
char arr2[] = {'a','b','c',0};
printf("%s\n",arr1);
printf("%s\n",arr2);
printf("%d\n", strlen("c:\TEST\32\TESE.C"));
return 0;
}
注释
// 或 /**/
选择语句
if(判断语句){
代码块
}else{
代码块
}
循环语句
·while语句
·for语句
·do...while语句
while语句示例:
#include <stdio.h>
int main(){
int line = 0;
while (line < 10) {
printf("一行代码");
line++;
}
return 0;
}
函数
#include <stdio.h>
int add(num1,num2){
return num1+num2;
}
int main(){
int num1 = 10;
int num2 = 20;
int sum;
sum = add(num1,num2);
printf("sum = %d\n",sum);
return 0;
}
函数的特点就是简化代码,代码复用
数组
数组的定义:一组相同类型元素的集合。
数组定义方式:
#include <stdio.h>
int main(){
int i = 0;
int arr[10] = {0,1,2,3,4,5,6,7,8,9};//定义一个存放10个整数数字的数组
while (i < 10){
printf("%d\n", arr[i]);//访问下标
i++;
}
return 0;
}
下标默认从0开始。
操作符
算术符 :+ - * / %
移位操作符 : >> <<
位操作符 :
二进制位,0为假1为真
& 按位与--并且--只要有一个是假,就为假
^ 按位或--或者--只要有一个是真,就是真
| 按位异或--对应的二进制位相同则为0,对应的二进制位相异则为1
赋值操作符 : = += -= *= /= &= ^= |= >>= <<=
单目操作符 :
! 逻辑反
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度
~ 对一个数的二进制按位取反
-- 前置、后置--
++ 前置、后置++
* 间接访问操作符
(类型) 强制类型转换
关系操作符 :> < >= <= != ==
逻辑操作符 && ||
条件操作符 :EXP1?EXP2:EXP3
#include <stdio.h>
int main(){
int a = 10;
int b = 20;
int max;
max = (a>b?a:b);
printf("%d\n",max);
return 0;
}
下标引用、函数调用和结构成员 : [] () . ->
关键字 typedef
typedef顾名思义是类型定义,这里应该理解为类型重命名
例:
#include <stdio.h>
//将unsigned int重命名为uint_32,所以uint_32也是一个类型名
typedef unsigned int uint_32;
int main(){
//观察num1和num2 ,这两个变量的类型是一样的
unsigned int num1 = 0;
uint_32 num2 = 0;
return 0;
}
关键字static
在c语言中:
static是用来修饰变量和函数的
1、修饰局部变量-静态局部变量
2、修饰全局变量-静态全局变量
3、修饰函数-静态函数
修饰局部变量
#include <stdio.h>
void test(){
static int a = 1;//a是一个静态局部变量
a++;
printf("%d\n",a);
}
int main(){
int i = 0;
while (i <5){
test();
i++;
}
return 0;
}//修饰局部变量时,局部变量的生命周期延长了
修饰全局变量
修饰全局变量时,改变了变量的作用域,让静态的全局变量只能在自己所在的源文件内部使用。
修饰函数
修饰函数时,也是改变了函数的作用域(不准确)
改变了函数的链接属性(准确) 外部链接属性 -> 内部链接属性
define关键字
#include <stdio.h>
//define定义标识符常量
#define MAX 1000
//定义宏
#define ADD(x,y) ((x)+(y))
int main(){
int sum = ADD(2,3);
printf("sum = %d\n",sum);
sum = 10*ADD(2,3);
printf("sum = %d\n",sum);
return 0;
}

浙公网安备 33010602011771号