零碎知识点补充

1.    pow(math下面的函数)

描述

C 库函数 double pow(double x, double y) 返回 x 的 y 次幂,即 xy

声明

下面是 pow() 函数的声明。

double pow(double x, double y)

参数

  • x -- 代表基数的浮点值。
  • y -- 代表指数的浮点值。

返回值

该函数返回 x 的 y 次幂的结果。

实例

下面的实例演示了 pow() 函数的用法。

#include <stdio.h>
#include <math.h> int main () { printf("值 8.0 ^ 3 = %lf\n", pow(8.0, 3)); printf("值 3.05 ^ 1.98 = %lf", pow(3.05, 1.98)); return(0); }

让我们编译并运行上面的程序,这将产生以下结果:

 8.0 ^ 3 = 512.000000  3.05 ^ 1.98 = 9.097324


2.一对一对应的问题
或许我们可以采用两个数组/字符串和数组,用另一个数组来对应要进行计算的字符串或者数组


3.十进制转化小于十的进制

举一个例子,现在将十进制 11 转换为二进制数:
11 除以 2,得商为 5,余数为 1;
5 除以 2,得商为 2,余数为 1;
2 除以 2,得商为 1,余数为 0;
1 除以 2,得商为 0,余数为 1,算法终止。
将余数从后往前输出,得 1011 即为 11 的二进制数。
除基取余逆序输出。。。

逆序可以添加一个计数的和一个数组,用计数器让数组从后面开始往前输出余数。

温习了一下while  //  do   while//

 4.边输入边计算 PAT1010
while(cin>>a>>b)

cin是输入操作符,cin>>a的过程是先取得从键盘的输入值a,并将a赋给cin,因此while(cin>>a)的意思就是只要输入的值有效,那么就执行while体内的语句。

实例设计如下:

1、统计输入连续数字的个数,while循环结束 (跳出流对象)的时候,打印最后一个数 。通过检测其流的状态来判断结束;

(1)若流是有效的,即流未遇到错误,那么检测成功。

(2)若遇到文件结束符,或遇到一个无效的输入时(例如本题输入的值不是一个整数),istream对象的状态会变为无效,条件就为假。

 

while(scanf("%d%d", &x, &y)!=EOF)

scanf("%d%d", &x, &y):

如果x和y能够被成功读入,那么scanf的返回值就是2

如果只有a被成功读入,返回值为1

如果a和b都未被成功读入,返回值为0

如果遇到错误或遇到end of file,返回值为EOF。

EOF:EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。通常在文本的最后存在此字符表示资料结束。C语言中,EOF常被作为文件结束的标志。还有很多文件处理函数处错误后的返回值也是EOF,因此常被用来判断调用一个函数是否成功。

 5.switch的知识点

switch(表达式)
{
case 常量表达式 1:语句 1
case 常量表达式 2:语句 2
.
.
.
case 常量表达式 n:语句 n
default:语句 n+1
}

说明:
(1) switch后面括弧内的"表达式",ANSI标准允许它为任何类型.
(2) 当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,若所有的case中的常量表达式的值都没有与表达式的匹配的,就执行default后面的语句.
(3) 每一个case的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案).
(4) 各个case各default的出现次序不影响执行结果。例如,可以先出现"default: ...",再出现"case 'D': ...",然后是"case 'A': ...".
(5) 执行完一个case后面的语句后,流程控制转移到下一个case继续执行."case常量表达式"只是起语句标号作用,并不是在该处进行条件判断.在执行swith语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断.将连续输出;所以我们要在每一个case里面加入break推出switch语句

最后一个分支(default)可以不加break语句.
在case后面中虽然包含一个以上执行语句,但可以不必用花括弧括起来,会自动顺序执行本case后面所有的执行语句.当然加上花括弧也可以.
(6) 多个case可以共用一组执行语句,例如:
.
.
.
case 'A':
case 'B':
case 'C': printf(">60\n");break;

 6.int型数组初始化
int aa[3]={0},bb[3]={0};            //初始化等于零 
这样aa[0]=aa[1]=aa[2]=0;
7.整型
整型分为int,long,长整型-2147483648~2147483647,int型-32768~32767

8.求最大公约数和最小公倍数的相关信息
https://blog.csdn.net/chen_zan_yu_/article/details/82943306

9.字符串的相关知识
isalpha:一种函数:判断字符ch是否为英文字母,若为英文字母,返回非0(小写字母为2,大写字母为1)。若不是字母,返回0。
isdigit:若参数c为阿拉伯数字0~9,则返回非0值,否则返回0。
tolower:C 库函数 int tolower(int c) 把给定的字母转换为小写字母。(返回的是int但是她其实是ASCII的值,所以可以复制给字符当作字符输出)
toupper:
C 库函数 int tolower(int c) 把给定的字母转换为大写字母。(返回的是int但是她其实是ASCII的值,所以可以复制给字符当作字符输出)
10.c语言编译器自带的快速排序函数
qsort函数C语言编译器函数库自带的快速排序函数。qsort 的函数原型是void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*)); 是base所指数组进行排序。qsort函数包含在C 标准库 - <stdlib.h>中。

函数声明

void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))

参数

  • base-- 指向要排序的数组的第一个元素的指针。
  • nitems-- 由 base 指向的数组中元素的个数。
  • size-- 数组中每个元素的大小,以字节为单位。
  • compar-- 用来比较两个元素的函数,即函数指针(回调函数)
compar:

int cmp(const void*a,const void *b)
{
return *(int *)a<*(int *)b;
}

返回值为1时a排在b后面,返回值为0时a排在b前面

11.%.2f格式化输出

C语言的格式化输出保留小数,默认四舍五入,在接近0的负数四舍五入之后不输出0.00,而是-0.00。

 12.printf中有些符号你要打两遍

printf("%.1f%% %.1f%%",ke*100.0/n,kong*100.0/n);

两个百分号这样,输出才会有40.0%这样的结果

13.用getchar吸收一些东西
while((c=getchar())!='\n')

while((c=getchar())!=')')
{
if(isalpha(c))
{
choose[j]=c;
j++;
}
}

这样吸收一个字符方便同类型继续输入,同时可以吸收换行符,空格

 

转载于:https://www.cnblogs.com/BananaMan/p/11209026.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值