网易云课堂_C语言程序设计进阶_第一周:数据类型:整数类型、浮点类型、枚举类型

C语言程序设计进阶_第一周:数据类型:整数类型、浮点类型、枚举类型

1.0数据类型

1.1整数类型

1.2浮点类型

1.3逻辑类型

1.4类型转换和条件运算

1.0数据类型

1 整数

char(%c), short, int(%d), long(%ld), long long(C99)

2 浮点数

float(%f), double(%lf), long double(C99)

3 逻辑

bool(C99)

4 指针

5 自定义类型

所表达的数的范围:char<short<int<float<double

sizeof是静态运算符,它的结果在编译时刻就决定了

不要在sizeof的括号里做运算,这些运算不会做的

 1 #define _CRT_SECURE_NO_WARNINGS
 2
 3 #include<stdio.h>
 4
 5 main()
 6 {
 7     int a = 6;
 8
 9     printf("sizeof(int)=%d\n", sizeof(int));
10
11     printf("sizeof(a)=%d\n", sizeof(a++));//sizeof是静态运算符,它的结果在编译时刻就决定了
12     //不要在sizeof的括号里做运算,这些运算不会做的
13
14     printf("a=%d\n", a);//仍然是6
15
16     printf("sizeof(a)=%d\n", sizeof(a + 1.0));//8,变成double
17
18     printf("a=%d\n", a);//仍然是6
19
20     system("pause");
21 }

1.1整数类型

整数

char:1字节,8比特:-128~127

short:2字节:-32768~32767

int:取决于编译器CPU,通常的意义是1个字

long:取决于编译器CPU,通常的意义是1个字

long long:8字节

 1 #define _CRT_SECURE_NO_WARNINGS
 2
 3 #include<stdio.h>
 4
 5 main()
 6 {
 7     printf("sizeof(char)=%d\n", sizeof(char));
 8
 9     printf("sizeof(short)=%d\n", sizeof(short));
10
11     printf("sizeof(int)=%d\n", sizeof(int));
12
13     printf("sizeof(long)=%d\n", sizeof(long));
14
15     printf("sizeof(long long)=%d\n", sizeof(long long));
16
17     system("pause");
18 }

sizeof(char)=1
sizeof(short)=2
sizeof(int)=4
sizeof(long)=4
sizeof(long long)=8
请按任意键继续. . .

整数的范围

 1 #define _CRT_SECURE_NO_WARNINGS
 2
 3 #include<stdio.h>
 4 #include<limits.h>
 5
 6 main()
 7 {
 8     char c = 255;
 9     int i = 255;
10
11     printf("c=%d,i=%d\n", c, i);//char超出范围,所以显示-1
12
13     printf("%d,%d\n", CHAR_MAX, CHAR_MIN);//127 -128
14
15     system("pause");
16 }

补码

0000 0001(1)+1111 1111(-1)=(1)0000 0000

1111 1111被当作纯二进制看待时,是255,被当作补码看待时是-1

同理,对于-a,其补码就是0-a,实际是2^n-a,n是这种类型的位数

1.2浮点类型

1.3逻辑类型

1.4类型转换和条件运算

时间: 2024-10-25 03:05:19

网易云课堂_C语言程序设计进阶_第一周:数据类型:整数类型、浮点类型、枚举类型的相关文章

网易云课堂_C语言程序设计进阶_第二周:指针:取地址运算和指针、使用指针、指针与数组、指针与函数、指针与const、指针运算、动态内存分配_2信号报告

2 信号报告(5分) 题目内容: 无线电台的RS制信号报告是由三两个部分组成的: R(Readability) 信号可辨度即清晰度. S(Strength)    信号强度即大小. 其中R位于报告第一位,共分5级,用1—5数字表示. 1---Unreadable 2---Barely readable, occasional words distinguishable 3---Readable with considerable difficulty 4---Readable with prac

网易云课堂_C语言程序设计进阶_第8周

8.2函数指针 8.3图形交互 8.2函数指针 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 void f(int i) 5 { 6 printf("void f(),%d\n", i); 7 } 8 9 void main() 10 { 11 void(*pf)(int) = f;//函数指针 12 13 pf(10); 14 15 (*pf)(20); 16 17 (pf)(30); 18 19 system(

网易云课堂_C语言程序设计进阶_第七周:文件:文件访问、格式化输入输出、二进制输入输出

格式化的输入输出 printf %[flags][width][.prec][hIL]type Flag 含义 - 左对齐 + 在前面放+或- (space) 正数留空 0 0填充 1 #include <stdio.h> 2 3 void main() 4 { 5 printf("%+9d\n", 123); 6 7 printf("%9d\n", 123); 8 9 printf("%-9d\n", 123); 10 11 pri

网易云课堂_C语言程序设计进阶_第三周:结构:结构、类型定义、联合

3.1 枚举 3.2 结构 3.3 类型定义 3.1 枚举 枚举是一种用户定义的数据类型,它用关键字enum以如下语法来表明: enum 枚举类型名字{名字0,...,名字n}; 枚举类型名字通常并不真的使用,要用的是在大括号里的名字,因为它们就是常量符号,它们的类型是int,值则依次从0到n.如: enum colors{red, yellow, green}; 就创建了三个常量,red的值是0,yellow的值是1,而green的值是2 当需要一些可以排列起来的常量值时,定义枚举的意义就是给

网易云课堂_C语言程序设计进阶_第六周:程序结构:内存模型(全局变量和局部变量)、头文件、宏定义、函数指针和回调函数,ACL图形库的消息机制

6.1 全局变量 6.2 编译预处理 6.3 大程序结构 6.1 全局变量 全局变量 定义在函数外面的变量是全局变量 全局变量具有全局的生存期和作用域 它们与任何函数都无关 在任何函数内部都可以使用它们 全局变量初始化 没有做初始化的全局变量会得到0值 指针会得到NULL值 只能用编译时刻已知的值来初始化全局变量 它们的初始化发生在main函数之前 被隐藏的全局变量 如果函数内部存在与全局变量同名的变量,则全局变量被隐藏 6.2 编译预处理 6.3 大程序结构

网易云课堂_C语言程序设计进阶_第五周:递归与简单算法:递归、搜索、二分搜索、简单排序_1逆序输出的数列

1 逆序输出的数列(10分) 题目内容: 你的程序会读入一系列的正整数,预先不知道正整数的数量,一旦读到-1,就表示输入结束.然后,按照和输入相反的顺序输出所读到的数字,不包括最后标识结束的-1. 输入格式: 一系列正整数,输入-1表示结束,-1不是输入的数据的一部分. 输出格式: 按照与输入相反的顺序输出所有的整数,每个整数后面跟一个空格以与后面的整数区分,最后的整数后面也有空格. 输入样例: 1 2 3 4 -1 输出样例: 4 3 2 1 时间限制:2000ms内存限制:128000kb

网易云课堂_C语言程序设计进阶_期末考试编程题部分

123123 1 字符串循环右移(5分) 题目内容: 输入一个字符串和一个非负整数N,要求将字符串循环右移N次. 输入格式: 输入在第1行中给出一个字符串,以'#'表示结束,‘#’不是字符串的一部分,字符串的长度未知,但至少有一个字符:输入的第2行给出非负整数N. 输出格式: 在一行中输出循环右移N次后的字符串. 输入样例: Hello World!# 2 输出样例: d!Hello Worl 时间限制:500ms内存限制:32000kb 2 最小包围矩形(5分) 题目内容: 给定一组二维坐标,

网易云课堂_Java语言程序设计进阶_第1周 类和对象_1分数

第1周编程题 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统将取其中的最高分作为最终成绩. 第1周编程题.我们在题目说明中给出了一部分代码,你需要在这部分代码的基础上,按照题目说明编写代码,然后将两部分代码一起提交. 依照学术诚信条款,我保证此作业是本人独立完成的. 1 分数(10分) 题目内容: 设计一个表示分数的类Fraction.这个类用两个int类型的变量分别表示分子和分母. 这个类

网易云课堂_C++程序设计入门(上)_第2单元:丹青画松石– EGE图形库_第2节:一个简单的EGE程序

网易云课堂_C++程序设计入门(上)_第2单元:丹青画松石– EGE图形库_第2节:一个简单的EGE程序 #ifndef _GRAPHICS_H_ #define _GRAPHICS_H_ #ifndef __cplusplus #error You must use C++ compiler, or you need filename with '.cpp' suffix #endif #include "ege.h" using namespace ege; #endif #inc