C语言强化练习(一): 初识C语言

文章目录

  • 一、问答题
    • 1.1 C语言开发过程是怎样的?
    • 1.2 C语言的应用领域有哪些?
  • 二、上机题
    • 2.1 第一个C语言程序
    • 2.2 一个完整的C语言程序
    • 2.3 输出名言
    • 2.4 计算出正方形的周长

一、问答题

1.1 C语言开发过程是怎样的?

问题描述:C语言的整个开发过程是怎样的?都包括哪些步骤?

参考:C语言的开发过程包括编辑、编译、连接和运行4个步骤。

  1. 编辑源文件: 利用编辑器将编辑的C语言程序代码输入计算机,然后保存编辑好的代码在磁盘中,这样就生成了C语言的源文件。
  2. 编译源文件: 利用编译器将源程序翻译成目标代码的过程。其具体过程是先将源程序转换成汇编语言程序,然后再将汇编语言翻译成及其指令程序,即目标程序。

    举例说明:gcc 编译的流程:
    ① 预处理 生成预处理过得C代码 xx.i gcc -E xx.c -o xx.i -E 使编译器在预处理结束的时候停止
    ② 把我们预处理过的代码生成我们的汇编代码 xx.s gcc -S xx.i -o xx.s -S 使编译器在编译结束的时候停止
    ③ 把汇编代码生成我们的目标文件 xx.o gcc -c xx.s -o xx.o -c 使编译器在汇编结束的时候停止

  3. 连接: 将目标程序的各个部分进行连接配置,生成一个可供运行的可执行程序。
  4. 运行: 将编译好的可执行文件运行。通过运行程序可查看程序执行输出结果。④ gcc xx.o -o xx -o 输出gcc编译的结果

C语言程序代码的编译和运行过程如下图所示:
在这里插入图片描述
补充说明: 在学习的时候大家只需要掌握基本的程序设计步骤即可,具体如何实现编译和代码转换等操作则不需要深究(如果有兴趣可以进行深入的学习)。

1.2 C语言的应用领域有哪些?

问题描述:C语言被称为是使用最广泛的高级语言,那么C语言能够应用到哪些领域呢?

参考:因为C语言具有高级语言的特点,又具有汇编语言的特点,所以可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言。下面列举了C语言一些应用比较广泛的领域。

  1. 应用软件: LINUX操作系统中的应用软件都是使用C语言编写的,因为这样的应用软件安全性非常高。
  2. 对性能要求严格的领域: 一般对性能有严格要求的地方都是C语言编写的,比如网络程序的底层和网络服务器端底层,地图查询等。
  3. 系统软件和图形处理: C语言具有很强的绘图能力和移植性,并且具备很强的数据处理能力,因此适用编写系统软件,动画、二维图形和三维图形。
  4. 数字计算: 相对于其它编程语言,C语言是数值计算能力超强的高级语言。
  5. 嵌入式设备开发: 手机、PDA等时尚消费类电子产品相信大家都不陌生,其内部的应用软件、游戏等很多都是应用C语言进行嵌入式开发。
  6. 游戏软件开发: 游戏大家更不陌生,很多人是因玩游戏而熟悉了计算机,C语言可以做很多游戏,比如GBA、推箱子、贪吃蛇等。

ps:上面仅列出了几个主要的C语言应用领域,实际上C语言几乎可以应用到程序开发的任何领域。

二、上机题

2.1 第一个C语言程序

输出 hello,world~ 是大多数初学者运行调试的第一个程序,可以说输出 hello,world~ 是C语言最为简单的程序,实例运行效果如下图所示:
在这里插入图片描述
程序主要代码如下:

/*================================================================
*   Copyright (C) 2023 AmoXiang All rights reserved.
*   
*   文件名称:hello_world.c
*   创 建 者:AmoXiang
*   创建日期:2023年09月22日 19:06:02
*   描    述:第一个C语言程序
*
================================================================*/#include <stdio.h>
int main(){printf("hello,world~\n");return 0;
}           

2.2 一个完整的C语言程序

使用程序求出 10+20 的结果,并将程序求出的结果进行输出,运行效果如下图所示:
在这里插入图片描述
程序主要代码如下:

/*================================================================
*   Copyright (C) 2023 AmoXiang All rights reserved.
*   
*   文件名称:get_sum.c
*   创 建 者:AmoXiang
*   创建日期:2023年09月22日 19:14:55
*   描    述:
*
================================================================*/#include <stdio.h>
int main(){int i,j,sum = 0;i = 10;j = 20;sum = i + j;//求和printf("10+20=%d\n", i+j);return 0;    
}

2.3 输出名言

是否能够成为真正编程高手,主要在于是否有毅力坚持学习和练习。输出名言 贵有恒,何必三更起五更睡;最无益,只怕一日曝十日寒. 运行效果如下图所示:
在这里插入图片描述
程序主要代码如下:

/*================================================================
*   Copyright (C) 2023 AmoXiang All rights reserved.
*   
*   文件名称:print_saying.c
*   创 建 者:AmoXiang
*   创建日期:2023年09月22日 19:30:18
*   描    述:控制台输出名言警句
*
================================================================*/#include <stdio.h>
int main(){printf("贵有恒,何必三更起五更睡;最无益,只怕一日曝十日寒.\n");return 0;    
}

2.4 计算出正方形的周长

已知正方形的边长为4,根据已知的条件计算出正方形的周长,并将其输出, 运行效果如下图所示:
在这里插入图片描述
程序主要代码如下:

/*================================================================
*   Copyright (C) 2023 AmoXiang All rights reserved.
*   
*   文件名称:get_perimeter.c
*   创 建 者:AmoXiang
*   创建日期:2023年09月22日 19:36:28
*   描    述:求正方形的周长
*
================================================================*/#include <stdio.h>
int main(){int length_of_side,perimeter = 0;length_of_side = 4;//程序中的运算符与日常生活中运算符大致相同,但是有些日常生活中的运算公式并不能应用于程序之中//错误写法 ==> 4length_of_sideperimeter = length_of_side * 4;printf("边长为%d的正方形,周长为:%d\n", length_of_side, perimeter);return 0;    
}

至此今天的学习就到此结束了,笔者在这里声明,笔者写文章只是为了学习交流,以及让更多学习C语言的读者少走一些弯路,节省时间,并不用做其他用途,如有侵权,联系博主删除即可。感谢您阅读本篇博文,希望本文能成为您编程路上的领航者。祝您阅读愉快!


在这里插入图片描述

    好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
    如果我的博客对你有帮助、如果你喜欢我的博客内容,请 点赞评论收藏 一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
 编码不易,大家的支持就是我坚持下去的动力。点赞后不要忘了 关注 我哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/115448.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

排序算法-----归并排序

目录 前言&#xff1a; 归并排序 1. 定义 2.算法过程讲解 2.1大致思路 2.2图解示例 拆分合成步骤 ​编辑 相关动态图 3.代码实现&#xff08;C语言&#xff09; 4.算法分析 4.1时间复杂度 4.2空间复杂度 4.3稳定性 前言&#xff1a; 今天我们就开始学习新的排序算法…

VisualStudio配置opencv

下载opencv 链接&#xff1a;https://opencv.org/releases/ 我下载的是4.7.0&#xff0c;选择windows下载。 下载成功后打开exe文件&#xff0c;选择路径安装。 配置环境变量 安装成功后找到安装目录&#xff0c;复制bin目录路径。 我的是放在了D盘 D:\Opencv4.7.0\opencv…

李超线段树

李超线段树 概念 李超线段树是巨佬李超发明的一种可以求函数定点最值的线段树&#xff0c;又名李超树。代码简短&#xff0c;思想简明&#xff0c;用途广泛。 问题 李超线段树是用来解决类似于这种问题 题目传送门 要求在平面直角坐标系下维护两个操作&#xff1a; 在平面上…

npm常用命令系统介绍

npm常用命令系统介绍 npm helpnpm initpackage.json 文件package.json 文件属性说明默认 package.json 文件--参数[-yes|-y]设置 package.json 中字段的默认值package-lock.json 文件 npm [config|c]设置源 npm [install|i]可选参数&#xff1a;全局安装的特性 包的删除npm uni…

华为云云耀云服务器L实例评测|云耀云服务器L实例部署Dashdot服务器仪表盘

华为云云耀云服务器L实例评测&#xff5c;云耀云服务器L实例部署Dashdot服务器仪表盘 一、云耀云服务器L实例介绍二、Dashdot介绍2.1 Dashdot简介2.2 开发环境要求2.3 Yarn介绍 三、本次实践介绍3.1 本次实践简介3.2 本次环境规划 四、检查服务器环境4.1 购买云耀云服务器L实例…

MySQL进阶 —— 超详细操作演示!!!(中)

MySQL进阶 —— 超详细操作演示&#xff01;&#xff01;&#xff01;&#xff08;中&#xff09; 三、SQL 优化3.1 插入数据3.2 主键优化3.3 order by 优化3.4 group by 优化3.5 limit 优化3.6 count 优化3.7 update 优化 四、视图/存储过程/触发器4.1 视图4.2 存储过程4.3 存…

JDBC基本概念

什么是JDBC JDBC概念 JDBC&#xff08;Java DataBase Connectivity&#xff09;是一套统一的基于Java语言的关系数据库编程接口规范。 该规范允许将SQL语句作为参数通过JDBC接口发送给远端数据库&#xff0c; …

Pytest之收集用例规则与运行指定用例

前言 上篇文章相信大家已经了解了pytest在cmd下结合各种命令行参数如何运行测试用例&#xff0c;并输出我们想要看到的信息。那么今天会讲解一下pytest是如何收集我们写好的用例&#xff1f;我们又有哪些方式来运行单个用例或者批量运行用例呢&#xff1f;下面将为大家一一解答…

2023最全CTF入门指南(建议收藏,文章末尾有福利)

前言 一、CTF简介 CTF&#xff08;Capture The Flag&#xff09;中文一般译作夺旗赛&#xff0c;在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会&#xff0c;以代替之前黑客们通过互相发起真实攻击进行技术比拼的…

uniappAndroid平台签名证书(.keystore)生成

一、安装JRE环境 https://www.oracle.com/java/technologies/downloads/#java8 记住下载默认安装地址。ps&#xff1a;我都默认安装地址C:\Program Files\Java\jdk-1.8 二、安装成功后配置环境变量 系统变量配置 AVA_HOME 放到环境变量去 %JAVA_HOME%\bin 三、生成签名证书…

iPhone15线下购买,苹果零售店前门店排长队

今年的苹果新品发布会于北京时间 9 月 13 日凌晨举行&#xff0c;并于 9 月 15 日&#xff08;周五&#xff09;开启订购&#xff0c;9 月 22 日&#xff08;周五&#xff09;起正式发售。 据多位网友反馈&#xff0c;首批苹果 iPhone15 系列手机、Apple Watch Ultra 2 / Seri…

SQL模板-用户留存率计算

在这段实习中&#xff0c;我遇到了用户留存率计算的需求&#xff0c;这里做个总结。 首先来讲下&#xff0c;什么是用户留存&#xff1f; 在互联网行业中&#xff0c;用户在某段时间内开始使用应用&#xff0c;经过一段时间后&#xff0c;仍然继续使用该应用的用户。用户留存一…