2023-12-06 19:24来源:m.sf1369.com作者:宇宇
可能很多初学C语言的都有这样的困惑, 貌似C语言只能做计算嘛. 除了算算术就是做算法, 要不就是画个简单的图....OVER. 到底C语言能做什么?
其实, 学校里教C语言, 只是为了教会学生掌握语言特性. 并不会教学生如何做工程运用.
C语言是做工程是依赖库的, 使用相应的库, 就可以做相应的事情. 当然, 如果没有现成的库, 也可以写一个哈.
C语言可以做的范围很广, 目前优势项目主要包括以下方面:
1.操作系统/驱动开发. C语言是本地语言, 访问硬件很方便, 而且执行效率高效, 所以是操作系统和驱动开发的首选语言. 无论是windows还是unix/linux, 其操作系统的代码大部分是用C开发的.
2.嵌入式开发. 也就是运行在非PC上的, 其实这个也类似操作系统或驱动.
3.游戏开发. 无论是网游的服务器端, 还是3D的客户端, C/C++均有大量成熟的库, 可以帮你快速开发稳定高效的软件.
4.数据库程序. 无论是oracle还是mssql, 均提供了与C语言的接口(proc等), 可以方便的开发数据库程序.
5.应用中间件. 许多很牛的应用服务器也是C开发的. apache/.../
6.GUI程序, 其实这一块与VB或其它相比稍弱一些. 但是有跨平台现成的GUI库支持, 也是应用多多, 比如QT库, 这个应用很大的是nokia的手机系统(塞班), Wx库, 或MFC库(当然MFC不只是一个GUI库), GTK等
其实一句话, 学好C/C++, 走遍天下都不怕!
一、流程控制:
不管是哪一门语言,这个都是必须要学会,据说流程控制中的:顺序,循环,选择,能够解决世界上所有的问题.当然,只有通晓流程控制才能真正的解读程序!
1.顺序:正常的语句执行,从上至下。
2.选择:if 或 select..
3.循环:for while ..
在这里给大家出个程序,如果答对,那么流程控制也就基本过关了.
示例一:
#include <stdio.h>
int main()
{
int a = 3;
if(a>0) a++;
a--;
printf(%d,a);
for(int i = 0; i<3;i++)
a++;
printf(%d,a);
return 0;
}
讲解一:
//第一个结果是3的话就答对了,因为一个if只能控制一条语句.如果想控制多条语句则用{}
//第二个是for循环,在他们中把int i = 0 看做1; i < 3 看做2; i++看做3; a++看做4
程序执行的顺序是:1.现执行1(这个是只执行一次的) 2.执行2(进行判断) 3.如果2成立则执行4,不成立则推出循环 4.执行3
5.执行2(进行判断) 6.如果2成立则执行3,不成立则推出循环
当3执行完后,算一个循环执行.聪明的你应该知道答案了吧!
二、指针(这个可是C语言的灵魂)
指针就像一根针指向一个地方..在他里面有两个运算符:* &
指针的用途可以说是很大的,在跨函数中使用内存是应用最广泛的。因为引用函数中的变量和主函数中的变量不是同一变量,所以你要在引用函数中改变主函数的值,只有通过指针来改变。
示例二:
#include<stdio.h>
void f(int * a, int * b)
{
int c;
c = *a;
*a = *b;
*b = c;
};
int main()
{
int a = 2;
int b = 3;
f(&a,&b);
printf(%d %d\n,a,b);
return 0;
}
讲解二:
这个程序可以通过调用函数来实现两个数的交换,其中主函数的a b和f()函数中的a b 是不相同的。
三、结构体
指针和结构体在以后的编程中会经常看到,在API中很多数据类型都是通过结构体自定义的.打个比方.假如一个班级要录入学生的信息.他们有:出生年月日、姓名、性别、籍贯、住所...我们需要发给每个人一张表单.这每个表单就相当于一个结构体变量.我们可以自己定义结构体变量中有哪些变量.这样就方便了我们对信息的操作!
四、运算符
五、数据类型
六、算法
四和五,我觉得是死东西.只要记得就行了.前三个我认为是学C语言必须掌握的基础知识. 而要会算法则要学习数据结构这门课!
PS:如果以上所写有错误或者不足之处欢迎拍砖。大家一起来谈论,C语言我们究竟该学习什么,什么才是重点,当然学习C语言也不仅是学C语言的,所谓一通百通,相信大家学会了C之后学习其他语言一定会逐步青云.