C语言第二次

1.C语言基本数据类型及其占用的内存空间大小分别是:

【有符号】 整型int:4字节;【有符号】短整型short[int]:2字节;【有符号】长整型long[int]:4字节; 无符号整型unsigned[int]:4字节;无符号短整型unsigned short[int]:2字节;

无符号长整型unsigned long[int]:4字节;字符型char:1字节;单精度浮点型float:4字节;双精度浮点型double:8字节

2.算数运算符有:+   -    *   /    %    ++      --

3.关系运算符有:>   <   >=   <=   ==   !=   <>

4.逻辑运算符的优先顺序是:! &&  ||

5.赋值运算符有:=   +=   -=   *=   /=   %=

6.char c=132; printf(“%d”,c);

#include<stdio.h>int main(){    char c=132;     printf("%d",c);}

运算结果是-124。因为132=128+4。所以c对应的二进制为1000 0100。因为第一位是1,所以计算机识别为负数,1000 0100取反得到0111 1011,然后进一得到0111 1100.所以输出-124。

7.int a=-7; printf(“%d”,a>>1);

#include<stdio.h>
int main()
{
    int a=-7;
    printf("%d",a>>1);
}

运算结果是-4。

7:00000000 00000000 000000000 00000111;取反进一得-7:11111111 11111111 11111111 11111001

-7>>1得:11111111 11111111 11111111 11111100;取反进一得00000000 00000000 00000000 00000100。所以输出-4。

8.int a=7;int b=8;printf(“%d”,a&b);

#include<stdio.h>
int main()
{
     int a=7;
     int b=8;
     printf("%d",a&b);
}

运算结果是0。

a=7:00000000 00000000 00000000 00000111;b=8:00000000 00000000 00000000 00001000.

&是与,相同位都是1为1,否则为0.所以得00000000 00000000 00000000 00000000。所以输出0。

9.int a=7;int b=8;printf(“%d”,a^b);

#include<stdio.h>
int main()
{
    int a=7;
    int b=8;
    printf("%d",a^b);
}

运算结果是15。

a=7:00000000 00000000 00000000 00000111;b=8:00000000 00000000 00000000 00001000.

^是或,相同位有一则为一,否则为0.所以得00000000 00000000 00000000 00001111。所以输出15。

心得:第二次课要比第一次课要抽象,但我相信只要静下心来慢慢领悟,应该是可以的。*-*

时间: 2024-12-11 14:08:58

C语言第二次的相关文章

c语言第二课

c语言第二课: 八进制 0 0370 十六进制 0x (不区分大小写) 0xe3d ASCII码: ASCII码规定了128个英文字符与二进制的对应关系,占用一个字节(实际上只占用了一个字节的后面7位,最前面1位统一规定为0) Unicode: Unicode 是一个很大的集合,现在的规模可以容纳100多万个符号,每个符号的对应的二进制都不一样.Unicode 规定可以使用多个字节表示一个字符,例如 a 的编码为 01100001,一个字节就够了,"好"的编码为 01011001 01

ios学习笔记---c语言第二天

一.bool布尔类型    c语言没有bool类型,oc里有bool类型 是一种非真即假的数据类型,布尔类型的变量只有yes和no两个值.yes表示表达式是真,no表示表达式是假. 在c语言中认为非0即为真. 分支语句中常用bool值做判断,判断执行if语句还是else语句. 循环结构中,也常使用bool值做判断,判断是否要执行循环. 注意事项: #define yes 1 #define no 0 计算机在识别时,yes就替换成1,no就替换成0. 二.关系运算符 >   >=   <

iOS学习笔记---oc语言第二天

实例变量与方法 一.实例变量的可见度 二.方法 oc中的方法分两种:类方法和实例方法 类方法:只能类使用 eg:+ (id)alloc  注:类方法中不能使用实例变量 实例方法:只能对象使用,eg:- (void)sayHi iOS学习笔记---oc语言第二天

深入研究C语言 第二篇

1. 程序一: 首先我们研究如下程序: 回答如下问题: 1. 程序运行时n,a,b,c的段地址在哪个寄存器中? 全局变量的存储空间在什么段里?局部变量的存储空间在什么段了?参数在什么段里?函数的返回值存储在什么地方? 全局变量的存储空间在什么时候分配?什么时候释放? 局部变量的存储空间在什么时候分配?什么时候释放? 2. 函数f3在调用与返回方式与函数f1与f2有何不同? 我们编译完成后,进入debug查看. 首先,我们执行到main函数处,然后开始单步执行.我们看到,每次单步执行时,涉及到取数

c语言第二次作业

通过这节课的内容我学习到了结构体和文件型指针的使用.结构体帮助我可以给一个定义的变量多个含义,文件型指针帮组我快速的储存和查找.这节课让我对C语言的学习更加的深入了. FILE *fp: 其中FILE是固定的写法,后面的是指针变量名,可以随意起. 这个时候fp还是一个空的指针变量,什么也没有代表,类似一个仓库里的货架的标签,什么也没有写. 然后让这个指针变量指向一个文件,就是打开一个文件,然后让这个指针变量指向这个打开的文件,后续对这个指针变量的操作就都是对这个文件的操作了. 打开文件的语句是

C语言第二次实验报告

PTA实验作业 题目一:11-7 找鞍点 一个矩阵元素的"鞍点"是指该位置上的元素值在该行上最大.在该列上最小. 本题要求编写程序,求一个给定的n阶方阵的鞍点. 1.设计思路 第一步:定义二维数组 第二步:判断用户给定矩阵大小 第三步:找行最大值 第四步:判断行最大值是否为列最小值 第五步:输出结果 实验代码 int a[6][6]; int n; scanf("%d",&n); int i,j; for(i=0; i<n; i++) for(j=0;

JAVA语言 第二周

放假第二周了,时间真快! 上一周配置好了环境变量,这一周就可以做一些测试了.对不同的内容分类进行了测试,包括写入.输出.变量·······还有很多.对于开学的试卷,在第一部分做的还行,第二部分就没什么头绪了. 下一周还有继续补充JAVA语言知识.语法.逻辑能力实在需要增强了.比不会编程更可怕的是没有数学逻辑!!!! 原文地址:https://www.cnblogs.com/zmh-980509/p/9349748.html

C语言 &#183; 第二大整数

算法提高 第二大整数 时间限制:1.0s   内存限制:512.0MB 问题描述 编写一个程序,读入一组整数(不超过20个),当用户输入0时,表示输入结束.然后程序将从这组整数中,把第二大的那个整数找出来,并把它打印出来.说明:(1)0表示输入结束,它本身并不计入这组整数中.(2)在这组整数中,既有正数,也可能有负数.(3)这组整数的个数不少于2个. 输入格式:输入只有一行,包括若干个整数,中间用空格隔开,最后一个整数为0. 输出格式:输出第二大的那个整数. 输入输出样例 样例输入 5 8 -1

深入研究C语言 第二篇(续)

1. 关于如下的程序,关于结构体的拷贝,拷贝是拷贝到内存中的什么地方? 我们进入debug进行反汇编,单步等操作跟踪查看.发现: 在main中,我们看到call 0266应该对应的是转跳到func处执行. 在这里,func赋值完成后,又call到了0B3D:13EA处,这里应该是其向内存中复制的函数.我们查看. 首先我们看LDS:从存储器取出32位地址的指令.和LES:LES( load ES)指令的功能是:把内存中指定位置的双字操作数的低位字装入指令中指定的寄存器.高位字装入ES寄存器. 我们