自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qiu_shaofeng的博客

c/c++ OpenCV图像处理

  • 博客(17)
  • 收藏
  • 关注

原创 The C Programming Language 学习(16)——struct 结构体

结构体是自定义的数据类型,需要先声明结构体类型(模板),然后才能申明结构体变量。下面给出一种常用的结构体模板声明方式:struct book { // struct 是关键字 book 自定义的结构体名 char name[MAXL]; // 结构体成员 double price; } ; //结构体模板声明结束struct book lib, *plib, library[...

2020-07-01 18:01:00 143

原创 分支结构——P1423小鱼的航程

根据条件选择不同路线,就要用到分支结构,下面通过一个例题来说明。洛谷P1423:有一只小鱼,它平日每天游泳 250 公里,周末休息(实行双休日),假设从周x(1≤x≤7)开始算起,过了n(n≤10^6)天以后,小鱼一共累计游泳了多少公里呢?输入 输出 3 10 2000 这里需要判断周x是否为周末,来决定游泳/休息。可以对每一天进行判断;也可以去掉整周,只判断剩余的天数。采用一个数组d[8]记录剩余的天数,星期是1到7,大于7时需要循环回来;考虑数据的范围,int能够...

2020-06-23 23:33:13 316

原创 The C Programming Language 学习(15)——命令行参数main(int argc,char *argv[ ])

main 函数原型 int main(int argc, char *argv[ ]); 当main 函数被调用时,命令行传递这两个参数。argc (参数个数,argument accout),代表命令行输入的字符串个数;argv(参数向量,argument vector)是字符指针数组,保存输入的字符串参数。第一个字符串argv[ 0 ]是这个程序的文件名。程序echo,打印除了文件名外的参数。#include<stdio.h>int main(int argc,char *ar.

2020-06-15 00:23:19 161

原创 The C Programming Language 学习(14)——字符指针数组

在程序设计中,经常遇到多行字符串,如何表示他们呢?直观的办法,是定义一个二维字符数组:char linechar[MAXLINE][MAXLEN];//MAXLINE个字符串,每个字符串长度最大为MAXLEN用固定长度的数组表示,直观但不灵活;每行字符串的长度一般不相同,更适合用字符指针来表示:char * lineptr[MAXLINE]; // 长度为MAXLINE的字符指针,每个指针指向一个字符串(其长度在输入时候确定)K&R教材以多行文本的输入和输出阐明字符指针数组的用法,.

2020-06-13 23:47:51 153

原创 The C Programming Language 学习(13)——指针数组的初始化

指针数组(pointer arrays),又称为指向指针的指针(pointer to pointer)。例如字符指针数组定义为char *name[ 4 ]; 或者char** name;指针数组存储的是指针,使用前必须初始化,有下面两种初始化方式。...

2020-06-11 20:55:42 380

原创 The C Programming Language 学习(12)——指针与数组 strcat

指针是保存地址的变量,使用指针可以灵活的处理数组和字符串。例如:char ch[10]; //定义一个字符数组char *str; //定义字符指针str=ch; //指针初始化,ch为数组的首地址地址表现为一个整数,但是地址和整数之间不能互相转换。如果定义int a; int *p;那么 p=a;p=10;a=p;这样的赋值都是错误的;可以用取地址操作符&,操作数必须是变量,不能是表达式、常数,例如p=&a;指针可以进行算术运算,使用++运算符方便访问数组。*str++

2020-06-10 23:45:45 166

原创 The C Programming Language 学习(11)——静态局部变量

局部变量通常定义在程序块(函数)的开头,其作用域在程序块(函数)内部,程序块外部不能访问局部变量。局部变量默认的存储类型是auto,它在进入声明该变量的程序块时被建立,在该程序块活动时存在,退出该程序块时撤销。函数内的局部变量可以申明为static类型,在退出该函数时,静态局部变量仍然存在,可以保存该变量的值用于下一次函数调用;注意静态变量只初始化一次。下面通过getop()函数的例子来说明。编写函数int getop(char s[ ]) ,实现四则运算字符串的读取,字符读取使用getchar()函数

2020-06-04 21:01:20 288

原创 The C Programming Language 学习(10)——字符串转换为浮点数atof()

许多数学函数使用double类型,下面以字符串转换为浮点数的函数atof_s()为例来说明。该函数能够处理正负尾数和正负指数格式的输入字符串。#include<stdio.h>#include<ctype.h>#include<math.h>#define MAXLINE 100int getline(char s[],int lim);//输入一行 int main() { double sum=0; double atof_s(char s[])

2020-06-02 23:12:43 156

原创 The C Programming Language 学习(9)——浮点数的精度和输出

计算机中浮点数由尾数乘以2的整数次幂得到,用于近似表示小数;分为单精度(float)和双精度(double)。float类型尾数是23位,精度小数点后6-7位;double类型尾数是52位,精度小数点后15-16位。可以用分数1/3来测试float和double的精度;printf格式输出时,默认6位小数(四舍五入),使用“%.nf“指定输出位数,观察输出精度。#include<stdio.h>int main(){ float f=0.24; double d=0.24; /

2020-06-01 23:10:15 168

原创 The C Programming Language 学习(8)——整型变量的范围

头文件<limits.h>定义了整型变量范围的符号常量,例如UINT_MAX、INT_MIN、INT_MAX等等。可以利用计算机中整数的存储规则来计算,我们以一个字节的char型为例:无符号的数达到最大值1111 1111后再加一,溢出,因而结果为0;有符号的数达到最大值0111 1111后再加一,结果为1000 0000,即最小值。#include<stdio.h>#include<limits.h>int main() { unsigned char uc

2020-05-30 18:07:55 565

原创 The C Programming Language 学习(7)——空格替换TAB

Exercise 1-20. Write a program detab thant replaces tabs in int input with the proper number of blanks to space to the next tab stop.徐宝文,李志《c程序设计语言》翻译是“编写程序detab,将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止位的地方”。制表符是将列分隔为固定的位宽(例如8),按下TAB键则光标跳到8的整数倍位置,即光标只可能出现在0,.

2020-05-29 18:49:40 358

原创 The C Programming Language 学习(6)——字符数组

C语言常用字符数组(character arrays)来表示字符串,在存储字符串时,系统会添加'\0'作为结束符。例如字符串"Hello\n",在数组中存储如下图所示,其中'\0'为空字符(NULL),它的值为0。编写一个程序,读入一行字符并打印。考虑用字符数组line[MAXLINE]接收输入的字符串,遇到'\n'或EOF停止;由于数组大小的限制,当接收(MAXLINE-1)个字符后,也需要停止。为了接收任意长度的字符串,可以在主函数中判断接收的状态,当一行字符串超长时,进行循环接收。#in

2020-05-28 19:51:05 347

原创 The C Programming Language 学习(5)——函数

C语言程序程序设计中经常用到函数(function),它封装了如何实施任务的细节,使用者只需要了解函数用来做什么,例如scanf、printf、getchar。这些是C标准库提供的函数,用户也可以编写自己的函数,函数定义的语法如下:return-type function-name (parameter declarations, if any) { declarations statements}函数定义圆括号里的参数,称为形式参数(parameter / f...

2020-05-27 21:54:58 263

原创 The C Programming Language 学习(4)——单词统计直方图

第一章练习1-13,输入一段文字,要求打印输入单词长度的直方图。定义MAXL为单词最大长度,MAXH为单词的最大出现次数;可以用数组nlen[MAXL+1]记录每种长度单词出现的次数,二维数组hist[MAXH][MAXL+1]记录直方图。这里判断单词,采用了书中的弱规则,即空白符(空格、tab、回车)作为单词的分隔,其他符号都当作单词。完成的程序如下:#include<stdio.h>#define MAXH 15 //单词出现的最大次数 #define MAXL 12 //

2020-05-26 22:29:18 172

原创 The C Programming Language 学习(3)——字符输入输出

编写一个程序,复制输入的字符,直到输入结束;并统计输入字符的个数。这个程序用到getchar()和putchar()函数。getchar每次从键盘读入一个字符(按下回车后开始读),返回读入字符的值;putchar是在屏幕上打印一个字符。#include<stdio.h>int main() { int c; double nc=0; /*当遇到结束标志EOF时,跳出while循环 */ while((c=getchar())!=EOF) { putchar(c);//输出字符

2020-05-25 23:07:38 288

原创 The C Programming Language 学习(2)——温度转换

编写一个程序,打印输出华氏度(Fahrenheit)到摄氏度(Celsius)的转换表。华氏度从0到,200,间隔为20;每个温度输出为一行。转换公式为:#include<stdio.h>main() { int fahr,celsius; //声明整型变量 int lower,upper,step; lower=0; //赋值 upper=200; step=20; fahr=lower; while(fahr<=upper) {

2020-05-24 18:49:38 191

原创 The C Programming Language 学习(1)——Hello World

这套学习笔记以K&R所著的The C Programming Language (2nd Ed.)为依据,例程使用Dev C++ 5.11在Win7平台上调试。这本教科书薄薄的页,内容丰富,叙述简洁优美,涵盖了ANSI C的各个方面,被亚马逊网站誉为计算机科学领域的圣经,影响了一代又一代的程序员。作为从事程序设计课程教学多年的教师,推荐这本教材,既适合初学者,也适用于有一定经验的学习者,因此在这里分享学习的笔记和体会。第一章是C语言快速教程,...

2020-05-24 00:05:34 320

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除