9.27 C语言预课笔记
C语言整理
1. hello world程序
- 所有的程序都是从一个叫main的入口进去,然后依次执行代码(顺序流程控制)
- 当main入口程序碰到return的时候,标志整个程序运行结束。
- main程序比较特殊,可以没有Int这个单词,换句话说就是可以不写intmain(),直接写成main()。
- int main(int argc,char *argv[]),还可以写成int main()。
- 注释
- 注释之后的代码不会被编译执行。
- //代表单行注释
- /* code/:多行注释,例如///这种用法是错误的,/只会与碰到的第一个/匹配,所以最后一个/没有/与之匹配。
main 入口结束时可以不用return,但是系统会在编译时自动为其加上隐式的return,其他程序入口不能忽略。
printf:print formatter 格式化打印函数,printf是打引号里内容。
\n是转义字符,代表换行。-
函数printf用法
printf(“b=%d\n”,b)
%d是一个占位符,打印十进制的数。
%f是一个占位符,打印
%c是一个占位符,打印
%p打印地址
Int a=10,b=10;
printf(“a=%d\nb=%d\n”,a,b);
float a=1.6;
double b=1.3;
printf("a=%f\nb=%f\n",a,b);char ch='a';
printf("ch=%c\n",ch);
printf("%m.nf"):右对齐打印数据
printf(“%-m.nf”):左对齐打印数据- m<n+1+小数点前面数据的个数,m无意义,否则,m才有意义,左边加空格补全位数,小数点在内。
float a=1.23456789; printf("a=%.6f\n",a); printf("a=%-10.5f\n",a);
-
代表这行代码是在gcc -E(预处理完成),include:包含,<xxx.h>:代表包含系统的文件,stdio.h:standader input out :标准输入输出函数头文件。
代码格式
- 需要将括号与括号对齐。
- 用 tab退行。
2. 常量
- 整形常量(十进制)
- 0,1,2,3,4
- 实形常量
- 单精度的:1.23f 2.45f
- 双精度的:1.23
- 字符常量
- ‘1’,‘0',‘\n’
- 字符串常量
- “1”:有一个隐藏的字符‘0’
- 地址常量
- 0xff
- 0~15:0 a b c d
- 常量特点
- 不能改变的量
- 常量不能作为左值,左值代表=左边的值。
-可以由 const和define产生
3.变量特点
3.1 变量特点
- 可以改变的量
- 可以作为左右值
3.2 所有的变量名统称为标识符
标识符命名规范
- 只能由字母(26个英文字母),下划线,数字构成,区分大小写。
- 不能由数字开头4x
- 不能与C语言的关键字相同
建议的规范
- 不准用拼音,查字典。
- 使用下划线命名法:num_of_student,驼峰命名法:int numOfStudent;
- 见名知义。
3.3 变量的定义:数据类型+变量名
int a;
a=10;(先定义整形变量,再给变量赋值)
int a=10;(定义变量时就赋值)
int a=10,b=2;同时定义多个变量
3.4 变量定义的注意点
{
int a;
int a;(会出现变量重复定义)
}
{
int a;【1】
{
int a;【2】
}【3】
}【4】
【1】a的使用范围应该是从【1】到【4】结束,如果有以上情况出现,先遵从范围小的变量。
如果int b=10.8,此时会将10.8转成10
3.5 单精度变量
float a=1.6;
printf (“a=%f\nb=%”)
4. 简单shell命令
- sudo:当前一次获取管理员执行权限
- sudo apt-get update:更新一下程序包的命令
- sudo apt-get install xxx包:安装xxx包
- sudo init 0 //shutdown -h now(关机时间):关机命令
- sudo reboot:重启
- 目录格式
- /:根目录
- ls:显示当前目录下的子目录
- home:家目录:放的是用户主目录和其他用户目录
- etc:配置文件
- dev:设备文件
- bin:bin目录,存放shell命令的目录
- cd:change directory,切换目录命令
- cd 文件具体目录:
- cd /:到根目录
- cd :相当于/home/ccj/
- cd :作用同上
- .:代表当前目录
- ..:代表当前目录的上一层目录
- pwd:present work directory:显示当前路径
- ls使用
- ls:显示当前工作路径下的子文件(目录,普通文件)
- ls -a:显示当前工作路径下所有的子文件包括隐藏文件
- ls -i:显示当前工作路径下的所有子文件的属性
- ls -al:上面两种功能的集合
- clear:清屏
- ctrl+l:清屏
- mkdir xxName:创建目录xxName
- touch xxxName:创建xx文件
- rm :删除文件
- rmdir:删除目录
Vim的基本使用
- vi 1.c来到1.c这个文件时,这个文件处于非编辑模式,按i进入可编辑模式,按Esc退出编辑模式,按shift +:
按w:保存;
按q;退出;
按wq:保存退出;
按wq!,q!:强制退出; - yy:光标放在目标行,复制该行
- p:粘贴该行
- n+yy:复制以下n行
- dd:删除该行
- n+dd删除以下n行
- 如果想复制多行且不想用n+yy;按shift+v进入可视化模式,用光标上下移动选择按y键复制,按p粘贴,按d进行删除。
- u:撤销上面操作
- 输入命令,按tab键补全(文件名,命令)
-rm 。1.tab:在当前目录下删除所有 - 再打开一个文件的同时想要新建一个新的文件,但是又想退出当前的编辑界面,在非可编辑模式下,按shift+:,输入vs(水平分,打开或新建) xx.c:表示打开另一个文件。输入sp(表示上下分屏打开或新建) xx.c。
- wqa:关闭所有文本编辑器。