C语言学习笔记

原创 2006年06月12日 01:02:00

         c语言是由称为“函数”的模块组成的,虽然可以自行编写所有函数,但是大部分c程序员会利用已有的丰富的函数集,这个函数集称为c标准库。

         C语言只有七种控制结构,即顺序结构、三种选择结构和三种循环结构

        任何计算问题的求解是按指定的顺序执行一系列的动作。根据要执行的动作以及这些动作应该执行的
顺序求解问题的过程称为算法。

/*假设每年的第一天打渔*/
#include<stdio.h>
void main()
{
 /*声明变量*/
 int y,m,d,days,n;
 /*提示输入*/
 printf("please enter year and month and data:/t");
 /*向内存录入*/
 scanf("%d.%d.%d",&y,&m,&d);
 /*把本月的天数赋给变量*/
 days=d;
 /*利用多路选择计算当前日期是一年中的第几天*/
 switch(m-1)
 {
 case 12:
  days=days+31;
    case 11:
  days=days+30;
    case 10:
  days=days+31;
 case 9:
  days=days+30;
 case 8:
  days=days+31;
 case 7:
  days=days+30;
 case 6:
  days=days+31;
 case 5:
  days=days+31;
 case 4:
  days=days+30;
 case 3:
  days=days+31;
 case 2:
  if((y%4==0&&y%100!=0)||(y%400==0))
   days=days+29;
        else
   days=days+28;
 case 1:
  days=days+31;
 }
 printf("%d/n",days);
 /*假设当年的第一天打渔,判断当前日期是打渔还是晒网*/
 n=days%5;
 switch(n)
 {
 case 0:
  printf("晒网/n");
  break;
 case 4:
  printf("晒网/n");
  break;
 case 3:
  printf("打渔/n");
  break;
 case 2:
  printf("打渔/n");
  break;
 case 1:
  printf("打渔/n");
  break;
 }
}

/*利用了case后面不加break语句执行了连续的多个分支语句*/
/*假如时间是一个重复的循环可以通过求余数来判断当前日期是这个循环的哪一天*/

********************************************************************************************************************

#include<stdio.h>
void main()
{
 int x=0,y=2,z=3;
 switch(x)
 {
 case 0:switch(y==2)/*y==2为真则得到整数1*/
     {
   case 1:printf("*");break;
   case 2:printf("%");break;
     }
 case 1:switch(z)
     {
         case 1:printf("s");
   case 2:printf("*");break;
   default:printf("#");
     }
 }
}

***************************************************************************************************************

/*credit信用,银行存款;charges支出;account帐户;balance结算;limit限额;exceed超出*/
#include<stdio.h>
void main()
{
 int account;
 float begining,charges,credits,limit,balance;
 /*Input account code*/
 printf("Enter account(-1 to end):");
 scanf("%d",&account);
 /*If account!=-1,input begining、charges、credit、limit*/
 while(account!=-1)
 {
  printf("Enter beginning banlance:");
  scanf("%f",&begining);
  printf("Enter total charges:");
  scanf("%f",&charges);
  printf("Enter total credits:");
  scanf("%f",&credits);
  printf("Enter credits limit:");
  scanf("%f",&limit);
 /*计算最终的结算额*/
 balance=begining+charges-credits;
 /*显示超出信用限额的顾客的帐号、信用限额、新的结算额、以及消息“Credit limit exceed”*/
 if(balance>limit)
 {  
  printf("Account:%4.2d/nCredit limit:%4.2f/nBalance:%4.2f/nCredit Limit Exceeded",account,limit,balance);
 }
 /*继续输入下一个帐号*/
 printf("/n/nEnter account(-1 to end):");
 scanf("%d",&account);
 }
}

/*本程序的重点是利用标记值控制循环的结束*/

****************************************************************************************************************

/*分析考试结果*/
#include<stdio.h>
void main()
{
 /*在声明语句中初始化变量*/
 int passed=0,failures=0,student=1,result=0;
 /*用计数控制的循环处理10个学生的考试成绩*/
 while(student<=10)
 {
  printf("Enter result(1=passed,2=fail)");
  scanf("%d",&result);
  if(result==1)
  {
   passed=passed+1;
  }
  else
  {
   failures=failures+1;
  }
  student++;
 }
 printf("Passed %d/nFailed %d/n",passed,failures);
 if(passed>8)
  printf("Raise tuition/n");
}

/*这个程序是利用计数器来控制循环的次数*/

 

 

相关文章推荐

C语言指针学习笔记

  • 2013年08月09日 17:08
  • 24KB
  • 下载

c语言学习笔记(不完全)

  • 2014年06月09日 14:38
  • 69KB
  • 下载

数据结构与算法分析学习笔记三-循环队列C语言实现

队列,在日常生活中有很多非常直观的例子。实际生活中的每次排队都是一个队列。今天我们就来看看循环队列的如何用简单的C语言来实现。本文中所有的代码均在anycodes.tk在线编程网站上测试通过。...

c语言学习笔记

  • 2013年09月10日 13:13
  • 624KB
  • 下载

c语言学习笔记

  • 2015年04月01日 11:39
  • 1.98MB
  • 下载

学习笔记6-C语言内存管理+构造类型

1常见动态内存分配函数 使用之前导入头文件stdlib.h 1) malloc void  *malloc(unsigned size) 作用是在堆区分配一个大小为size的连续空间,如果成功返...

c语言学习笔记

  • 2015年09月06日 23:36
  • 104KB
  • 下载

c语言学习笔记

  • 2013年09月30日 23:42
  • 15KB
  • 下载

C语言学习笔记(一)变量声明的规则

声明是告诉编译器有这么个变量,但并不实现。定义就是实现这个变量,真正在内存(堆或栈中)为此变量分配空间 它们的本质区别是:是否分配内存空间,定义需要分配空间,声明不需要分配空间。 int ...

C语言学习笔记

  • 2015年06月17日 10:36
  • 27KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)