随笔分类 -  c

1 2 下一页

怎样在VC里面使用graphics.h绘图
摘要:网上很多绘图程序和小游戏程序都是用的 TC,在 VC 下编译时提示错误:fatal error C1083: Cannot open include file: 'graphics.h': No such file or directory解决步骤/方法一、请确保您已经安装 Visual C++ 6.0 (或VC2008、VC2010)二、到 www.easyx.cn 下载 EasyX 库,解压后可以看到以下文件三、执行 Setup 安装,点下一步,可以看到 VC 版本选择界面四、找到您希望安装 EasyX 的 VC 版本,点后面的“安装”五、完成,即可使用graphics.h 阅读全文

posted @ 2013-06-29 23:12 颓废的悠然 阅读(1805) 评论(3) 推荐(0)

C语言之固定格式输出当前时间
摘要:固定格式输出当前时间编程实现将当前时间用以下形式输出:星期 月 日 小时:分:秒 年代码如下:#include#include#includeint main(void){time_t Time;struct tm *t;Time=time(0);t=localtime(&Time);printf("%s",asctime(t));return 0;}本程序中用到了3个与时间相关的函数(1) time()函数的语法格式如下time_t time(time_t *t)该函数的作用是获取以秒为单位的、以格林威治时间1970年1月1日00:00:00开始计时的当前时间值作 阅读全文

posted @ 2013-06-29 22:17 颓废的悠然 阅读(1164) 评论(0) 推荐(0)

C语言之猜数字游戏
摘要:猜数字游戏猜数字游戏是以前功能机上的一款益智游戏,计算机会根据输入的位数随机分配一个符合要求的数据,计算机输出guess后便可以输入数字,注意数字间需要用空格或回车符加以区分,计算机会根据输入信息给出相应的提示信息:A表示位置与数字均正确的个数,B表示位置不正确但数字争取的个数,这样便可以根据提示输入,直到正确为止,并且根据输入次数给出相应评价。源代码如下:#include#include#includevoid guess(int);int main(void){int i,n; system("cls"); //清屏printf("1.start game?( 阅读全文

posted @ 2013-06-25 21:47 颓废的悠然 阅读(455) 评论(0) 推荐(0)

C语言之新同学年龄
摘要:新同学年龄班里来了一名新同学,很喜欢学数学,同学们问他年龄的时候,他说我的年龄平方是个三位数,立方是个四位数,四次方是个六位数。三次方和四次方正好用遍0、1、2、3、4、5、6、7、8、9这10个数字,求该同学的年龄。源代码如下:#includeint main(void){int a[10],s[10]={0};int i;long x,sum1,sum2; //储存为长整型,六位数x=18; //按照条件计算,x从18开始符合条件do{sum1=x*x*x;for(i=0;i<=3;i++){a[i]=sum1%10; //保存立方的每位数字sum1/=10;}sum2=x*x*x* 阅读全文

posted @ 2013-06-25 19:52 颓废的悠然 阅读(983) 评论(0) 推荐(0)

C语言之ASCII码
摘要:ASCII码ASCII码值在65~90之间,为大写字母。ASCII码值在97~122之间,为小写字母。ASCII码值在48~57之间,为数字。ASCII码值不在上述3个范围内,为特殊字符。 阅读全文

posted @ 2013-06-25 10:31 颓废的悠然 阅读(1714) 评论(0) 推荐(0)

C语言之辗转相除法
摘要:最大公约数和最小公倍数从键盘输入两个正整数,求出其最大公约数和最小公倍数。代码如下:#includeint ss(int);int main(void){ int a,b,c,temp; scanf("%d%d",&a,&b); if(a<b) //将两者中大者放前,求余 { temp=a; a=b; b=temp; } c=a%b; temp=a*b; while(c!=0) //辗转相除 { a=b; b=c; c=a%b; } ... 阅读全文

posted @ 2013-06-24 22:04 颓废的悠然 阅读(3313) 评论(0) 推荐(0)

C语言之自守数
摘要:自守数 自守数是指一个数的平方的尾数等于该数自身的自然数,如25*25=625,76*76=5776.要求求出一定范围内的所有自守数。题目分析:刚拿到这个题目的时候认为解题关键在于,测试该数平方数的尾数和该数自身的自然数相等问题。导出新问题如何求出该平方数的尾数,要取和自然数位数相同的位数该怎么取。看了一下标准答案如下,表示细节方面看不懂,贴出如下:#includeint main(void){ long i, j, k1, k2, k3, a[10] = {0}, num, m, n, sum; /*定义变量及数组为长整形*/ printf("请输入一个数表示范围:\... 阅读全文

posted @ 2013-06-23 22:20 颓废的悠然 阅读(5114) 评论(0) 推荐(0)

C语言之一数三平方
摘要:一数三平方 有这样一个六位数,它本身是一个整数的平方,其高三位和低三位也分别是一个整数的平方,如225625=475*475,225=15*15,625=25*25;统计所有符合该条件的六位数源代码:#include#includeint ss(int value);int main(void){long i,j,n1,n2,k;for(i=100000;i<=999999;i++){j=(long)sqrt(i);if(j*j==i){n1=i/1000;n2=i%1000;j=(long)sqrt(n1);k=(long)sqrt(n2);if(j*j==n1&&k* 阅读全文

posted @ 2013-06-23 11:55 颓废的悠然 阅读(1115) 评论(0) 推荐(0)

C语言之三大查找算法
摘要:查找算法1.二分查找二分查找就是折半查找,其基本思想是:首先选取表中间位置的记录,将其关键字与给定关键字key进行比较,若相等,则查找成功。若key值比该关键字值大,则要找的元素一定在右子表中,则继续对右子表进行折半查找;若key值比该关键字值小,则要找的元素一定在左子表中,则继续对左子表进行折半查找。依次类推,直到查找成功或者查找失败。源代码如下:#includevoid binary_search(int a[],int key,int n);int main(void){ int i,n,m,a[16]; scanf("%d",&n); for(i=0;ia[ 阅读全文

posted @ 2013-06-22 13:26 颓废的悠然 阅读(2544) 评论(0) 推荐(0)

C语言之六大排序算法
摘要:排序算法1.直接插入排序直接插入排序是将原始数据依次从已排好序的序列的最右侧比较起,若小于则向前插,一直插到合适的位置即可。源代码如下:#include<stdio.h>void sort(int a[],int n); //函数原型int main(void){int a[10];int i;for(i=1;i<=10;i++) //a[0]用作监视哨,所以从1开始存储数据scanf("%d",&a[i]);sort(a,10);for(i=1;i<=10;i++)printf("%-4d",a[i]);printf(& 阅读全文

posted @ 2013-06-21 01:37 颓废的悠然 阅读(650) 评论(0) 推荐(0)

VC6集成开发环境使用参考
摘要:VC6集成开发环境使用参考1.VC6的常用菜单命令项(1)File菜单New:打开“new”对话框,以便创建新的文件、工程或工作区。Close Workspace:关闭与工作区相关的所有窗口。Exit:退出VC6环境,将提示保存窗口内容等。(2)Edit菜单Cut:快捷键Ctrl+X。将选定内容复制到剪贴板,然后再从当前活动窗口中删除所选内容。与“Paste”联合使用可以移动选定的内容。Copy:快捷键Ctrl+C。将选定内容复制到剪贴板,但不从当前活动窗口中删除所选内容。与“Paste”联合使用可以复制选定的内容。Paste:快捷键Ctrl+V。将剪贴板中的内容插入(粘贴)到当前鼠标指针所在 阅读全文

posted @ 2013-06-19 13:25 颓废的悠然 阅读(1006) 评论(0) 推荐(0)

Visual C++ 6.0编程环境的使用
摘要:1.1 编制并运行程序的四部曲(1)编辑(把程序代码输入,交给计算机)。(2)编译(成目标程序文件.obj)。编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。(3)链接(成可执行程序文件.exe)。链接是将编译产生的.obj文件和系统库连接装配成一个可以执行的程序。由于在实际操作中可以直接点击Build从源程序产生可执行程序 阅读全文

posted @ 2013-06-18 23:27 颓废的悠然 阅读(1648) 评论(0) 推荐(0)

C陷阱与缺陷(四)
摘要:第四章 连接4.1 什么是连接器C语言中的一个重要思想就是分别编译,即若干个源程序可以在不同的时候单独进行编译,然后在恰当的时候整合在一起。典型的连接器把由编译器或汇编器生成的若干个目标模块,整合成一个被称为载入模块或可执行文件的实体,该实体能够被操作系统直接执行。连接器通常把目标模块看成是由一组外部对象组成的。连接器的输入一组目标模块和库文件,连接器的输出是一个载入模块。4.2 声明与定义下面的声明语句 int a;如果其位置出现在所有的函数体之外,那么它就被称为外部对象a的定义。这个语句说明了a是一个外部整型变量,同时为a分配了存储空间。如果它没初始化,则默认为0.严格的规则是,每个外部变 阅读全文

posted @ 2013-06-18 10:42 颓废的悠然 阅读(280) 评论(0) 推荐(0)

C陷阱与缺陷(三)
摘要:第三章 语义陷阱3.1 指针与数组C语言中只有一维数组,而且数组的大小必须字编译期就作为一个常数确定下来。数组中的元素可以是另外一个数组。任何一个数组下标运算都等同于一个对应的指针运算。int a[3];除了a被用作运算符sizeof的参数这一情形,在其它所有情形中数组名a都代表指向数组a中下标为0的元素的指针,sizeof(a)是整个数组a的大小。*a是数组a中下标为0的元素的引用,*(a+1)是数组中下标为1的元素的引用。3.2 非数组的指针在C语言中,字符串常量代表了一块包括字符串中所有字符以及一个空字符的内存区域的地址。假设我们有两个这样的字符串s和t,我们希望可以借助常用的库函数st 阅读全文

posted @ 2013-06-17 13:40 颓废的悠然 阅读(300) 评论(0) 推荐(0)

C陷阱与缺陷(二)
摘要:第二章 语法陷阱2.1 理解函数声明(*(void(*)())0)();任何C变量的声明都由两部分组成:类型以及一组类似表达式的声明符。一旦我们知道了如何声明一个给定类型的变量,那么该类型的类型转换符只需要添加一个括号即可的到。例如 float (*h)();表示h是一个指向返回值为浮点类型的函数的指针。因此(float (*h)())表示一个"指向返回值为浮点类型的函数的指针"的类型转换符。第一步假设fp是一个函数指针,那么通过(*fp)()调用fp所指向的函数,可以简写问fp()。在表达式(*fp)()中,*fp两侧的括号非常重要,因为函数运算符()的优先级高于单目运算 阅读全文

posted @ 2013-06-16 22:25 颓废的悠然 阅读(287) 评论(0) 推荐(0)

C陷阱与缺陷(一)
摘要:第一章 词法陷阱术语“符号”指的是程序的一个基本组成单元,其作用相当于一个句子中的单词。编译器中负责将程序分解为一个一个符号的部分,一般称为“词法分析器”。1.1 =不同于==一般容易将比较运算误写成赋值运算的情形,另一方面,如果把赋值运算误写成比较运算,同样会造成混淆:if((filedesc==open(argv[i],0))<0)error();在本例中,如果函数open执行成功,则返回0或者正数;而如果函数open执行失败,将返回-1。上面这段代码的本意是将函数open的返回值存储在变量filedesc之中,然后通过与0比较来检查函数open是否执行成功。而按照上面的代码是比较o 阅读全文

posted @ 2013-06-16 18:02 颓废的悠然 阅读(402) 评论(0) 推荐(0)

C Primer Plus(十七)
摘要:第十七章 C预处理器和C库17.1 研究数据表示先来研究一个实例,假设您想要写一个程序来输入您一年中看过的所有电影。下面来一个简单实现的程序#include<stdio.h>#define TSIZE 45 /* 存放片名的数组大小 */#define FMAX 5 /* 最多的影片数 */struct film{char title[TSIZE];int rating;};int main(void){struct film movies[FMAX];int i=0;int j;puts("Enter first movie title: ");while(i 阅读全文

posted @ 2013-06-14 08:18 颓废的悠然 阅读(345) 评论(0) 推荐(0)

C Primer Plus(十六)
摘要:第十六章 C预处理器和C库16.1 翻译程序的第一步对程序做预处理前,编译器会对它进行几次翻译处理。编译器首先把源代码中出现的字符映射到源字符集。第二,编译器查找反斜线后紧跟换行符的实例并删除这些实例。也就是将两个物理行printf("That's wond\erful!\n");转换成一个逻辑行:printf("That's wonderful!\n");接下来,编译器将文本划分成预处理的语言符号序列和空白字符及注释序列。编译器用一个空格字符代替每一个注释。最后程序进入预处理阶段。预处理器寻找可能存在的预处理指定。这些指令由一行开始出的 阅读全文

posted @ 2013-06-12 17:53 颓废的悠然 阅读(416) 评论(0) 推荐(0)

C Primer Plus(十五)
摘要:第十五章 位操作15.1 二进制数、位和字节以2为基数表示的数字称为二进制数,可以使用二进制数将任何整数表示为1和0的一个组合,这种系统非常适合于数字计算机使用。15.1.1 二进制整数描述存储器芯片和数据传输率时使用的字节指8位字节。最小的二进制数是00000000,或一个简单的0.一个字节可以存储的数的范围是0到255.通过改变对位模式的解释方式,一个字节可以存储从-128到+127之间的整数。15.1.2 有符号整数有符号数的表示方法是由硬件决定,而不是由C决定。其中最简单的方法就是保留1位来表述数的符号。但是该方法有一个确定就是有两个零+0和-0.二进制补码避免了这个问题。两种方法的区 阅读全文

posted @ 2013-06-12 10:33 颓废的悠然 阅读(278) 评论(0) 推荐(0)

C Primer Plus(十四)
摘要:第十四章 结构和其它数据形式14.1 建立结构声明结构声明是描述结构如何组合的主要方法。声明如下:struct book{char title[MAXTITL];char author[MAXAUTL];float value;};该声明描述了一个由两个字符数组和一个float变量组成的结构。它并没有创建一个实际的数据对象,而是描述了组成这类对象的元素。以后可以这样声明: struct book library;它把library声明为一个使用book结构设计的结构变量。结构中的成员可以是任何一种C的数据结构,甚至可以是其它结构。介绍花括号后的分号表示结构设计定义的结束。标记名是可选的。14. 阅读全文

posted @ 2013-06-11 10:49 颓废的悠然 阅读(261) 评论(0) 推荐(0)

1 2 下一页

导航