小粉书第一章

开篇啦。

虽然考研很忙,要学习的东西也实在很多,但老师不是说过啦,“入宝山不能空归”呀,所以大萌要麻烦你找到整块的时间开整理,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}\liurujia\1.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\n",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\n",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\n",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\n",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",n);
15     printf("%d\n",m);
16     printf("%lf\n",d);
17     printf("%.10f\n",e);
18     printf("%.15f\n",f);
19     printf("%.15f\n",g);
20     printf("%.20f\n",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",n);  // 没报错,输出一个废数据
14 
15 
16     return 0;
17 }

(3)

#include<stdio.h>
#include<math.h>
int main()
{
    printf("%2.f\n",1.0/0.0);  // 输出1
    printf("%2.f\n",0.0/0.0);  // 输出-1
printf("%d\n",1/0); // 崩溃
return 0; }

(4)

闰年的判断条件:能被4整除,不能被100整除,能被400整除。

总结:(截图)

猜你喜欢

转载自www.cnblogs.com/meng2ya/p/9161688.html