3、字母;2.用方括号将常量表达式括起;3.常量表达式定义了数组元素的个数;4三、数组4.数组下标从0开始。如果定义5个元素,是从第0个元素至第4个元素;例如inta[5]定义了5个数组元素如下:a[0],a[1],a[2],a[3],a[4]这是5个带下标的变量,这5个变量的类型是相同的5.常量表达式中不允许包含变量;例如intn;n=5;inta[n];不合法!5三、数组数组初始化是定义数组完成赋初值的任务例如inta[5]={3,5,4,1,2};a[0]=3;a[1]=5;a[2]=4;a[3]=1;a[4]=2
4、;61.#includevoidmain(){inta[4];//声明项printf(“a[0]=%d;a[1]=%d;a[2]=%d;a[3]=%d”,a[0],a[1],a[2],a[3]);}2.其他不变,改变声明项为inta[4]={0,1,2,3};请自己上机做6个实验73.其他不变,改变声明项为inta[4]={3,8};4.其他不变,改变声明项为inta[4]={2,4,6,8,10};5.其他不变,改变声明项为inta[4]={2,4,6,d};6.其他不变,改变声明项为intn
5、=4;inta[n]={0,1,2,3};8讨论问题:使用筛法求100以内的所有素数三、数组思路1.想象将100个数看作沙子和小石头子,让小石头子权称素数;让沙子当作非素数。弄一个筛子,只要将沙子筛走,剩下的就是素数了。2.非素数一定是2、3、4……的倍数。3.使用数组,让下标就是100以内的数,让数组元素的值作为筛去与否的标志。比如筛去以后让元素值为1。9方法的依据:1至100这些自然数可以分为三类:单位数:仅有一个数1。素数:是这样一个数,它大于1,且只有1和它自身这样两个正因数。合数:除了1和自身以外,还有其他
6、正因数。1不是素数,除1以外的自然数,当然只有素数与合数。筛法实际上是筛去合数,留下素数。为了提高筛选法效率,注意到:令n为合数(这里是100),c为n的最小正因数,则据初等数论只要找到c就可以确认n为合数,将其筛去。10程序框图如下:11上述框图很清晰地描述了筛法的思路:1.第一块是一个计数型的循环语句,功能是将prime数组清零。prime[c]=0;c=2,3,…,1002.第二块是正因数d初始化为d=2。3.第三块是循环筛数。这里用了一个dowhile语句,属于一种直到型循环,其一般形式为:do{循环体语句块
7、}while(表达式)12直到型循环框图如下:直到表达式为假时才退出循环13三、数组例.求π的近似值用变量pi表示π的值。令表示括号中的每个项当最后一项的绝对值小于等于时,忽略掉以后的项14#include#includevoidmain()//主函数{intsum;//整型变量,总项数floatpi,a,b,c;//浮点变量,a为分母,b为分子,c为b除以api=0;sum=0;//初始化a=1.0;b=1.0;c=1.0;//初始化do//直到型循环{//循环体,开始pi=pi+
8、c;//累加每一项sum=sum+1;a=a+2.0;//计算每一项的分母b=-b;//分子变正负号c=b/a;//计算每一项}//循环体结束while(fabs(c)>1e-6);//当c的绝对值大于10的-6次方时,继续//执行循环体,否则退出pi=4*pi;//得到最终结果printf(“pi=%f”,pi);//输出pi值print