C语言基础教程:程序结构与数据类型解析

版权申诉
5星 · 超过95%的资源 3 下载量 185 浏览量 更新于2024-07-06 1 收藏 343KB PDF 举报
"福建-专升本-C语言复习资料,涵盖了C语言的基础知识,包括C语言概述、算法特点、程序设计结构以及数据类型、变量命名规则、运算符等内容,适用于专升本考试复习。" 在C语言的学习中,首先要了解的是C语言的基本特性。C程序是由一系列函数构成的,这种模块化的特性使得程序更易于管理和维护。虽然C语言本身不包含内置的输入输出语句,但通过标准库函数如`scanf`和`printf`可以实现输入输出功能。值得注意的是,C语言不允许函数的嵌套定义,但允许函数的嵌套调用和递归调用。 算法是编程的基础,一个有效的算法应具备有穷性、确定性、至少零个输入、至少一个输出以及有效性这五个特点。在编写程序时,我们通常会用到三种基本结构:顺序结构、选择结构(条件分支)和循环结构。这些结构可以用N-S图直观地表示出来。 在数据类型方面,C语言提供了多种基础类型,如整型(`int`)、字符型(`char`)、实型(`float`和`double`),以及构造类型如数组、结构体(`struct`)、联合体(`union`)和枚举(`enum`)。此外,变量的命名必须遵循一定的规则,标识符只能由字母、数字和下划线组成,且首字符不能是数字。同时,要注意避免使用C语言的关键字作为标识符。 C语言中存在多种运算符,它们有不同的优先级和结合性。例如,小括号具有最高的优先级,用于改变表达式的计算顺序。同时,C语言提供了`sizeof`运算符,用于获取数据类型或变量在内存中占用的字节数。 在变量存储类型上,C语言提供了`auto`、`static`、`register`和`extern`四种,分别对应于自动变量、静态变量、寄存器变量和外部变量。此外,还有一些控制结构语句标识,如`if-else`、`switch-case-default-break`、`while-do-for`、`continue`、`goto`和`return`,这些都是编写控制流程的关键。 这份复习资料详细介绍了C语言的基础概念,对准备专升本考试的学生来说,是一个全面复习C语言基础知识的宝贵资源。通过深入理解和掌握这些知识点,学生将能够更好地进行程序设计和问题解决。
2010-09-30 上传
【程序1】 题目:有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数都是多少 1.程序分析:可填在百位,十位,个位的数字都是1,2,3,4.组成所有的排列后再去 掉不满足条件的排列. 2.程序源代码: main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) /*以下为三重循环*/ for(j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /*确保i,j,k三位互不相同*/ printf("%d,%d,%d\n",i,j,k); } } ============================================================== 【程序2】 题目:企业发放的奖金根据利润提成.利润(i)低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求应发放奖金总数 1.程序分析:请利用数轴来分界,定位.注意定义时需把奖金定义成长整型. 2.程序源代码: main() { long int i; int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%ld",&i); bonus1=100000*0.1;bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if(i<=100000) bonus=i*0.1; else if(i<=200000) bonus=bonus1+(i-100000)*0.075; else if(i<=400000) bonus=bonus2+(i-200000)*0.05; else if(i<=600000) bonus=bonus4+(i-400000)*0.03; else if(i<=1000000) bonus=bonus6+(i-600000)*0.015; else bonus=bonus10+(i-1000000)*0.01; printf("bonus=%d",bonus); }