一、变量

 #include<stdio.h>
#include<stdlib.h> void main0(){
//数据使用必须在范围内,否则产生溢出
unsigned short num=+;//+1之后溢出为0
//printf("%d",sizeof(num));
printf("阿飞有%d元",num);
getchar();
} void main1(){
short num=+;//+1之后溢出为-32768
printf("阿飞有%d元",num);
getchar();
} void main2(){
//printf的本质是按照自己的方式,将变量转换为字符串,无论变量以前是什么类型,而且printf不会自动转换
printf("%d",);//%d整数
printf("\n%f",);//%f实数 打印出0.000000  1改成1.0之后打印正确
getchar();
} void main3(){
//使用printf打印的时候,必须要类型匹配,否则出错
printf("%d,%u",-,-);//%d有符号十进制,%u无符号十进制
getchar();
}
//能编译,不能保证结果正确
void main(){
printf("%d",-);//正确
printf("\n%u",-);//错误
printf("\n%x",-);//无符号16进制,错误
printf("\n%o",-);//无符号8进制,错误
getchar();
}

二、随机数

 #include<stdio.h>
#include<stdlib.h>
#include<time.h> void main(){
//三目运算符:0就执行notepad,非0执行calc
//-1?system("calc"):system("notepad");
int num=rand()%;//0~99的随机数
printf("%d\n",num);
num>?printf("你赢了"):printf("你输了");
getchar();
}

经过测试,上述代码只能产生一次随机数,即多次运行结果不变。那么如何让程序每次都产生不同的随机数呢?

 #include<stdio.h>
#include<stdlib.h>
#include<time.h> void main(){
int num;
time_t t;//定义时间类型的变量
//time是一个函数,获取时间,复制给t,转换为unsigned int类型
srand((unsigned int)time(&t)); num=rand()%;//0~99的随机数
num=rand()%+;//100~199的随机数
printf("%d\n",num);
num>?printf("你赢了"):printf("你输了");
getchar();
}

三、随机恶作剧

 #include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<time.h> _declspec(dllexport) void go1(){
while(){
malloc(**);//10M
Sleep();
}
} _declspec(dllexport) void go2(){
while(){
MessageBoxA(,"马化腾邀请你共进晚餐","享受终生QQ红钻",);
Sleep();
}
} _declspec(dllexport) void randgo(){
int num;
time_t t;
srand((unsigned int)time(&t));
num=rand()%;
num>?go1():go2();
}

然后注射到程序中,实现恶作剧

四、数据类型

 #include<stdio.h>
#include<stdlib.h> void main()
{
int num=;
char ch='';
printf("%d,%c",num,num);
printf("\n%d,%c",ch,ch);
system("pause");
}

稍作修改如下

 #include<stdio.h>
#include<stdlib.h> void main(){
printf("%d",sizeof());//int的常量 4个字节
printf("\n%d",sizeof(4.0));//double 8个字节
printf("\n%d",sizeof(4.0f));//float 4个字节
printf("\n%d",sizeof(4u));//unsigned int 4个字节
getchar();
}

 #include<stdio.h>

 void main(){
//数据类型指明了二进制该如何解析
int num1=;
float num2=10.0;
printf("%x,%f",num1,num1);
printf("\n%x,%f",num2,num2);
printf("\n%x,%x",&num1,&num2);
getchar();
}

五、三角形面积

 #include<stdio.h>
#include<stdlib.h>
#include<math.h> void main(){
float a,b,c,s,p;
scanf("%f%f%f",&a,&b,&c);//数据输入,初始化a,b,c
printf("a=%f,b=%f,c=%f\n",a,b,c);
p=(a+b+c)/;
s=sqrt(p*(p-a)*(p-b)*(p-c));//sqrt求平方根
printf("面积s=%f",s);
system("pause");
}

六、字符转换成整数

 #include<stdio.h>
#include<stdlib.h> void main(){
//字符0的编号是48,按照字符是0
printf("字符0编号=%d,字符0的字符=&c",'','');
printf("\n整数0编号=%d,整数0的字符=&c",,);
printf("\n%d",''-);//字符转换成整数
printf("\n%d",''-);//都等于48
system("pause");
}

七、大小写转换

 #include<stdio.h>
#include<stdlib.h> void main()
{
char ch=getchar();
//putchar(ch+32);//大写->小写
putchar(ch-);//小写->大写
system("pause");
}

八、字符串拼接

 #include<stdio.h>
#include<stdlib.h> void main(){
char str1[]="note";
char str2[]="pad";
char str3[];
sprintf(str3,"%s%s",str1,str2);
system(str3);
getchar();
}

[c/c++] programming之路(6)、ASCII码,数据类型、随机数、字符转换及拼接等的更多相关文章

  1. C语言:从p所指字符串中找出ASCII码最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。-使字符串的前导*号不得多于n个,若多余n个,则删除多余的*号,

    //fun函数:从p所指字符串中找出ASCII码最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动. #include <stdio.h> void fun( char * ...

  2. php中的字符串常用函数(四) ord() 获得字符的ascii码 chr()获取ascii码对应的字符

    ord('a');//=>97 返回小写a 的ascii码值97 chr(97);//=>a 返回ascii码表上的97对应的 小写a

  3. 特殊的ASCII码对应的字符

    Special Characters " " " quotation mark u+0022 ISOnum p:before { content:"\0022& ...

  4. 利用浏览器做好数字进制和ASCII码及Unicode教与学

    浏览器是现在个人计算机的标配,一般来说一个PC至少安装一种以上的浏览器.主流网页浏览器有Google Chrome.Internet Explorer.Microsoft Edge.Mozilla F ...

  5. 教程-最全ASCII 码对照表

    第一部分由 00H 到 1FH 共 32 个,一般用来通讯或作为控制之用,有些字符可显示于屏幕,有些则无法显示在屏幕上,但能看到其效果(例如换行字符.归位字符). 第二部分是由 20H 到 7FH 共 ...

  6. C++ ASCII 码的一些问题

    关于ASCII码和转义字符的对应问题,一直都有个困惑.所以今天校验了一下是什么情况. 转义字符的百度百科:http://baike.baidu.com/link?url=D9ytjAeiYr1ZGKG ...

  7. C语言字符转换ASCII码

    //函 数 名:CharToHex()//功能描述:把ASCII字符转换为16进制//函数说明://调用函数://全局变量://输    入:ASCII字符//返    回:16进制///////// ...

  8. C语言之字符集、ASCII码和sizeof运算符

    一 字符集和ASCII码 结论:字符本质上也是一个整数,每个字符都有唯一一个与之对应的整数, 比如说小写的a对应97,b对应98,c对应99,大写的A对应65,B对应66,C对应67 所以字符对应的那 ...

  9. js字母/字符与ASCII码转换

    var tempStr="A"; console.log(tempStr.charCodeAt());// 65 ,转ASCII码 console.log(String.fromC ...

随机推荐

  1. LeetCode13.罗马数字转整数

    罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并 ...

  2. Ajax-创建ajax

    UNSENT : 未发送,刚开始创建完成AJAX对象,默认的状态就是0 OPENED : 已打开,执行了xhr.open之后状态变为1 HEADERS_RECEIVED :响应头信息已经成功的返回并且 ...

  3. 导入转储文件的时候:Error Code: 1406. Data too long for column - MySQL

    MySQL will truncate any insert value that exceeds the specified column width. to make this without e ...

  4. Abp项目构建、swagger及代码生成器

    前段时间在学习abp,在配置swagger时踩了不少坑,特此整理一下,方便同行参考.幸运的是又发现了神奇的代码生成器,分享下亲身经验. 觉得此博客非常有用的朋友可以在右侧赞助打赏下,非常感谢大家支持. ...

  5. DX9 空间坐标变换示例代码

    // @time 2012.3.25 // @author jadeshu #include <Windows.h> #include <d3d9.h> #include &l ...

  6. [11]Windows内核情景分析---设备驱动

    设备驱动 设备栈:从上层到下层的顺序依次是:过滤设备.类设备.过滤设备.小端口设备[过.类.过滤.小端口] 驱动栈:因设备堆栈原因而建立起来的一种堆栈 老式驱动:指不提供AddDevice的驱动,又叫 ...

  7. 重建二叉树POJ2255

    重建二叉树 给定一棵二叉树的前序遍历和中序遍历的结果,求其后序遍历. 输入输入可能有多组,以EOF结束.每组输入包含两个字符串,分别为树的前序遍历和中序遍历.每个字符串中只包含大写字母且互不重复.输出 ...

  8. Maven的配置指南

    Maven的配置指南  配置Maven Maven配置发生在3个级别: 项目 - 大多数静态配置发生在pom.xml中 安装 - 这是Maven安装时发生的一次性的配置过程 用户 - 这是Maven提 ...

  9. codeforces 979A Pizza, Pizza, Pizza!!!

    题意: 对一个圆形的pizza,只能用直线来切它,求把它切为n+1份的形状和size都相同的最下次数. 思路: 形状和size都相同,那么只能是扇形,分奇偶讨论. n为0还得特判,切0刀,因为这个还被 ...

  10. MVC 下拉列表三级联动

    当前所做的项目,关于数据库设计的时候有点小意思,表A是三个联合主键,key1,key2,key3,表B是四个联合主键 key1,key2,key3,key4,其中表B的联合外键关联表A对应的联合主键, ...