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 条评论
 下一页
 为你推荐
 查看更多
    
   
   
   
   
  
  
  
  
  
  
  
  
  
  
 