① c语言怎么显示动态内容
最简单的延时就是sleep了。 然后把当前显示清空, 或者重定位输出位置。
比如 只输出文字, 不加换行, 通过flush刷新缓冲。
然后通过输出\b 定位到行首, 输出2 刷新缓冲。
再输出\b定位到行首,输出1...
中间的延时还是用sleep,其他的更不好用。
② 如何用C语言做自动动态存储数据
这个方法是有的。
(注:一般用结构体判断,所以下面的解释都是结构体型的。首先说明,我定义了一个结构体
struct stu{ char ch[maxlen];struct stu *next;};)
首先声明头文件malloc.h,即#included<malloc.h>
随后使用动态内存分配, 比如int *p;p=(struct stu*)malloc(sizeof(struct stu*) * m)。
-------以上是开辟内存单元
-------------------------------------------
接下来说说如何扩充内存单元
你讲:“如何用C语言做自动动态存储数据”,其实所谓的“自动动态存储数据”,关键是2点
1、怎么动态存储
2、怎么在存储单元不够用时扩充。
对于第1个问题,用链式结构就好了,这很简单,具体看看有关于介绍链表的书就好。不推荐《数据结构》,推荐《算法与数据结构》或《数据结构与算法分析》。
针对第2个问题,由于不知道你水平如何,所以现在只提一种简单有效的方法,那就是用if()语句做判断,例如前面的*p:if(p==NULL)
{ p2=(struct stu*)malloc(sizeof(struct stu*) * m*2);//<-内存扩大两倍
p->ch[maxlen]=p2->ch[maxlen];
}
这样就好了。(注意:maxlen这里在具体实现代码时要变。)
如果你觉得我的描述有点简单,咱们还可以继续讨论。如果觉得难了点,那你真的要好好了解数据结构与算法之间的关系了。
加油吧朋友!!!!!!!
③ 如何用C语言实现动态的字符串数组
分成取数字与取非数字2个函数较简单。get_v()取数字, get_o()取非数字。
#include <stdio.h>
char *get_v(char *a, char *b){
int i=0;
while( a[i]>='0' && a[i]<='9') {b[i]=a[i];i++;};
b[i]='\0';
strcpy(a,a+i);
return b;
}
char *get_o(char *a, char *b){
int i=0;
while( a[i]<'0' || a[i]>'9') {b[i]=a[i];i++;};
b[i]='\0';
strcpy(a,a+i);
return b;
}
int main()
{
char s[]="1234+4*5";
char b[10];
while(strlen(s)>=1){
get_v(s, b);
printf("%s\n",b);
if (strlen(s)<=0)break;
get_o(s, b);
printf("%s\n",b);
};
return 0;
}
④ 编程语言里 什么是静态语言和动态语言 和什么是编译语言 和解释语言通俗点 还有Java和C语言属于哪一种
静态语言,是固定运行结果的语言,典型的范例就是html编写的静态页面代码,比如说创建一个表格,在html语言中表格行列数是不能变化和调整的。
动态语言,根据条件的不同,输出的内容可能不同。例如:编写网页的asp语言,可以通过查询数据库,生成动态行数的数据表。
编译语言,一般情况下需要通过编译环境生成对应的可执行程序或者目标程序,才能够执行。
解释语言,在运行时对编码进行解释,直接执行。例如asp语言,就是解释型语言,不需要编译生成可执行程序。
一般来讲,C语言和java都是需要通过编译生成可执行程序或者目标程序,所以它们都是编译语言。
⑤ 用C语言实现内存动态模拟分区~
建议你先从简单动态数组的分配和释放开始。
在c语言中,分配可通过malloc和new函数实现,而释放相对应的是free、delete
调用格式为
int
*a=(ElemType)malloc(n*sizeof(ElemType))或者
int
*a=new
int[n];释放时,直接free(a)或者delete(a)就行了
⑥ C语言模拟动态时钟程序
#include "stdio.h"
#include "dos.h"
//#include <windows.h>
#include <time.h>
#define S2M_M2H 60
struct N
{
int hour;
int minute;
int second;
} mytime = {0,0,0};
int main()
{
time_t rt;
struct tm *t;
time ( &rt );
t = localtime ( &rt );
mytime.hour=t->tm_hour;
mytime.minute = t->tm_min;
mytime.second = t->tm_sec;
//1楼答得不错,你不会自己合直来么,我帮你合起来了
//以后我白天不能上网,晚上来答一两个就玩去了,这题如果可行,就采纳1楼的,我没功劳
for(; ; mytime.second++)
{
if(mytime.second==S2M_M2H)
{
mytime.minute++;
mytime.second=0;
if(mytime.minute==S2M_M2H)
{
mytime.hour++;
mytime.minute=0;
}
}
{
printf("\b\b\b\b\b\b\b\b%2d:%02d:%02d",mytime.hour,mytime.minute,mytime.second);
delay(1000);
}
}
return 0;
}
⑦ C语言编程问题。动态分配内存,数组。 如何把动态分配内存模拟为二维数组,如果是之前好像calloc
#define n 10
int* s;
s=(int*)malloc(sizeof(int)*n);
//此时纯含s就是雹梁数组,访问时用s[0]....s[n-1]
二维数做肆笑组稍微麻烦一点
int x,y; //x行 y列
printf("请输入二维数组的大小: ");
scanf("%d,%d",&x,&y);
int **s;
s=(int**)malloc(sizeof(int*)*x);
int i;
for(i=0;i<x;i++)
{
*(s+i)=(int*)malloc(sizeof(int)*y);
}
//访问时用 s[0][0].....s[x-1][y-1]
⑧ 动态类型语言 动态语言
动态语言
有三个名词容易混淆:
Dynamic Programming Language (动态语言或动态编程语言)
Dynamically Typed Language (动态类型语言)
Statically Typed Language (静态类型语言)
定义
所谓的动态类型语言,意思就是类型的检查是在运行时做的,比如如下代码是不是合法的要到运行时才判断(注意是运行时的类型判断):
def sum(a, b):
return a + b
静态类型
而静态类型语言的类型判断是在运行前判断(如编译阶段),比如C#、java就是静态类型语言,静态类型语言为了达到多态会采取一些类型鉴别手段,如继承、接口,帆磨猛而动态类型语言却不需要,所以一般动态语言都会采用dynamic typing,常出现于脚本语言中.需要明确说明一点,那就是,是不是动态类型语言与这门语言是不是类型安全的完全不相干的,不要将它们联系在一起!
优缺点
静态类型语言的主要优点在于其结构非常规范,便于调试,方便类型安全;缺点是为此需要写更多的类型相关代码,导致不便于阅读、不清晰明了。动态类型语言的优点在于方便阅读,不需要写非常多的类型相关的代码;缺点自然就是不方便调试,命名不规范时会造成读不懂,不利于理解等。顺便说一下,现在有这样一态桥种趋势,那就是合并动态类型与静态类型在一种语言中,这样可以在必要的时候取长补短,Boo就是一个很好的试验性例子.
总体评价
最后说一下Boo,Boo是一个静态类型语言,虽然用ck typing可以模拟dynamic typing,但是ck并不支持所有类型的操作替代,所以即使完全使用ck typing也不能达到dynamic typing。就像FantasySoft所述,Type Inference不是动态类型语言的特性,所以支持Type Inference不代表这门语言就是dynamically typed。
未来发展
在今天这个信息泛滥的时代,身为开发者,眼光比技术更重要。缺乏眼光的人,着眼于小,为细枝末节的所谓“创新”不惜肝脑涂地,赴汤蹈火,而面临真正变革时,或坐井观天,守旧拒新,或畏畏缩缩,裹足不前。具备眼光的人,着眼于大,平时稳扎稳打,不为世间纷扰所扰,一旦时机出现,则能抛却门户之见,枝节之争,以过人气概投身变革,成就自己的事业。这前后两者的差距之大,其实全在于对大趋势的把握上。
回顾IT技术不长的历史,我们会发现,每当重大变革发生的时候,在技术圈子里总是存在激烈的争论,总有那些着眼于小的人站在细枝末节上对技术变革本身表示质疑甚至否定。
当关系数据库和SQL语言把数据管理的繁琐工作从开发者和操作者身上解放出来的时候,有人抨击关系数据库性能低下;当微软开始用C语言开发PC应用程序时,汇编语言的拥护者轻蔑的说,只有汇编语言才能发挥PC机的全部能力;当Web进军企业计算时,一大批专家跑出来抨击HTML界面的呆板和HTTP协议的缓慢和幼稚。然而,所有游悉这一切抱怨、质疑和信誓旦旦的否定,都被技术发展的大潮无情的吞噬,消失得无影无踪。原因很简单,所有这些声音,都是着眼于小,着眼于私,一叶障目,而不见IT技术发展的大势。IT技术发展的大趋势永远都是要更快,更简单。
从这个角度来看待动态语言,结论就异常的清晰。在今天这个时代、动态语言代表着更快更简单的技术大趋势,因此它将必然成为未来构建软件和互联网技术的主角。回顾2006年国内外动态语言的发展历程,也恰恰能够印证这一点。
By rainsEgo:
不否认动态语言的各种好处,但是到了2011年,还请大家考虑一下scala这样的静态语言对动态语言造成的冲击。
⑨ 使用C语言实现动态数组
你的太乱了的吧磨昌
二维数瞎颤扒组,其实实质是一位数组横排
为啥用两个for循环,我看了会头晕,洞行你的太乱了
#include<stdio.h>
#include<malloc.h>
int main()
{
int *p;
int m,n;
scanf("%d%d",&m,&n);
p = (int*)malloc(sizeof(int)*m*n);
for(int i=0;i<(m*n);i++)
{
scanf("%d",p+i);
}
for( i=0;i<(m*n);i++)
{
print(“%d ”,p+i)
if((i+1)%4==0)
printf("\n");
}
希望对你有帮助