小粉书第一章
Posted meng2ya
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小粉书第一章相关的知识,希望对你有一定的参考价值。
开篇啦。
虽然考研很忙,要学习的东西也实在很多,但老师不是说过啦,“入宝山不能空归”呀,所以大萌要麻烦你找到整块的时间开整理,biubiu。
第一章 —— 程序入门设计语言篇
%d | 十进制有符号整数 |
%u | 十进制无符号整数 |
%f | 浮点数 |
%c | 单个字符 |
%s | 字符串 |
%p | 指针 |
%e | 指数形式的浮点数 |
%x,%X | 无符号十六进制整数 |
%0 | 无符号八进制整数 |
%% | % |
例题1-2 输入三位数反转
<1> 025
1 #include<stdio.h> 2 int main() 3 { 4 int n; 5 scanf("%d",&n); 6 printf("%d%d%d",n%10,n/10%10,n/100); 7 return 0; 8 }
<2> 25
1 #include<stdio.h> 2 int main() 3 { 4 int n,ret; 5 scanf("%d",&n); 6 ret = n%10*100+n/10%10*10+n/100; 7 printf("%03d",ret); // 若想输出25可将 输出格式 改为 " %03d " 8 return 0; 9 }
在写第二段代码时,遇到了一点小问题。
在Dev-c++中,编译器对我说: [Error] ld returned 1 exit status → (1)查看是否有小黑框已被打开 (2)是否关键词拼写不对
在Codeblocks中,编译器对我说:ld.exe||cannot open output file D:{C}liurujia1.22.exe Permission denied| → 没有文件所在盘的读写权限
最后,我把文件从D盘复制到E盘,即可运行。
例题1-3 交换变量
<1> 设置中间变量“容器”
1 #include<stdio.h> 2 int main() 3 { 4 int a,b,t; 5 scanf("%d%d",&a,&b); 6 t = a; 7 a = b; 8 b = t; 9 printf("%d %d ",a,b); 10 return 0; 11 }
<2>最好的办法
1 #include<stdio.h> 2 int main() 3 { 4 int a,b; 5 scanf("%d%d",&a,&b); 6 printf("%d %d ",b,a); 7 return 0; 8 }
例题1-4 鸡兔同笼
1 #include<stdio.h> 2 int main() 3 { 4 int n,m; // n为总个数,m为总腿数 5 int rabbit,chick; 6 scanf("%d%d",&n,&m); 7 8 rabbit = (m - n * 2) / 2 ; //假设每只鸡和每只兔子都抬起了两条腿,剩下的腿数就只是兔子的啦 9 chick = n - rabbit; 10 11 if(m % 2 != 0 || rabbit < 0 || chick < 0) 12 printf("no answer!"); 13 else 14 printf("%d %d ",chick,rabbit); 15 return 0; 16 }
tip:关于第11句,书上讲到了C语言使用短路(short-circuit)模式,即如果if(表达式1 || 表达式2 || ……)中的表达式是真的,就不再判断后面的语句是否为真。作者提到“这种逻辑判断的方式的优点不仅是快”,大一时读过前三章,当时没注意也没仔细琢磨,最近做题时才有点体会,即如果判断表达式1为真,不再执行后面的表达式 → 后面的表达式将不改变任何值。
例题1-5 三整数排序
1 #include<stdio.h> 2 int main() 3 { 4 int a,b,c,t; 5 scanf("%d%d%d",&a,&b,&c); 6 if(a>b){ 7 t=a; // 小的数放在前面 8 a=b; 9 b=t; 10 } 11 if(a>c){ 12 t=a; 13 a=c; 14 c=t; 15 } 16 if(b>c){ 17 t=b; 18 b=c; 19 c=t; 20 } 21 printf("%d %d %d ",a,b,c); 22 return 0; 23 }
1.52 数据类型与输入格式
(1)
1 #include<stdio.h> 2 int main() 3 { 4 int n,m; 5 n = 11111 * 11111; // 123454321 6 m = 111111 * 111111; // 溢出 7 double d,e,f,g,h; 8 d = 1.1111 * 1.1111; 9 e = 1.11111 * 1.11111; 10 f = 1.111111 * 1.111111; 11 g = 1.1111111 * 1.1111111; 12 h = 1.11111111 * 1.11111111;// 已经崩了 13 14 printf("%d ",n); 15 printf("%d ",m); 16 printf("%lf ",d); 17 printf("%.10f ",e); 18 printf("%.15f ",f); 19 printf("%.15f ",g); 20 printf("%.20f ",h); 21 return 0; 22 }
(2)待补
1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 int n; 6 double m; 7 double t; 8 n = sqrt(-10); 9 m = sqrt(-10); 10 t = 10 + sqrt(-10); 11 printf("%lf",t); // 没报错,输出一个废数据 12 printf("%lf",m); // 没报错,输出一个废数据 13 printf("%d ",n); // 没报错,输出一个废数据 14 15 16 return 0; 17 }
(3)
#include<stdio.h> #include<math.h> int main() { printf("%2.f ",1.0/0.0); // 输出1 printf("%2.f ",0.0/0.0); // 输出-1
printf("%d ",1/0); // 崩溃
return 0; }
(4)
闰年的判断条件:能被4整除,不能被100整除,能被400整除。
总结:(截图)
以上是关于小粉书第一章的主要内容,如果未能解决你的问题,请参考以下文章
ROS机器人程序设计(原书第2版)补充资料 (壹) 第一章 ROS系统入门