C语言入门之基础知识详解
一、思维导图
内容不限于此思维导图
二、环境搭建
对于老手,自动跳过这一趴吧,或者也可以看一下我有没有啥纰漏,毕竟小白需要这一趴。
编译器很多,大部分老师会在学生学习C语言的时候推荐使用VC,不带语言提示器的那种,说是可以提高学生的编码能力。我也不知道到底是不是这么一回事儿。我推荐使用VS,这样学的快,函数记不住的问题很严重吗?项目的车轮碾压过去,再记不住也得记住吧!!!
更何况这个系列到后面是会有需要用文本文件编程写项目的阶段。
下载VS2019社区版,不要标新立异选那些最新版的,出了问题到时候又调不过来。
下载之后点击安装,前面一路正常,会出困惑的应该是这个界面:
如果说之后还有需要什么功能的话,也是可以再行添加的:
打开visual studio Installer,进入修改:
不建议安装在C盘,换一个路径吧。
再接下来,就是创建一个项目:
新建一个写代码的地方:
Ctrl+shift+A
编译运行代码:
三、编码规范
分号:在 C 程序中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。
比方说:printf(“hello world”);
注释:以 // 开始的单行注释,这种注释可以单独占一行。
/* 多行注释 多行注释 多行注释 */
不能在注释内嵌套注释,注释也不能出现在字符串或字符值中。
标识符:C 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)
C 标识符内不允许出现标点字符
程序入口:C语言的程序入口从main函数开始、
头文件:引用头文件的时候有两种方法:
#include <·····> //引用系统头文件 #include "·····" //引用我们自己的头文件
四、基本数据类型
标准输入输出
#include<stdio.h> int main() { /* 这是一个输出的示例函数代码 */ int i = 47; printf("hello world"); printf("%d\n", i); system("pause"); return 0; }
%d就是控制符,用“,“隔开参数,进行格式化输出时,有许多控制符,常用的有:
%d 十进制有符号整数。 %s 字符串。 %c 单个字符。
盘点一下:
%d —— 以带符号的十进制形式输出整数 %o —— 以无符号的八进制形式输出整数 %x —— 以无符号的十六进制形式输出整数 %u —— 以无符号的十进制形式输出整数 %c —— 以字符形式输出单个字符 %s —— 输出字符串 %f —— 以小数点形式输出单、双精度实数 %e —— 以标准指数形式输出单、双精度实数 %g —— 选用输出宽度较小的格式输出实数
输入部分:
#include<stdio.h> int main() { int i; printf("请输入整型i的值:\n"); scanf_s("%d", &i); #注意这里的写法,&i printf("输入的值是:%d\n",i); return 0; }
五、分支循环
5.1 分支
if(boolean_expression) { /* 如果布尔表达式为真将执行的语句 */ }
if(boolean_expression) { /* 如果布尔表达式为真将执行的语句 */ } else { /* 如果布尔表达式为假将执行的语句 */ }
if( boolean_expression 1) { /* 当布尔表达式 1 为真时执行 */ if(boolean_expression 2) { /* 当布尔表达式 2 为真时执行 */ } }
switch(expression){ case constant-expression : statement(s); break; /* 可选的 */ case constant-expression : statement(s); break; /* 可选的 */ /* -简介可以有任意数量的 case 语句 */ default : /* 可选的 */ statement(s); }
switch(ch1) { case 'A': printf("这个 A 是外部 switch 的一部分" ); switch(ch2) { case 'A': printf("这个 A 是内部 switch 的一部分" ); break; case 'B': /* 内部 B case 代码 */ } break; case 'B': /* 外部 B case 代码 */ }
三目运算符:
Exp1 ? Exp2 : Exp3;
这个三目运算符呢,相对来说并不是那么非要掌握的,拿来装逼用挺好。
如果在代码中看到别人这么写,理解一下就好:
问好前面是判断条件,如果为真,执行冒号前面的语句,否则执行冒号后面的语句。
5.2 循环
while循环
while(condition) { statement(s); }
statement(s) 可以是一个单独的语句,也可以是几个语句组成的代码块。
condition 可以是任意的表达式,当为任意非零值时都为 true。当条件为 true 时执行循环。 当条件为 false 时,退出循环。
#include <stdio.h> int main() { int i=1,j; while (i <= 5) { j=1; while (j <= i ) { printf("%d ",j); j++; } printf("\n"); i++; } return 0; }
for循环
for ( init; condition; increment ) { statement(s); }
init 会首先被执行,且只会执行一次(可以放空,但是分号要有)。一般用于声明对象。
判断 condition(可以放空,默认为真)。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
执行完 for 循环主体,跳回上面的 increment 语句(可以放空)。一般用于更新循环控制变量。
如此,循环往复。
#include <stdio.h> int main () { /* for 循环执行 */ for( int a = 10; a < 20; a = a + 1 ) { printf("a 的值: %d\n", a); } return 0; }
六、break与continue
当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环以外的下一条语句。
它还可用于终止 switch 语句中的一个 case。
continue 会跳过当前循环中的代码,强迫开始下一次循环。
对于 for 循环,continue 语句执行后increment语句仍然会执行。对于 while 循环,continue 语句重新执行条件判断语句。
6.1 无限循环
相信我,总有一天你会需要无限循环的。
#include <stdio.h> int main () { for( ; ; ) //或者while(1) { printf("该循环会永远执行下去!\n"); } return 0; }
到此这篇关于C语言入门之基础知识详解的文章就介绍到这了,更多相关C语言基础知识详解内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!