第一章C概述
第1章 C语言概述
什么是计算机语言
计算机语言:人和计算机交流和沟通的工 具、计算机和人都能识别的语言。
计算机语言发展阶段:
– 机器语言(由0和1组成的指令) – 符号语言(用英文字母和数字表示指令) – 高级语言(接近于人的自然语言和数学语言)
• 面向过程的语言 (非结构化的语言、结构化语言)
• 面向对象的语言
习题讲解
例: 关于标识符,下列说法不正确的是() A.库函数名称为预定义标识符,不建议用作用户 自定义标识符 B.关键字不能作为用户自定义标识符 C.用户自定义标识符中不区分英文字母大小写 D.标识符中可以出现下划线,且可以出现在标识 符的任何位置。
习答案:C题讲解
习题讲解
例: 以下可以作为C语言自定义标识符的一组是: A.void return if B.printf include fabs C.Max _abc Main D.2abc pay$ sum-10
字符常量:如’?’ – 转义字符:如’\n’
字符串常量:如”boy” 符号常量:#define PI 3.1416
练习
以下四个选项中哪个是合法的实型常量 A.+1e+1 5e-9.4 B.-.60 12e-4 -8e C.123e 2e-4 +2e-1 D.-e3 0.8e-4 5.e-7
答案:操作系统是最基本的系统软件,是对硬 件机器的首次扩充,因此不是应用软件,B
习题讲解
机器语言是计算机唯一能够直接识别并接受的语言。 高级语言编写的程序必须先经过翻译或者编译才能 够生成机器语言,才可以在计算机上直接执行。
二、下面叙述中错误的是: A.程序设计是指设计、编制和调试程序的过程 B.程序设计语言的基本功能就是描述数据和对数据
第1章c语言概述
1.1
什么是计算机程序
用户可以根据自己的实际需要设计一些应用程序,例 如学时成绩统计程序、财务管理程序、工程中的计算 机程序等。 计算机的一切操作都是由程序控制的,离开程序,计 算机将一事无成。 计算机的本质是程序的机器 程序和指令是计算机系统中最基本的概念
1.2 什么是计算机语言
计算机语言:人和计算机交流信息,计算机和人都能 识别的语言
1.4.1 最简单的C语言程序举例
在以上程序各行的右侧,如果有//,则表示从此到本 行结束是“注释”,用来对程序有关部分进行必要的 说明。注释是给人看的,而计算机不执行。 说明:C语言允许用两种注释方式:
//:单行注释 可单独占一行 可出现在一行中其他内容的右侧 /*„„*/:块式注释 可包含多行
1.3 C语言的发展及其特点
2001、2004年先后进行了两次技术修正(TC1和 TC2)。 ISO/IEC 9899:1999(及其技术修正)被称为 C99。 C99是C89(及1995基准增补1)的扩充。 目前不同软件公司提供的各C语言编译系统多数并未 完全实现C99建议的功能。 本书中程序基本上都可以在目前所用的编译系统(如 VC++ 6.0,Turbo C++ 3.0)上编译和运行。
1.4.1 最简单的C语言程序举例
其中 main 表示“主函数”。Main前面的int表示此函 数的类型是int类型。在执行主函数后会得到一个值 (即函数值),其值为整型。每一个C程序都必须有一 个 main 函数。函数体由大括弧{}括起来。本例中主 函数内只有一个输出语句,printf是C编译系统提供的 函数库中的输出函数(详见第4章),双引号(双括号) 内的字符串原样输出。“\n”是换行符,即在输出 “This is a c program.”后,显示屏上的光标位置 移到下一行的开头。下一个输出的字符出现在此位置 上。每个语句最后有一分号,表示语句的结束。
C语言概述.
[例求两数之和。
main( )
{ int a, b, sum; /*定义三个整型变量。(int = integer)。*/ a = 123;b = 456; /*把常数123赋给变量a。把常数456赋给变量b*/ sum = a + b; /*计算a、b之和,并把和值赋变量给sum*/ printf(“Sum is %d\n”, sum);/*输出sum的值*/
3、数据结构丰富。
4 、结构化程序设计思想,符合现代编程风格。 5、语法限制不严格,程序设计自由度大. 6 、 C语言允许直接“访问”硬件物理地址,
能进行位操作,实现汇编语言的大部分功能。 (因此,C语言常被称为“中级语言”。)
7、生成目标代码质量高,程序执行效率高,
仅比汇编程序生成的目标代码执行效率低 10~20%。 8、可移植性好。基本不作修改就可以在不同 型号计算机、不同操作系统上执行。
2、c的历史
发展简史: ALGOL60(1960)(离硬件较远) CPL(1963)(剑桥大学) BCPL(1967)(剑桥大学) B(1970)(贝尔实验室、很接近硬件、但功能有限) C(1972)(贝尔实验室、用C语言写UNIX操作系统) 最初的C语言只是为描述和实现UNIX操作系统提供一种 工作语言而设计的。
§1.3 简单的C程序
[例1.1]
main( ) { printf("This is a C program.\n"); } 该程序的作用:在屏幕上输出一行信息: This is a C program.
1、main( ) 表示“主函数”,每一个C程序都必须有 且只有一个主函数 2、main函数体由大括号{ }括起来。 3、每个语句后面有一个分号。 4、printf( )是C语言的输出函数。双引号内的字符 被原样输出。 5、“\n”是换行符。
C语言程序设计 第一章C语言概述
8.目标代码质量好,程序执行效率高
9.可移植性好
1.2 c语言的基本语法成分
1.C语言字符集:字符是C语言的最基本的元素,C语言字符 集由字母、数字、空白、标点和特殊字符组成(在字符串 常量和注释中还可以使用汉字等其它图形符号)。由字符 集中的字符可以构成C语言进一步的语法成分(如,标识 符,关键词,运算符等)
2.标识符 标识符用来标识变量名、符号常量名、函数名、
类型名、文件名等的有效字符序列。
3.关键字 C语言中一些具有特殊意义的标识符称为关键字。
这些关键字在任何时候都不得用作变量名、符号常量 名、函数名、类型名、文件名等。
4.运算符: 运算符将常量、变量、函数连接起来组成表达式,
表示各种运算。
5.分隔符:分号,空格。起分隔、间隔作用。
int x, y; /*对形参x、y作类型定义*/
{ int z;
/*max函用到的变量z,也要加以定义*/
z=y;
if (x>y) z=x;
return (z); /*将z的值返回,通过max带回调用处*/
}
通过分析,初步看出:
1. C程序全部由一个一个的函数构成。至少有一个 主函数main ( ), 其它函数可被主函数调用或相 互调用。其它函数可为C 函数库中函数,也可为自
1.1 c语言的特点 1.2 c语言的基本语法成分 1.3 c语言的程序结构
1.1 C语言的特点
C语言是在B语言的基础上发展起来的一种中级语 言。它具有高级语言和低级语言(汇编语言)双重功能的 特点,被广泛用于系统软件和应用软件的开发,成为目 前生命力最旺盛的高级语言之一。其主要特点有:
1.C语言源程序由多个相互独立的函数组成 2.语言简洁、紧凑,使用方便、灵活
第1章_C语言概述(C语言程序设计)
通过以上例子可以看出: 通过以上例子可以看出: 1. C程序是由函数构成的。每个程序由一个或多个函数组成, 程序是由函数构成的。每个程序由一个或多个函数组成, 程序是由函数构成的 其中必须有且仅有一个主函数main( )。 有且仅有一个主函数 其中必须有且仅有一个主函数 。 2. 一个可执行的 语言程序总是从 一个可执行的C语言程序总是从main函数开始执行,而不 函数开始执行, 语言程序总是从 函数开始执行 论其在整个程序中的位置如何。 论其在整个程序中的位置如何。 3. C对输入输出实行函数化。 对输入输出实行函数化。 对输入输出实行函数化 4. C程序书写格式自由,一行内可以写几个语句,一个语句 程序书写格式自由,一行内可以写几个语句, 程序书写格式自由 也可以分写在多行上。 也可以分写在多行上。 5. 可用 可用/*……*/对C程序中的任何部分作注释,注释可以写在 对 程序中的任何部分作注释 程序中的任何部分作注释, 程序的任何位置上, 也可不在同一行上。 程序的任何位置上,“/*”与“*/”也可不在同一行上。 与 也可不在同一行上 6. 在C语言中,大小写字母是有区别的。( 语言习惯用小 语言中, 。(C语言习惯用小 语言中 大小写字母是有区别的。( 写字母) 写字母)
主函数
main( ) { int x, y, z; printf(“Please input two integers:\n”) ; scanf(“%d%d” , &x, &y); z = add_xy(x, y); printf(“%d %d %d.”, x, y, z); }
西南林学院计科系
第 1章 概述
西南林学院计科系
第 1章 概述
将汇编源程序翻译为目标程序(机器语言)的过程称 为汇编 汇编。 汇编 连接的原因是由于在目标程序中还可能要调用一些 连接 标准程序库中的标准子程序或其他自定义函数等,由于 这些程序还没有连接成一个整体,因此,需通过“连接 程序”将目标程序和有关的程序库组合成一个完整的 “可执行程序”。
C语言第一章
第一章 C语言概述
第1章 C语言概述
C语言发展历史 简单的C程序介绍 C语言数据类型概述
C语言程序设计
第一章 C语言概述
1.1 C语言的出现和发展历史
• 程序设计语言的发展
机 器 语 言
汇 编 语 言
高 级 语 言
面向过程
面向对象
用助记符号描述的指令系统,可进行地址、位操作 可读性,移植性好,编写应用程序 CPU指令系统,由0、1序列构成的指令码组成 C语言兼有高级和低级语言的功能 面向机器的语言适合写系统软件和应用软件 如 ADD A,一般较难实现汇编语言的某些功能 B 加 如:10000000 编写系统软件,直接对硬件操作,可读性,移植性差 如:地址和位的操作 10010000 减 又称中级语言 < >
数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 可以进行的操作
C语言程序设计
第一章 程序的灵魂——算法
数值数据的表示
C语言中数值数据有两种:整型和浮点小数 1.整数表示形式 十进制:123,-567 八进制:011,072 十六进制:0x12 2.整数的存储空间为两个字节,即16个二进制位。 取值范围为-32768—32767 如果超过这范围,使用占4个字节的长整型,在整 数后面加上一个字母L,此时取值范围可以扩大到 -2147483648—2147483647
C语言程序设计
第一章 C语言概述
1.2 简单的C程序介绍
例1.1 第一个程序This is a c program . 注释 /* example1.1 The first C Program*/ #include <stdio.h> 编译预处理 void main() 主函数 { printf(“This is a c program.\n”); 语句 } 输出: This is a c program.
第1章 C语言概述(国考二级)
1.2 C语言简介
3.可执行程序 目标程序与库函数连接,形成完整的可在操 作系统下独立执行的程序称为可执行程序。 可执行程序的扩展名为“.exe”(在 DOS/Windows环境下)。 用户在编辑完C语言源程序(*.c)后,可以通 过编译将源程序生成二进制的目标文件 (*.obj)文件,然后再将目标文件连接生成 可执行文件(*.exe)。
了程序的某一层次结构。{}一般与该结构语句 的第一个字母对齐,并单独占一行。
3.低一层次的语句或说明可以比高一层 次的语句或说明缩进若干字符后书写(一般 缩进2个英文字符),以便看起来更加清晰, 增加程序的可读性。
1.2 C语言简介
1.2.4 C程序的几种类型文件 1.源程序 C语言源程序的扩展名为“.c”。 2.目标程序 源程序经过编译程序翻译所得到的二进制代 码称为目标程序,目标程序的扩展名为 “.obj”。
1.1 程序设计的基本概念
计算机硬件能直接执行的是机器语言程序,机器语言 都是二进制代码。汇编语言也称符号语言,用汇编语 言编写的程序称汇编语言程序。而高级语言因为代码 与人类语言相近,容易理解,成为现在主流编程语言。 汇编语言和高级语言都必须编译成机器语言才能执行。
高级语言程序设计经过多年的发展,分成两类:面向 过程的程序设计和面向对象的程序设计。面向过程语 言如Pascal和C等命令式语言;面向对象的程序设计语 言如C++、Java、Visual C++、Visual Basic、Visual C#.net等。
1.2 C语言简介
本书以Turbo C 2.0和Visual C++6.0为学习的平 台,分别简称为TC和VC。这两个平台在C/C++ 学习与实验系统中能直接调用并运行,方便 了在图形化操作系统下调试C语言的过程。因 为部分程序在这两个平台运行结果不同,其 不同之处在后面章节中都进行了说明。
第1章C语言C语言概述
C
语
言 程
Ritchie和Thompson在开发UNIX
序
设
计
第 一 章
C 语 言 概 述
C
语 言
和Unix的设计者Ken Thompson
程 序
接受美国国家技术勋章
设
计
第 一 章
C 语 言 概 述
C 语
C语言发展史
言
程 序
ALGOL 60语言
设
计 将CPL语 言煮干, 提炼出它 的精华
ADD AX, 1
C
语
程序设计语言的故事
言
程
序 设
BASIC语言编写的1+1程序
计
PRINT 1+1
第 C语言编写的1+1程序
一
章
C
#include <stdio.h>
语
main()
言
{
概 述
printf("%d\n", 1+1);
}
C
语
言
程
序
设 计
•
应用编程语言
– 机器语言
– 汇编语言
– Basic
语 前提到的例题.最后我认为你可以自己来写C语言标准函数,比
言 概
如strcpy(); strlen();strcat();最好不要过分依赖库函数.
述
C
语 言
学习C语言的参考书
程
C 序
设 1、轻松学习 程序设计
计 ————揭开计算机与程序设计的奥秘
何勤著
中国电力出版社 2008.8
2、C语言大学实用教程(第2版)
《C#程序设计》教案
《C程序设计》教案《C程序设计》教案第一章:C基础知识1.1 C概述C是一种面向对象的、类型安全的编程语言,由微软公司开发。
本章介绍C语言的基础概念、特性和语法规则。
1.2 C开发环境搭建本节介绍如何搭建C开发环境,包括安装Visual Studio、配置项目等。
1.3 C基本语法了解C的基本语法,包括变量声明、数据类型、运算符、条件语句、循环语句等。
1.4 C面向对象编程介绍C的面向对象编程概念,包括类、对象、封装、继承和多态等。
1.5 异常处理学习如何在C中进行异常处理,包括try-catch语句、finally 语句等。
第二章:C高级特性2.1 泛型了解C中的泛型概念和用法,包括泛型类、泛型方法、泛型约束等。
2.2 委托和事件学习C中委托和事件的使用,包括委托的定义、事件的触发和处理等。
2.3 LINQ查询介绍使用LINQ进行数据查询和操作的基本语法和用法。
2.4 多线程编程学习如何在C中进行多线程编程,包括线程的创建、同步和异步操作等。
第三章:C图形界面应用程序开发3.1 Windows窗体应用程序学习如何使用C开发Windows窗体应用程序,包括控件的使用、界面设计等。
3.2 WPF应用程序介绍使用C和XAML开发WPF应用程序的基本知识和技巧。
3.3 Web应用程序了解C开发 Web应用程序的基本过程和技术要点。
3.4 数据库访问和操作学习使用C进行数据库操作,包括连接数据库、执行SQL语句、事务处理等。
附件:本文档涉及的附件可以在附件文件夹中找到,并根据需要进行和使用。
法律名词及注释:1.法律名词1:根据《法》,指的定义和规定。
2.法律名词2:根据《YYY法》,指YYY的定义和规定。
第一章程序逻辑及C语言概述
1.1 C语言概述
【实例2 用“*”输出字母A形】 用“*”作为边线,输出字母“A”的形状。程序运行结果下图所示。
1.1 C语言概述
【程序代码】
#include "stdio.h“
main() {
printf(" *\n"); printf(" * *\n"); printf(" * *\n"); printf(" * * * *\n"); printf(" * *\n"); printf("* *\n"); getch(); }
printf("Hello World!\n");
/*输出字符串:Hello World!*/
printf("北京欢迎您!\n");
/*输出一串汉字:北京欢迎您!*/
getch();
/*Win-TC环境下,输出时使用此语句显示输出框*/
}
1.1 C语言概述
【相关知识】
C语言程序的构成 C语言应用程序是由函数构成的,以main()函数作为入口开始执行应用程序。 main()是C程序的入口函数,每个C程序必须有main()函数,且每个C程序只 能有一个main()函数。{ }括起来的部分,称为函数体,是函数的执行部分。 函数体中,每条以分号“;”结尾的元素,称为语句。 C语言的语句必须以分号结尾。语句可以一行写一条,可以一行写多条,一 个单独的“;”可以自成为一条语句。 程序中的第一行语句:#include "stdio.h"或#include <stdio.h>,用于告 诉编译器在本程序中包含标准输入/输出库的信息。函数体中printf函数是一 个用于打印输出的库函数,后面小号中的内容为这个函数的参数。 函数体中,语句“int i;”是在进行变量i的定义。变量是内存中用于存放数据 的元素,必须先定义,后引用。 程序中,“/*……*/”符号中所描述的内容,是属于某语句或某段程序的注释, 为非执行语句,起到帮助读者理解程序之用。
第1章C语言概述
第1章 C语言概述1、以下叙述中错误的是()。
A) 使用三种基本结构构成的程序只能解决简单问题B) 结构化程序由顺序、分支、循环三种基本结构组成C) C语言是一种结构化程序设计语言D) 结构化程序设计提倡模块化的设计方法参考答案:A【解析】使用顺序,选择(分支),循环三种基本结构构成的程序可以解决所有问题,而不只是解决简单问题,所以A)错误。
2、流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。
其中输入输出框的图形是A) 平行四边形B) 长方形C) 椭圆型D) 菱形参考答案:A【解析】算法可以用各种描述方法进行描述,目前最常用的有3种:伪代码、流程图和N-S结构图。
传统的流程图由下图所示的几种基本图形组成。
A选项正确。
3、以下叙述错误的是A) 在进行模块化程序设计的时候,应首先完成每个模块的编写调试,再集中考虑主程序中的算法B) 同一程序各模块可由一组人员同时进行编写调试,可提高编写程序的效率C) 模块化的程序设计是采用自顶向下、逐步细化的原则D) 程序的每个模块都可通过三种基本结构实现参考答案:A【解析】结构化程序设计把一个复杂问题的求解过程分阶段进行,需要保证自顶向下、逐步细化、模块化设计、结构化编码。
进行模块化设计时,首先设计框架,并定义和调试好各个模块之间的输入输出关系,然后完成各个模块的编写调试后再集中编译,模块化的程序设计采用自顶向下、逐步细化的原则,A选项叙述错误,C选项叙述正确。
各个模块可以由不同人员同时进行编写调试,提高编写程序的效率,B选项叙述正确。
结构化程序主要由3种基本控制结构组成,顺序结构、选择结构、循环结构,这三种基本结构可以解决任何复杂的问题,D选项叙述正确。
故选择A选项。
4、以下选项中叙述正确的是A) 函数体必须由 { 开始B) C程序必须由main语句开始C) C程序中的注释可以嵌套D) C程序中的注释必须在一行完成参考答案:A【解析】函数体是函数首部下面的花括号内的部分,所以函数体必须由{开始,A选项正确。
c程序设计第三版习题参考解答(全)
c程序设计第三版习题参考解答(全) C程序设计第三版习题参考解答本文为《C程序设计第三版习题参考解答》的全文内容。
为了更好地适应题目要求,文章将按照解答问题的方式进行分段,每个问题对应一个小节。
以下是各个问题的解答:第一章:C概述和程序设计基本原则1. 什么是计算机程序?计算机程序是一系列指令的集合,用于告诉计算机执行特定的任务。
它由一系列语句组成,每条语句都包含了计算机可以理解和执行的命令。
2. C语言的起源和发展历程是什么?C语言是由贝尔实验室的Dennis Ritchie于20世纪70年代初开发的一种通用高级编程语言。
C语言基于早期的B语言进行了扩展和改进,成为了应用广泛且高效的编程语言。
3. 编译和解释有什么区别?编译是将源代码一次性转换为机器语言的过程。
它将整个源代码文件编译成可执行文件,然后可以直接在计算机上运行。
解释是逐行解析源代码并立即执行的过程。
解释器逐行读取源代码并将其转换为机器代码,然后立即执行转换后的代码。
4. C程序的一般结构是什么样的?C程序的一般结构包括预处理指令、函数声明、全局变量声明、main函数以及其他函数的定义。
预处理指令用于包含头文件、定义宏等。
函数声明用于声明函数的名称和参数。
全局变量声明用于声明全局变量。
main函数是C程序的入口点,也是程序执行的起始位置。
第二章:C基本语法和数据类型1. C中的注释有哪些类型?在C中,注释分为单行注释和多行注释。
单行注释以"//"开头,多行注释以/*开头,以*/结尾。
2. 什么是变量?变量是在程序中用来存储数据的存储区域。
每个变量都有一个名称和一个数据类型,可以通过变量名来引用它所存储的数据。
3. C语言中的常量有哪些类型?C语言中的常量分为整型常量、实型常量、字符常量和字符串常量。
整型常量表示整数值,实型常量表示实数值,字符常量表示单个字符,字符串常量表示一串字符。
4. C语言中的运算符有哪些类型?C语言中的运算符包括算术运算符、关系运算符、逻辑运算符、赋值运算符、自增自减运算符等。
C语言课件第1章C语言概述
2020/6/7
11
计算机是人类发明的一种自动机器, 它能完成的工作就是计算。计算机的最
基本功能是可以执行一组基本操作,每 个操作完成一件很简单的计算工作,例 如整数的加减乘除运算等等。为使计算 机能按人的指挥工作,每种计算机都提 供了一套指令,其中的每一种指令对应 着计算机能执行的一个基本动作。
32个关键字,9种控制语句,程序书写形式自由。
3.C语言程序易于移植
C语言将与硬件有关的因素从语言主体中分离出来, 通过库函数或其他实用程序实现它们。
4.C语言有强大的处理能力 5.生成的目标代码质量高,运行效率高
2020/6/7
35
C语言的特点
6.数据类型检查不严格,表达式出现二义性 ,不具备数据越界自动检查功能,运算符 的优先级与结合性对初学者难于掌握。
– 提供了一种表达数据与处理数据的功能 – 要求程序员按照语言的规范编程
2020/6/7
38
1.3 程序与程序设计语言
• 程序与指令 • 程序设计语言的功能 • 程序设计语言的语法 • 程序的编译与编程环境
/*变量定义 */ /*函数声明 */ /*输入一个整数 */ /*调用函数计算阶乘 */ /*输出计算结果 */
return 0;
} int factorial(int n)
/*定义计算 n! 的函数 */
{
int i, fact = 1; for(i = 1; i <= n; i++)
/*循环*/
• C程序设计语言,[美]Brian W. Kernighan, Dennis M. Ritchie,徐宝文等译,机械工业出版社,2019
2020/6/7
7
第1章 C语言概述
结果正确吗? 正确 结束
图1-2 从程序编写至运行的一般操作过程
1.3.2 在TC环境下运行 程序的步 环境下运行C程序的步 环境下运行 骤
Turbo C++(简称 )是一个集成编 (简称TC) 译环境,它可以完成C和 程序的编辑、 译环境,它可以完成 和C++程序的编辑、 程序的编辑 编译、连接和运行的全过程, 编译、连接和运行的全过程,而不必脱离 TC环境。 环境。 环境
经编译之后生成的目标程序的文件叫 做目标文件( 做目标文件(如f.o)。 )。 目标程序还不能马上在机器上运行。 目标程序还不能马上在机器上运行。 因为程序中会用到库函数或者其他函数, 因为程序中会用到库函数或者其他函数, 需要把它们连成一个统一的整体, 需要把它们连成一个统一的整体,这一步 工作是连接。 工作是连接。经过连接就把分离的目标程 序连成完整的可执行程序, 序连成完整的可执行程序,对应的文件是 可执行文件。 可执行文件。
24 25 26 27 28 29 30 31 32
} /*Calculating the sum of its n items */ int sum(int a,int x,int k) { int sum_n; ; sum_n=x*a+x* (x −1) *k/2; ; return(sum_n); ; }
行和第8行是数据说明语句 第7行和第 行是数据说明语句,定义 行和第 行是数据说明语句, 变量r和 都是float(浮点)类型。 变量 和area都是 都是 (浮点)类型。 行调用printf( )函数,用来输出提 函数, 第9行调用 行调用 函数 示信息: 示信息:Input:r=? 。 : ?
图1-2给出从建立程序的源文件至最后 给出从建立程序的源文件至最后 上机运行整个过程的一般操作流程。 上机运行整个过程的一般操作流程。
第一章 C语言概述
【例1.2】计算三个数之和 1.2】 #include <stdio.h> main() { int x,y,z; /*定义整型变量x,y,z*/ /*定义整型变量x,y,z*/ 定义整型变量 /*定义实型变量 定义实型变量sum*/ float sum; /*定义实型变量sum*/ /*提示输入三个数据 提示输入三个数据* printf("input x,y,z:"); /*提示输入三个数据*/ /*输入三个数 输入三个数* scanf("%d%d%d",&x,&y,&a使用表达式语句计算和* sum=x+y+z; /*使用表达式语句计算和*/ printf("\nsum=%f\n",sum);/*屏幕上显示计算结果*/ printf("\nsum=%f\n",sum);/*屏幕上显示计算结果* /*屏幕上显示计算结果 } 程序运行结果是在屏幕上显示: 程序运行结果是在屏幕上显示: input x,y,z: 输入三个数据后回车,显示结果为: 输入三个数据后回车,显示结果为: sum=xx.xxx
scanf是C函数库中的标准输入函数。"%d%d%d"是格式串,表明输 scanf是 函数库中的标准输入函数。"%d%d%d"是格式串, 是格式串 入的是十进制整数。输入的数据存放到&x,&y,&z表示的x,y,z &x,&y,&z表示的x,y,z所 入的是十进制整数。输入的数据存放到&x,&y,&z表示的x,y,z所 对应的存储单元。 对应的存储单元。 sum=x+y+z是赋值语句。=是赋值运算符,表示将算术表达式 sum=x+y+z是赋值语句。 是赋值运算符, 是赋值语句 x+y+z的值赋给 的值赋给sum. x+y+z的值赋给sum. 1.3】 【例1.3】求三个数中的最大值 main() { /*变量maxi用来存放得到的最大值 变量maxi用来存放得到的最大值* int a,b,c,maxi; /*变量maxi用来存放得到的最大值*/ printf("please to input a,b, c:"); /*输入时使用空格隔开三个数 输入时使用空格隔开三个数* scanf("%d%d%d",&a,&b,&c); /*输入时使用空格隔开三个数*/ /*函数调用可以当作表达式的运算对象 函数调用可以当作表达式的运算对象* maxi=max(a,b,c); /*函数调用可以当作表达式的运算对象*/ printf("\ printf("\nmaxnum is %d",maxi); }
第1章 c语言概述(习题答案及解析)
习题1 参考答案一、选择题1.1 C 分析:简单程序设计步骤为:确定数据结构、确定算法、编码、调试、整理文档,不包括安装编译程序,故答案为C选项。
1.2 D 分析:一个算法应该具有以下五个重要的特征:有穷性,确定性,输入,输出以及可行性,故答案选D选项。
1.3 A 分析:编译就是把高级语言变成计算机可以识别的二进制语言,不经过编译的源程序是不能运行的,A选项正确。
算法不一定要包含所有三种基本结构,也可以只包含一种或两种,B选项错误。
结构化程序主要由3种基本控制结构组成,循环结构、选择结构、顺序结构,它们组成的算法结构可以解决任何复杂的问题,C选项错误。
算法的复杂程序不是由操作步骤多少决定的,而是按时间复杂度与空间复杂度来衡量,D选项错误。
1.4 A 分析:计算机只能识别机器语言,不能直接识别由高级语言编写的程序,答案为A选项。
1.5 A 分析:C语言程序必须要定义main()函数,B选项错误;只有同时包含三种基本结构时,程序才是结构化程序,C选项错误;程序中的语法错误在编译时能显现,排除D选项,答案选A。
1.6 A 分析:计算机只能识别机器码,机器码是由二进制构成的,因此只能识别二进制构成的代码程序,不可以直接识别由十六进制代码构成的程序,十六进制的代码必须转为二进制才能在计算机上直接执行。
因此选项A错误。
1.7 A 分析:书写风格良好的程序易读性好,方便团队合作,分模块来完成复杂的程序设计,B选项叙述正确。
但是书写风格与程序执行效率无关,程序执行效率与程序的数据结构有关,由算法的时间复杂度和空间复杂度决定,A选项叙述错误。
C语言程序书写规范中,良好的书写习惯中一般一行上写一条语句,这样方便阅读,但是一行写多条语句是符合C程序编写规则的,C选项叙述正确。
C程序允许将一条较长的语句分写在多行,D选项叙述正确。
叙述中错误的是A选项,故选择A选项。
1.8 A 分析:程序中,注释可以出现在程序的任何位置,B选项错误;注释中间不能嵌套另一个注释,C选项错误;注释内容不影响程序编译,D选项错误,答案为A选项。
《C语言程序设计(高职版)》第1章C语言概述
(时间:1次课,2学时)
/webnew/
第1章 C语言概述
教学提示: C语言是近年来在国内外得到迅速推广应用的一种计算机 语言,它之所以得到迅速推广,是与它的特点分不开的。 本章学习的目的是让初学者在深入学习 C 语言之前,首 先对C语言有个初步的了解,让他们知道学习C语言的重 要性及学习方法。本章学习要点有:了解 C 语言程序的 基本结构,掌握上机步骤;掌握 Turbo C的启动方法以 及Turbo C编译器的使用方法。
1.2 简单的C程序介绍
【例1.2】求两个整数之和,两个整数由键盘输入。 main() { int x,y,z; scanf("%d,%d",&x,&y); /*输入两值,分别放入变量x、y中*/ z=x+y; printf("sum=%d\n",z); } 这个C程序只由一个main函数组成。程序的第三行为定义变量部分,在这里定 义了三个整型变量x、y和z,其中的int为数据类型标识符,表示整型;x、y、z 为三个变量的名称,定义变量时变量名之间用逗号隔开。程序的第四行为函数 调用语句,通过scanf函数给变量x和y输入数据,该函数的具体使用将在第3章 中详细介绍。程序的第五行为赋值语句,将变量x与y两数之和赋予变量z,即 用变量z存放两变量x、y的和。程序的第六行用于输出变量z的值。 该程序的运行结果如下: 3,5↙ sum=8
第1章 C语言概述
1.1 1.2 1.3 1.4 1.5
C语言的发展历史及其基本特性 简单的C程序介绍 C程序的上机步骤 小结 思考与练习
1.1 C语言的发展历史及其基本特性
1.1.1 C语言的发展历史 1.1.2 C语言的基本特性
第1章 C语言概述
表1.2 C语言中的控制语句 控制语句 if(表达式)语句或if(表达式)语句1 else 语 句2 do语句 while(表达式) switch(表达式){case 常量表达式1:语句1; case 常量表达式2:语句2;…default:语句 n;} continue goto 控制语句 while(表达式)语句 for(表达式1;表达式2;表达式3)语句 break
输出 24 分析 在C语言中使用任何变量前都必须先定义,int是整型变量; 在程序中“/*……*/”包含的部分为注释,其目的是便于阅读 程序,不影响整个程序的编译运行;关键字“if”是条件判断 语句,其作用是比较num1和num2的大小。
例1.3 任意输入两个数,然后比较大小并输出较大的数。 程序 #include<stdio.h> main() { int num1,num2,num; int max(); printf("Input two numbers:\n"); scanf("%d,%d\n",&num1,&num2);/*从键盘输入2个数据*/ num=max(num1,num2); /*调用子函数max*/ printf("max=%d\n",num); }
1.2 C语言的特点 语言的特点
目前C语言广泛涉猎于事务处理、科学计算、工业控制及 数据库等领域。C语言能够得到如此迅猛的发展,不仅因为它 兼备了高级语言和汇编语言的优点,既适合系统软件的开发, 又适合应用程序的编写,更主要是因为它具备以下优点: 1.具有结构化的控制语句 在C语言中,有3种基本结构,即顺序结构、选择结构和 循环结构。许多复杂的问题往往可以通过这3种结构的交叉使 用得以解决。因此,C语言是理想的结构化语言,符合现代编 程风格的要求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 以下叙述中错误的是()。
A) 使用三种基本结构构成的程序只能解决简单问题B) 结构化程序由顺序、分支、循环三种基本结构组成C) C语言是一种结构化程序设计语言D) 结构化程序设计提倡模块化的设计方法参考答案:A【解析】使用顺序,选择(分支),循环三种基本结构构成的程序可以解决所有问题,而不只是解决简单问题,所以A)错误。
2. 以下关于结构化程序设计的叙述中正确的是A) 结构化程序使用goto语句会很便捷B) 在C语言中,程序的模块化是利用函数实现的C) 一个结构化程序必须同时由顺序、分支、循环三种结构组成D) 由三种基本结构构成的程序只能解决小规模的问题参考答案:B【解析】滥用goto语句将使程序的流程毫无规律,可读性差,对于初学者来说尽量不要使用,所以A错误。一个结构化程序可以包含顺序、分支、循环结构中的一种或多种,所以C错误。由三种基本结构构成的程序可以解决任何复杂的问题,所以D错误。3.计算机能直接执行的程序是A) 源程序B) 目标程序C) 汇编程序D) 可执行程序参考答案:D【解析】计算机能直接执行的程序是二进制的可执行程序,扩展名为.exe。所以选择D选项。4.以下选项中关于程序模块化的叙述错误的是A) 可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序B) 把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C) 把程序分成若干相对独立的模块,可便于编码和调试D) 可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序参考答案:A【解析】程序模块化思想中,可以采用自顶向下、逐步细化的方法。所以选项A中"自底向上"的说法是错误的。5.关于算法,以下叙述中错误的是A) 某个算法可能会没有输入B) 某个算法可能会没有输入C) 一个算法对于某个输入的循环次数是可以事先估计出来的D) 任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕参考答案:D【解析】算法的特征:①有穷性。一个算法(对任何合法的输入)在执行有穷步后能够结束,并且在有限的时间内完成。②确定性。算法中的每一步都有确切的含义。③可行性。算法中的操作能够用已经实现的基本运算执行有限次来实现。④输入:一个算法有零个或者多个输入,零个输入就是算法本身确定了初始条件。⑤输出:一个算法有一个或者多个输出,以反映出数据加工的结果。所以选择D选项。6. C语言程序的模块化通过以下哪个选项来实现A) 变量B) 函数C) 程序行D) 语句参考答案:B【解析】C语言程序的模块化通过函数来体现,所以选择B。7.以下不能用于描述算法的是A) 文字叙述B) 程序语句C) 伪代码和流程图D) E-R图参考答案:D【解析】算法的描述有伪代码、流程图、N-S结构图等。E-R是实体联系模型。所以选择D。8.以下叙述中正确的是A) 程序必须包含所有三种基本结构才能成为一种算法B) 我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令C) 如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达D) 只有简单算法才能在有限的操作步骤之后结束参考答案:B【解析】C语言程序可以不包含三种基本结构,也可以包含其中的一种或多种,所以A错误。三种基本结构可以表示任何复杂的算法,所以C错误。正确的算法,不管是简单算法还是复杂算法都可以在有限的操作步骤之后结束,这是算法的有穷性,所以D错误。9.以下叙述中正确的是A) 在算法设计时,可以把复杂任务分解成一些简单的子任务B) 在C语言程序设计中,所有函数必须保存在一个源文件中C) 只要包含了三种基本结构的算法就是结构化程序D) 结构化程序必须包含所有的三种基本结构,缺一不可参考答案:A【解析】C语言的程序中,函数不一定都放在同一个源文件中,可以分别放在不同源文件中,通过#include命令来引用,所以B错误。结构化程序可以包含三种基本结构中的一种或几种,所以C,D错误。10. C语言主要是借助以下哪种手段来实现程序模块化A) 定义函数B) 定义常量和外部变量C) 使用丰富的数据类型D) 使用三种基本结构语句参考答案:A【解析】C语言程序的模块化通过函数来体现,所以选择A。11.下列叙述中错误的是()。
A) C程序可以由多个程序文件组成B) 一个C语言程序只能实现一种算法C) C程序可以由一个或多个函数组成D) 一个C函数可以单独作为一个C程序文件存在参考答案:B【解析】在一个C语言程序中可以进行多种算法的实现,对算法的个数没有规定,所以B)错误。
1.以下四个程序中,完全正确的是()。
A) #include <stdio.h>main();{/*/ programming /*/printf("programming!\n");}B) #include <stdio.h>main(){/* programming */printf("programming!\n");}C) #include <stdio.h>main(){/*/* programming */*/printf("programming!\n");}D) include <stdio.h>main(){/* programming */printf("programming!\n");}参考答案:B【解析】C语言中注释语句的注释方法是:/* 注释内容*/ 或//注释一行。
所以A)与C)错误,D)选项中预编译命令include<stdio.h>前丢掉了"#"号。
所以选择B)。
2.对于一个正常运行的C程序,以下叙述中正确的是A) 程序的执行总是从main函数开始,在程序的最后一个函数中结束B) 程序的执行总是从程序的第一个函数开始, 在main函数结束C) 程序的执行总是从main函数开始D) 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束参考答案:C【解析】任何一个C程序都是从主函数main开始,至主函数main结束,所以选择C选项3.以下叙述中正确的是A) C语言规定必须用main作为主函数名,程序将从此开始执行B) 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C) C语言程序将从源程序中第一个函数开始执行D) main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等参考答案:A【解析】C语言中的主函数唯一为main()函数不能任意指定,所以B选项错误。C语言从主函数main()开始,到主函数main()结束,所以C选项错误。主函数必须写成小写的main,不能混淆大小写,所以D选项错误。4.以下叙述中错误的是A) 算法正确的程序可以有零个输入B) 算法正确的程序最终一定会结束C) 算法正确的程序可以有零个输出D) 算法正确的程序对于相同的输入一定有相同的结果参考答案:C【解析】算法的特征:①有穷性。一个算法(对任何合法的输入)在执行有穷步后能够结束,并且在有限的时间内完成。②确定性。算法中的每一步都有确切的含义。③可行性。算法中的操作能够用已经实现的基本运算执行有限次来实现。④输入:一个算法有零个或者多个输入,零个输入就是算法本身确定了初始条件。⑤输出:一个算法有一个或者多个输出,以反映出数据加工的结果。所以C选项错误。
5.以下叙述中正确的是A) C语句必须在一行内写完B) C程序中的每一行只能写一条语句C) C语言程序中的注释必须与语句写在同一行D) 简单C语句必须以分号结束参考答案:D【解析】C语句可以跨行来写,但是必须以分号结束,所以A选项错误。C程序中的一行可以有多条语句,所以B选项错误。C语言中的注释语句可以与原语句放在一行也可以不放在一行,所以C选项错误。6.以下叙述中正确的是A) 用C语言编写的程序只能放在一个程序文件中B) C程序书写格式严格,要求一行内只能写一个语句C) C程序中的注释只能出现在程序的开始位置和语句的后面D) C程序书写格式自由,一个语句可以写在多行上参考答案:D【解析】C语言编写的程序可以放置于多个程序文件中,所以A错误。C程序中的一行可以有多条语句,所以B错误。C语言中的注释语句可以与原语句放在一行也可以不放在一行,所以C错误。7.以下叙述中正确的是(D)A) C语言的数值常量中夹带空格不影响常量值的正确表示B) C语言中的变量可以在使用之前的任何位置进行定义C) 在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D) C语言中的注释不可以夹在变量名或关键字的中间8.下列叙述中错误的是A) C程序可以由多个程序文件组成B) 一个C语言程序只能实现一种算法C) C程序可以由一个或多个函数组成D) 一个C函数可以单独作为一个C程序文件存在参考答案:B【解析】一个C语言程序可以实现多种算法,可以由多个程序文件共同构成。
一个C语言程序可以由一个或多个函数组成,一个C函数可以单独作为一个C程序文件存在,被包含到其他程序中。所以选择B选项。9.C语言源程序名的后缀是A) .CB) .exeC) .objD) .cp参考答案:A【解析】C语言源程序名的后缀是.C,目标文件的扩展文件是.obj,可执行文件的扩展名是.exe。10以下叙述正确的是A) C语言函数可以嵌套调用,例如:fun(fun(x))B) C语言程序是由过程和函数组成的C) C语言函数不可以单独编译D) C语言中除了main函数,其他函数不可作为单独文件形式存在参考答案:A【解析】C语言程序是由函数组成的,所以B错误。C语言函数可以单独进行编译,所以C错误。每个C 程序中必须包含一个main函数,但不一定是每个C程序文件中必须有,用户单独编写的某个函数也可以存储为一个C程序文件,所以D错误。11.有以下程序(D)#include <stdio.h>main(){ int a=0, b=0;/* 给a赋值a=10;b=20; 给b赋值*/printf("a+b=%d\n",a+b); /* 输出计算结果*/}程序运行后的输出结果是A) 出错B) a+b=30C) a+b=10D) a+b=012.以下叙述中正确的是A) N-S流程图只能描述简单的顺序结构的程序B) 程序的算法只能使用流程图来描述C) 结构化程序的三种基本结构是循环结构、选择结构、顺序结构D) 计算机可以直接处理C语言程序,不必进行任何转换参考答案:C【解析】N-S流程图是可以描述循环结构、选择结构、顺序结构等多种结构的程序,所以A选项错误。程序的算法可以用流程图、伪代码、N-S结构图等方法表示,所以B选项错误。计算机只能处理二进制表示的目标程序,不能直接执行由C语言编写的源程序,所以D选项错误。13.以下叙述中正确的是A) 每个后缀为.C的C语言源程序都可以单独进行编译B) 每个后缀为.C的C语言源程序都应该包含一个main函数C) 在C语言程序中,main函数必须放在其他函数的最前面D) 在C语言程序中,只有main函数才可单独进行编译参考答案:A【解析】一个普通的C函数可以单独作为一个C的程序文件存在被包含到其他程序中,每个后缀为.C的C语言源程序都可以单独进行编译,所以B、D错误。main函数可以放在程序的开始,中间,最后,所以C错误。14.以下叙述中错误的是A) C程序必须由一个或一个以上的函数组成B) 函数调用可以作为一个独立的语句存在C) 若函数有返回值,必须通过return语句返回D) 函数形参的值也可以传回给对应的实参参考答案:D【解析】形参是函数定义时由用户定义的形式上的变量,实参是函数调用时,主调函数为被调函数提供的原始数据。