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 *号让小数点位置变动的变换