首页 > 其他分享 >C语言第2.2关 整型常量

C语言第2.2关 整型常量

时间:2024-06-02 16:58:18浏览次数:12  
标签:十六进制 常量 输出 %# C语言 整型 printf 2.2 八进制

第1关: 两个100年

任务描述:

中共十八大报告提出“两个一百年”奋斗目标:第一个一百年,是到中国共产党成立100年时(2021年)全面建成小康社会;第二个一百年,是到新中国成立100年时(2049年)建成富强、民主、文明、和谐、美丽的社会主义现代化强国。 “两个一百年”奋斗目标,与中国梦一起,成为引领中国前行的时代号召、成为全国各族人民共同的奋斗目标。

,

现在,你幸福的生活在21世纪的某个年度N里,你知道今年是建党多少周年和建国多少周年吗?

输入格式:

一个整数N(N>=2000),代表某个年度数。

输出格式:

两个整数,以空格分隔,分别代表建党周年数和建国周年数。

输入样例:

2049

输出样例:

128 100


任务代码

  1. #include<stdio.h>
  2. int main(){
  3. int n;
  4. scanf("%d",&n);
  5. printf("%d %d",n-1921,n-1949);
  6. return 0;
  7. }
相关知识-常量和变量

程序中值不变的量称为常量,常量可分为字面常量和符号常量。字面常量就是直接写出来的一个数据。符号常量是指用一个标识符来代表一个常量。 程序运行的过程中,值可以改变的量称为变量。 每个常量和变量都必须归属一个确定的数据类型,不同类型的常量和变量占据不同大小的存储空间、具有不同的表示范围。 小白弟弟,以上程序中的1921、1949和0都是字面常量,n是变量。


开始你的任务吧,祝你成功!

参考代码:
#include<stdio.h>
int main (){
    int n;
    scanf("%d",&n);
    printf("%d %d",n-1921,n-1949);
    return 0;
}

第2关:答题时间

任务描述:

小白弟弟参加期末考试,于H1时M1分开始答题,于H2时M2分交卷。假设考试在白天进行,时间采用24小时制。请你算算小白弟弟此次考试用了多少分钟。

输入格式:

空格分隔的4个整数,分别表示H1、M1、H2、M2。

输出格式:

一个整数。

输入样例:

8 30 9 10

输出样例:

40


开始你的任务吧,祝你成功!

参考代码:
//请在此输入你的代码
#include<stdio.h>
int main()
{int h1,m1,h2,m2,h3,m3,h4,m4;
scanf("%d %d %d %d",&h1,&m1,&h2,&m2);
h3=60*h1;h4=60*h2;
m3=h3+m1;m4=h4+m2;
printf("%d",m4-m3);
return 0;
}

第3关: 认识整型常量

任务描述:

整型常量有八进制、十进制、十六进制三种表示形式。 编写程序输入三个整数,按要求输出它们的不同表示形式。

输入格式:

以空格分隔的三个整数,其中第1个为十进制数,第2个为八进制数,第3个为十六进制数。

输出格式:

请按输出样例形式输出这三个数的不同表示形式,其中: 第1行输出十进制形式; 第2行输出八进制形式; 第3行输出带前导0的八进制形式; 第4行输出十六进制形式,字母数字小写; 第5行输出十六进制形式,字母数字大写; 第6行输出十六进制形式,字母数字小写,输出前导0x。

输入样例:

  1. 2298 04372 0X8FA
输出样例:

  1. 2298,2298,2298
  2. 4372,4372,4372
  3. 04372,04372,04372
  4. 8fa,8fa,8fa
  5. 8FA,8FA,8FA
  6. 0x8fa,0x8fa,0x8fa
输入样例:

  1. 189 520 3AF
输出样例:

  1. 189,336,943
  2. 275,520,1657
  3. 0275,0520,01657
  4. bd,150,3af
  5. BD,150,3AF
  6. 0xbd,0x150,0x3af
任务代码

  1. #include<stdio.h>
  2. int main(){
  3. int a,b,c;
  4. scanf("%d%o%x",&a,&b,&c);
  5. printf("%d,%d,%d\n",a,b,c); //十进制形式
  6. printf("%o,%o,%o\n",a,b,c); //八进制形式
  7. printf("%#o,%#o,%#o\n",a,b,c);//八进制形式,带前导0
  8. printf("%x,%x,%x\n",a,b,c); //十六进制形式,字母数字小写
  9. printf("%X,%X,%X\n",a,b,c); //十六进制形式,字母数字大写
  10. printf("%#x,%#x,%#x",a,b,c); //十六进制形式,带前导0x
  11. return 0;
  12. }
相关知识-整型常量
1.整型常量的表示

整型常量在C语言程序中有多种表示方法: (1)十进制整数。 由0~9十个数字表示的整数,逢10进1,整数前不能加前导0。例如:521、-9、0、123、456、2147483647等等。 (2)八进制整数。以数字0开头,由0~7八个数字表示的整数,逢8进1,例如:0521、-04、+0123、556677等等。 (3)十六进制整数。以0x开头,由0~9和A~F十六个数字表示的整数,逢16进1,例如:0x521、-0x9、0X5A6B7F等等。字符X和数字A~F可以大写也可以小写。 (4)字面常量类型认定。C语言对于没有后缀且在int表示范围内的整型常量都视为int型,对于超过此范围的整数根据其大小范围依次认定为unsigned int 、long、unsigned long、long long或unsigned long long型。 (5)L后缀。可以在整型常量的末尾加上字符L或LL,来特别说明这是一个long型或long long型的整型常量,例如521L,034LL, 0xaL等等(L可小写)。 (5)U后缀。可以在一个整型常量的末尾加上字符u或U来特别说明一个无符号整型常量。L、LL和U的位置可以互换。例如:12U、12LU、12ULL都是合法的表示方法。

2.整型数据格式说明符

(1)我们已经知道%d是十进制整数说明符,除此之外,%o是八进制整数说明符,%x是十六进制整数说明符,百分号后面的字母也可以大写。这三种形式可以用于scanf函数中输入相应格式的整数。 (2)语句scanf("%d%o%x",&a,&b,&c);的功能是依次输入十进制、八进制和十六进制三个整数,分别赋值给int型变量a、b和c。 (2)在printf函数中输出整数时有以下多种形式可以选择: %o:以八进制形式输出,%#o表示输出前导0; %x以十六进制形式输出,%#x表示输出前导0x,数字中的字母和前导x都是小写;当以%X或%#X格式输出十六进制数据时,数字中的字母和前导X都是大写。 小白弟弟好,整型常量数据的表示和输入输出的基本规则你清楚了吗?如果有点晕,我们慢慢来,多多练习,熟悉就好了。


开始你的任务吧,祝你成功!

参考代码:
//
#include<stdio.h>
int main(){
 int a,b,c;
    scanf("%d%o%x",&a,&b,&c);
    printf("%d,%d,%d\n",a,b,c);   //十进制形式 
    printf("%o,%o,%o\n",a,b,c);   //八进制形式
    printf("%#o,%#o,%#o\n",a,b,c);//八进制形式,带前导0 
    printf("%x,%x,%x\n",a,b,c);   //十六进制形式,字母数字小写  
    printf("%X,%X,%X\n",a,b,c);   //十六进制形式,字母数字大写
    printf("%#x,%#x,%#x",a,b,c);  //十六进制形式,带前导0x 
    return 0;
}

标签:十六进制,常量,输出,%#,C语言,整型,printf,2.2,八进制
From: https://blog.csdn.net/Rainymiss/article/details/139393643

相关文章

  • C语言刷题(数组)
    1.编写程序利用数组实现将一个数插入到一个有序的数列中,要求插入后仍有序。C语言代码#include<stdio.h>intmain(){intn=0;printf("请输入有序数组元素的个数:\n");scanf("%d",&n);//定义并输入数组intnum[n];printf......
  • C语言之动态内存管理
    目录一、什么是动态内存分配二、malloc和free三、calloc和realloc四、常见的动态内存的错误 五、柔性数组六、总结 一、什么是动态内存分配动态内存分配是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。与静态内存分配不同,动态内存分配不需要......
  • 详解C语言system()函数,一个函数让初学者的代码有趣(一)
    一.为什么一定要学习system()函数             对于绝大多数初学者来说,我们在学习C语言的过程中,所写出来的内容大多都只能展现在冰冷的黑白程序框中,所实现的功能也是千篇一律,如果只是完成学习任务,那就够了,但是对于一个希望写出来一点高级东西的程序员,那是远......
  • 通过指针变量访问整型变量
    有两个与指针变量有关的运算符:(1)&:取地址运算符。(2)*:指针运算符(或称间接访问运算符)。例如:&a为变量a的地址,*p为指针变量p所指向的存储单元。编写程序:运行结果:程序分析:        (1)在程序第5行虽然定义了两个指针变量pointer_1和pointer_2,但它们并未指向任何一个......
  • C语言王国——内存函数
    目录1memcpy函数1.1函数表达式1.2函数模拟2memmove函数 2.1函数的表达式2.2函数模拟 3memset函数3.1函数的表达式3.2函数的运用4memcmp函数4.1函数的表达式:4.2函数的运用5结论接上回我们讲了C语言的字符和字符串函数,今天也由姜糖来给大家分享一下......
  • C语言-for循环之穷举法练习
    //需求:求出一个偶数纸币需要多少张50元,20元,10元来配合include<stdio.h>intmain(void){intn=0;//存储你输入的数值inti=0;//for循环使用intj=0;intk=0;intw=50;定义50元的数值inte=20;定义20元的数值ints=10;定义10元的数值printf("pleaseente......
  • 【C语言】文件操作(中卷)
    前言在文件操作(上卷)中,讲到的主要都是正式文件操作开始之前的前置知识,而这一卷中,我们将开始正式地操作文件。在上卷中我们已经说到,stdinstdoutstderr是三个C语言程序启动时默认打开的流。这三个流的类型是:FILE*,通常称为文件指针。而C语言,就是通过FILE*的文件指针来维护流的......
  • C语言----递归函数,计算一个非负整数的数字之和
    intDigitSum(intn){if(n==0)//如果n为0,则停止递归,因为没有更多的数字可以添加。{return0;}else{returnn%10+DigitSum(n/10);}/*假设输入123,第一次递归,return3和DigitSum(12)DigitSum(12)......
  • 2.2 Go运行时(runtime)
    2.2.1Go运行时(runtime)尽管Go编译器产生的是本地可执行代码,这些代码仍旧运行在Go的runtime(这部分的代码可以在runtime包中找到)当中。这个runtime类似Java和.NET语言所用到的虚拟机,它负责管理包括内存分配、垃圾回收(第10.8节)、栈处理、goroutine、channel、切片(sli......
  • C语言练习题之——从简单到烧脑(13)(每日两道)
    打印爱心1.1:普通输出爱心#include<stdio.h>intmain(){ printf("******************\n");//7(代表边上的空格) printf("******************************\n");//4 printf("************************************\n&quo......