C语言学习
半月可可
这个作者很懒,什么都没留下…
展开
-
C语音学习5——指针与多维数组基础知识
指针是能够存放一个地址的一组存储单元。一元取地址运算符 &,,,用法:P = &c;&只能应用于内存中的对象,如变量与数组元素。不能作用于表达式、常量、和register类型的变量。3.int *p;p内存的是指针,*p是指针指向的值。也就是可以有 p = &c下面的函数都等于把ip指向的对象的值加1(*ip)++ 等于++*ip 等于*ip += 1++ 和 * 这种一元运算符遵循从右向左的结合顺序。5. 数组名代表数组第.原创 2020-10-21 16:02:50 · 192 阅读 · 0 评论 -
C语音学习——以计算机命令行输入的逆波兰表达式的值,其中每个运算符或操作数用单独的参数表示
C程序设计语言第二版,P118练习5-10编写程序expr,以计算机命令行输入的逆波兰表达式的值,其中每个运算符或操作数用单独的参数表示。例如,命令expr 2 3 4 + *表示 2*(3+4)的值程序如下,精简版,并不能完全满足要求,命令行输入时直接输如参数,不用输expr,只能计算加法和乘法。#include <stdio.h>#include <ctype.h># define MAXLINE 1000int getline(char s[], int l原创 2020-09-19 16:42:00 · 314 阅读 · 0 评论 -
C语言学习4——递归之快速排序法
快速排序法是C.A.R.Hoare于1962年发明的。对于一个给定的数组,将其按递归方法排序。快速排序法思路:1.取数组第中间个数的值,以它为分界线将这个数组分为两个部分。2.将这个数移到最左边,遍历数组,把小于该值的数移动到该值的左边,大于该值的数不动。3.记录发生移动的个数a,遍历结束后将所取的中间值置于第a+1个(此时该值左边的数都小于该值,右边的数都大于该值,但左右两边并不是升序排列的)。4.分别将左右两边视为两个新的数组,重复1-3步,直至数组个数小于2。程序如下:《c程序设计语言》原创 2020-06-30 20:50:53 · 556 阅读 · 0 评论 -
C语言学习3——运算符
C语言学习3——按位运算符^按位异或<< 左移右移 >>~求反码如把x的后六位置0,用x = x & ~077比x & 0177700好,~077是常亮表达式, x&-077是独立于字长的,比下面那个表达式好,下面那个假定了x是16位的量。x *= y + 1 的意思是 x = x * (y + 1)...原创 2020-06-15 14:18:34 · 272 阅读 · 0 评论 -
C语言学习——函数
C语言学习——函数c语言中,创建函数并调用的基本方法:#include <stdio.h>main (){ int mi(int a,int b); int i = 0; for(i = 0 ; i < 10 ; i++) { printf("%d %d\n",i,mi(2,i)); }}int mi (int a,int b){ int i ,x; x = 1; for (i = 0;i < b;i++) { x = x * a; }原创 2020-05-28 20:28:38 · 137 阅读 · 0 评论 -
C语言学习记录——打印直方图
C语言学习记录——打印直方图编写一个程序,打印输入的数字字符中各个数字出现次数的直方图。打印水平直方图#include <stdio.h>main(){ int number[10]; int i,c,x,y,maxy; maxy = 0; for (i = 0; i < 10; i++) { number[i] = 0; } while((c = getchar()) != EOF) { if(c >= '0' && c <原创 2020-05-28 19:54:50 · 1240 阅读 · 0 评论