[c/c++] programming之路(6)、数据类型、随机数、字符转换及拼接等

一、变量

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3
 4 void main0(){
 5     //数据使用必须在范围内,否则产生溢出
 6     unsigned short num=65535+1;//+1之后溢出为0
 7     //printf("%d",sizeof(num));
 8     printf("阿飞有%d元",num);
 9     getchar();
10 }
11
12 void main1(){
13     short num=32767+1;//+1之后溢出为-32768
14     printf("阿飞有%d元",num);
15     getchar();
16 }
17
18 void main2(){
19     //printf的本质是按照自己的方式,将变量转换为字符串,无论变量以前是什么类型,而且printf不会自动转换
20     printf("%d",1);//%d整数
21     printf("\n%f",1);//%f实数    打印出0.000000  1改成1.0之后打印正确
22     getchar();
23 }
24
25 void main3(){
26     //使用printf打印的时候,必须要类型匹配,否则出错
27     printf("%d,%u",-1,-1);//%d有符号十进制,%u无符号十进制
28     getchar();
29 }
30 //能编译,不能保证结果正确
31 void main(){
32     printf("%d",-10);//正确
33     printf("\n%u",-10);//错误
34     printf("\n%x",-10);//无符号16进制,错误
35     printf("\n%o",-10);//无符号8进制,错误
36     getchar();
37 }

二、随机数

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

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

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

三、随机恶作剧

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<windows.h>
 4 #include<time.h>
 5
 6 _declspec(dllexport) void go1(){
 7     while(1){
 8         malloc(10*1024*1024);//10M
 9         Sleep(1000);
10     }
11 }
12
13 _declspec(dllexport) void go2(){
14     while(1){
15         MessageBoxA(0,"马化腾邀请你共进晚餐","享受终生QQ红钻",0);
16         Sleep(3000);
17     }
18 }
19
20 _declspec(dllexport) void randgo(){
21     int num;
22     time_t t;
23     srand((unsigned int)time(&t));
24     num=rand()%100;
25     num>60?go1():go2();
26 }

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

四、数据类型

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3
 4 void main()
 5 {
 6     int num=0;
 7     char ch=‘0‘;
 8     printf("%d,%c",num,num);
 9     printf("\n%d,%c",ch,ch);
10     system("pause");
11 }

稍作修改如下

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

 1 #include<stdio.h>
 2
 3 void main(){
 4     //数据类型指明了二进制该如何解析
 5     int num1=10;
 6     float num2=10.0;
 7     printf("%x,%f",num1,num1);
 8     printf("\n%x,%f",num2,num2);
 9     printf("\n%x,%x",&num1,&num2);
10     getchar();
11 }

五、三角形面积

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

六、字符转换成整数

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3
 4 void main(){
 5     //字符0的编号是48,按照字符是0
 6     printf("字符0编号=%d,字符0的字符=&c",‘0‘,‘0‘);
 7     printf("\n整数0编号=%d,整数0的字符=&c",0,0);
 8     printf("\n%d",‘0‘-0);//字符转换成整数
 9     printf("\n%d",‘1‘-1);//都等于48
10     system("pause");
11 }

七、大小写转换

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3
 4 void main()
 5 {
 6     char ch=getchar();
 7     //putchar(ch+32);//大写->小写
 8     putchar(ch-32);//小写->大写
 9     system("pause");
10 }

八、字符串拼接

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3
 4 void main(){
 5     char str1[10]="note";
 6     char str2[10]="pad";
 7     char str3[10];
 8     sprintf(str3,"%s%s",str1,str2);
 9     system(str3);
10     getchar();
11 }
时间: 2024-10-29 04:30:00

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

python之路:数据类型初识

python开发之路:数据类型初识 数据类型非常重要.不过我这么说吧,他不重要我还讲个屁? 好,既然有人对数据类型不了解,我就讲一讲吧.反正这东西不需要什么python代码. 数据类型我讲的很死板...大家谅解. 数据类型有很多,因为在python3和python2里用变量执行命令是默认是str字符串类型的,如果要变成数字查验列表的话就非常麻烦.如果不用数据类型进行强制转换的话即会报错.python2里的input非常恶心,因为他们默认数据类型是str字符串,所以你输入一串数字会报错. 首先,比

跟王老师学MySQL:MySQL数据类型之字符类型

跟王老师学MySQL:MySQL数据类型之字符类型 主讲教师:王少华   QQ群号:483773664 学习内容: 字符串类型的种类及其特点 char和varchar的异同 字符串类型是在数据库中存储字符串的数据类型. 字符串类型包括 CHAR. VARCHAR BLOB TEXT 一.char和varchar (一)定义语法 1 字符串类型 (M) 注: 字符串类型:char或varchar M:指定了该字符串最大长度 (二)二者不同之处 char类型长度是固定的,即在创建表时就指定了,其长度

10-10C#基础---数据类型之间的转换

10-10  C#基础数据类型转换(熟练掌握) 第一课 数据类型之间的转换 基本类型的转换:自动转换(隐式转换)和强制转换(显示转换) 装箱转换:允许值类型隐式转换成引用类型. 拆箱转换:允许将引用类型显示转换成值类型 分为2个步骤:首先,检查对象是否超出类型范围,然后再进行转换. Object包含所有的类型,其他类型都可以转换成Object类型,但Object不能转换成其他类型. 例: int i=0 object o = i; 三种转换方式: 1).用( ).( )内是转换后的数据类型,只能

关于JAVA变量,数据类型,基本数据类型之间的转换和对象型的基本数据类型

如何给java变量取名字-----标示符     标示符是用来给类,对象,方法,变量,接口和自定义数据类型命名的.凡是可以自己取名字的地方都叫做标示符,都要遵循标示符的规则. 标示符的规则:1.由数字,字母和下划线(_),美元符号($)组成. 2.区分大小写,首字母不能数字,长度无限制. 3.不能与java关键字重名. java常用数据类型(基本类型和引用类型) 基本数据类型: 基本数据类型分为数值类型和非数值类型.其中数值类型包括整数类型和非整形.非数值类型包括,字符类型,布尔类型, 整型包括

C#中数据类型的安全转换(is,as)

原文 C#中数据类型的安全转换(is,as) 下面代码中,不能装箱,在强制类型转换时出错,因为之前 c 是 class 类型,而却要把它转换为 int 类型,这是不可以的.虽然编译器能通过编译,但是 runtime 在运行时会抛出 InvalidCastException 异常. Circle c = new Circle(8); object o = c; // 本条语句正确,但是不会装箱,因为装箱是从栈到堆,需要的是值类型,而 c 是引用类型 int i = (int)o; // 编译成功

Java基础——数据类型之间的转换

Java数据类型分为三大类,即布尔型.字符型和数值型.其中数值型又分为整型和浮点型.Java的基本数据类型(8种)为布尔型boolean(1字节):字符型char(2字节):整型byte(1字节).short(2字节).int(4字节).long(8字节):浮点型float(4字节).double(8字节).此外,编程时还经常用到两种类变量,String和Date. Java数据类型的转换一般分三种,分别是:简单数据类型之间的转换.字符串与其他数据类型的转换.其他实用数据类型的转换. 简单数据类

java中的、标识符、运算符以及数据类型之间的转换。

---恢复内容开始--- 数据类型之间的转换: 1:自动转换:就是不用说出要转换成什么类型,由java中的虚拟机自动将小数据类型转换成大数据类型,但大数据中的数据精度有可能被破坏. 2:强制转换:强制转换的格式是在需要转型的数据前加上"( )",然后在括号内加入需要转化的数据类型.有的数据经过转型运算后,精度会丢失,而有的会更加精确. 例子: public class Demo { public static void main(String[] args){ int x; doubl

JavaScript复习之--javascript数据类型隐式转换

JavaScript数据类型隐式转换.一,函数类    isNaN()    该函数会对参数进行隐式的Number()转换,如果转换不成功则返回true.    alert()    输出的内容隐式的转换为字符串. 二,运算符类.    1,算术运算符.       - * / %    如果操作数不是数值,将会隐式的调用Number()函数.按照这个函数的转换规则进行转换.    如果转换不成功,整个表达式返回NaN.       +     如果操作数都是数值,然后进行相加.    任何数据

C#中常见数据类型之间的转换

c#语言中常见的数据类型有char(字符类型).string(字符串类型).int(整数类型).double(小数类型).此处浅谈一下任意类型与string类型.int类型与double类型.string与数字类型的转换. 1.任意类型转换为string类型 转换代码:待转换的数据.ToString(); 返回数据类型:string eg:int a = 10; String b = a.ToString(); 将整数类型a转换为string类型b 2.int类型与double类型之间的互换 此