#C语言程序设计——程序与程序设计语言#

发布时间:2024年01月17日

一. 程序与指令

? 计算机最基本的处理数据的单元就是计算机的指令,同时一系列计算机指令的有序组合就构成了程序。下面是计算机系统常见的7条指令:

? 假设该计算机指令系统的指令名(如 Store, Add 等),以及所涉及的数据X,Y,Z,P等。

指令一:Input X ; 将当前数据储存到X单元中

指令二:Output X ; 将X单元中的数据输出

指令三:Add X Y Z ; 将X与Y中的数据相加并储存到Z中

指令四:Sub X Y Z ; 将X与Y中的数据相减并储存到Z中

指令五:BranchEq X Y P?; 比较X与Y,若相等则程序跳转到P处执行,不等则继续执行下一条指令

指令六:Jump P ; 程序跳转到P处执行

指令七:Sex X Y ; 将Y单元值设为X

二. 程序设计语言的功能

? 为了让计算机按我们的意愿处理数据,所以程序设计语言必须具有数据表达和数据处理(称为控制)的能力。

1. 数据表达

? a.几种基本的数据类型可直接使用,如 整型(int),??实型又称浮点型(double),字符型等等,这些基本数据类型在程序中的具体对象主要为两种形式:变量(variable) 和 常量(constant)。

? b.表达复杂的数据时还可以构造新的具体数据类型,如数组(array),结构(structure),文件(file),指针(pointer)等。

2.流程控制

下面是三种常见的基本控制结构:

(1)顺序控制结构:一个程序模块执行完自然到下一个模块

(2)分支控制结构:即判断条件,若条件满足则执行该程序模块,否则执行其他的程序模块

(3)循环控制结构:通过检测是否满足相应条件,若满足则重复执行该程序模块直到循环跳出即停止循环?

三. 程序设计语言的语法

? 为了让计算机能够理解在程序中所描述的工作,用程序设计语言所写的程序必须符合相应语言的语法(grammar)。

下面是C语言最主要的语言要素:

1.C语言中的词

(1)标识符,C语言中的标识符由字母,数字,和下划线组成,其中第一个字符必须为字母或下划线,如 _name。 且标识符的字母大小写的形式是有区别的。

C语言中最主要的标识符:

a.保留字 :赋予特定含义和专门的用途的标识符,它们主要与数据类型和语句有关,如int,float,double,char,typedef,以及与语句相关的if,else,while,for,break等等。?

b.用户自定义标识符:其包括程序中定义的变量名,数据类型名,函数名和符号常量名。

(2)常量:定义的不变的量,但常量是有数据类型的。

(3)运算符:运算符表示对各种数据类型数据对象的运算。

如+(加),-(减),*(乘),/(除),%(取余),>(大于),>=(大于等于),==(等于),=(赋值)等。

(4)分隔符:用于词之间的分隔

常见的分隔符:如; , # [,] (,)等等。

2.C语言中的主要语法单位

(1)表达式:运算符与运算对象的有意义组合就形成了表达式。表达式中可以包含多种数据类型的运算符,且运算符有运算优先级。

(2)变量定义:变量也具有数据类型,在定义变量时需要说明相应变量的类型。

变量定义的基本形式:类型名 变量名;

? 如:int X; 即定义了X变量

(3)语句:语句是程序最基本的执行单位,程序的功能通过执行一系列语句来实现。

a.表达式语句:即最基本的变量之间的表达式形成的语句

b.分支语句:分支语句实现分支控制过程,根据不同的条件执行不同的语句。

? 具体有两种形式如下:

if-else语句:下面是一个级联的if-else语句?

#include <stdio.h>
int main()
{
	printf("请输入类型:");
	int type;
	scanf("%d", &type);
	if (type==5)
	{
		printf("我的纸飞机呀"); 
	}
	else if(type==2)
	{
		printf("飞呀飞"); 
	}
	else if(type==1)
	{
		printf("飞到了芦荡边"); 
	}
	else
	{
		printf("game over");
	}
	
	return 0;
}

switch语句:

#include <stdio.h>
int main()
{
	printf("请输入类型:"); 
	int type;
	scanf("%d", &type);
	switch (type)
	{
		case 5:
			printf("我的纸飞机呀");
			break;
		case 2:
		    printf("飞呀飞");
			break;
		case 1:
		    printf("飞到了芦荡边");
		    break ;
		default:
			printf("game over");
    }
	
	
	return 0;
}

c.循环语句:C语言实现循环控制的过程具体有三种形式,即while语句,for语句,do-while语句

while循环:读取位数问题

#include <stdio.h>
int main()
{
	printf("输入所需读取位数的数:");
	int x;
	int n=0;
	scanf("%d", &x);
	n++;
	x/=10;
	while (x>0)
	{
		n++;
		x/=10;
	}
	printf("输入的数位数为:%d",n); 
	
	return 0;
}

?

for循环: 求阶乘问题

#include <stdio.h>
int main()
{
	int n;
	scanf("%d", &n);
	int value=1;
	int i=1;
	for (i=1 ; i<=n ; i++)
	{
		value *=i;
	}
	printf("求出的阶乘为:%d", value);
	
	return 0;
}

do-while循环:猜数问题(其中含语句嵌套)

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
	srand(time(0));
	int number=rand()%100+1;
	int a;
	int count;
	printf("我已经想出一个1到100的数\n"); 
	do {
		printf("请猜出这个数:");
		scanf("%d", &a);
		count ++;
		if (a>number)
		{
			printf("你猜的数大了\n");
		 } 
		else if(a<number)
		{
			printf("你猜的数小了\n");
		}
	} while (a!=number);
	printf("你用了%d次猜对了这个数:%d", count ,number);	
	
	return 0;
}

三大循环的区别于联系:?

? for循环:一般用于有限次循环

do-while循环:一般用于循环必须进行一次的循环

while循环:上述其他的循环一般用while循环?

?

?

d.复合语句:一般用{}将若干语句顺序组合在一起形成一个复合语句。

(4)函数定义与调用:即开始时对所需的函数进行定义与调用。

(5)输入与输出:通过调用系统库函数中的有关函数(如printf()和scanf()函数)来实现数据的输入与输出。可以借鉴上述程序。?

四.一个n项求和公式?

?

?

这里n项为有限个,则通过for循环去实现?,先定义一个n的值进行有限次求和,再通过表达式去定义sum和i,最后通过for循环的语句进行求和。

?

#include <stdio.h>
int main()
{
	int n;
	int i;
	double sum;
	int sign=1;
	printf("请输入n的取值:");
	scanf("%d", &n);
	
	for (i=1; i<=n ; i++)
	{
		sum +=sign*1.0/i;
		sign=-sign;   //用于实现一正一负的项 
	}
	printf("当n为%d时求和值为%f", n ,sum);
	
	return 0;
 } 

?

?

?

?

?

?

? ?

文章来源:https://blog.csdn.net/2302_80260350/article/details/135589972
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。