学习C的一些笔记(一)
来源:互联网 发布:大数据挖掘系统 编辑:程序博客网 时间:2024/06/08 08:40
总结下很早以前的笔记,温故而知新。
-
printf("%-2d*%2d=%3d ", index_i + 1, index_j + 1, (index_i + 1) * (index_j + 1) );
在输入一长串数,但需要单个读入的时候,就需要指定宽度 即%1d(如身份证系统scanf(”%1d“, &a[i]))其中“-”代表左对齐,2,3代表显示几个字符,不足,用空格代替。 - 当需要使用getch()时,头文件为#include<conio.h>
- C/C++中“<”应该用“!=”表示。
- C/C++中中“*2”应该用"<<1"即左移一位来表示
- register 请求编译器优化它定义的变量,并且通常这种优化比人工优化的好.无需多次访问内存,只需要在寄存器中调用。
- 在有指针的情况下,一定要先验证指针是否为空
- scanf,printf与sscanf,sprintf和fscanf, fprintf的区别:sscanf是从缓冲区里读取,scanf是从标准输入读取,fscanf从文件流中读取信息。printf是打印到标准输出,sprintf是输出到缓冲区里,返回值是输入的字符数量,fprintf将信息写入到文件流中
- strlen函数表示测定字符串长度,但是会算上\0。所以对于字符串长度要-1
- union 与struct的区别:union ( 共用体):构造数据类型,也叫联合体 用途:使几个不同类型的变量共占一段内存(相互覆盖)。struct ( 结构体 ):是一种构造类型 用途: 把不同的数据组合成一个整体——自定义数据类型
- 随机生成数字 rand()%100(表示随机产生0~100之间的数)但产生随机数为一次性,因为与srand()函数有关。srand()用来设置rand()产生随机数时的随机数种子。在调用rand()函数之前,必须先利用srand()设好随机数种子(seed),如未设置则回自动设置成1。通常可以利用getpid()(将系统返回的进程ID作为随机数种子(进程ID每次都不一样))或time(0)(以系统时间作为种子)的返回值来当作seed。(srand((int)time(0));或者srand((int)getpid()))(mac algorithm test)注:getpid在windows下头文件是#include<process.h>,在linux/unix下是#include<unistd.h>如果要生成一个范围内的随机数,例如,60—100,则是:rand()%41+60
- int main(int argc, char* argv[])main为函数,int为函数返回值类型,argc跟*argv[]为参数,这两个参数为系统所传,即系统调用时会给程序传参数,(传入argc和argv[])13.#代表预处理。 一般预处理命令有三个,宏定义,头文件包涵,条件编译(在编译时判断)
- 头文件用<>,程序在安装目录下寻找,用""时先在源程序目录下找函数申明是给连接器使用,int main(int argc, char* argv[])就是一个函数申明,是告诉编译器该函数在其他地方已经定义过了,会交给连接器处理。申明不占任何空间
- .当为输入时,double为%lf,当为输出时%f
- scanf返回值为成功赋值的变量数量,发生错误时返回EOF
- a[j] = !a[j]代表将其值的相反值赋予当前元素。非零值即真例如,如果a[j] = 0,那赋值后结果为1,如果不为0,那赋值后的结果为0
- 如果在c中要输出\那么,要\\,如printf("\\")
- c中可以通过头文件ctype.h 中的isalpha,isdigit,isprint来判定字符属性
- continue跳出循环体中剩余部分,从下次循环开始判断,break是直接跳出循环
- 为什么不能连续等于大于小于,如“‘a’ <= ch <= ‘z’”因为机器把’a’ <=看成一个表达式,若成立则最后值为1,若不成立为0,所以此表达式永远为真。注:编译器每次只算一个操作符。
- assert函数,若错误会报错,abort错误直接退出
阅读全文
0 0
- 学习C的一些笔记(一)
- 学习C的一些基本概念(一)
- CSS的一些学习笔记(一)
- 学习C++的一些笔记(一)
- 学习C的一些笔记(二)
- 学习C的一些笔记(三)
- C#的学习笔记(一)
- IOS学习时的一些笔记(一)
- Linux学习笔记(一)一些基础实用的东西
- C语言学习笔记 (一) C语言的关键字
- c 学习笔记 (一)
- C学习笔记(一)
- C ++ 学习笔记(一)
- C学习笔记(一)
- 关于C的一些学习笔记
- [学习笔记]C和C++中数组的一些小心得(一)
- extjs学习笔记(一) 一些基础知识
- C++&C学习笔记(一)(基础)
- java 二叉树三种遍历(递归非递归)
- 最近公共祖先(LCA)算法实现过程 【Tarjan离线+倍增在线+RMQ】
- boa源码解析(1)-接收请求,发送html的流程
- TCP/IP、Http、Socket、XMPP-从入门到深入
- JavaScript中的数组
- 学习C的一些笔记(一)
- ubuntu显卡驱动的下载和安装
- 你应该切换到Kotlin开发
- 单链表
- jpa findone 和 getone的区别
- c语言中,关于随机函数的使用详解
- [小技巧]如何让emoji存放到数据库中
- H5基础标签
- 使用maven搭建Spring整合cxf