C语言编程之“八股文”

许多学习过C语言的同学,普遍感觉计算机软件比较难,好多程序不会做。
其实,计算机程序设计是最简单,加入你学习过英语,显然你再学习C语言就是特别容易了。
英语:有许多单词,还有语法等。
C语言:32个关键词,语法简单,赋值、条件、循环等。

简述

C语言
所有程序设计,“八股文”,有一套规则,
语言而言:单词–》词法 语句–》语法《–{语句}

从数学角度上看, 分步骤处理,1、2、3、4、

1、头文件

#include <stdio.h>
#include <你需要的头文件>
这个是所有代码文件要有的。

头文件: 后缀为 .h 为文件, 放在环境的某一个目录下
包含的内容:1、数据,2、函数
不同的数据/函数进行了分类,放在不同的文件中

stdio:standard input/output ,常用函数:scanf printf
conio:console input/output 常用函数:cscanf cprintf
math:数学函数 常用函数:sin abs
graphics: 图形操作 点、线、区域(三角形、矩形、圆,。。。)
string:字符串操作 常用函数:sscanf sprintf

2、文字常量

需要把准备使用的变量进行定义,通常变量是全局变量,并且,还需要定义一批文字常量。

#define MAX 100
#define PI  3.1415626535 
#define TRUE  1 
#define FALSE  0 

定义的变量(文字常量)不需要定义数据类型,在程序中可以直接引用。
根据实际情况进行定义,可有可无

3、 变量与数组

在C语言设计中,单个类型的数值用变量,多个相同数据类型的数值采用数组描述,根据不同的应用场景,可采用一维或多维数组进行描述。

int i,j,k;
int val;
int val[10];

4、数据结构

对于较为复杂的数据,需要通过自定义结构等数据类型来描述。

struct student 
{
   char stu_ID[14];
   char stu_Name[20];
   char stu_sex; 
};  //后面要有分号

如上定义的结构,如果使用,需要
struct student stu1,stu2; //定义两个学生变量

如果定义结构类型:
typedef struct student Student; //类型定义
Student 代表 struct student;

如果采用这种方式定义两个学生变量:
Student stu11,stu12; //定义两个学生变量
显然这种定义方式,从代码的简洁性,以及后面代码的输入量明显要好于前面的定义。
根据实际情况进行定义,可有可无

以上几点,就是C语言编程中程序代码需要做的。

代码示例一

#include <stdio.h>
void main(void)
{
   printf(“Hello,World!);
}

printf—》print format,对函数所给内容进行格式化输出
scanf—》scan format –》scan keyboard 常用

代码示例二

输出下列图形

*
**
***
****
*****
****** 
#include <stdio.h>
void main(void)
{
printf(*\n”);
printf(**\n”);
printf(***\n”);
printf(****\n”);
printf(*****\n”);
printf(******\n”); 
}

这个图形从数学上看,其组成元素*是有规律的,显然,可以通过规律进行输出。

#include <stdio.h>
void main(void)
{
  int i,j;
  for (i=1;i<=5;i++)  //行控制打印函数
   {
     for(j=1;j<=i;j++) // 控制每行输出的*的个数  
printf(*);
   printf(“\n”);
 } 
}

按照上述代码,每一个的处理都是靠循环进行的,实际上,第1行输出一个,第2行应该在第1行的基础上再多一个*,依此类推;假定我们把输出的内容先构造好,然后一次性输出就可。

#include <stdio.h>
void main(void)
{
  int i,j;
  char str[10];
  for (i=1;i<=5;i++)  //行控制打印函数
   {
     str[i-1]=*;
     str[i]=’\0;  //字符串结束符
     printf(% s \n”,str);
  } 
}

上述程序代码,在每次行控制程序上,只执行一次赋值操作,一次打印输出。这个代码从数学角度上看,是好的。
继续对上述代码进行改造,看下面代码:

#include <stdio.h>
void main(void)
{
  int i,j;
  char str[10]=*********;
  char fstr[10];
  for (i=1;i<=5;i++)  //行控制打印函数
   {
     sprintf(fstr,%dc”,i); // 根据 i的不同构造 %1c,%2c ,%3c
     printf(fstr,str); //输出的就是基于字符的输出  
  } 
}

更多推荐

C语言编程之“八股文”