小粉书第一章

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系统入门

蓝书第一章 例题3 分金币

紫书第一章训练1 D -Message Decoding(UVA213) by 16黄睿博

Datewhale一起吃瓜 Task1周志华西瓜书第一章+第二章