- 博客(43)
- 收藏
- 关注
转载 系统调用与库函数的区别
Linux对文件操作有两种形式:系统调用与库函数调用。 一、系统调用 系统调用是通向操作系统本身的接口,是面向底层硬件的。通过系统调用,可以使得用户态运行的进程与硬件设备(如CPU、磁盘、打印机等)进行交互,是操作系统留给应用程序的一个接口。下面适用于访问设备驱动程序的系统调用:open: 打开文件或设备 read: 从打开的文件或设备中读取数据 write: 向打开的
2017-01-18 22:11:00
814
原创 求一个3x4矩阵中最大元素的位置
#include void main(){int i;int j;int max;int hang = 0;int lie = 0;int a[3][4]={1,2,3,4,9,8,7,6,-10,10,-5,2};max = a[0][0];for(i = 0 ; i for(j = 0 ; j { printf("%5d"
2016-12-02 23:15:59
2125
原创 统计一个句子中的单词数
#include void main(){int i;int num=0;int word=0;char c;char string[81];gets(string);for(i = 0 ; (c=string[i]) != '\0' ; i++){if(c==' ') {word=0; }else if(word==0)
2016-12-02 23:12:59
843
原创 strlcat的实现
#include int main(){char str1[50];char str2[50];char str3[100];char c;int n1 = 0;int n2 = 0;int i;printf("please enter str1:\n");gets(str1);printf("please enter str2:\n");g
2016-12-02 23:10:15
1240
原创 strcpy的实现
#include void copy(char a[],char b[]){int i = 0;int j = 0;while(a[i] != '\0'){if(a[i] == 'a' || a[i] == 'A' || a[i] == 'e' || a[i] == 'E' || a[i] == 'i' || a[i] == 'I' || a[i] == 'o'
2016-12-02 23:09:14
513
转载 C/C++左值性精髓 哪些表达式是左值,哪些是右值
转载自 飞天御剑流 的博客 C/C++左值性精髓(二)哪些表达式是左值,哪些是右值? 3. 函数调用表达式和强制转换 对于函数调用表达式和强制转换表达式的结果,在C中都属于右值;C++由于增加了引用类型,结果为引用的函数调用表达式和强制转换表达式都属于左值,示例如下: int& fun1( int & r
2016-12-02 22:41:34
753
转载 C/C++左值性精髓 (二)
C/C++左值性精髓(二)哪些表达式是左值,哪些是右值? 2. 右值表达式 C对于右值的定义是表达式的值,C中所有完整表达式的结果都是右值。所谓完整表达式(full expression),指的是这样的表达式,它不是其它表达式或声明符的一部分。包括条件表达式和逗号表达式等等都不产生左值,而子表达式计算产生的中间结果或临时对象,很多人以为都是右值,但实际上,它
2016-12-02 22:39:49
430
转载 C/C++左值性精髓 (一)
C/C++左值性精髓(一) 左值的前世今生 左值(lvalue)是C/C++表达式的属性。只有针对一个表达式,才能谈论其左值性。 左值性由来已久,早在世界上第一个C标准C89出现之前就已经存在了。早期的定义是基于内置赋值运算符的需求的,能作为赋值运算符的左操作数的表达式属于左值,只能作为右操作数的表达式属于右值(rvalue),左值、右值中的左右两
2016-12-02 22:38:38
685
1
转载 C/C++的对象模型
一、C/C++对象模型的概念 这里所说的对象模型并非指有些人可能会误以为的Lippman在《Inside The C++ Object Model》一书中所描述的对象模型,Lippman描述的是面向对象的底层实现机制,但下面要讨论的对象模型是语言层面上的数据抽象的框架,两者是不同的,面向对象的语言设施建立在对象模型之上。在程序语言设计理论中,其实并没有对象的概念,只有变量概
2016-12-02 22:04:01
420
转载 C语言结构体(struct)常见使用方法
天复习一下struct,顺便挖掘一下以前没注意的小细节:基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量。结构体定义:第一种:只有结构体定义[cpp] view plain copy
2016-11-23 20:44:18
1049
转载 C/C++的内存模型
一、 内存模型的概念 内存模型是C/C++数据抽象的基础,是C/C++最底层的语言设施。不过,C与C++关于内存模型的表述方式是不同的。C++明确提出了内存模型的概念,但C没有这样做,而是对内存模型的构件例如bit和byte单独定义。尽管形式不同,但两者关于内存模型的语义是基本相同的,都由bit构成byte,bit是构成对象的最小单位,而可寻址的最小数据存储单位是byte,这
2016-11-19 22:41:08
500
转载 解析Makefile文件的构建规则
Makefile 编辑一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。所要完成的Makefile 文件描述了整个工程的编译、连接等规则。其中包括:工程中的哪些源文件需要编译以及如何编译、需要创建那些库文件
2016-11-16 22:10:18
600
原创 3x3矩阵的转置
#include void roll(int a[3][3]){ int i; int j; int temp;for(i = 0 ; i for(j = i + 1 ; j {temp = a[j][i];a[j][i] = a[i][j];a[i][j] = temp;}}int main(){
2016-11-15 20:49:36
4089
原创 求3x3矩阵对角线之和
#include int main(){int i;int j;int a[3][3]={0};int b = 0;int c = 0;for(i = 0 ; i for(j = 0 ; j {printf("enter the numbers\n");scanf("%d",&a[i][j]);}for(i = 0 ; i f
2016-11-14 22:29:02
1357
原创 有一个已排好序的数组,要求输入一个数后,按原来的规律插入数组
#include int main(){int a[6] = {1,3,5,7,9};int i;int j;int k;for(i = 0 ; i printf("%5d",a[i]);printf("\n");printf("please enter k\n"); scanf("%d",&k);a[5] = k;for(i =
2016-11-13 18:32:31
23254
原创 基本中间插入式单向链表
#include #include struct node{int num;struct node * next;};typedef struct node Node;typedef struct node * Link;void create_link(Link * head){*head = NULL;}voi
2016-11-12 22:24:22
284
原创 基本尾部插入式链表
#include #include struct node{int num;struct node * next;};typedef struct node Node;typedef struct node * Link;void create_link(Link * head){*head = NULL;}voi
2016-11-11 22:31:52
263
原创 基本头部插入式单向链表程序
#include #include struct node{int num;struct node * next;};typedef struct node Node;typedef struct node * Link;void create_link(Link * head){*head = NULL;}voi
2016-11-10 20:14:38
407
转载 求7个默森尼数
/*****************************************************copyright (C), 2014-2015, Lighting Studio. Co., Ltd. File name:Author:Jerey_Jobs Version:0.1 Date: Description:Funcion List:
2016-11-09 21:52:41
414
原创 有n个人围成一圈,顺序排号,从第一个开始报数(从1到3),报到3的退出,问最后留下的是几号
#include #define n 90int main() { int a[100],i,quit_num,k; for(i=0;ia[i]=i+1; quit_num=0; //初始化退出人数i=0; k=0; while(quit_num{if(a[i]!=0)k++; if(k==3) //当报
2016-11-07 22:10:15
658
原创 从一个字符数组中读出相应的整数,实数
#include int main(){char a[10]; int i;printf("please enter :\n"); //提示输入字符数组for(i=0;i{scanf("%c",&a[i]);getchar();}for(i=0;iif(a[i] = '0') //判定输入的字符是否为数字,若是
2016-11-06 21:21:46
1203
原创 求1000以内的完数
#include int main() { int n=1000; int r,j,i; for(i=1;i {r = 0; //初始化要输出的结果for(j=1;j{ if(i%j == 0) //判断j是否为i的因子 {r
2016-11-02 22:16:06
491
原创 通过编程实现,统计1~n有多少个9
#include int main(){int n,b;int a;int i;int sum = 0;printf("please input n :\n"); //提示输入nscanf("%d",&n);for(i = 1; i {a = i;while(1){b = a % 10; //对10求余取出个位
2016-11-01 19:52:44
759
原创 请编写一个c函数,该函数给出一个字节中被置为1的位的个数
#include int rest(int x){int i,y;int sum = 0;for(i = 0 ; i {y = x % 2; //判定每一位是0还是1x = x / 2;if(y == 1)sum += 1;}return sum; //返回为1的位数}int main(){int x;pri
2016-10-30 19:58:12
3109
转载 输入华氏度输出摄氏度和开尔文温度
#include void Temperatures(double); const float K = 1.8; const float A = 32.0; const float B = 273.16; int main() { double TEM; int a; printf("please input the degree Fahren
2016-10-23 19:24:40
1996
转载 C primer plus 第五版 编程练习5.4
#include #define CM_TO_FEET 30.48 #define CM_TO_INCH 2.54 int main() { float cm,inch; int feet; printf("Enter a height in centimeters: "); scanf("%f",&cm); while(cm>0) {
2016-10-18 19:14:36
448
原创 趣味编程100第二题
#include int main(){int a,b,c;int i=0;for(a=1;afor(b=1;bfor(c=1;cif(a != b && a != c && b != c){printf("A:%2d,B:%2d,C:%2d\n",a,b,c);i++;}printf("There are %d ways",i);
2016-10-14 21:15:03
639
原创 百鸡百钱问题
#include int main(){int cock,hen;int chicken;for(cock=0;cockfor(hen=0;henfor(chicken=0;chicken{ if((cock*5 + hen*3 + chicken/3.0 ==100) && (cock + hen + chicken ==
2016-10-12 18:21:44
458
转载 C Primer plus 习题5.3
#include #define WEEK 7 int main(){ int days; printf("Please input the days:");scanf("%d",&days);while(days>0){ printf("%d days are %d weeks,%d days.\n",days,days/WEEK,days%WEEK)
2016-10-11 20:56:53
390
原创 写一个程序输入一个数,输出小于这个数的所有素数
#includeint prime(int); int main(void){ int num,i; printf("input a positive number:");scanf("%d",&num); printf("all the primesfor(i=2;iif(prime(i))printf("%d\t",i);printf("\n")
2016-10-10 20:24:18
9869
原创 习题8.18
void convert(int n){ int i; if ((i=n/10)!=0) convert(i); putchar(n%10+'0');}void main(){int number;printf("\nInput an integer:");scanf("%d",&number);printf("Output:");
2016-10-08 20:11:50
428
原创 习题8.6
#include #include void mycat(char str1[],char str2[]){int i=0;int j=0;for(i=0;i{;}for(j=0;j{str1[i++]=str2[j];}}int main(){ char str1[50];char str2[5
2016-10-07 20:38:16
353
原创 习题8.9
#include #include int letter,number,blank,other;void count(char str[]){ int i;for(i=0;str[i]!='\0';i++){if(str[i]>='a'&&str[i]='A'&&str[i]letter++;else if(str[i]>='0'&&str[i
2016-10-06 18:43:26
263
原创 习题8.11
include #include void Sort(char a[],int N){char temp;int i, j, flag;for(i=0;i{flag = 0;for(j=0;j{if(a[j]>a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;
2016-10-05 21:02:58
246
原创 习题8.10
#include#includevoid main(){void longwords(char str[]);char str1[80];int i;printf("please input a string:\n");gets(str1);i=strlen(str1);longwords(str1);}void longwords(
2016-10-04 20:15:57
262
原创 谭浩强第三版习题8.1
#include int GCM(int x,int y){int z;while(x%y!=0){z=x%y;x=y;y=z;}return(y);}int main(){int a,b,imax,imin,temp;printf("please enter 2 numbers\n");scanf("%d%d",&a
2016-10-03 20:44:56
555
原创 编写一个判定素数的函数
#include #include int prime(int x){int i,n;if(x==1)return 0;n=sqrt(x); for(i=2;iif(x%i==0)return 0;return 1;}int main(){int x;int decide; printf("please enter a
2016-10-02 18:40:15
3809
1
原创 谭浩强C程序设计第三版习题8.5
#include #include void rev(char x[],int n){char s;int i;for(i=0;i{s=x[i];x[i]=x[n-i-1];x[n-i-1]=s;}}#define MA 100void main(){char a[MA];int m;scanf("%s",a)
2016-10-01 20:38:34
559
原创 用递归法求n!
#include long long int func(int n){int i;long long int result = n;for(i = 1; i {result = result *(n - i);}return result;}int main(){int n;printf("plaese enter a number
2016-09-30 21:17:20
950
原创 输出杨辉三角要求输出10行
#include int main(){int a[10][10];int i,j;for(i=0;i{a[i][0]=1; a[i][i]=1;} for(i=2;ifor(j=1;ja[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i{for(j=0;jprintf("
2016-09-29 16:13:11
2700
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人