C语言程序设计 第一章

笔记

写本文的初衷是去年(2021年)开学后,有不少朋友问我C语言程序设计课程的题目。恰好我C语言的课程在二年级,所以没能帮上忙,十分愧疚。所以想留下这篇文章,以便复习和辅导。

本文属于自用笔记,假如对于你有帮助的话,鄙人万分荣幸。若有补充,请在评论区留言~

第一章 程序设计和C语言

1、最简单的C语言程序

【例1.1】要求在屏幕上输出:Hello World

解题思路

在主函数中用printf函数原样输出以上文字。

1
2
3
4
5
6
#include <stdio.h>				//这是编译的主命令
init main() //定义主函数
{ //函数开始的标志
printf("Hello World\n"); //输出所指定的一行信息
return 0 //函数执行完毕时返回函数值0
} //函数结束的标志

程序分析

  • 在使用函数库中的输入输出函数时,编译系统要求程序提供有关此函数的信息,程序第1行“#include <stdio.h>”的作用就是用来提供这些信息的。stdio.h是系统提供的一个文件名,stdio是standard input & output的缩写,文件后缀 .h 的意思是头文件(header file),因为这些文件都是放在程序各文件模块的开头的。输入输出函数的相关信息已事先放在stdio.h文件中。
  • main是函数的名字,表示“主函数”;每一个C语言程序都必须有一个main函数。
  • main前面的int表示此函数的类型是int类型(整型),即在执行主函数后会得到一个值(即函数值),其值为整型。
  • return 0; 的作用是当 main 函数执行结束前将整数0作为函数值,返回到调用函数处。函数体由花括号**{}**括起来。
  • printf是C编译系统提供的函数库中的输出函数。printf函数中双引号内的字符串″Hello World.″按原样输出。\n是换行符,即在输出″Hello World.″后,显示屏上的光标位置移到下一行的开头。
  • 每个语句最后都有一个分号,表示语句结束。

注释

  • // 表示从此处到本行结束是“注释”,用来对程序有关部分进行必要的说明。在写C程序时应当多用注释,以方便自己和别人理解程序各部分的作用。在程序进行预编译处理时将每个注释替换为一个空格,因此在编译时注释部分不产生目标代码,注释对运行不起作用。注释只是给人看的,而不是让计算机执行的。
以下为两种不同注释的方法
以//开始的单行注释 以/* 开始以 */结束的块式注释
这种注释可以单独占一行,也可以出现在一行中其他内容的右侧。此种注释的范围从//开始,以换行符结束。如果注释内容一行内写不下,可以用多个单行注释。 这种注释可以包含多行内容。它可以单独占一行(在行开头以/* 开始,行末以 * /结束),也可以包含多行。编译系统在发现一个 /* 后,会开始找注释结束符 */,把二者间的内容作为注释。
//第一行注释
//继续注释
/*一整块都是
注释*/

注意:在字符串中的//和/*都不作为注释的开始。而是作为字符串的一部分

【例1.2】求两个整数之和

解题思路

设置3个变量,a和b用来存放两个整数,sum用来存放和数。用赋值运算符“=”把相加的结果传送给sum。

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>					//这是编译预处理指令 
int main( ) //定义主函数
{ //函数开始
int a,b,sum; //本行是程序的声明部分,定义a,b,sum为整型变量
a=123; //对变量a赋值
b=456; //对变量b赋值
sum=a+b; //进行a+b的运算,并把结果存放在变量sum中
printf("sum is %d\n",sum); //输出结果
return 0; //使函数返回值为0
} //函数结束

程序分析

  • printf(“sum is %d\n”,sum); printf 函数圆括号内有两个参数。第一个参数是双引号中的内容 sum is %d\n,它是输出格式字符串,作用是输出用户希望输出的字符和输出的格式。其中 sum is 是用户希望输出的 字符%d 是指定的输出格式, d 表示用“十进制整数”形式输出。圆括号内第二个 参数sum 表示要输出 变量sum 的值。在执行 printf 函数时,将 sum 变量的值(以十进制整数表示)取代双引号中的 %d

【例1.3】输入两个数,要求输出其中较大者。

解题思路

① 从键盘输入两个数

② 用一个函数来实现求两个整数中的较大者

③ 在主函数中调用此函数并输出结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
//主函数
int main() //定义主函数
{ //主函数体开始
int max(int x,int y); //对被调用函数max的声明
int a,b,c; //定义变量a,b,c
scanf("%d,%d",&a,&b); //输入变量a和b的值
c=max(a,b); //调用max函数,将得到的值赋给c
printf("max=%d\n",c); //输出c的值
return 0; //返回函数值为0
} //主函数体结束

//求两个整数中的较大者的max函数
int max(int x,int y) //定义max函数,函数值为整型, 形式参数x和y为整型
{
int z; //max函数中的声明部分,定义本函数中用到的变量z为整型
if(x>y)z=x; //若x>y成立,将x的值赋给变量z
else z=y; //否则(即x>y不成立),将y的值赋给变量z
return(z); //将z的值作为max函数值,返回到调用max函数的位置
}

程序分析

  • 本程序包括两个函数:①主函数main;②被调用的函数max
  • max 函数的作用是将x和y中较大者的值赋给变量 z ,最后通过 return 语句将z的值作为 **max **的函数值返回给调用 max 函数的主函数。
  • scanf 是输入函数的名字(scanf和printf都是C的标准输入输出函数)。该 scanf 函数的作用是输入变量a和b的值。
  • max(a,b) 调用 max 函数。在调用时将a和b作为 max 函数的实际参数的值分别传送给 max 函数中的形式参数x和y。

C语言程序的结构

  • 一个程序由一个或多个源程序文件组成

    ​ 源程序文件包括:预处理指令、全局声明、函数定义

  • 函数时C程序的主要组成部分

    ​ 一个C语言程序是由一个或多个函数组成的,其中必须包含唯一一个main函数

    ​ 程序中被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己编制设计的函数

  • 一个函数包括两个部分:函数首部和函数体,函数体一般包括声明部分和执行部分

  • 程序总是从main函数开始执行

  • 程序中的操作是由函数中的C语句完成的

  • 在每个数据声明和语句的最后必须有一个分号

  • C语言本身不提供输入输出语句,输入输出操作由函数完成

  • 程序应当包含注释

2、C程序的运行与设计任务

运行C程序的步骤与方法

步骤

① 上机输入和编辑源程序
② 对源程序进行编译
③ 进行连接处理
④ 运行可执行程序,得到运行结果

程序设计的任务

graph TD;

A([开始])

B[问题分析]

C[设计算法]

D[编写程序]

E[对源程序进行编辑, 编译和连接]

F[运行程序分析结果]

G[编写程序文档]

H([结束])

A --> B --> C --> D --> E --> F --> G --> H

本文作者:WindsorWu

本文链接: https://blog.nekolin.top/2022/09/08/StudyC-01/

文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。

评论

您所在的地区可能无法访问 Disqus 评论系统,请切换网络环境再尝试。