变量赋值后,就可以进行后面的运算了, 例存储strcmp等函数,对应的是运算器,
例strcmp(a,b):a,b两个存储
char a(10,30):10行,30列
——指针是内存的地址 + 数据
指针可保存数值,调取存储数据
——存储的都是数字型数据,都有地址,都可由01进行操作,
调用例整型数组0~19999可用,每个数运行时间为0.2US?:0~19999可保存存储,按地址调用?数组资料不是换成C语言自带,而是通过加载库来得到数组资料,
指针
*:void *p; 指针表示内存地址,指针变量就是存放地址的变量
int*是指向整型的指针类型,int**就是指向整型指针的指针类型,int*是指向整型的指针:int
*的变量指向一个地址,而int**指向盛放这个地址的地址
一般变量存放的是数据本身,而指针变量存放的是数据的地址
多个指针指向与返回,例typedef pc fpc();
typedef fpc
*pfpc();
变量a=5,通过指针,使a和10001100绑定,Void函数是系统指针,5是保存内容,
3)栈溢出:a
不断定义局部变量,不断分配内存地址(a只有四个字节,用占字节多的定义数字例10000),从而使地址溢出,访问到其它地址,已经超出这里定义的地址范围,
b 以及不断递归:不停调用自己void flow(void)
int a=5
void
flow(void)
指针与链表,数据?
——存储数据部分:例int
32位等,字符等,
——调用存储与数据3.运算符
或进行运算
运算,例+
i>
算法运算的数据数值4.while循环,for循环
循环控制的语句有 while,do-while,for 和 goto
语句
——只要执行到这个语句,程序指针就会跳转到 goto 后的标号所在的 程序段
——for跳转(类似+ - * /),指针指向地址 (具体地址,非变量) 如果再有变量的计算,则更多的循环,
if else选择判断
switch开关
循环
while
do while
for
+
只对数字1~9,与字母有作用,
循环(while):循环的执行一系列语句,直到条件满足为止,
a=0 变量a赋值0
b=1 变量b赋值1
while a!=b(!表示不等于) a!=b如果是
条件判断(if-else)
if a>b 如果a>b
c=a-b 则c=a-b将被执行
else:
c=b-a 如果不是a>b,则c=b-a将被执行
print输出结果,并打印c的运算数值
构造函数:例调用SUM函数,
def sum(a,b)定义函数名为sum,a,b两个参数
f=sum(d,e) 变量d,e数值分别被传到sum函数中的a,b两个参数,并执行sum函数运算,返回值到f,
使用库函数,例time.sleep(1) 调用时间库中的sleep函数,产生1秒的时延,
VB基本分为顺序结构(按顺序一个一个执行),选择或分支结构(根据条件,只执行某些步骤),循环结构(重复执行某些部分)
VB流程控制结构之一顺序结构
循环语句
包括For-Next、While-Wend、Do-Loop语句比较常用的是for和whileFor-Next语句:
For 变量 = 初值 To 终值 [Step 步长]
循环体
Next
While Wend 语句:
While 条件
循环体
Wend
但满足条件时,(如当i>5时),便退出循环,否则执行循环体。
Do-Loop语句:
Do
循环体
...[Exit Do]
Loop
循环体会在Do 与 Loop 之间不停循环
for
Loop Until 是直到条件为真时,跳出循环
or .next
do while .loop
do until .loop
do . loop while
do .loop until
for each . next
vb选择语句:
if . then
elseif . then
elseif . then
else
endif
5.输入输出:printf ("%p %p\n",a,b) 使用printf等函数,需先开始先包含声明stdio.h头文件,
print输出内容
scanf
(%d,&a)
给变量a地址赋值,%d:是十进制整数,例3.1就取整数3
&a:变量a的地址 printf(%d,a) 并将a的值输出到显示器上, \n:printf输出时,表示的屏幕上换行
例
1.求两数之和:
#include
〈stdio.h>
void main(
) 求两数之和
{
int a,b,sum;
定义变量为整型
a=100;b=200;
sum=a+b
printf( "sum is
%d\n",sum); %d为变量
}
说明:输出信息sum is
300
2.输出文字:
#include
〈stdio.h>
void main(
)
void函数类型 main主函数名{
{ }函数开始和结束printf(
"hello.\n"); 每个语句以分号结束,}最后输出hello到显示屏
输出:
char a,b //给a,b两个变量定义数据类型
a=120
//给a,b两个变量赋值,
b=121
printf("%c,%c\n,a,b) //第一个%c代表a,第二个%c代表b,
—>输出的字符型,屏幕输出的是对应的ASCII里的“x,y"
printf("%d,%d\n,a,b) //第一个%d代表a,第二个%d代表b,
—>输出的整型,屏幕输出的是"120,121"
或float a=3.14
printf("(int)a=%d,a=%d\n",(int)a,a)
//第一个(int)a变为整型,输出的是3,第二个a输出的是3.14输入操作:
主函数:运算 + 控制部分例if...else
(这是我们可选择操作输入值,如果程序是设置启动是值1,我们输入操作键则是1可操作启动) 3.#include 〈stdio.h>
#include 第一部分:预先设置“头文件”—>调用
子函数说明
变量说明:全局变量 第二部分:自定义先声明函数和变量,—>调用
void main(
)
主main()
{ int max (int x,int y); 说明:被调用函数max声明,max函数是将X或Y较大者的值赋给变量Z, 运算用
int a,b,c; 说明:定义变量a,b,c 定义变量
变量说明 变量在函数里声明
scanf("%d,%d",&a,&b); 说明:输入变量a,b的值
c=max(a,b); 说明:调用max函数, 程序包括main和max两个函数,int max (int x,int
y); 子函数()说明 子函数在主函数后面声明{
int
z;if(x>y) z=x;运算
else z=y;
return(z); 说明:return是将Z值返回给主函数main
}
调用:1.调用头文件stdio.h,例printf这个变量在头文件里已经预先有设置
2.这个函数在主函数后面有定义设置,在这里调用,调用前要在主函数前声明
(1)变量
#include 头文件
main() 主函数
{
double x,s; 变量声明
只有一个主函数,就在主函数里声明变量,
printf("input
number:\n");显示提示信息
scanf("%lf",&x); 输入
s=sin(x); 运算 运算在printf显示提示后面
printf("sine of %lf is
%lf\n",x,s); 输出
}
1.如果变量只被主函数使用,则在主函数里声明即可
2.如果除了主函数,还有其它子函数,变量则在主函数前声明,才能被其它子函数调用,(2)函数#include "stdio.h"
被调用函数声明
int max (int x,int
y)
main()
{
int a,b; 定义
a=32767; 赋值
b=a+1; 计算
被调用函数在这里调用int max
(int x,int y)
printf("%d,%d\n",a,b); 输出
}
被调用函数具体说明: int max (int x,int
y); {
int
z;if(x>y) z=x;else z=y;
return(z);
}
1.如果不是调用,是直接使用,在主函数里定义编写即可,
2.如果调用:在主函数前与主函数后编写(主函数后的函数,要在主函数前先声明,才能在主函数里或其它函数里使用)
#include
int x(int a,) //声明:全局声明
void main()
sum
x(m) //调用
int x(int
a) //定义:是函数的定义,即详细的设置
{
return
a*b
}
——头文件调用的外部函数
——自己定义函数
1.主函数前声明是全局声明,整个文件都可调用
2.主函数内定义与调用是局部声明,—>主函数前不需要再声明,是直接调用,—>先主函数内定义,再调用
在主函数调用后的定义,需要声明,在主函数调用前的定义,不需要声明
——头文件调用库函数(已经预先设置的函数库,已经预先设置地址转换):头文件声明
——函数自定义来调用:自定义,在主函数前声明或