IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 【C语言】《C程序设计语言》练习1-2和1-2 -> 正文阅读

[C++知识库]【C语言】《C程序设计语言》练习1-2和1-2

练习1-1:

在你自己的系统中运行“hello, world”程序。再有意去掉程序中的部分内容,看看会得到什么出错信息。

原程序

#include <stdio.h>
int main()
{
    printf("Hello, world\n");
    return 0;
}

1. 首先书里定义main函数都不写int,而现在的书和教程都会是“int main()”。所以想试试去掉int还能不能编译。

hello01.c:2:1: warning: return type defaults to 'int' [-Wimplicit-int]
 main()
 ^~~~
Hello, world

结果是可以输出“Hello world”,也就是可以编译,但是会告警你没有指定类型声明。

2. 教程里也没有“return 0;”这一行代码,是不是因为当时C是在UNIX操作系统上运行的,后来C逐步发展,所以变成现在我们这样由int main()主函数开始执行,到以return 0;终止函数的?如果我们去掉return 0;会有什么信息?

去掉“return 0;”之后,居然正常输出了“Hello, world”,也没有报错信息。这是怎么回事呢?我到虚拟机上的Linux系统中运行,也是一样,可以编译,正常输出了“Hello, world”。先把问题放这里,可以思考思考。咱平时写代码还是要规规矩矩地按照结构规范来写,绝对不能省掉return 0。

3. 如果我们把代码第一行的“#include <stdio.h>”(包含标准库的信息)去掉,会得到什么结果呢?

hello03.c: In function 'main':
hello03.c:4:5: warning: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
     printf("Hello, world\n");
     ^~~~~~
hello03.c:4:5: warning: incompatible implicit declaration of built-in function 'printf'
hello03.c:4:5: note: include '<stdio.h>' or provide a declaration of 'printf'
Hello, world

可以输出“Hello,world”,但是出现一堆告警。就是讲,在函数main里面,告警没有声明就使用函数‘printf’;告警内置函数‘printf’声明互不兼容没有声明;注:include '<stdio.h>'或者提供'printf'的声明。

练习1-2:

做个实验,当printf函数的参数字符串中包含\c(其中c是上面的转义字符序列中未曾列出的某个字符)时,观察一下会出现什么情况。

我们就把原来的代码的\n换成\c,就出现了如下的信息。就是讲,在函数main里,告警出现未知的转义序列:'\c',把双引号里的内容用波浪线划出来了。不过程序还是输出了,反斜杠没有输出,c跟着Hello, world输出了。

hello04.c: In function 'main':
hello04.c:4:12: warning: unknown escape sequence: '\c'
     printf("Hello, world\c");
            ^~~~~~~~~~~~~~~~
Hello, worldc

然后,我们再试一下把‘\n’换成'\7',会发生什么呢?我就不贴出结果了,正常输出"Hello, world",没有多余的字,而且正如习题解答里说的,ASCII的7字符是<BELL>,短蜂鸣。运行程序电脑确实发出了“铛”的声音。

好了,两题做完了,导言入门的章节前两题真的做起来还不简单呢。继续加油吧。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 10:54:41  更:2022-09-13 10:59:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 16:19:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码