随笔分类 -  c

c语言函数可变参数列表
摘要:在函数原型中,列出了函数期望接受的参数,但原型只能显示固定数目的参数。让一个函数在不同的时候接受不同数目的参数是不是可以呢?答案是肯定的,但存在一些限制。 考虑一个计算一系列值的平均值的函数。如果这些值存储于数组中,这个任务就太简单了,所以为了让问题变得更有趣一些,我们假定它们并不存储于数组中。先来看一个计较差的,也是不太稳定的一个解决方案: 1 //计算指定数目的值的平均值(差的方案) 2 float average(int n_value,int v1,int v2,int v3,int v4,int v5) 3 { 4 float sum=v1; 5 if(n_values>... 阅读全文
posted @ 2011-12-04 16:59 candyming 阅读(7366) 评论(1) 推荐(0)
递归与迭代
摘要:关于c语言部分函数的一些总结和注意事项:递归是一种强有力的技巧,但是和其他技巧一样,它也可能被误用。这里就有一个例子。阶乘的定义往往就是以递归的形式描述的。factorial(n)=1,n<=0;factorial(n)=n*factorial(n-1),n>0;这个定义同时具备了递归所需要的两个特性:1、存在限制条件,当符合这个条件时递归便不再继续;2、每次递归调用之后越来越接近这个限制条件。用这种方式定义阶乘往往引导人们使用递归来实现阶乘函数。程序如下所示: 1 //用递归方法计算n的阶乘 2 3 long factorial(int n) 4 5 { 6 7 if(n< 阅读全文
posted @ 2011-12-04 14:17 candyming 阅读(9349) 评论(0) 推荐(0)
递归的应用——输入一个整型值(无符号),把它转换成字符并打印它,前导0被删除
摘要:1 //输入一个整型值(无符号),把它转换成字符并打印它,前导0被删除 2 #include<stdio.h> 3 #include<stdlib.h> 4 void binary_to_ascii(unsigned int value); 5 int main() 6 { 7 unsigned int i; 8 printf("please input a value:\n"); 9 scanf("%d",&i);10 binary_to_ascii(i);11 system("pause");12 阅读全文
posted @ 2011-12-04 13:13 candyming 阅读(601) 评论(0) 推荐(0)
输入需要转换的数和进制数,将该数按该进制转换成对应进制数,输出结果。
摘要:1 //输入需要转换的数和进制数,将该数按该进制转换成对应进制数,输出结果。 2 #include <stdio.h> 3 #include<stdlib.h> 4 int Conversion(int number,int system,char output[])//要转换的数据、进制、输出数据 5 { 6 int Quotient,Balance,i=0;//商,余数和标记 7 Quotient = number; 8 9 do10 {11 Balance = Quotient % syste... 阅读全文
posted @ 2011-12-03 21:28 candyming 阅读(566) 评论(0) 推荐(0)
getch()和getchar()之再讨论
摘要:在C语言的字符处理函数中,getch()和getchar()是经常让人迷惑的两个函数,他们都有一些“奇怪的”特点让初学者摸不着头脑。两个函数有很多相似之处,却又有很大的不同。下面是两个函数的说明:int getch( void ); Get a character from the console without echoint getchar ( void ); Get character from stdin, Returns the next character from the standard input (stdin).It is equivalent to getc with s 阅读全文
posted @ 2011-11-25 11:12 candyming 阅读(2353) 评论(0) 推荐(0)
getch()、getche()和getchar()函数
摘要:getch()、getche()和getchar()函数(1) getch()和getche()函数 这两个函数都是从键盘上读入一个字符。其调用格式为: getch(); getche(); 两者的区别是:getch()函数不将读入的字符回显在显示屏幕上,而getche() 函数却将读入的字符回显到显示屏幕上。 例1: 1 #include"stdio.h" 2 #include"conio.h" 3 void main() 4 { 5 char c, ch; 6 c=getch(); /*从键盘上读入一个字符不回显送... 阅读全文
posted @ 2011-11-25 11:11 candyming 阅读(856) 评论(0) 推荐(1)
C语言中关键字auto、static、register、const、volatile、extern的作用
摘要:关键字auto、static、register、const、volatile、extern这些关键词都是c++基础知识,我整理了一下,希望对新学的朋友们有用:(1)auto 这个这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。(2)register 这个关键字命令编译器尽可能的将变量存在CPU内部寄存器中而不是通过内存寻址访问以提高效率。(3)static 常见的两种用途: 1>统计函数被调用的次数; 2>减少局部数组建立和... 阅读全文
posted @ 2011-11-25 10:46 candyming 阅读(16294) 评论(0) 推荐(6)
编写一个程序,它从标准输入读取c源代码,并验证所有的花括号都正确地成对出现。
摘要:编写一个程序,它从标准输入读取c源代码,并验证所有的花括号都正确地成对出现。注意:你不必担心注释内部、字符串常量内部和字符常量形式的花括号。编写代码如下:#include<stdio.h>#include<stdlib.h>#include<conio.h>int main(){ int ch; int braces=0; while((ch=getchar())!=EOF) { if(ch=='{') braces++; if(ch=='}') if(braces==0) printf("Extra closing 阅读全文
posted @ 2011-11-25 10:38 candyming 阅读(2075) 评论(0) 推荐(0)
1.枚举类型、声明指针、常量、存储类型、运算符优先级记忆
摘要:枚举类型、声明指针、常量、存储类型、运算符优先级记忆 阅读全文
posted @ 2011-11-23 21:23 candyming 阅读(1361) 评论(0) 推荐(0)