联系方式

咨询热线:400-998-6158

点击此处免费预约试听课程»

常见问题
学习资讯
常见问题

太原C语言开发培训哪家好

太原C语言开发培训哪家好

继承性和多态性的组合,可以轻易地生成一系列虽然类似但无二的对象。由于继承性,这些对象共享许多相似的特征。由于多态性,一个对象可有独特的表现方式,而另一个对象有另一种表现方式

C语言培训本课程是达内的经典项目,采用小班固定入学模式,由C语言培训教学,并具有多年C语言培训经验。 讲座和练习相结合的教学模式贯穿于整个过程,学生每个人拥有一台计算机以确保学习效果。重点讲解C语言及数据结构和算法,QT开源框架库STL技术,更有考察和实践演练,学习合格后达内C语言培训可推荐学生们工作!

多年迭代,课程源自企业需求,紧跟时代
阶段一
C 语言编程基础
1.计算机概述,Linux Eclipse 开发环境搭建。
2.基本数据类型,流程控制。
3.各种存储结构优劣对比,排序算法优劣对比。


阶段二

Linux C 系统级开发
1.掌握文件的打开与关闭、文件的读写、系统与标准I/O。
2.掌握子进程创建、进程间通讯、信号捕获和处理。
3.掌握线程创建、线程同步技术。

阶段三
C++语言及数据库
1.熟悉名字空间、各种数据类型的操作。
2.熟练掌握C++ 各种异常情况处理,输入输出流操作。
3.了解C++ 泛化数据类型技术原理。


我们达内教育经验丰富C语言培训授课,主要经过理论+操作演示+实践,多种授课方式生动活泼为学员讲解,相对来说性价比是很高的。如果您想要学习C语言技术和技能,可以随时到我们北京达内C语言培训这边来报名,我们是随时报名随时学习的。



C语言软件工程师需要很大
C语言软件工程师,根据三大专业招聘网站公布的IT公司招聘岗位,定量统计显示,对C语言软件工程师的需求一直在上升,人才需求发展处于稳定状态。从目前的工作市场来看,企业对C语言人才的需求很大,但无法招聘到合适的人才。很多应聘者因为缺乏C语言能力而被用人单位拒绝。C语言人才的职场面临着“有人不工作,没人工作”的尴尬局面。毕竟没有真正的天赋是很难被认可的。





printf() 的*用法

通过前面的学习,相信你已经熟悉了 printf() 的基本用法,但是这还不足以把它发挥到**,printf() 可以有更加炫酷、更加个性、更加整齐的输出形式。

假如现在老师要我们输出一个 4×4 的整数矩阵,为了增强阅读性,数字要对齐,怎么办呢?我们显然可以这样做:
			
  1. #include <stdio.h>
  2. int main()
  3. {
  4. int a1=20, a2=345, a3=700, a4=22;
  5. int b1=56720, b2=9999, b3=20098, b4=2;
  6. int c1=233, c2=205, c3=1, c4=6666;
  7. int d1=34, d2=0, d3=23, d4=23006783;
  8. printf("%d %d %d %d\n", a1, a2, a3, a4);
  9. printf("%d %d %d %d\n", b1, b2, b3, b4);
  10. printf("%d %d %d %d\n", c1, c2, c3, c4);
  11. printf("%d %d %d %d\n", d1, d2, d3, d4);
  12. return 0;
  13. }
运行结果:
20        345       700       22
56720     9999      20098     2
233       205       1         6666
34        0         23        23006783
矩阵一般在大学的《高等数学》中会讲到,m×n 的数字矩阵可以理解为把 m×n 个数字摆放成 m 行 n 列的样子。
看,这是多么地自虐,要敲那么多空格,还要严格控制空格数,否则输出就会错位。更加恶心的是,如果数字的位数变了,空格的数目也要跟着变。例如,当 a1 的值是 20 时,它后面要敲八个空格;当 a1 的值是 1000 时,它后面就要敲六个空格。每次修改整数的值,都要考虑修改空格的数目,逼死强迫症。

类似的需求随处可见,整齐的格式会更加美观,让人觉得生动有趣。其实,我们大可不必像上面一样,printf() 可以更好的控制输出格式。更改上面的代码:
			
  1. #include <stdio.h>
  2. int main()
  3. {
  4. int a1=20, a2=345, a3=700, a4=22;
  5. int b1=56720, b2=9999, b3=20098, b4=2;
  6. int c1=233, c2=205, c3=1, c4=6666;
  7. int d1=34, d2=0, d3=23, d4=23006783;
  8. printf("%-9d %-9d %-9d %-9d\n", a1, a2, a3, a4);
  9. printf("%-9d %-9d %-9d %-9d\n", b1, b2, b3, b4);
  10. printf("%-9d %-9d %-9d %-9d\n", c1, c2, c3, c4);
  11. printf("%-9d %-9d %-9d %-9d\n", d1, d2, d3, d4);
  12. return 0;
  13. }
输出结果:
20        345       700       22
56720     9999      20098     2
233       205       1         6666
34        0         23        23006783
这样写起来更加方便,即使改变某个数字,也无需修改 printf() 语句,增加或者减少空格数目。

%-9d中,d表示以十进制输出,9表示较少占9个字符的宽度,宽度不足以空格补齐,-表示左对齐。综合起来,%-9d表示以十进制输出,左对齐,宽度较小为9个字符。大家可以亲自试试%9d的输出效果。

printf() 格式控制符的完整形式如下:
%[flag][width][.precision]type
[ ] 表示此处的内容可有可无,是可以省略的。
1) type 表示输出类型,比如 %d、%f、%c、%lf,type 就分别对应 d、f、c、lf;再如,%-9d中 type 对应 d。

type 这一项*有,这意味着输出时*要知道是什么类型。

2) width 表示较小输出宽度,也就是至少占用几个字符的位置;例如,%-9d中 width 对应 9,表示输出结果较少占用 9 个字符的宽度。

当输出结果的宽度不足 width 时,以空格补齐(如果没有指定对齐方式,默认会在左边补齐空格);当输出结果的宽度超过 width 时,width 不再起作用,按照数据本身的宽度来输出。

下面的代码演示了 width 的用法:
			
  1. #include <stdio.h>
  2. int main(){
  3. int n = 234;
  4. float f = 9.8;
  5. char c = '@';
  6. char *str = "http://c.biancheng.net";
  7. printf("%10d%12f%4c%8s", n, f, c, str);
  8. return 0;
  9. }
运行结果:
       234    9.800000   @http://c.biancheng.net
对输出结果的说明:
  • n 的指定输出宽度为 10,234 的宽度为 3,所以前边要补上 7 个空格。
  • f 的指定输出宽度为 12,9.800000 的宽度为 8,所以前边要补上 4 个空格。
  • str 的指定输出宽度为 8,"http://c.biancheng.net" 的宽度为 22,超过了 8,所以指定输出宽度不再起作用,而是按照 str 的实际宽度输出。

3) .precision 表示输出精度,也就是小数的位数。
  • 当小数部分的位数大于 precision 时,会按照四舍五入的原则丢掉多余的数字;
  • 当小数部分的位数小于 precision 时,会在后面补 0。

另外,.precision 也可以用于整数和字符串,但是功能却是相反的:
  • 用于整数时,.precision 表示较小输出宽度。与 width 不同的是,整数的宽度不足时会在左边补 0,而不是补空格。
  • 用于字符串时,.precision 表示较大输出宽度,或者说截取字符串。当字符串的长度大于 precision 时,会截掉多余的字符;当字符串的长度小于 precision 时,.precision 就不再起作用。

请看下面的例子:
			
  1. #include <stdio.h>
  2. int main(){
  3. int n = 123456;
  4. double f = 882.923672;
  5. char *str = "abcdefghi";
  6. printf("n: %.9d %.4d\n", n, n);
  7. printf("f: %.2lf %.4lf %.10lf\n", f, f, f);
  8. printf("str: %.5s %.15s\n", str, str);
  9. return 0;
  10. }
运行结果:
n: 000123456  123456
f: 882.92  882.9237  882.9236720000
str: abcde  abcdefghi
对输出结果的说明:
  • 对于 n,.precision 表示较小输出宽度。n 本身的宽度为 6,当 precision 为 9 时,大于 6,要在 n 的前面补 3 个 0;当 precision 为 4 时,小于 6,不再起作用。
  • 对于 f,.precision 表示输出精度。f 的小数部分有 6 位数字,当 precision 为 2 或者 4 时,都小于 6,要按照四舍五入的原则截断小数;当 precision 为 10 时,大于 6,要在小数的后面补四个 0。
  • 对于 str,.precision 表示较大输出宽度。str 本身的宽度为 9,当 precision 为 5 时,小于 9,要截取 str 的前 5 个字符;当 precision 为 15 时,大于 9,不再起作用。

4) flag 是标志字符。例如,%#x中 flag 对应 #,%-9d中 flags 对应-。下表列出了 printf() 可以用的 flag:
标志字符 含  义
- -表示左对齐。如果没有,就按照默认的对齐方式,默认一般为右对齐。
+ 用于整数或者小数,表示输出符号(正负号)。如果没有,那么只有负数才会输出符号。
空格 用于整数或者小数,输出值为正时冠以空格,为负时冠以负号。
#
  • 对于八进制(%o)和十六进制(%x / %X)整数,# 表示在输出时添加前缀;八进制的前缀是 0,十六进制的前缀是 0x / 0X。
  • 对于小数(%f / %e / %g),# 表示强迫输出小数点。如果没有小数部分,默认是不输出小数点的,加上 # 以后,即使没有小数部分也会带上小数点。

请看下面的例子:
			
  1. #include <stdio.h>
  2. int main(){
  3. int m = 192, n = -943;
  4. float f = 84.342;
  5. printf("m=%10d, m=%-10d\n", m, m); //演示 - 的用法
  6. printf("m=%+d, n=%+d\n", m, n); //演示 + 的用法
  7. printf("m=% d, n=% d\n", m, n); //演示空格的用法
  8. printf("f=%.0f, f=%#.0f\n", f, f); //演示#的用法
  9. return 0;
  10. }
运行结果:
m=       192, m=192      
m=+192, n=-943
m= 192, n=-943
f=84, f=84.
对输出结果的说明:
  • 当以%10d输出 m 时,是右对齐,所以在 192 前面补七个空格;当以%-10d输出 m 时,是左对齐,所以在 192 后面补七个空格。
  • m 是正数,以%+d输出时要带上正号;n 是负数,以%+d输出时要带上负号。
  • m 是正数,以% d输出时要在前面加空格;n 是负数,以% d输出时要在前面加负号。
  • %.0f表示保留 0 位小数,也就是只输出整数部分,不输出小数部分。默认情况下,这种输出形式是不带小数点的,但是如果有了#标志,那么就要在整数的后面“硬加上”一个小数点,以和纯整数区分开。

学校联系方式

更多培训课程,学习资讯,课程优惠等学校信息,请进入 太原达内教育太原Python培训太原C++培训 网站详细了解,免费咨询电话:400-998-6158

相关课程