文档库 最新最全的文档下载
当前位置:文档库 › 第一章C++语言简介

第一章C++语言简介

第一章C++语言简介
第一章C++语言简介

第1章 C++语言简介本章目标掌握C++程序的基本特点。

熟悉实验环境和方法。授课内容 1.1C++程序基本结构

1.2 算法与程序

1.3 C++程序的基本要素1.4 输入、编译、调试和运行一个C++程序

程序设计举例

调试技术

小结

1.1、C++程序基本结构一个最基本的C++程序// Example 1-1: 屏幕上显示: Hello World!

#include //包含基本输入输出库文件

int main( ) //主函数名

{

cout << "Hello World!" << endl; //屏幕显示语句

return 0; //表示程序顺利结束

}

C++的程序由函数组成。该程序只由一个主函数main()构成

一对花括号“{ }”是主函数的定界符

程序用小写字母,区分大小写,书写采用自由格式

语句用分号结束;一行可以写多个语句

注释行:以两个“//”起头的任何文字

1.2、算法与程序 算法: 也就是解决问题的方案。

问题: 给定两个正整数p和q, 求其最大公因数?

古希腊数学家欧几里德的算法:

?–步骤1: 如果p < q, 交换p 和q

?–步骤2: 求p/q的余数r

?–步骤3: 如果r = 0, 则 q 就是所求的结果

否则反复做如下工作:

令p = q, q = r, 重新计算 p 和q 的余数r,直到r = 0为止,

则 q 就是原来的两正整数的最大公因数.

// Example 1-2: 计算两个正整数的最大公因数

#include //基本输入输出库

void main()

{ // 说明三个整型变量 p,q,r

int p, q, r;

// 提示用户由键盘输入两个正整数

printf("Please input two integer numbers:\n");

scanf("%d %d",&p,&q);

// 如果 p < q,交换 p 和 q

if(p

{ r = p;

p = q;

q = r;

}

// 计算 p 除 q 的余数 r

r = p%q;

// 只要 r 不等于 0,重复进行下列计算

while(r != 0)

{ p = q;

q = r;

r = p%q;

}

// 输出结果

printf( "The maximum common divisor is %d.\n",q);

}

1.3 C++程序的基本要素 标识符、关键词和标点符号

注释

源程序

文件包含

输入与输出

标识符 是程序中变量、类型、函数和标号的名称。

由字母、数字和下划线“_”组成,第一个字符不能是数字。

“大小写敏感”。

各种C++编译器对在标识符中最多可以使用多少个字符的规定各不相同,ANSI标准规定编译器应识别标识符的前6个字符。

在标识符中恰当运用下划线,大、小写字母混用以及使用较长的名字都有

助于提高程序的可读性。标识符、关键词和标点符号 C++关键词

asm,auto,bad_cast,bad_typed,bool,break,case,catch,char,class,const,const_cast,continue,default,delete,do,double,dynamic_cast,else,enum,except,extern,explicit,false,finally,float,for,friend,

goto,if,inline,int,long,mutable,namespace,new,operator,private,protected,public,register,reinterpret_cast,return,short,signed,sizeof,static,static_cast,struct,switch,template,this,throw,try,type_info,typedef,typeid,union,unsigned,using,virtual,void,volatile,while

C++还有12个标识符作为编译预处理

define,elif,else,endif,error,if,ifdef,ifndef,

include,line,progma,undef

C++的标点和特殊字符有

! % ^ & * ( ) – + = { } | ~

[ ] \ ; ' : " < > ? , . / #

注释 C++的注释有两种形式:

?// 用于单行注释

?/* … */ 用于多行注释

注释可以出现在空白符允许出现的任何地方,但习惯上将注释和其所描述的代码相邻,一般可以放在代码的上方或右方,不放在下方。注释应当准确清晰,不要有二义性。

恰当使用注释可以使程序容易阅读。 源程序 一个C++源程序由一个或多个源文件构成。

为了使程序的结构清晰,通常的做法是在一个源文件中放置变量、类型、宏和类等的定义(称为头文件,后缀为.h),然后在另一个源文件说明引用这些变量(称为源程序文件,后缀一般为.cpp)。

文件包含

文件包含是编译预处理命令中的一种,它是指一个程序将另一个指定文件的内容包含进来,即将另一个程序文件在编译时嵌入到本文件中。

文件包含操作的一般格式为:

?#include <文件名>或者?#include "文件名"

原来的源程序文件和用文件包含命令嵌入的源程序文件在逻辑上被看成是同一个文件,经过编译后生成一个目标代码文件。

输入与输出cin表示输入流对象,它是输入输出流库的一部

分,与cin相关联的设备是键盘,其基本用法为:

cin>>V1>>V2>>…>>Vn;

?在输入时,应注意用空格或tab键将所输入的数据分隔开。

?必须注意所输入数据的类型应与接受该数据之变量的类型相匹配,否则输入操作将会失败或者得到的将是一个错误的数据。

cout 表示输出流对象,它也是输入输出流库的一部分,与cout 相关联的设备是显示器,其基本用法是:

cout << E1 << E2 <<…<< Em;

?在输出时,要注意恰当使用字符串和换行符endl ,提高输出信息的可读性。 1.4、输入、编译、调试和运行一个C++程序

程序设计举例 例1.1 计算万有引力

例1.2 加法器

例1-1 计算星球之间的万有引力算法分析: 由普通物理知, 两个质量分别为m1和m2的物体之间的万有引力与两个物体质量的乘积成正比, 与两个物体质心之间的距离R 的平方成反比:

式中的G , 力的单位为达因, 则

G ≈6.67×10-11牛·米^ 2/千克^ 2

因此, 只要将太阳的质量1.987×10^30千克和地球的质量5.975×10^24千克以及两者之间的距离1.495×10^11米代入上式, 即可算出太阳和地球之间的万有引力。

#include

double grav(double m1, double m2, double distance)

double g, G = 6.67E-11;

g = G*m1*m2/(distance*distance);

return g;

}

int main()

{

double Gse, Gme;

//太阳1.987×1030千克,地球5.975×1024千克,间距1.495×1011米double Msun = 1.987E30, Mearth = 5.975E24;

Gse = grav(Msun, Mearth, 1.495E11);

cout << "The gravitation between sun and earth is "<< Gse <<" N." << endl;

//月亮7.348×1022千克,地球5.975×1024千克,间距3.844×105米double Mmoon = 7.348E22, Dme = 3.844E5;

Gme=grav(Mmoon, Mearth, Dme);

cout << "The gravitation between moon and earth is "<< Gme <<" N." << endl;

return 0;

}

例1.1 分析将计算任意两个质点之间的引力公式单独编写为

一个函数grav(), 用于计算太阳和地球之间的万有引力。这样做有两个好处: ?(1)简化了主函数的编写。在编写主函数时,只需按要求填写实际参数,调用grav()就可以得到计算结果。

?(2)如果还要计算其他物体之间的引力, 例如地球和月球之间的万有引力,就不必再次编写相应的程序段了, 只需在调用grav()函数时换上相应的实际参数即可。

按这种方法设计程序就称为模块化程序设计。

C++程序的基本结构

[全局变量说明]

[子函数1 [(形式参数)]

{

[子函数局部变量说明]

[语句序列]

}

[。。。。]

int main()

{

[局部变量说明]

[语句序列]

return 0;

}

例1.2 加法器#include

int main()

{

double a,b,c;

cout<<"Please input two numbers: ";

cin>>a>>b;

c = a+b;

cout << a << " + " << b << " = " << c<< endl;

return 0;

}

输入: Please input two numbers: 12.0 34.0

输出: 12.000000 + 34.000000 = 46.000000

调试技术:Visual C++的集成开发环境菜单和工具栏

Developer Studio窗口

?文档窗口

?Workspace(工作区)窗口

?Output(输出)窗口

常用VC++的菜单FILE----NEW----PROJECTS---Win32 Console Application

FILE----Close Workspace(项目工作区)

FILE----Recent Workspace

Project----Add to Project

Build----Rebuild All

Build----Execute(Ctrl+F5)

小结

?C++程序由函数组成,函数由变量及参数说明语句和语句序列构成。

?每条语句必须用分号“;”结尾。一个语句行可以书写多个语句,一个语句也可以分开写在连续的若干行上(但名字、语句标识符等不能跨行书写)。

?C++语言允许在程序中插入注释行。

?C++语言提供了包括I/O功能在内的大量标准库函数,但调用这些函数时,必须在程序头部包含库文件。

?输入输出命令cin与cout

?cin >>v1>>v2>>v3…>>vn

?cout <

《C语言程序设计教程》(第三版)李凤霞 主编——第一章习题答案

第一章:程序设计基础知识 一、单项选择题 1、面向过程的程序设计语言是________。 A)机器语言 B)汇编语言 C)高级语言 D)第四代语言 2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是_________。 A)设计数据结构和算法B)建立数学模型 C)编写程序 D)调试和运行程序 3、以下常用算法中适合计算等差级数的算法是_________。 A)枚举法B)递推法 C)分治法 D)排序法 4、以下不属于算法基本特征的是__________。 A)有穷性 B)有效性C)可靠性 D)有一个或多各输出 5、以下描述中不正确的是___________。 A)程序就是软件,但软件不仅仅是程序。 B)程序是指令的集合,计算机语言是编写程序的工具。 C)计算机语言都是形式化的语言,它有一个语法规则和定义。 D)计算机语言只能编写程序而不能表示算法。 6、下面描述中,正确的是_____________。 A)结构化程序设计方法是面向过程程序设计的主流。 B)算法就是计算方法。 C)一个正确的程序就是指程序书写正确。 D)计算机语言就是编写程序的工具而不是表示算法的工具。 7、下面描述中,不正确的是______________。 A)递归法的关键是必须有一个递归终止的条件。 B)递归算法要求语言具有反复自我调用子程序的能力。 C)对于同一个问题,递推算法比递归算法的执行时间要长。 D)递推算法总可以转换为一个递归算法。 8、N-S图与传统流程图比较,主要优点是_________。 A)杜绝了程序的无条件转移。 B)具有顺序、选择和循环三种基本结构。 C)简单、只管。 D)有利于编写程序。 A)B)C)D) 二、填空题 1、在流程图符号中,判断框中应该填写的的是________。(判断条件) 2、结构化程序设计是__________应遵循的方法和原则。(面向过程编程) 3、结构化程序必须用__________程序设计语言来编写。(具有结构化控制语句) 4、可以被连续执行的一条条指令的集合称为计算机的________。(程序) 5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(功能操作流程控制) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性)

《C语言程序设计》第1章 C语言概述练习题答案

第一章 C语言概述练习题 一、选择题 1.C语言是一种( )。 A) 机器语言B) 汇编语言C) 高级语言D) 低级语言 2.下列各项中,不是C语言的特点是( )。 A) 语言简洁、紧凑,使用方便B) 数据类型丰富,可移植性好 C) 能实现汇编语言的大部分功能D) 有较强的网络操作功能 3.下列叙述正确的是( )。 A) C语言源程序可以直接在DOS环境中运行 B) 编译C语言源程序得到的目标程序可以直接在DOS环境中运行 C) C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行 D) Turbo C系统不提供编译和连接C程序的功能 4.下列叙述错误的是()。 A) C程序中的每条语句都用一个分号作为结束符 B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 5.一个C程序的执行是从()。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 6.以下叙述不正确的是()。 A) 一个C源程序必须包含一个main函数 B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 7.C语言规定:在一个源程序中,main函数的位置( )。 A)必须在程序的开头B)必须在系统调用的库函数的后面 C)可以在程序的任意位置D)必须在程序的最后 8.一个C语言程序是由( )。 A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成D) 若干子程序组成 9.以下有4组用户标识符,其中合法的一组是()。 A) For B) 4d C) f2_G3 D) WORD -sub DO IF void Case Size abc define 10. 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是 ()。 A) 有零个或多个输入B) 有零个或多个输出C) 有穷性D) 可行性 二、填空题 1.汇编语言属于面向( 面向机器的 )语言,高级语言属于(面向问题的)语言。 2.用高级语言编写的程序称为(源)程序,它可以通过解释程序翻译一句执行一句的方式 执行,也可以通过编译程序一次翻译产生(目标)程序,然后执行。

第一章C语言概述习题附答案

第一章C语言概述 一、单选题 1. C语言程序的执行,总是起始于()。C A.程序中的第一条可执行语句 B.程序中的第一个函数 C.main函数 D.包含文件中的第一个函数 分析:在一个C语言源程序中,无论main函数书写在程序的前部,还是后部,程序的执行总是从main函数开始,并且在main函数中结束。本题正确答案为C。 2、C语言程序的基本单位是()。C A)程序行B)语句C)函数D)字符 3、C语言中规定:在一个源程序中main函数的位置()。C A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 4、以下述叙正确的是()。C A.在C程序中,main函数可有可无 B. C程序的每行中只能写一条语句 C. C语言本身没有输入输出语句 D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 5、能将高级语言编写的源程序转换为目标程序的是()。C A.链接程序 B.网络程序 C.编译程序 D.WORD字处理程序 6、下列说法中正确的是()。C A)C程序书写时,不区分大小写字母 B)C程序书写时,一行只能写一个语句 C)C程序书写时,一个语句可分成几行书写 D)C程序书写时每行必须有行号 分析:C语言严格区分大小写字母,如"A1"和"a1"被认为是两个不同的标识符,C程序的书写非常灵活,既可以一行多句,又可以一句多行,且每行不加行号。本题正确答案为C。 7、下面对C语言特点,不正确描述的是()。C A)C语言兼有高级语言和低级语言的双重特点,执行效率高 B)C语言既可以用来编写应用程序,又可以用来编写系统软件 C)C语言的可移植性较差 D)C语言是一种结构式模块化程序设计语言 分析:C语言是介于汇编语言和高级语言之间的一种语言,由于它可以直接访问物理地址,对硬件操作,所以C语言既可以编写应用程序,又可以开发系统软件,而且C程序可移植性好于汇编语言,程序清晰具有模块化的特点。本题正确答案为C。 8、C语言源程序的最小单位是()。D A)程序行B)语句C)函数D)字符 分析:程序行、语句、函数都是由字符构成的,字符是C语言的最小单位。本题正确答案为D。 9.计算机内部运算使用的数是()。C A)十进制数B)十六进制数C)二进制数D)八进制数

C语言程序设计第一章参考答案

第一章参考答案 1.3.1 思考: 1.error C2199: syntax error : found 'int (' at global scope (was a declaration intended?) error C2143: syntax error : missing ';' before '{' error C2447: missing function header (old-style formal list?) 在c程序设计中特别要注意每个程序都有且只有一个主函数,切忌不可忘了主函数main. 2. error LNK2001: unresolved external symbol _main fatal error LNK1120: 1 unresolved externals 在c程序设计中要注意区分大小写,相同的字符的大小写所代表的意义可能完全不一样。 3.error C2146: syntax error : missing ';' before identifier 'printf'. 在c程序设计中要注意每个完整的语句后面都必须要有“;”,否则就会出现错误。 4.error C2065: 'printf' : undeclared identifier error C2146: syntax error : missing ';' before identifier 'printf't. 在c程序设计中#include是包含头文件函数库,象标准的输入和输出函数’scanf’和’printf’都是包含定义在#include中的。所以一般的函数都不应缺少这个头文件。 5在例1-1.c中,任何一行的输出语句中少了符号\n,将会使下一条语句的输出紧跟在该行,而不会出现在例1-1.c那样的每行输出一条语句。 在C语言中符号\n的作用是在输出中换行。 6. error C2001: newline in constant error C2146: syntax error : missing ')' before identifier 'printf'’ 1.3.2 思考: 1.error C2065: ’x’ :undeclared identifier error C2065: ’y’ :undeclared identifier 在c程序设计中要注意,任何一个变量都要遵循先定义再使用的原则。 2 .程序运行出错,无法得到结果。 3 能 4. warning C4390: ';' : empty controlled statement found; is this the intent? error C2181: illegal else without matching if 这是因为判断语句if后面必须要有其他语句,这样if语句才有意义,满足if语句的条件后就执行跟在其后的语句,而在if(x>y)后面加分号就是使if(x>y)单独成为一个语句,所以才出现了错误。 5. 因为int、if、else在c语言中都是保留字(也叫关键字),它们是具有特定含义的、用 于构成语句成分或作为存储类型和数据类型说明的一些单词。

第1章C语言概述

第1章C语言概述 C语言是国际上广泛流行的、很有发展前途的高级程序设计语言,它既可以用来编写系统软件,又可以用来编写应用软件。C语言也是大学生学习程序设计选用最多的语言。本章主要介绍C语言的发展历史、C语言的特点、C程序的结构和C程序的上机步骤。通过本章的学习,读者应重点掌握C语言的特点、C程序的结构和上机运行C程序的方法。 1.1 C语言的发展和特点 自从计算机诞生以来,为了更好地进行软件的设计,各种高级程序设计语言也在不断地发展、进步和完善。C语言就是其中最优秀的程序设计语言之一。 1.1.1 C语言的发展过程 C语言是目前世界上最流行、使用最广泛的高级程序设计语言。在设计操作系统等系统软件和需要对硬件进行操作时,使用C语言编程明显优于其他高级语言,许多大型应用软件和系统软件都是用C语言编写的。 C语言的起源可以追溯到ALGOL 60。1963年英国的剑桥大学在ALGOL 60的基础上推出了CPL语言,但是CPL语言难以实现。1967年英国剑桥大学的Matin Richards对CPL 语言作了简化,推出了BCPL语言。1970年美国贝尔实验室的Ken Thompson以BCPL语言为基础,又作了进一步的简化,设计出了很简单且接近硬件的B语言,并用B语言写了第一个UNIX操作系统,在DEC PDP-7型计算机上实现。1971年在DEC PDP-11上实现了B语言。1972年由美国的Dennis M.Ritchie在B语言的基础上设计出了C语言,并首次在UNIX操作系统的DEC PDP-11计算机上使用。 为了推广UNIX操作系统,1977年Dennis M.Ritchie 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。1978年Brian W.Kernighian和Dennis M.Ritchie 出版了名著《The C Programming Language》,从而使C语言成为目前世界上流行最广泛的高级程序设计语言。 随着微型计算机的日益普及,出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,1983年美国国家标准研究所(ANSI)为C语言制定了第一个ANSI标准,称为ANSI C。1987年美国国家标准研究所

C语言第一章习题带答案

练习1-1答案 选择题 1.下列4组字符串中都可以用作C语言程序中的标识符的是( D )。 A.print 3d oodb B.I\m one_half start$it C.Pxq my->book line# D.str_1 Cpp into 2.下面的说法正确的是( C )。 A.C程序由符号构成B.C程序由标识符构成 C.C程序由函数构成D.C程序由C语句构成3.与十进制数35相等的二进制数是( A )。 A.100011 B.01001 C.100110 D.100101 4.与47值相等的十六进制数是( A )。 A.2F B.215 C.32F D.115 5.(01101)2 + (101101)2的值是( B )。 A.(101010)2 B.(3A)16 C.(2A)16 D.57 6.将15向左移动2位后的值是( D )。 A.(3C)16 B.(00111100)2 C.(60)10 D.都正确7.将250与5进行按位与的结果是( A )。 A.0 B.1 C.(FF)16 D.(F0)16 8.将(AF)16与(78)16进行按位异或的结果是( A )。 A.(D7)16 B.(28)16 C.(D8)16 D.(27)16 9.将(717)8按位取反的结果是( B )。

A.(110001)2 B.(060)8 C.(60)10 D.都不正确 练习2-1答案 选择题 1.C语言中的简单数据类型包括( B )。 A.整型、实型、逻辑型B.整型、实型、字符型 C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型2.在C语言中,错误的int类型的常数是( A )。 A.32768 B.0 C.037 D.0Xaf 3.下列常数中不能作为C的常量的是( D )。 A.0x45 B.2.5e-2 C.3e2 D.0582 4.设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是( B )。 A.0至255 B.0~65535 C.-32768~32767 D.-256~255 5.下面4个选项中,均是合法转义字符的选项是( A )。 A.'\'','\\','\n' B.'\','\017','\' C.'\018','\f','xab' D.'\\0,'101','x1f 6.在C语言中,数字029是一个( D )。 A.八进制数B.十六进制数 C.十进制数D.非法数 7.下列可以正确表示字符型常数的是( B )。 A."a" B.'\t' C."\n" D.297 8.以下( C )是错误的转义字符。 A.'\\' B.'\'' C.'\81' D.'\0'

《明解C语言》第1章 初识C语言练习题答案

【个人观点】 练习1-1 #include int main(void) { printf("15减去的结果是%d\n",15 - 37); return (0); } 练习1-2 #include int main(void) { printf("风\n林\n火\n山\n"); return (0); } 练习1-3 #include int main(void) { printf("喂!\n您好!\n\n再见\n"); return (0); } 练习1-4 #include int main(void) { int no; printf("请输入一个整数:"); scanf("%d",&no); printf("它与10的和是:%d\n",10 + no); return (0); } 练习1-5 #include

int main(void) { int no; printf("请输入一个整数:"); scanf("%d",&no); printf("该数减去10的结果是:%d\n",no - 10); return (0); } 练习1-6 #include int main(void) { puts("风"); puts("林"); puts("火"); puts("山"); } 练习1-7 #include int main(void) { int n1,n2; int wa; puts("请输入两个整数:"); printf("整数:"); scanf("%d",&n1); printf("整数:"); scanf("%d",&n2); wa = n1 * n2; printf("它们的和是:%d\n",wa); return (0); } 练习1-8 #include

c语言第1、2章练习题答案

第1、2章练习题 1.以下叙述正确的是()。B A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如fun(fun(x)) C)C语言函数不可以单独编译D)C语言除了main函数外,其他函数不可以作为单独文件形式存在2.以下叙述正确的是()。C A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句 C)简单的C语句必须以分号结束D)C语句必须在一行内写完 3.以下叙述中正确的是()。C A)C程序中的注释只能出现在程序的开始位置和语句的后面 B)C程序书写格式严格,要求一行内只能写一条语句 C)C程序书写格式自由,一条语句可以写在多行上 D)用C语言编写的程序只能放在一个程序文件中 4.下列叙述中错误的是()。A A)一个C语言程序只能实现一种算法B)C语言程序可以由多个程序文件组成 C)C语言程序可以由一个或多个函数组成D)一个C函数可以单独作为一个C程序文件存在5.以下叙述中正确的是()。C A)C语言程序将从源程序中的第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C)C语言规定必须用main作为主函数名,程序从此开始执行,在此结束 D)main可作为用户标识符,用以命名任意一个函数作为主函数 6.对于一个正常运行的C程序,以下叙述正确的是()。A A)程序的执行总是从main函数开始,在main函数中结束 B)程序的执行总是从程序的第一个函数开始,在main函数结束 C)程序的执行总是从main函数开始,在程序的最后一个函数中结束 D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束 7.下列叙述正确的是()。D A)每个C语言程序文件中都必须有一个main( )函数 B)在C语言程序中main( )函数的位置是固定的 C)C语言程序中所有函数之间都可以相互调用,与函数所在的位置无关 D)在C语言程序的函数中不能定义另一个函数 8.下列叙述中错误的是()。B A)C程序在运行过程中所有计算机都以二进制方式进行 B)C程序在运行过程中所有计算机都以十进制方式进行 C)所有C程序都需要在链接无误后才能运行 D)C程序中整型变量只能存放整数,实型变量只能存放浮点数 9.计算机能直接执行的程序是()。D A)源程序B)目标程序C)汇编程序D)可执行程序 10.C语言源程序的后缀名是()。B A).exe B).c C).obj D).cp 11.下列叙述中错误的是()。D A)计算机不能直接执行用C语言编写的源程序 B)C程序经C编译器编译后,生成后缀为.obj的文件,这是一个二进制文件 C)后缀为.obj的文件,经连接后生成后缀为.exe的文件,这是一个二进制文件 D)后缀为.obj和.exe的二进制文件都可以直接运行 12.算法中,对需要执行的每一步操作都必须给出清楚、严格的规定,这属于算法的()。C

C语言预习及课后习题(参考答案1-5)

第一章C语言概述 课前预习题 1.函数 2.main()函数3.单行注释、块注释、A 参考分析:C语言总是从main函数开始,main函数结束。但是C语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。如果不考虑exit(0)等函数的特殊作用,C则总是在main函数结束。 2.C 参考分析:C程序对main函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。因此,如果注释中存在错误,系统是不可能发现的。另外,C语言的I/O操作均通过函数实现,系统本身未提供相应的语句。 3.D 参考分析:C语言中,注释语句的位置是任意的,当然,它不能破坏标识符的完整性。C语言只是将一个注释看作是一个空格,因此对注释内的任何错误都不作检查。 4. C 5.B 参考分析:通常许多语言程序由主程序和子程序构成,但是C语言是函数式语言,整个程序由众多函数组成。尽管有时习惯上称main函数为主程序,显然,严格地讲还是B更为符合C语言的规则。 6.C 7.B 8.C 9.C 10.C 11.绘制NS算法流程图。 (1)输入10个数,求其中的最大值。 (2)输入3个数,将它们升序排列输出。 (3)输入2个数,求它们的最大公约数。(4)输入一元二次方程的系数a、b、c,判断其根。

第二章数据类型、运算符与表达式 课前预习题 1.变量在内存中所占的字节数、变量的表数范围、变量允许参与的运算2.1、4、8 3.float、double 4.八进制、十进制、十六进制5.1 6.26 7.12、4 8.6、4、2 9.-60 10.2 11.10、6 12.13.14.4 15.1 16.0 17.9 18.字符、数字、下划线19.'f' 20.21.int型22.m/10%10*100+m/100*10+m%10 课后习题 1.A 分析:在不同的计算机系统中,不同的C语言系统中,其各种数据类型所占据的存储空间是不同的,但是有一个总的原则,即:char<=short<=int<=long<= float<=double,只有A符合16位PC机中的具体环境。 2.C 参考分析:逗号表达式的计算结果是最后一个表达式的值。k=23是括号内最后一个表达式,因此x变量的值来自k变量的值。 3.B 参考分析:逗号表达式的计算结果是最后一个表达式的值。b++在所在表达式参与运算时的值是5,该表达式计算完成后,b进行自增运算,故a+b的值为2+6=8。 4.A 参考分析:是关键字的有:char、case、while。 5.B 参考分析:不是关键字的:include、scanf、type 6.C 参考分析:合法的有:A、P_0、la0、_A、_123、temp、INT。 7.C 参考分析:教材中只是强调首字符必须为字母,我们应当知道,在语言系统中,下划线和字母具有同等的“法律效力”。 8.A 参考分析:不合法的B2,C2,C3,D2。解释:A2:-0xffff十六进制数本身已经包含了符号位,一般不前面加符号位,但加上符号位也不错误;C3:0668在有些C系统中,八进制数中允许出现8,但是通常不允许使用8;D3:0x显然后面缺少数值,但在TC中是允许的。 9.D 参考分析:不合法的A1,B3,C1,C3,D。解释:A1:--0f1十六进制数没有0x,显然不合法,这里需要讨论的是常

第一章C语言概述

第一章C语言概述 一、选择题: 1、一个C程序的执行是从( A )。 A本程序的main函数开始,到main函数结束 B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C本程序的main函数开始,到本程序文件的最后一个函数结束 D本程序文件的第一个函数开始,到本程序main函数结束 2、在 C 语言中,每个语句必须以( D )结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 3、C 语言规定:在一个源程序中,main函数的位置( C )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 4、一个C 语言程序是由( B )。 A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 5、下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数

D. 程序可以从任何非主函数开始执行 6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D. 自动保存源文件 二、填空题: 1、C 语言只有 32 个关键字和 9 种控制语句。 2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C 语言程序。 3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。 4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函 数 printf 完成的。 5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名 是 .exe 。 6、C 语言的标识符只能由字母、数字和下划线三种字符组成。 第三章数据类型、运算符和表达式 一、选择题: 1、以下选项中,不正确的 C 语言浮点型常量是( C )。

C语言程序设计试题集及其答案

第一章基础知识 一.填空 1. 每个C 程序都必须有且仅有一个__________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、___________ 、链接、加载 和执行。 3. 软件是程序,以及________ 、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________ ”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和_________ 两大类 。 6. C 语言是由_______ 组成的。 7. C 语言的函数可分为主函数main 、标准库函数和____________ 。 8. 一个函数是由两部分组成的,即:___________ 和函数体。 9. 编译是将C语言所编写的源程序___________ 成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为。 11. 机器语言是以___________ 形式表示的机器基本指令的集合,是计算机系统唯一不需要翻 译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用____________ 来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以_____ 开头的代码行都先由预处理程序预处理。 13. C 程序的执行均是由执行_________ 开始。 15. 函数体即为包含在{2内的部分。它分为 __________ 和为完成功能任务由若干个C语句组成的执行部分。 16. C 语言程序中一条简单语句是以___________ 字符作为结束符的。 17. C 语言是结构化、 ________ 的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______ 程序” ,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以说,用高级语言进行程序设计,其编程效率高,方便易用,但_______ 没有低级语言高。 20. 第一个系统体现结构化程序设计思想的教学工具语言是 _______ 语言。 解答: 1. main()

C语言第一章答案

单项选择题: 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D)。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

c语言第1、2章练习题答案

第1、2xx 练习题 1.以下叙述正确的是()。B A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如 fun(fun(x))C) C语言函数不可以单独编译D) C语言除了main函数外,其他函数不可以作为单独文件形式存在2.以下叙述正确的是()。C A) C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C) 简单的C语句必须以分号结束D) C语句必须在一行内写完 3.以下叙述中正确的是()。C A) C程序中的注释只能出现在程序的开始位置和语句的后面 B) C程序书写格式严格,要求一行内只能写一条语句 C) C程序书写格式自由,一条语句可以写在多行上 D) 用C语言编写的程序只能放在一个程序文件中 4.下列叙述中错误的是()。A A) —个C语言程序只能实现一种算法B) C语言程序可以由多个程序文件组成C) C语言程序可以由一个或多个函数组成D) —个C函数可以单独作为一个C 程序文件存在5.以下叙述中正确的是()。C A) C语言程序将从源程序中的第一个函数开始执行 B) 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C) C语言规定必须用main作为主函数名,程序从此开始执行,在此结束 D) main 可作为用户标识符,用以命名任意一个函数作为主函数 6.对于一个正常运行的C程序,以下叙述正确的是()。A A) 程序的执行总是从main函数开始,在main函数中结束

B)程序的执行总是从程序的第一个函数开始,在main函数结束 C)程序的执行总是从main函数开始,在程序的最后一个函数中结束 D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束 7.下列叙述正确的是()。D A)每个C语言程序文件中都必须有一个main()函数 B)在C语言程序中main()函数的位置是固定的 C)C语言程序中所有函数之间都可以相互调用,与函数所在的位置无关 D)在C语言程序的函数中不能定义另一个函数 8.下列叙述中错误的是()。B A)C程序在运行过程中所有计算机都以二进制方式进行 B)C程序在运行过程中所有计算机都以十进制方式进行 C)所有C程序都需要在链接无误后才能运行 D)C程序中整型变量只能存放整数,实型变量只能存放浮点数 9.计算机能直接执行的程序是()。D A)源程序B)目标程序C)汇编程序D)可执行程序10. C语言源程序的后缀名是()。B A).exeB).cC).objD).cp 11 .下列叙述中错误的是()。D A)计算机不能直接执行用C语言编写的源程序 B)C程序经C编译器编译后,生成后缀为.obj的文件,这是一个二进制文 C)后缀为.obj的文件,经连接后生成后缀为.exe的文件,这是一个二进制文件

C语言试题与答案

大学C语言考试题库 第1章 C语言概述习题 1、单项选择题 (1) C 语言就是在 B 语言的基础上产生的。 A、 A B、 B C、 D D、 E (2) 在 C 语言中,每个语句必须以 D 结束。 A、回车符 B、冒号 C、逗号 D、分号 (3) 标识符与关键字间,要用 C 隔开。 A、回车符 B、冒号 C、空格 D、分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A、生成可执行目标文件 B、生成目标文件 C、输出运行结果 D、自动保存源文件 (5) 下列说法中正确的就是( B )。 A、由于 C 源程序就是高级语言程序,因此一定要在 TC 软件中输入 B、由 C 源程序就是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C、由于C 程序就是高级语言程序,因此输入后即可执行 D、由于 C 程序就是高级语言程序,因此它由命令组成 (6) 下列说法中正确的就是( A )。 A、 C 语言程序由主函数与 0 个或多个函数组成 B、 C 语言程序由主程序与子程序组成 C、 C 语言程序由子程序组成 D、 C 语言程序由过程组成 (7) 下列说法中错误的就是( D )。 A、主函数可以分为两个部分:主函数说明部分与主函数体 B、主函数可以调用任何非主函数的其她函数 C、任何非主函数可以调用其她任何非主函数 D、程序可以从任何非主函数开始执行 2、填空题 (1) C 语言只有 32 个关键字与 9 种控制语句。 (2) C 语言就是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

C语言答案删减版

C语言答案删减版文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]

C语言答案() 第一章 C语言程序设计基础 习题参考答案 1-1 冯·诺依曼体系结构的基本原理: 五大构成部分:输入、输出、CPU、控制器、存储器;程序存储、自动执行、逻辑判断 功能;二进制的信息表示。 1-6 编辑、编译、链接、执行。 1-7 必须有一个主函数,它是程序执行的起点;一个C语言程序由函数构成;每一条可 执行语句都必须由分号结束;函数的代码段必须由花括号对括住。一个函数中的语句组由声 明区和可执行语句区两部分构成。 1-8 三个一缩;每遇到一个结构时均缩格,每结束一个结构时回退;缩格格式必须对齐。 1-9 试给出以下问题的程序设计过程描述: 1) 求两个数中之最大者。 #include int main(void) { float fA,fB; clrscr();

printf("Please input two values(fA,fB)::"); /*输入要比较的两个数fA,fB*/ scanf("%f,%f",&fA,&fB); /*格式化输入fA,fB*/ if(fA>=fB) printf("the max is %f",fA); if(fA int main(void) { float fA,fB,fC,fMax; printf("Please input three values(fA,fB,fC)::"); /*fA,fB,fC是输入的3个数,fMax存放最大值*/ scanf("%f,%f,%f",&fA,&fB,&fC); fMax=fA;/*假定fA最大*/ if(fMax

C语言程序设计教程习题答案(第一章)

习题参考答案 第一章 一选择题 1 答:选B。 分析:在C语言中,程序中的注释可以出现在程序中任何地方,为了方便程序理解,一般不建议写在变量名或关键字的中间,但这样写程序是允许的,故选项A不正确。在C语言的算术运算符中,取余运算符“%”的两个运算分量必须是整数,但对于其他运算符,如“+”、“-”来说,两侧的运算符类型也可以不一样,例如左侧为一个字符类型,右侧为一个整数类型,系统在执行程序时会自动将字符类型转换成ASCII值进行运算,故选项C不正确。C 语言的数值表示时各个数位必须紧靠在一起,否则编译系统只会识别紧靠运算符的一部分数值,另一部分数值会发生语法错误,故选项D也不正确。 2 答:选D。 分析:C语言中的标识符只能由字母、数字和下划线构成,并且第一个字符必须是字母或者下划线,同时不能与C语言中的关键字相同。 3 答:选C。 分析:在C语言的算术运算符中,取余运算符”%”的左右两侧的两个运算分量必须是整数,所以选项C的赋值语句是错误。 4 答:选B。 5 答:选B。 分析:选项A和B互斥,因此必有一个是错误的,在C语言运行工程中,编译器的作用是将程序转换为目标代码,目标代码都是二进制的。 6 答:选A。 分析:选项A中整数常量不能有千位分隔符,错误。选项B表示的是一个转义字符,三位八进制数代表一个ASCII字符。 7 答:选A。 分析:实数常量的指数形式要求字母e(或E)前后必须有数字,且后面的指数必须为整数。所以选项B、C、D均是不合法的指数形式。 8 答:选A。 分析:此题考查C语言中赋值表达式的概念。用一个赋值运算符“=”将一个变量和一个表达式连接起来的式子称为赋值表达式。选项A中缺少表达式。 9 答:选B。 分析:根据优先级先计算x/y,即12/8,由于是整型,故x/y的值为1,接着计算0.9+1=1.9,由于z定义为整型,故最终结果为1。 二上机改错题 1 答:第一行的末尾有多余的分号“;” 第一行的文件名stdio.h缺双引号“”或< >括住 第二行主函数main的末尾有多余的“;” 第二行的注释有错,C语言规定“/”与“*”之间不能有空格 main函数体缺函数体括号“{}” 第三行的注释有错,C语言规定:注释内容由一对“/*”和“*/”括住,并且“/*”总是与离它最近的“*/”配对,由此可以看出,改行注释中有一个多余的“,”,末尾的“*/”由于没有“/*”与之配对,因此也是多余的。 第六行语句printf(“%f\n”,s)缺分号“;” 2 答:在程序开始缺#include “stdio.h”

第1章 C语言概述

第1章C语言概述 本章知识要点: 绪论 什么是C语言,简单介绍能够执行的软件。 最短的C语言源代码 如何写注释、函数声明、main函数、函数与堆栈、编码风格等问题的学习。 字符输出 包含文件、标准库函数、学习头文件是什么。 整数输入输出 变量类型、范围、标准库函数scanf()的简单介绍 字符输入输出 了解char型和数组、键盘输入字符、屏幕显示输入的字符。 浮点数输入输出 了解double型变量、输入2个浮点数、屏幕输出其平均值。 printf( )和scanf( )函数的返回值了解符号常量函数返回值标准库函数printf( )和scanf( )的函数返回值。 定义函数 定义函数的方法。输入一个整数,将其值的一半作为返回值。 变量的存储类型 了解变量的存储类型。静态变量与动态变量的区别 变量的取值范围了解不同数据类型的不同取值范围。 运算符学习自增、自减运算符及运算符的补充 赋值运算符了解赋值运算符(+=,*=,+=,-=,*=,/=,%=)。 变量和符号常量的类型声明 学习有关变量和符号常量的类型声明。 枚举常量 了解枚举常量。

1.1 绪论 C语言的产生与发展 C 语言是1972年由美国的Dennis Ritchie设计发明的, 并首次在UNIX操作系统的 DEC PDP-11 计算机上使用。它由早期的编程语言 BCPL( Basic Combind Programming Language) 发展演变而来。在1970年, AT&T 贝尔实验室的 Ken Thompson根据BCPL语言设计出较先进的并取名为 B的语言, 最后导了C语言的问世。 随着微型计算机的日益普及, 出现了许多C 语言版本。由于没有统一的标准, 使得这些C 语言之间出现了一些不一致的地方。为了改变这种情况, 美国国家标准 研究所(ANSI)为C 语言制定了一套ANSI标准, 成为现行的C语言标准。 C语言的特点 1.结构化语言 结构化语言的一个显著特点是代码和数据的分隔化,即程序的各部分除了必要的信息交流外彼此互不影响,相互隔离。C语言的主要结构成分是函数,函数是C语言的基本结构模块,所有的程序活动内容都包含在其中,函数在程序中被定义完成独立的任务,独立地编译成目标代码,这样可以实现程序的模块化。C 语言中,另一个实现程序结构化和分离化的方法是使用符合语句,复合语句是作为一个语句对待的,且具有逻辑联系的程序语句的组合,它是一个逻辑单元。 2.简洁、紧凑、灵活 Turbo C共有43个关键字,9种控制语句,程序书写自由,主要以小写字母表示,压缩了一切不必要的成分。C语言语法现在不太严格,程序设计自由度大,例如对数组边界不做检查,整型、字符型、逻辑型数据可以通用。 3.运算符丰富 C语言共有44种运算符,把括号、赋值、强制类型转换等都作为运算符处理从而使C语言的运算符类型极其丰富,表达式类型多样化,灵活使用各种运算符,可以实现在其他高级语言中难以实现的运算。 4.中级语言 C语言把高级语言的基本结构与低级语言的实用性结合起来。它可以像汇编语言一样对位、字节和地址进行操作,这三者是计算机最基本的工作单元,C语言可实现汇编语言的绝大部分功能。

相关文档
相关文档 最新文档