day21-简单的C语言结束


1.什么叫做分配内存,什么叫做释放内存

解答: 操作系统把某一块内存的使用权限分配给程序就叫做分配内存

操作系统把分配给该程序的内存空间的使用权限回收。该程序就不能够再次的使用一块内存空间
这就叫做内存的释放

2.变量为什么会被初始化?

解答:如果变量不被初始化,那么这个值就会变一个垃圾数值。

3.让你说明系统是如何执行的,int i = 5这个语句

解答:
1.首先vc++6.0这个软件请求操作系统给i分配空间
2.操作系统就会给i分配一段合适的内存区域
3.操作系统会把这个内存区域分配给i处理了
4.当i = 5的时候,其实就是把5的二进制位存储在这段区域中

4.请说明一下C语言所有的基本类型
解答:
int double float short int char

5.在printf函数中int类型是与%d输出,请问long int char  double float 分配是与什么输出?

解答:
long int 以: %ld;
 char :%c;
 double :%lf;
 float :%f;

6.函数的优点:

解答:
避免了重复做(因为你定义一个函数可以重复的去使用)
有利于程序的模块化


7.谈谈你对函数的理解:

解答: 函数的是便于程序的模块化的,函数可以被重复的调用,当我们写程序的时候,就会使程序更加的简洁,方便不少

假如:
我写一个排序的算法,要排序成绩的高低,如果我没有用到函数去解决的话。那么这个排序的算法我们要重复的去写。
但是如果我们把一个排序的算法写在一个函数中,当我们需要用到这个排序的算法的时候。把这个函数直接调用就可以。


8.什么是指针,什么是地址,什么是指针变量,三者之间的关系:

解答: 指针就是内存中的一个地址编号  地址:内存中的地址编号
指针变量 :指针变量是存储内存编号的变量 ,与指针和地址是两个不同的概念。只不过人们老是说指针就是指针变量

9.请写出静态的变量和动态的变量的异同

相同: 都是分配内存

不同:
静态的内存空间是由系统自动分配的,自动释放,程序员是无法手动释放内存的
静态变量的内存存储在栈中,当程序执行完毕之后。是又函数自动释放内存.

动态变量是又程序手动分配的。但程序想要释放的时候。程序员需要手动的去释放内存
动态变量是存储在堆中
释放编号: free(p);

 

  
  
  
  
  1. 求出 1 到100之间的综合:  
  2.  
  3. 解答:  
  4. #include <stdio.h>  
  5. int main(void)  
  6. {  
  7.  int i = 1;  
  8.  
  9.  int sum = 0;  
  10.  for(i = 1;i<=1000;i++)  
  11.  {  
  12.   sum +=i;  
  13.  
  14.  }  
  15.  
  16.  printf("sum = %d\n",sum);  
  17.  return 0;  
  18. }  
  19.  
  20. 编程求出1 + 1/2+1/3....+1/100总和?  
  21.  
  22. 源码:  
  23. #include <stdio.h>  
  24. int main(void)  
  25. {  
  26.  int i ;  
  27.    
  28.  double sum;  
  29.  for(i =1;i<=100;i++)  
  30.  {  
  31.   sum += (double)1/i;  
  32.     
  33.  }  
  34.    
  35.  printf("sum == %lf\n",sum);  
  36. }  
  37.  
  38. 编写一个程序:求一个1-100...  
  39.  
  40. 源码:  
  41. #include <stdio.h>  
  42. void CourtshipNumber();  
  43. void ForAnOddNumber();   
  44. int main(void)  
  45. {  
  46.  
  47.     CourtshipNumber(); //偶数的和   
  48.      ForAnOddNumber();   
  49.  return 0;  
  50. }  
  51.  
  52. void CourtshipNumber()  
  53. {  
  54.  double sum1 = 0.0;  
  55.  double ave1 = 0.0; //偶数的平均值  
  56.  int cnt1 =0;//偶数的个数   
  57.  int i = 0;  
  58.  for(i=1;i<=100;i++)  
  59.  {  
  60.    
  61.   if(i % 2 ==0)  
  62.   {  
  63.    sum1+=i; //偶数的总和   
  64.    cnt1++;  //偶数的个数   
  65.   }  
  66.  }   
  67.  ave1 = (double)sum1 / (double)cnt1;   
  68.  printf("偶数的平均数:%lf,偶数的个数:%d",ave1,cnt1);  
  69.  return 0;  
  70. }  
  71.  
  72. void ForAnOddNumber()  
  73. {  
  74.  int i = 0;  
  75.  double sum2 = 0.0;  
  76.  double ave2 = 0.0; //偶数的平均值  
  77.  int cnt2 =0;//偶数的个数   
  78.  for(i=1;i<=100;i++)  
  79.  {  
  80.   if(i%2==1)  
  81.   {  
  82.    sum2+=i;  
  83.    cnt2++;  
  84.   }  
  85.  }  
  86.  ave2 = (double)sum2 / (double)cnt2;   
  87.  printf("奇数的平均数:%lf,奇数的个数:%d\n",ave2,cnt2);  
  88.  return 0;  
  89. }  
  90.  
  91.  
  92. 编程实现:判断n是否是素数,是,输出yes ,不是输出NO,补全下面代码  
  93.  
  94. #include <stdio.h>  
  95. int main(void)  
  96. {  
  97.  int n = 0;  
  98.  if(n>=1)  
  99.  {  
  100.   if(n %2==1)  
  101.   {  
  102.    printf("yes\n");  
  103.   }   
  104.   else 
  105.   {  
  106.    printf("No\n");   
  107.   }  
  108.  }else 
  109.  {  
  110.   printf("这个不是质数\n");  
  111.  }  
  112.  
  113.  return 0;  
  114. }  
  115.  
  116. 编程实现把1到100之间的素数全部打印到显示器上,每行打印一个素数  
  117.  
  118. 源码:  
  119. #include <stdio.h>  
  120. #include <malloc.h>  
  121. int f(int);  
  122. int main(void)  
  123. {  
  124.  int i = 1;  
  125.  f(i);  
  126.  return 0;  
  127. }  
  128.  
  129. int f(int i)  
  130. {  
  131.  for(i=1;i<=100;i++)  
  132.  {  
  133.   if(i %2==0)  
  134.   {  
  135.    printf("%d",i);  
  136.   }   
  137.   printf("\n");  
  138.  }  
  139.  return 6;  
  140. }  
  141.  


今天总结:还不是很努力吧,但要多加复习。。。
加油!小细
 

你可能感兴趣的:(内存,C语言,程序,最好,的)