C primer plus——C进阶探幽
系列文章目录
C primer plus
第二章
文章目录
目录
系列文章目录
文章目录
前言
一、示例
二、第二章习题解答
编程练习
前言
上一节我们初步认识了C语言,接下来我们正式的学习C语言。
一、示例
#include <stdio.h>
int main(void)
{int num;num=1;printf("I am a simple "};printf("computer. \n");printf("My favorite number is %d because it is the first. \n",num);return 0;
}
1.1讨论代码含义
#include <stdio.h>
该代码告诉编译器需要把stdio.h库文件中的内容包含在我们所写的代码文件中。
stdio.h是C编译器软件包的标准部分,它提供键盘输入与输出的支持。
int main(void)
主函数体,void表示该函数体的参数为空
{
表示主函数体的函数部分开始
int num;
函数声明,声明一个数据类型为整数类型的变量num。
num=1;
赋值表达式
=为赋值运算符,将=右侧内容赋值给左侧
printf();
调用printf函数进行语句的输出打印
return 0;
return 语句,返回一个值可以是0,1(随便一个整形数据都行)
}
函数体结束
1.2程序细节
1.#include 这行代码是一条预处理指令
头文件<<# include “stdio.h”>>把stdio文件中的所有内容都输入到这一行所在的位置-拷贝粘贴-预处理指令,C编译器在编译C代码之前会对源代码进行预处理,为什么不把这些内置在系统中呢?学过单片机的就明白了,省资源啊,用到什么调用什么
这里我们注意就好,暂时可以不去过于关注细节
2.main()函数
每一个能正常运行的C程序一定都是从main()函数体内的函数语句开始执行的
而int 是main()函数的返回类型,这表明了main()函数是一个返回值为整型数据的函数,返回的值给到操作系统。
()的作用是用于识别main是一个函数,而不是变量或者其它
3.注释
常用的注释方法有
单行注释:
//————从//开始的一行内容将被注释掉
多行注释:
/* ....
......
.....
*/
其中的内容都会被注释掉,良好的编程习惯需要我们简洁高效的编写注释,有利我们程序的理解。
4.分号;
分号告诉编译器一行语句是否结束,一般情况下只要是一行语句结束了就需要带上分号,但是函数体后不能带上分号
二、第二章习题解答
编程练习
1.
#include <stdio.h>
int main()
{
printf("Yasuo Zed\n");
printf("Yasuo\n");
printf("Zed\n");
printf("Yasuo ");
printf("Zed \n");
return 0;
}
2.
#include <stdio.h>
int main()
{
printf("My name is :Yasuo Zed \n");
printf("My address is 艾欧尼亚\n");
return 0;
}
3.
#include <stdio.h>
int main()
{
int age, days;
printf("please input your age :");
scanf("%d",&age);
days=365*age;
printf("You have lived %d days,and your age is %d",days,age);
return 0;
}
4.
#include <stdio.h>
void jolly();
void deny();
int main()
{jolly();jolly();jolly();deny();}
void jolly()
{printf("For he's a jolly good fellow!\n");
}
void deny()
{printf("Which nobody can deny!\n");
}
也可以使用for循环来减少代码量
#include <stdio.h>
void jolly();
void deny();
int main()
{for (int i = 0; i < 3; i++)jolly();deny();}
void jolly()
{printf("For he's a jolly good fellow!\n");
}
void deny()
{printf("Which nobody can deny!\n");
}
5.
本题与第四题思路以及框架基本相同,读者可尝试自行实现
6.
#include <stdio.h>
int main()
{int tose=10;printf("%d\n",tose);printf("%d\n",tose*tose);printf("%d",2*tose);return 0;}
7.
这里我使用了三种方法,最后一种是最容易想到得最直白得,第一种利用了两个for循环,第二种是含参函数调用;看起来应该内存占用率差不多,但是第一种可能比较难理解吧。
#include <stdio.h>
void display(int a);
int main()
{for (int i = 4; i > 1; i--){display(i);printf("\n");}return 0;
}
void display(int a)
{for (int i = a; i > 1; i--){printf("Smile!");}
}
#include <stdio.h>
void display(int a)
{for(int i=0;i<a;i++)printf("Smile!");
}
int main()
{display(3);printf("\n");display(2);printf("\n");display(1);printf("\n"); return 0;
}
#inlcude <stdio.h>
void display()
{
printf("Smile!);
}
int main()
{
display();display();display();
printf("\n");
display();display();
printf("\n");
display();
return 0;
}
8.
#include <stdio.h>
void one_three()
{printf("one!\n");
}
void two()
{printf("two!\n");
}
int main()
{printf("starting now:\n");one_three();two();printf("three!\n");printf("done!");return 0;
}
总结
本书第二章得内容就到这里,下周更新第三章内容得学习重点和讲解
C primer plus——C进阶探幽相关推荐
- 算法竞赛从入门到进阶pdf_ACMICPC/CCPC算法竞赛入门建议
繁花落尽,我心中仍有花落的声音,一朵,一朵,在无人的山间轻轻飘落. 欢迎喜欢 CodeForces,Atcoder,牛客,leetcode,Codechef 小伙伴们一起来van呀~ 交流群:1104 ...
- 第一学期ACM之旅总结篇
是我大一第一学期ACM之旅总结篇鸭,纪念逝去的青春: 自加入ACM集训队以来已有三个月之久,虽然一开始什么都不懂,但对ACM充满期待与向往.入队以后,通过和队员们一起学习以及各个学长的指导下,我慢慢地 ...
- C++ Primer Plus学习(八)——函数进阶
函数进阶 内联函数 引用变量 默认参数 函数重载 函数模板 总结 C++还提供了许多新的函数特性,使之有别于C语言.新特性包括内联函数.按引用传递变量.默认的参数值.函数重载(多态)以及模板函数. 内 ...
- C++ Primer Plus学习笔记之函数探幽
前言 个人觉得学习编程最有效的方法是阅读专业的书籍,通过阅读专业书籍可以构建更加系统化的知识体系. 一直以来都很想深入学习一下C++,将其作为自己的主力开发语言.现在为了完成自己这一直以来的心愿,准备 ...
- 《C++ Primer Plus》第8章 函数探幽 学习笔记
C++ 扩展了 C 语言的函数功能.通过将 inline 关键字用于函数定义,并在首次调用该函数前提供其函数定义,可以使得 C++ 编译器将该函数视为内联函数.也就是说,编译器不是让程序跳到独立的代码 ...
- 《C++ Primer Plus 6th》读书笔记 - 第8章 函数探幽
1. 摘录 默认参数指的是当函数调用中省略了实参时自动使用的一个值. 默认参数并非编程方面的重大突破,而只是提供了一种便捷的方式.使用默认参数,可以减少要定义的析构函数.方法以及方法重载的数量. 试图 ...
- 【c++ primer】第八章 函数探幽
一,C++内联函数 定义: inline double square (double x){return x*x;}//含有关键字inline的内联函数 描述:内联 ...
- 《C++ Primer Plus(第六版)》(11)(第八章 函数探幽 复习题答案)
8.7 复习题 1.经常被调用,逻辑简单,代码少,一般要求没有递归,没有循环. 2. void song(const char * name, int times); a.void song(cons ...
- C++ Primer Plus (第六版)编程练习记录(chapter8 函数探幽)
1.编写通常接受一个参数(字符串的地址),并打印该字符串的函数.然而,如果提供了第二个参数(int类型),且该参数不为0,则该函数打印字符串的次数将为该函数被调用的次数(注意,字符串的打印次数不等于第 ...
最新文章
- SAP WM中阶Storage Type的Capacity Check – Usage check based on material
- mac上安装python详细教程_mac安装python环境
- jetson nano 摄像头购买
- cp命令复制目录 不覆盖
- Android Studio运行报错:无法访问XXX......请删除该文件或确保该文件位于正确的类路径子目录中
- POJ - 1190 生日蛋糕(dfs+剪枝)
- Loadrunner学习笔记(三)
- 产品定额的一些陷阱思考
- WCF我应该再深入一些
- android 打开免打扰模式,Android 6.0设置模块免打扰功能浅析
- 数字电子技术基础(十三):时序逻辑电路(状态机)(移位寄存器、计数器、信号发生器)
- 《潜伏在办公室》 作者:陆琪
- linux raid卡驱动添加到内核,如何在Linux上编译RAID卡驱动方法详解
- matlab信号处理基础(音频和图像)
- 中国Top20天使投资机构和中国Top20VC投资机构
- 《工程伦理与学术道德》第一章习题
- c语言中怎么用scanf给二维数组赋值,关于VC++6.0无法用scanf()输入浮点值赋给二维数组的问题...
- linux怎么杀掉僵尸进程,Linux中如何杀掉僵尸进程
- IntelliJ IDEA 如何增加运行时候的内存
- 下拉菜单中自动亮度调节P 上背光调节