【c学习-13】
/*库函数
1:数学函数库:math.h
abs():绝对值;
acos(),asin(),atan():cos,sin,tan的倒数
exp():指数的次幂
pow(x,y):x的y次幂
log():对数
rand():随机数
sqrt():平方根
sin(),cos(),tan():正弦,余弦,正切
floor:求整
fmod:取余
2:字符库函数:ctype.h
布尔判断:true=>1,false=>0
isalnum():判断字符是不是字符或数字
isalpha():判断字符是不是数字
isdgit():判断字符是不是在1-9之间
3:字符串函数:string.h
strcat(x,y):连接字符串
strcmp(x,y):比较字符串
strlen():字符串的长度
tolower():将字符串转换为大写
toupper():将字符串转换为小写
*/
#include
#include
#define MAX(a,b)((a)>(b)?(a):(b)) //定义参数宏
#include
//定义字符变量
void testFunction(){
int ch=11;
printf("isalnum:%d\nisalpha:%d\nisdgit%d\n\a",isalnum(ch),isalpha(ch),
isdigit(ch));
/*
if(isalnum(ch)){
printf("True:\n\a");
}else{
printf("False:\n\a");
}
*/
//定义指针变量
/*
int *p1,*p2;
printf("请输入a和b的值:\n");
scanf("%d%d",p1,p2);
//调用定义的参数宏
printf("MAX:%d\n",MAX(p1,p2));
float a=7;
float b=45;
printf("%lf\nrand:%d\nsqrt:%lf\nfloor:%lf\n",log10(b),rand(),sqrt(b),floor(b));
printf("pow:%lf\nfmod:%d\n",pow(a,b),fmod(b,a));
printf("exp:%lf\n",exp(a));
printf("acos:%d\n",acos(45));
printf("abs:%d\na:%d\n",abs(a),a);
*/
}
int main(){
testFunction();
}
/*
#include
#define tag(n) printf("cpy"#n"=%d",cpy##n) //"##"标记粘贴符号
int main(void){
int cpy18=19;
tag(18);
}
*/
/*
#include
#define MAX(a,b)((a)>(b)?(a):(b)) //定义参数宏
void testFunction(){
//定义指针变量
int *p1,*p2;
printf("请输入a和b的值:\n");
scanf("%d%d",p1,p2);
//调用定义的参数宏
printf("MAX:%d\n",MAX(p1,p2));
}
int main(){
testFunction();
}
*/
/*文件输入输出练习*/
#include
#include
#define SIZE 10 //定义宏常量
//定义结构体
struct struct_type{
char name[10];
int age;
int id;
char addr[10];
}stu[SIZE]; //初始化结构体成员数组长度
//定义保存结构体输出数据的函数
int main(){
//void save(){
//定义指针
FILE *fp;
//计数器
int i=0;
//判断文件是否存在
if(fp=fopen("test.txt","wb")==NULL){
printf("文件不存在:\n");
exit(0);
}
for(i=0;i
#include
#define tag(n) printf("cpy=n,"%d",##n)
/*
#define message_for(a,b)\ // "\"宏延续符
printf("name is" #a "and age is"#b ); // "#"字符常量化运算符
*/
//void testFunction(){
//de
/*
int testFunction(void){
//int x,y;
message_for("liupeng",18);
*/
/*
FILE *fp;
char buff[255]
fp=fopen("C:\cfree5\include\1.txt","w+");
fscanf(fp,"%s",buff); //读字符数组首地址
printf("%s\n",buff);
fgets(buff,255,(FILE*)fp); //读取字符数组全部地址
printf("%s\n",buff);
*/
/*
/*
FILE *fp;
fp=fopen("1.txt","w+");
*/
/*
fputc("这是一个文件",fp);
fprintf(fp,"这是一个文件hello world");
fclose(fp);
/*
struct struct_3{
int a:3; //允许调用1次
// int b:1;
//int c:1;
}str2;
str2.a=2;
printf("str2:%d\n",str2.a);
str2.a=3; //第二次调用
printf("str2:%d\n",str2.a);
//printf("str1:%d\n",sizeof(str1));
*/
/*
struct struct_2{
int a;
int b;
int c;
}str1;
struct struct_3{
int a:1;
int b:1;
int c:1;
}str2;
printf("str1:%d\n",sizeof(str1));
printf("str2:%d\n",sizeof(str2));
*/
/*
struct struct_1
{
int a:1; //位域 :数据类型必须相同
int b:2;
int c:5;
/* data */
/*
}x,*p;
x.a=2; //构体成员表示1:无指针表示 "."
p=&x; // 2:有指针表示 "->"
p->b=3;
printf("a:%d\nb:%lf\n",x.a,p->b);
*/
//初始化野指针
//定义一个字符串变量
/*
char x="hello world";
printf("%p\n",strstr(x,"lo"));
printf("%p\n",strchr(x,'o'));
int *p=NULL;
//执行判断
if(p){
puts("指针为野指针:\n");
}else{
puts("指针不为野指针\n");
}
//对一些数据类型初始化
*/
/*
char x;
int y;
int *p;
//打印出其默认值
printf("x:%c\ny:%d\n%p\n",x,y,p);
/*
for(;;){ //无限循环的另类表现方法
putchar('a');
}
}
*/
//}
int main(void){
int cpy18=19;
tag(18);
/*
// testFunction();
}
/*
void forFunction(){
int i;
for(i=0;i
#include
#include
#include
#include
#include
#define X 10
#define Y 9
int main(){
//定义操作文件指针
FILE *fp;
int i,j,k,n=3,
char str[3][10],temp[3];
//定义指针和二维字符型数组
printf("请输入你向文件传递的内容:\n");
for(i=0;i0)
k=j;
if(k!=i)
strcpy(temp,str[i]);
strcpy(str[i],str[k]);
strcpy(str[],temp);
}
//判断文件是不是可以打开
if(fp=fopen("2.txt","w")==NULL){
printf("文件不存在");
exit(0);
}
//向文件输入内容
for(i=0;iY);
printf("%d\n%d\n",CHAR_MAX,b);
//lineFx();
}
*/
/*void*/
/*
inline lineFx(){
int *i,*j;
volatile i=j;
// j=i;
j=int(*)i;
scanf("%d%d",i,j);
//int *p;
//p=&i scanf("%d",i)
puts("hello world");
printf("%d\n%d\n",__LINE__,i,j);
}
*/
#line 100
#include
#include
#include
#include
void lineFx();
int main(){
_complex x=1+3i;
//lineFx();
}
/*void*/inline lineFx(){
int *i,*j;
volatile i=j;
// j=i;
j=int(*)i;
scanf("%d%d",i,j);
//int *p;
//p=&i scanf("%d",i)
puts("hello world");
printf("%d\n%d\n",__LINE__,i,j);
}
/*文件*/
/*
#include
#include
void fileFunction(){
FILE *in,*out;
//定义文件指针及字符型变量
char filename_1[10],filename_2[10],ch;
//分别输入文件名
printf("请输入filename_1:\n");
scanf("%s",filename_1);
printf("请输fielname_2:\n");
scanf("%s",filename_2);
//判读这连个文件是不是存在
if(in=fopen(filename_1,"r")==NULL){
printf("filename_1不存在"); //输入文件
exit(0);
}
//判读这连个文件是不是存在
if(out=fopen(filename_2,"w")==NULL){ //输出文件
printf("filename_2不存在");
exit(0);
}
while(!feof(in)){ //文件打开错误
ch=fgetc(in);
fputc(ch,out);
putchar(ch);
}
putchar(10); //换行
fclose(in); //关闭输入和输出文件
fclose(out);
}
int main(){
fileFunction();
}
*/
/*
#include
#include
int fileFunction(){
//定义文件指针
FILE *fp;
//定义字符变量和字符数组
char ch,filename[10];
//getchar(ch); //输入字符
printf("请输入你的文件名:\n");
scanf("%s",&filename);
//判断文件是不是存在
if(fp=fopen(filename,"w")==NULL){
printf("文件不存在:\n");
exit(0);
}
ch=getchar();
printf("请在输入一个字符#\n");
ch=getchar();
while(ch!='#'){
fputc(ch,fp); //写入文件
putchar(ch);
ch=getchar();
}
fclose(fp);
putchar(10);
return 0;
}
int main(){
fileFunction();
}
*/
//#include
/*void fileFunction(){
FILE *fp;
//判断文件是否存在
if(fp=fopen("index5.c","r")==NULL){ //打开文件
puts("文件不存在:\n");
exit(0);
fclose("index5.c"); //关闭文件
}
}
int main(){
fileFunction();
}
*/
//#include
/*
void enumFunction(){
);
}*/
//enum enum_var{a=1,b=2,c=3,d=4};
/*
enum{A=1,B=2,C=3,D=4}enum_var_2;
int main(){
//enumFunction();
printf(enum_var_2);
}
*/
/*链表*/
/*#include
struct st{
struct st *next;
int name[10];
int age;
};;
int main(){
//建立三个节点,向内存申请指针
struct st a,b,c,*head,*p;
//初始化这三个节点
a.name=1;a.age=18;
b.name=2;b.age=19;
c.name=3;c.age=20;
//将头指针指向起始a节点
head=&a;
//同理,逐个将前一个节点指向下一个节点
a.next=&b;
b.next=&c;
c.next=NULL;
p=head;
//对a,b,c这三个节点输出
do{
printf("a:%s\nb:%d\n",p->name,p->age);
p=p->next;
}while(p!=NULL);
}
*/
/*结构体练习*/
/*#include
void structFunction(){
//定义一个结构体
struct lannuage{
char name;
int id;
char content[10];
};
//初始化一个二维结构体成员
struct lannuage la[4]={
{"c",1,"include"},
{"python",2,"import"},
{"javascript",3,"alert"},
{"php",4,"echo"}
};
//向内存申请一个指针
struct lannuage *p;
//遍历这个二维结构体成员
for(p=la;pname,p->id,p->content);
}
}
int main(){
structFunction();
}
//#define X "结构体成员1和结构体成员2相等"
//定义一个结构体存放学生信息
//void structFunction(){
/*typedef*/
/*struct stu{
char name[10];
float score;
int id;
};
int main(){
//初始化学生1-2的结构体变量
struct stu student1;struct stu student2;
printf("请输入第一个学生的姓名和成绩:\n");
scanf("%s,%lf",&student1.name,&student1.score);
printf("请输入第二个学生的成绩和姓名:\n");
scanf("%s,%lf",&student2.name,&student2.score);
//对两个结构体进行大小判断
if(student1.score>student2.score){
//输出结构体成员大的值
printf("stu1name:%s\n,stu1score:%lf\n",
student1.name,student1.score);
}else if(student1.score
#include
//声明1:
/*
typedef struct
{
char name[10];
int age;
float money;
}structtest1;
structtest1 st1;
st1.age=18;
*/
//声明2
struct structtest2{
char name[10];
int age;
float money;
}st2={"liupeng",18,20.0};
//声明3
/*
struct structtest3{
char name[10];
int age;
float money;
}st3;
st3.money=20.0;
*/
int main()
{
printf("st2:%d\n",/*st1.name*/st2.age/*st3.money*/);
}
/*
void check(*); //声明检查函数
int i,*p1; //定义指针和计数器
p1=(int *)malloc(5 *sizeof(int));//为指针开辟一块空间
for(i=0;i
#include
#include
//定义字符变量
char ch='a';
if(isalnum(ch)){
printf("True:\n\a");
}else{
printf("False:\n\a");
}
#define MAX(a,b)((a)>(b)?(a):(b)) //定义参数宏
void testFunction(){
//定义指针变量
int *p1,*p2;
printf("请输入a和b的值:\n");
scanf("%d%d",p1,p2);
//调用定义的参数宏
printf("MAX:%d\n",MAX(p1,p2));
int a=-1;
printf("a:%d\na:%d\n",abs(a),a);
}
int main(){
testFunction();
}
/*
#define tag(n) printf("cpy"=#n"%d",cpy##n)
int main(void){
int cpy18=19;
tag(18);
}*/
/*练习*/
#include
#define tag(n) printf("cpy=n"%d",cpy=##n)
void testFunction(){
int cpy18=19;
tag(18);
}
// printf("name is" #a "and age is" #b );
//结构体和含有位域的结构体大小比较
//位域的执行次数
/*
FILE *fp;
char buff[255];
fp=fopen("C:\cfree5\include\1.txt","w+");
fscanf(fp,"%s",buff) //读字符数组首地址
printf("%s\n",buff);
fgetc(fp,255,FILE(*fp)); //读取字符数组全部地址
printf("%s\n",buff);
*/
/*
fputc(fp,"这是一个文件");
fprintf("这是一个文件",fp);
fclose(fp);
*/
/*
struct struct_2{
int a;
int b;
int c;
}str1;
struct struct_3{
int a:1; //允许调用1次
// int b:1;
//int c:1;
}str2;
str2.a=2;
printf("str2:%d\n",sizeof(str2.a));
str2.a=3; //第二次调用
printf("str2:%d\n",sizeof(str2.a));
//printf("str1:%d\n",sizeof(str1));
*/
/*结构体的两种表示及位域*/
/*
struct struct_1
{
int a:1; //位域
float b:2;
double c:5;
/* data */
/*
}x,*p;
x.a=2;
p=&x;
p->b=3;
printf("a:%d\nb:%lf\n",x.a,p->b);
*/
/*
//初始化野指针
int *p=NULL;
//执行判断
if(p){
puts("指针为野指针:\n");
}esle{
puts("指针不为野指针\n");
}
/*
for(;;){
putchar('a');
}
register int a;
scanf("%d",&a);
printf("format\a");
void *malloc(int);
puts("a");
*/
}
int main(){
testFunction();
}
//定义迭代器
/*
int iterInval;
char string[10];
for(iterInval=0;iterInval
【c学习-13】的更多相关文章
- JavaScript学习13 JavaScript中的继承
JavaScript学习13 JavaScript中的继承 继承第一种方式:对象冒充 <script type="text/javascript"> //继承第一种方式 ...
- ThinkPhp学习13
原文:ThinkPhp学习13 简单登录验证 创建Login类 <?php class LoginAction extends Action { function index(){ $this- ...
- http学习 1-3 chapter3-报文
如果说HTTP是因特网的信使,那么HTTP报文就是它用来搬东西的包裹了. 报文是如何流动的. HTTP报文的三个组成部分(起始行.首部和实体的主体部分) 请求和响应报文之间的区别 请求报文支持的各种功 ...
- linux 学习 13 系统管理
第十三讲 Linux系统管理 13.1.1进程管理-进程查看 13.1.2进程管理-终止进程 .2工作管理 .3系统资源查看 .4系统定时任务 13.1.1进程管理-进程查看 .进程简介 进程是正在 ...
- django 学习-13 Django文件上传
1..vim blog/views.py from django import formsfrom django.http import HttpResponse 1 2 from dja ...
- 【Spark深入学习 -13】Spark计算引擎剖析
----本节内容------- 1.遗留问题解答 2.Spark核心概念 2.1 RDD及RDD操作 2.2 Transformation和Action 2.3 Spark程序架构 2.4 Spark ...
- python学习--13 基本数据类型 2
接上次补充: s = "username\temail\tpassword\naaa\taa@qq.com\t123\nusername\temail\tpassword\naaa\taa@ ...
- python菜鸟教程学习13:文件操作
读和写文件 open() 将会返回一个 file 对象 open(filename, mode) 不同模式打开文件的完全列表:https://www.runoob.com/python3/python ...
- iOS 学习 - 13.微信分享链接、QQ 分享图片
准备工作---原文来自这个 首先要在微信开放平台申请 AppID 和 QQ ID(我第一天晚上申请的,第二天中午就通过了),接着导入 SDK,也就是3个 .h 和一个 .a 文件,详情见这里 如果你是 ...
- ndk学习13: proc
一.进程相关信息 /proc目录中包含许多以数字命名的子目录,这些数字表示系统当前正在运行进程的进程号,里面包含对应进程相关的多个信息文件 结构如下: 进程相关的信息如下: 部分信息如下 cmdlin ...
随机推荐
- 常见ie6的浏览器兼容bug
1.文字本身的大小不兼容 同样是font-size:14px的宋体文字,在不同浏览器下占的空间是不一样的, ie下实际占高16px,下留白3px ff 下实际占高17px,上留白1px,下留白3px ...
- 使用weinre调试Web应用及PhoneGap应用
Web开发者经常使用Firefox的firebug或者Chrome的开发人员工具进行Web调试,包括针对JavaScript,DOM元素和CSS样式的调试.但是,当我们期望为移动Web站点或应用进行调 ...
- java面试题----工厂模式大整理(面试问的较多)
在一次面试中了解到工厂模式在实际应用中的重要性,可以说工厂模式的应用随处可见,以下是百度百科对工厂模式的介绍 工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式.著名的Jiv ...
- 网络威胁防护,Azure 靠的是它?
在当今数字化转型的浪潮中,越来越多的企业希望转型于云.使用云能帮助企业提高工作效率.降低 IT 成本.增强竞争优势,有效推动企业的业务发展.但是,在向云迁移的过程中,基于云的数据中心更有可能被攻击,所 ...
- spring的开发
spring与web的整合 1. 整合的原理: Spring容器随着tomcat容器ServletContext的启动而启动,并且在初始化完成后放到整个应用都可以访问的范围. ApplicationC ...
- 【分享】Adobe Flash Player各版本安装包官方直接下载地址
用常规方法下载比较繁琐,先会下个下载器,再下载安装包安装, 这里直接列出了安装包的下载地址,点击进入各版本的下载总页面, 拉到最下方就有各版本的下载地址,这里我直接列出来了: Chrome用的PPAP ...
- MFC 鼠标事件
1. 新建项目 项目名称:MFCBaseMessage 2. 选择基本对话框模式,如图 ,点击完成3. 最终如图 4.右键添加类向导 5.添加鼠标事件 6.在ON_LButtonDown添加如下代 ...
- Orchard Core 使用模板创建Module
根据官方示例:https://orchardcore.readthedocs.io/en/latest/Templates/README/#create-a-new-module 执行以下命令: do ...
- Scrum _GoodJob
作为长大的大三老腊肉,我们已经在长大生活了两年多,对于什么是长大人最想完善的校园需求.最想拥有的校园服务媒介也有了更加深切的体会. 于是,GoodJob小团队blingbling闪现啦!! GoodJ ...
- SAP成都研究院许聚龙:Hello, Coresystems!
Jerry的前一篇文章<SAP成都研究院数字创新空间沟通S/4HANA和C/4HANA的智能服务演示视频和Coresystems分享预告>已经提到,接下来会由SAP成都研究院数字创新空间的 ...