c语言-第一周
2023-07-31 08:18:47 16 举报
AI智能生成
c基础第一周思维导图
作者其他创作
大纲/内容
7.27
位运算
位运算:
对二进制补码进行运算
对二进制补码进行运算
&按位与
按位或|
按位异或^
按位取反~
左移<<
右移>>
运算符
关系运算符
< > >= <= == !=
< > >= <= == !=
赋值运算符
= += -= *= /=
= += -= *= /=
条件运算符:(三目运算)
?:
?:
常量
1.字符型常量
字符串常量
3.整型常量
4.浮点型常量
指数常量
标识常量
区别:
1、define的新名字在左边,typedef新名字在右边
2、分号区别
3、define能改所有名字,typedef只能改变量类型
1、define的新名字在左边,typedef新名字在右边
2、分号区别
3、define能改所有名字,typedef只能改变量类型
【2】输入输出
getchar
putchar
printf
scanf
7.26
linux
linux命令
hostname
whoami
pwd
ls
cd
mkdir
touch
rm
cp
mv
终端
打开
直接点击
●ctrl+alt+t:路径是家目录
●ctrl+shift+n:路径就是当前路径
关闭
●直接点击
●ctrl+d:
●exit
vi
命令行模式
复制:yy:复制光标所在行
粘贴:p
删除:dd
撤销:u
反撤:ctrl+r
加n:可以操作n行内容
文件的开头:gg
文件de末尾:G
行首:0
行尾:$
整理代码:gg=G
粘贴:p
删除:dd
撤销:u
反撤:ctrl+r
加n:可以操作n行内容
文件的开头:gg
文件de末尾:G
行首:0
行尾:$
整理代码:gg=G
插入模式
低行模式
保存:w
退出:q
保存退出:wq
强制退出:q!
分屏:vsp
查找:/str
替换:s/str/str2 :将光标所在行第一个符合查找的内容进行替换
全部替换:%s/str/str2/g
退出:q
保存退出:wq
强制退出:q!
分屏:vsp
查找:/str
替换:s/str/str2 :将光标所在行第一个符合查找的内容进行替换
全部替换:%s/str/str2/g
GCC
1.预处理
gcc -E hello.c -o hello.i
2.编译
命令:gcc -S hello.i -o hello.s 检查语法错误 有错报错 没有错误生成汇编语言
stm32中的启动文件就是.s的汇编文件
3将汇编语言转化成二进制的文件
命令:gcc -c hello.s -o hello.o
将汇编语言转化成二进制的文件
将汇编语言转化成二进制的文件
4. 链接
命令:gcc hello.c -o hello
链接库文件,生成可执行文件
执行文件:gcc hello.c 默认生成一个a.out文件 ./a.out
链接库文件,生成可执行文件
执行文件:gcc hello.c 默认生成一个a.out文件 ./a.out
变量
概念:在程序运行当中会发生变化的量
定义格式:存储类型 数据类型 变量名
定义格式:存储类型 数据类型 变量名
auto、register、static、extern。
如果用extern引用变量,就会从外部的文件去找这个变量
运算符
算数运算符:+ - * / % ++ --
逻辑运算符:&& || !
7.28
【1】强制转换
【2】分支语句
if
if else:
if(表达式1){
语句块1;
}else if(表达式2){
语句块2;
}else if(表达式3){
语句块3;
}else{
语句块4;
}
语句块1;
}else if(表达式2){
语句块2;
}else if(表达式3){
语句块3;
}else{
语句块4;
}
switch
switch(表达式或者常量){
case 常量1:语句块1 ;break;
case 常量2:语句块2;break;
case 常量2:语句块2;break;
......
default:语句块n;
}
case 常量1:语句块1 ;break;
case 常量2:语句块2;break;
case 常量2:语句块2;break;
......
default:语句块n;
}
【3】循环语句
for
定义一个循环变量
for(表达1;表达式2;表达式3){
语句块;(循环体)
}
for(表达1;表达式2;表达式3){
语句块;(循环体)
}
while
#include <stdio.h>
int main() {
int score;
// 从终端输入学生成绩
printf("请输入学生成绩:");
scanf("%d", &score);
// 判断学生成绩级别并打印
switch (score) {
case 90 ... 100:
printf("成绩级别:A\n");
break;
case 80 ... 89:
printf("成绩级别:B\n");
break;
case 70 ... 79:
printf("成绩级别:C\n");
break;
case 60 ... 69:
printf("成绩级别:D\n");
break;
default:
printf("成绩级别:sorry you lost\n");
break;
}
return 0;
}
int main() {
int score;
// 从终端输入学生成绩
printf("请输入学生成绩:");
scanf("%d", &score);
// 判断学生成绩级别并打印
switch (score) {
case 90 ... 100:
printf("成绩级别:A\n");
break;
case 80 ... 89:
printf("成绩级别:B\n");
break;
case 70 ... 79:
printf("成绩级别:C\n");
break;
case 60 ... 69:
printf("成绩级别:D\n");
break;
default:
printf("成绩级别:sorry you lost\n");
break;
}
return 0;
}
do while
int i;
do{
语句块;
递增或者递减的条件;
}whlie(判断条件)
do{
语句块;
递增或者递减的条件;
}whlie(判断条件)
【4】循环控制语句
break continue
break:直接跳出整个循环(程序)
continue:跳出循环,只会跳出当前循环
break:直接跳出整个循环(程序)
continue:跳出循环,只会跳出当前循环
0 条评论
下一页