这个系列是用来解决学校C语言课程的,并不适用于ACM和OI
本系列博客分为2部分,分别是 C语言程序设计笔记(网课) 和 课堂总结(线下课)
欢迎转载我的博客:https://www.cnblogs.com/ssw02/p/15904239.html
1.什么是计算机语言
计算机只是一种执行命令的工具,我们需要让计算机清楚每一步要怎么做。但编程语言并不是人与计算机交谈的语言
而程序则是使用特殊编程语言来表达如何解决问题的,可以详细告诉计算机处理过程和步骤。
2.程序的执行
程序执行的两种不同方式:解释 和 编译
我们常说C语言是一种编译型语言(高级语言),有确定的运算性能,而JavaScript则是解释型语言(脚本语言),有特殊的计算能力。但是语言本身没有解释和编译的区分,只是执行方式而已
解释:借助一个程序,那个程序能够试图理解你的程序,然后按照你的要求进行执行
编译:借助一个程序,将使用高级语言所写的程序翻译成机器语言,然后这个机器语言写的程序可以执行
3.习题答案:
1.计算机本身最擅长的能力是重复
2.编程语言并不是和计算机交谈的语言
3.CPU不能直接运行由人类编写的高级程序
1.C语言起源
在《深入理解计算机系统》这本书中对C的起源有下面3个概括
C语言与Unix操作系统关系密切
C语言小而简单
C语言是为实践目的而设计的
2.为什么选择C语言进行学习
简单易学、使用范围广、易于移植到不同计算机上
C语言也是一种收到广泛认可的工业语言
常见用于:操作系统、嵌入式系统、驱动程序、底层驱动、图形引擎、图像处理、声音控制等等
也导致了其开发效率大于学习过程和开发乐趣,日常应用很少用C语言编写,学习C语言的过程主要是练习代码,非真实软件
3.IDE(集成开发环境)
IDE一般包括代码编辑器、编译器、调试器和图形用户界面等
其中编辑器和编译器是让C能够运行不可或缺的
备注:使用标准为C99标准
4.习题答案
关于C语言,以下说法错误的有:B
A. C语言是和Unix操作系统一同发展起来的 B. C语言不能写图形界面的软件 C. C语言一般是编译执行的 D. C语言诞生于1970年代
2
轻量级的编程软件,如Geany+MinGW或Sublime Text+MinGW,与专门的IDE如Dev C++相比,什么功能没有了? A
A. 单步调试 B. 源代码编辑时的语法高亮 C. 编译程序 D. 运行程序
IDE的中文翻译是:集成开发环境
1.第一个程序
#include<stdio.h> int main(){ printf("Hello,World\n"); return 0 ; }
#include<stdio.h>
头文件
int main(){ }
主函数,这是必要的程序框架
printf("输出内容")
输出 “”里面是要输出的字符串 \n表示输出后换行,不会按照原样输出\n
return 0
给上面的main函数返回值 0
程序也是需要断句的,我们使用 ; 来表示,不能用中文分号,否则会报错
2.编译和运行
代码写好后,我们就需要进行编译和运行
注意,我们通常运行的显示是在 终端(就是那个小黑框) , VScode可以在下方监视器上找到,也可以在launch.json文件里面找到对应设置改为弹出终端, DevC++则是会直接弹出
3.输出结果
在不报错的情况下,我们的终端上便会显示出 Hello,World
了
如果报错了的话,就要根据报错的位置进行修改。
这里先说C和C++比较烦的一点,就是它报错的地方不一定是真正导致错误的地方。如果碰到这种情况,新手时期可以先从报错点周围看看有没有错,等之后慢慢熟练了,就知道如何查错了。
4.输出一个数字
#include<stdio.h> int main(){ printf("%d",12); return 0 ; }
和我们写的第一个程序相比,区别在printf("%d",12)
这里
%被称为格式占位符,是在C/C++语言中格式输入函数,如scanf、printf等函数中使用。其意义就是起到格式占位的意思,表示在该位置有输入或者输出
%d 则是代表格式占位了一个int类型的实数
这里占位符按照从左往右的方式,例如printf("%d%d",12,45)
这时左边的%d对应12,右边的%d对应45,得到输出1245
如果我们想要输出12 45
,则要在两个占位符中间打空格,让空格被视为字符串输出,即printf("%d %d",12,45)
5.实现一个加法
#include<stdio.h> int main(){ printf("%d",12+45); return 0 ; }
于上面的程序的区别在于%d对应的是 12+45 的运算结果,但还是一个int类型的实数,但是输出只有57
如果我们想要输出12+45=57
的话,则可以这样
printf("12+45=%d",12+45)
这样%d前面的12+45=
会以字符串的方式输出,而%d则对应57的运算结果
6.常见运算在C中的对应
加法 + eg. a=4+5
结果a为9
减法 - eg. a=4-5
结果a为-1
乘法 * eg. a=4*5
结果a为20
除法 / eg. a=6/5
结果a为1,因为会取整(本质上是二进制计算)
取余 % eg. a=12%5
结果a为2
括号 () 会改变运算优先级
7.习题程序
这个是下一章节用的,详见:
#include <stdio.h> int main() { int price = 0; printf("请输入金额(元):"); scanf("%d", &price); int change = 100 - price; printf("找您%d元。\n", change); return 0; }