C/C++实践笔记 008

时间:2023-03-09 03:31:58
C/C++实践笔记 008

逗号运算符
优先级最低
逗号运算符的值是最后一个的值
int a=(1,2);
执行结果为2
逗号运算符每一条语句都要执行,执行方向从左向右

三目运算符
表达式1?表达式2:表达式3

C语言里只有0和非0的区别

三目运算符取最大值,最小值

数据挖掘

关系运算符的运算方向是从左到右
如3>2>1 判断结果是0

相同的常量字符串,存储同一个地址

逻辑运算符
逻辑“与”运算符 &&
逻辑“或”运算符 ||
逻辑“非”运算符

“与”运算符短路效应,一个条件不符合就不往后继续执行
“或”运算符短路效应,一个条件符合后面就不会执行了

CGI在服务器输出信息

#include<stdio.h>
#include<stdlib.h>

void main()
{
printf("Content-type:text/html\n\n"); //声明HTML语言
printf("你好");

}

数据的输入与输出
printf
输出到文件、命令行、网页

sprintf 输入到字符串

printf("\n%10d",10); //宽度为10,默认右边对齐,-代表左边对齐右边填空格

.n 截取字符串和小数,只能从左边截取

32位 %d和%ld int和long等价

char str[100]="calc"; //字符串

#include<stdio.h>
#include<string.h>

void main()
{
char str[10] = "task";
char newstr[10] = "list123";
char strall[100] = { 0 };
sprintf(strall, "%s%.4s", str, newstr); //字符串加法
system(strall);
system("pause");

}

void main()
{
char str[10] = "task";
char newstr[10] = "123list123";
char strall[100] = { 0 };
sprintf(strall, "%s%.4s", str, newstr+3); //利用字符地址的移动来裁剪到字符串左边的部分
system(strall);
system("pause");

}

%.10f .10小数点保留10位

指数
e格式符

%e指数输出

%g 根据数值的大小,自动选择用f格式或e格式输出实数,自动选择宽度比较小的

%hd,短整数,16位的存储,2^16-1,short范围
%hu

%lu, long ,32位系统时%lu,%ld跟%u,%d等价
%ld

存储身份证号,手机号,long long %llu,%lld

%o %#o 加个#号输出时标明是八进制

一般情况八进制,十六进制加上#

%d,%o,%u不可以大写
除了X、E、G外,其他均小写字母
有字母输出的可以大小写,%o例外

printf不会完成数据类型转换,需要精确匹配
\转义字符

%.*f *号让小数点位置变动的变换