首页 > 其他分享 >我的第九次C语言练习

我的第九次C语言练习

时间:2023-08-03 18:34:21浏览次数:34  
标签:return int 第九次 void 练习 C语言 printf main scanf

今天终于学完了弟三章,实际上昨天没剩下多少了,今天主要是在写练习。

//int main(void)
//{
//	int a;
//	unsigned int b;
//	a = 12;
//	b = '\012';
//	printf("a=%d,b=%u", a, b);
//	return 0;
//}

首先试了下unsigned int和正常int的不同,因为书上在打印\012时答案上只显示了unsigned int,但现在看来应该都是可以的。


//int main(void)
//{
//	printf("Type int has a size of %zd bytes.\n", sizeof(int));
//	printf("Type char has a size of %zd bytes.\n", sizeof(char));
//	printf("Type float has a size of %zd bytes.\n", sizeof(float));
//	return 0;
//}

然后是测量字符所占比特大小,就是运用了sizeof和%zd。

//int main(void)
//{
//	int a = 12.99;
//	float b = 2.3428923943;
//	printf("%d\n%f", a, b);
//	return 0;

然后是不同数据类型的匹配,像a就会只剩12,不会四舍五入,b只会保留到第六位小数,float只能保证前六位的精度。

//八进制打印
//int main(void)
//{
//	int num2 = 191;
//	printf("num2=%#o or %d", num2, num2);
//	return 0;
//}

然后是八进制打印,我到现在还没搞懂‘\ddd’怎么使用和打印,就算用了,打印出来的也和正常的不一样。

//int main(void)
//{
//	char a = '\n';
//	printf("%c", a);
//	return 0;
//}
//int main(void)
//{
//	printf("\n");
//	return 0;
//}

然后是非打印字符的打印,这个就是从前面的练习里面学到的,在这里又给复习了一下。

//练习一
//int main(void)//由字符找ASCII值
//{
//	char a;
//	scanf("%c", &a);
//	printf("The %d is %c", a, a);
//	return 0;
//}
//int main(void)//由ASCII值找字符
//{
//	char a;
//	scanf("%d", &a);
//	printf("The %d is %c", a, a);
//	return 0;
//}

接下来就是练习了。要找ASCII值就用scanf("%c",&a),要找字符就用scanf("%d", &a)。

//练习二
//int main(void)
//{
//	float value;
//	printf("Enter a floating-point value:");
//	scanf("%f", &value);
//	printf("fixed-point notation:%f\n", value);
//	printf("exponential notation:%e\n", value);
//	printf("p notation:%a", value);
//	return 0;
//}

然后是指数记数法的打印,和昨天的一样。%e是指数记数法,%a是以十六进制指数记数法打印。

//练习三
//int main(void)
//{
//	int age;
//	printf("Please input your age:");
//	scanf("%d", &age);
//	printf("You have lived %f", age * 3.156e7);
//	return 0;
//}

练习三是输入年龄计算时间,发现一个问题就是在引入是如果先声明在取地址的话,就会报错,就例如如果我先float time=age*3.156e7,再scanf("%d",&age),就是错误的。


//练习四
//int main(void)
//{
//	int water;
//    printf("We have the number of ");
//	scanf("%d", &water);
//	printf("and there are %f molecule in it", water * 950 / 3e-23);
//	return 0;
//}

下一个是计算水分子数,这个数据真的太大了用%f算实际上还没到小数的位置就开始不准了。


//练习五
//int main(void)
//{
//	int inch;
//	scanf("%d", &inch);
//	float cm;
//	cm = inch * 2.54;
//	printf("%d is %f", inch, cm);
//	return 0;
//}

下一个,由inch转换为cm,挺简单的,没什么好说的。

/练习六
//int main(void)
//{
//	int cup;
//	scanf("%d", &cup);
//	float pint = cup / 2;
//	printf("I have %d cups\n", cup);
//	printf("they are also %f pints\n", pint);
//	printf("and %d ounces,%d ladles,%d teaspoons\n", cup * 8, cup * 16, cup * 48);
//	return 0;
//}

最后一个是品脱,盎司什么的,出现的问题在于pint是cup的两倍大,所以我用float引入参量pint并且计算pint=cup/2,但打印的结果只有整数位,即如果我输入cup=5,那么pint只会有2,而不是2.5,不知道问题出在了哪里。

标签:return,int,第九次,void,练习,C语言,printf,main,scanf
From: https://blog.51cto.com/u_16187763/6951778

相关文章

  • Nuxt.JS实战指南:从入门到精通的练习之旅
    官网:Nuxt.js-Vue.js通用应用框架|Nuxt.js中文网搭建Nuxt2-参考文献:Nuxt-超详细环境搭建及创建项目整体流程(create-nuxt-app)_王佳斌的博客-CSDN博客一、为什么用NuxtSEO:所搜引擎优化1.1如何进行搜索引擎优化?多页面Title、描述、关键字网站内容1.2-预渲染1.2.1-预渲染图解1.2......
  • C语言关键字extern。
    extern:声明变量是在其他文件正声明(也可以看做是引用变量):extern用在变量或函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。//文件1代码#include<stdio.h>externvoidlbw();//声明外部lbw()intmain(){ lbw();}//文件2代码#include<stdio.h>voidlbw......
  • C语言嵌入式面试
    指针1.数组指针与指针数组,函数指针与指针函数区别?答:函数指针指向函数的指针变量,即本质是一个变量。指针函数是指返回值是指针的函数,即本质是一个函数。数组指针是指向数组首元素的地址的指针,其本质为指针。(这个指针存放的是数组首地址的地址,相当于2级指针,这个指针不可移动)指......
  • C语言嵌入式开发
    第一类问题:专业考察题在下面问题中,我附上自己的理解,可能不全面,用到的话再自行补充一些。问题1:问你写在简历上的项目经历,一般问的很细很细,在此基础上考察你项目里用到的技术知识。问题2:IIC协议(1)I2C使用两条线在主控制器和从机之间进行数据通信。一条是SCL(串行时钟线),另外一条......
  • C语言嵌入式面试3
    第一章、进程与线程1、什么是进程、线程,有什么区别?进程是资源(CPU、内存等)分配的基本单位,线程是CPU调度和分配的基本单位(程序执行的最小单位)。同一时间,如果CPU是单核,只有一个进程在执行,所谓的并发执行,也是顺序执行,只不过由于切换速度太快,你以为这些进程在同步执行而已。多核CPU可以......
  • 初学C语言day09--宏定义
    预处理指令程序员所编写的代码并不是能被编译器直接编译的标准C代码,需要一段程序翻译一下翻译的程序称为预处理器,翻译的过程叫做预处理,需要被翻译的代码叫做预处理指令,以#开头的都是预处理指令查看预处理结果:gcc-Ecode.c把预处理的结果显示到终端gcc-Ecode.c-ocode......
  • leetcode练习过的题目总结
    1.leetcode主要选项是:栈+双指针题号难度:简单链接20有效的括号26删除排序数组中的重复项27移除元素28实现strStr()88合并两个有序数组125.验证回文串141环形链表167两数之和II-输入有序数组225用队列实现栈232用栈实现队列234回文链表283移动零344反转字符串345反转字符串中的元......
  • 128.用C语言实现C++的继承
    128.用C语言实现C++的继承#include<iostream>usingnamespacestd;//C++中的继承与多态structA{virtualvoidfun()//C++中的多态:通过虚函数实现{cout<<"A:fun()"<<endl;}inta;};structB:publicA//C++中的继承:B类公有继......
  • [解题报告] 2023.8.2 dp专题练习赛
    比赛链接:Link[团队私有]T1:https://www.cnblogs.com/SXqwq/p/17600671.htmlT2:https://www.cnblogs.com/SXqwq/p/17601007.htmlT3:完全背包板子T4:https://www.cnblogs.com/SXqwq/p/17601622.html......
  • c语言链表demo
    #include<stdio.h>#include<stdlib.h>//定义节点结构体structnode{intdata;structnode*next;/*注意:这行使用了node,node必须在这行之前定义*/};intmain(intargc,constchar*argv[]){//1.定义链表的头节点,并初始化structno......