C语言入门经典案例:逻辑思维与奖金计算程序

需积分: 3 1 下载量 118 浏览量 更新于2024-11-04 收藏 59KB TXT 举报
"《(X)经典C源程序100例》是一本针对初学者编写的实用教材,旨在通过提供100个精简且富有挑战性的C语言程序实例,帮助学习者提升编程基础和逻辑思维能力。该书收录的程序覆盖了从基础语法到具有一定复杂度的算法,如第一个例子展示了如何用三重循环实现一个不重复数字的矩阵打印,强调了条件判断在控制结构中的应用。 第二个示例则涉及一个计算奖金的函数,它采用递归方式设计,根据员工的收入计算不同等级的百分比奖金。这个例子展示了如何在C语言中处理数值计算和条件分支,以及使用变量和函数来封装业务逻辑。 第三个程序是关于时间复杂度分析,其中提到的算法的时间复杂度为O(n),它通过输入值来演示如何根据不同区间计算不同的税率,并输出最终的收益。这个部分展示了在实际编程中对效率的考量和数据结构的选择。 《经典C源程序100例》是一本非常适合编程新手的教程,通过这些实例,读者可以逐步掌握C语言的基本语法、控制结构、数据类型处理以及算法设计,有助于培养出扎实的编程技能和逻辑思考习惯。对于想要系统学习C语言的人来说,这本书提供了丰富的实践材料和深入理解的机会。"

以C语言小子集定义表(见表1)为例实现词法分析; 表1 C语言小子集定义表 image.png 2. 设计单词属性字,及各类表格(表示符表、常量表、单词符号及机内表示); 3. 画出总控流程图,确定各个子程序的功能并画出控制流程图; 4. 编码实现词法分析程序 采用标准输入和输出的方式。程序从键盘接收代码,遇到代码结束符“#”时结束,并将词法分析的结果输出到屏幕上。 要求实现: (1)对正确源程序的识别; (2)对包含有注释//和/* */的源程序的识别; (3)对包含错误标识符的源程序的识别。(注意,行号的计算不包含空行,详见样例3) 5. 设计3-5个测试实例,要求覆盖上述功能,并完成测试 【输入形式】c语言小子集的程序片段 【输出形式】单词序列 【样例输入1】 int i = 3; int j = 10; int m = max(i, j); while(i<=m) do { i = i+ 1; } void max(int x, int y) { int temp = 0; if(x > y) temp = x; else temp = y; return temp; } # 【样例输出1】 <4,->,<1,i>,<27,->,<2,3>,<34,->, <4,->,<1,j>,<27,->,<2,10>,<34,->, <4,->,<1,m>,<27,->,<1,max>,<28,->,<1,i>,<35,->,<1,j>,<29,->,<34,->, <9,->,<28,->,<1,i>,<20,->,<1,m>,<29,->,<10,->, <32,->, <1,i>,<27,->,<1,i>,<14,->,<2,1>,<34,->, <33,->, <3,->,<1,max>,<28,->,<4,->,<1,x>,<35,->,<4,->,<1,y>,<29,->, <32,->, <4,->,<1,temp>,<27,->,<2,0>,<34,->, <7,->,<28,->,<1,x>,<21,->,<1,y>,<29,->, <1,temp>,<27,->,<1,x>,<34,->, <8,->, <1,temp>,<27,->,<1,y>,<34,->, <12,->,<1,temp>,<34,->, <33,->,

2023-05-18 上传