第二章 C程序设计的初步知识

合集下载

C语言全国计算机二级等级考试教程第一二章(章节带习题)

C语言全国计算机二级等级考试教程第一二章(章节带习题)
10
2.2 标识符、常量和变量
2.2.3 符号常量
在C语言中,可以用一个符号名来代表一个常量,称为符号常
量。但是这个符号名必须在程序中用(#define)进行特别的“
指定"。 例2.2 计算圆面积和周长,此程序中将如何教大家使用符号常量。
#include “stdio.h” /*包含头文件*/
#define PI 3.14159 /*定义符号常量,符号常量名为PI,用PI来代表3.14159*/
main()
/*主函数,程序的入口*/
{double r,s,l;
/*声明部分,定义了3实型个变量*/
r
r=5.0;
/*给变量r赋值*/
函 s=PI*r*r;
数 体
l=2*PI*r;
/*计算圆的面积*/ /*计算圆的周长*/
s
printf(“s=%f,l=%f\n”,s,l/)*;分别圆的面积和周长*/
/*给变量b赋值*/
数 体
area=a*b;
/*将a*b的结果赋值给变量area*/
printf(“a=%f,b=%f,area=%f\n”,a,b,area/)*;分别输出矩形的两条边长和面积*/
1.2
}
3.6
a=1.200000,b=3.600000,area=4.320000
4.32
注意:
1. C程序由函数组成,一个程序必须有一个且只能有一个主函数(main),C程
a
b
1.5000002.500000 2.5000003.500000
a b
内存空间
2.在程序中,声明变量就是在计算机内存中申请了某个内存单元。对变量 进行赋值,实质上就是把数据存入该变量所代表的存储单元中。

第02章C语言程序设计基础

第02章C语言程序设计基础

序 设
个什么样子,它的结构特点是什么,这是我们进行C语言程序设
计 计必须遵循的规范。
教 程
最后,我们应该掌握的是如何来编写和调试一个C语言程序,
第 这是我们每一个C语言程序员所必须具备的基本功。

版 学习目标
了解程序设计语言的发展及其特点;

二 掌握机器语言、汇编语言和高级语言的差异;
章 了解C语言
面向对象
第 二 章

C如P:U指1100令面0010系向00用如00统机00助00A,器记D由的D程符加减0语序、号客对对言A设1描,观象象序计述B世是间列关的界数通构键指可据过成是令以和发的定系分方送指义统类法和令类,的接码,对封受组并象装消成由是息类类发派的生生实联对例系象




11

C 语

Dennis.M.Ritchie
C标准

标准C: K&R合著《The C

Programming Language》

ANSI C: 1983年

87 ANSI C: 1987年
序 设
1990年国际标准的ANSI C


14

C
语 C语言版本

程 序
C语言有不同的版本,常用的编译软件有Microsoft
3
教材、参考书与课时安排
教材 C语言程序设计教程(第2版) 王敬华编著 清华大 学出版社
参考书 C语言程序设计教程(第2版)习题解答与实验指 导 王敬华编著 清华大学出版社 C语言程序设计(第2版)谭浩强 高等教育出版 社 C高级实用程序设计 王士元 清华大学出版社

全国计算机等级考试二级C语言课后习题

全国计算机等级考试二级C语言课后习题

第二章C程序设计的初步知识一、选择题1。

以下选项中正确的整型常量是().A.12。

B.-20 C。

1,000 D。

4 5 62。

以下选项中正确的实型常量是( )。

A。

0 B。

3。

1415 C.0.329×102 D. .8713。

以下选项中不正确的实型常量是()。

A.2。

607E-1B.0.8103e 2C.—77。

77 D。

456e—24。

以下选项中不合法的用户标识符是()。

A。

abc.c B。

file C。

Main D。

PRINTF5. 以下选项中不合法的用户标识符是()。

A._123B.printfC.A $D.Dim6。

C语言中运算对象必须是整型的运算符是()。

A。

% B。

/ C.! D.**7.可在C程序中用作用户标识符的一组标识符是()。

A。

void define WORD B.as_b3 _123 IfC。

For -abc case D.2c DO SIG8。

若变量已正确定义并赋值,符合C语言语法的表达式是()。

A。

a=a+7; B.a=7+b+c,a++ C.int(12.3%4) D.a=a+7=c+b9。

以下叙述中正确的是()。

A.a是实型变量,C允许进行赋值a=10,但可以这样说:实型变量中允许存放整型值B.在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式C.执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0D。

已有a=3,b=5,当执行了表达式a=b,b=a之后,使a中的值为5,b中的值为310.以下叙述中正确的是()。

A。

在C程序中无论是整数还是实数,只要在允许的范围内部都能准确无误的表示B。

C程序由主函数组成C.C程序由若干函数组成D.C程序中只允许包含一个函数11。

VC6。

0中int类型变量所占字节数是()。

A。

1 B。

2 C。

3 D。

412.合法的八进制数是()。

A。

0 B.028 C.—077 D。

C语言程序设计(谭浩强版)第二章

C语言程序设计(谭浩强版)第二章
奇妙的输出结果。并且,处理出错的方法
不应是中断程序的执行,而应是返回一个
表示错误或错误性质的值,以便在更高的
抽象层次上进行处理。
算法设计的原则
4.高效率与低存储量需求
通常,效率指的是算法执行时间; 存储量指的是算法执行过程中所需 的最大存储空间, 两者都与问题的规模有关。
算法设计的原则
算法的时间复杂度
第二章 程序的灵魂——算法
2.1 算法的概念 2.2 算法的简单举例
2.3 算法的特性 2.4 怎样表示一个算法 2.5 结构化程序设计方法
算法的概念
计算机应用: 提取数学模型—设计算法— 编程—测试—应用
程序设计=数据结构+算法
数据结构:对数据的描述 算法:对操作的描述 除此之外程序设计还包括:程序设计方法, 和程序设计语言
怎样表示一个算法
例4的伪代码表示法如下 开始 读入整数n 置sum的初值为0 置k的初值为1 执行下面的操作: 如果k为奇数,置item=1/k 如果k为偶数,置item=-1/k sum=sum+item 直到k>n 打印sum的值 结束
算法设计的原则
算法设计的原则
设计算法时,通常应考虑达到以下目标: 1.正确性 2.可读性 3.健壮性 4.高效率与低存储量需求
从算法中选取一种对于所研究的问题 来说是 基本操作 的原操作,以该基 本操作 在算法中重复执行的次数 作 为算法运行时间的衡量准则。
结构化程序设计方法
采用结构化算法写成的计算机程序是结构 化程序。要编写出结构化程序,经常采用 的方法是结构化程序设计方法。这种方法 的基本思路是: 把给定的问题按层次(纵方向)、分阶段 (横方向)分解为一系列易于编程解决的 小问题,然后对应着这些分解的小问题, 设计结构化的算法,最后采用语言将算法 描述出来。这样一种程序设计方法就是结 构化程序设计方法。

第二章C语言基础-语句-编写简单的C程序

第二章C语言基础-语句-编写简单的C程序

C 语 言 程 序 设 计
putchar函数
调用格式为: putchar(表达式); 功能:将指定表达式的值所对应的字符输出到标准输出设备上
参数 字符变量 字符常量 数值常量 转义序列 函数 putchar(c) putchar(‘#') putchar('5') putchar('\n') 效果 显示字符变量 c 的内容 显示字符# 显示字符# 显示数字 5 在光标位置插入回车
关键是如何分离个位、十位、百位数字? 关键是如何分离个位、十位、百位数字?
ቤተ መጻሕፍቲ ባይዱ
153 153 % 10 = 3 153 / 100 = 1 153 - 1*100 = 53 53 / 10 = 5
C 语 言 程 序 设 计
#include <stdio.h> main() { int x, b0, b1, b2, sum; x = 153; b2 = x / 100; /*计算百位数字 计算百位数字*/ 计算百位数字 b1 = (x - b2 * 100) / 10; /*计算十位数字 计算十位数字*/ 计算十位数字 b0 = x % 10; /*计算个位数字 计算个位数字*/ 计算个位数字 sum = b2 + b1 + b0; printf("b2=%d, b1=%d, b0=%d, sum=%d\n", b2, b1, b0, sum); }
C 语 言 程 序 设 计
任务三
#include <stdio.h> void main() { int n1; char n2; float n3; scanf("%d%c%f",&n1,&n2,&n3); printf("n1=%f,n2=%c,n3=%f\n",n1,n2); } (1)键盘如何输入? )键盘如何输入? 如何输入? (2)修改 )修改scanf(“%d%f%c”,&n1,&n3,&n2);如何输入? “ ” 如何输入

第二章 C语言程序设计

第二章 C语言程序设计
有符号 (signed) 整型变量 无符号 (unsigned) 基本整型(int) 短整型(short int) 长整型(long int)
例:整型数据的溢出。 main( ) { int a, b; a=32767; b=a+1;
printf(“%d,%d”,a,b);
}
返回
整型变量的定义
[unsigned][short][long] int <变量名1>, <变量名2>,……<变量名n>;
表达式1,表达式2……表达式n
说明:
1、逗号运算符的结合性为从左到右
2、所有运算符中,逗号运算符的优先级最低
练习题
执行下列语句后,a和b的值 分别为
int a, b; a=1+(b=2+7%-4-’A’)
练习题
执行下列语句后,a和b的值 分别为 -59,-60
int a, b; a=1+(b=2+7%-4-’A’)
练习题
一个C语言的源程序中,
(A)必须有一个主函数

(B)可以有多个主函数
(C)必须有主函数和其他函数
(D)可以没有主函数
练习题
1、编程实现,输入一个数,输出其 绝对值。 2、编程实现,输入a,b,c三个数, 输出其中最大者。
题 1、
Void Main()
{
int a, result; /*定义变量*/ scanf(“please input a number:%d”, &a); if (a>=0) result=a; else result=-a;
3、类型转换
例:
void main( )
{ float x, y;

C语言程序设计课程板书

C语言程序设计课程板书

1. 第一章:设计语言的讲解2. 第一章:程序的算法与结构设计。

3. 第二章:C程序的设计初步了解。

4. 第二章:C程序的格式的讲解。

5. 第二章:C程序格式的几个考点讲解。

6. 2.2标识符、常量、变量一7. 2.2标识符、常量、变量二8. 2.2标识符、常量、变量三9. 2.2标识符、常量、变量考点讲解10. 2.3整型常量11. 2.3整型变量12. 2.3整型数据的分类13. 2.4实型常量14. 2.4实型变量15. 2.5算术表达式、运算符优先级及强制类型转换16. 2.6赋值表达式17. 2.7复合表达式与赋值中的强制类型转换18. 2.7 ++和——的讲解19. 2.7 逗号表达式与实例讲解20. 课后习题的讲解21. 课后习题的讲解22. 课后习题的讲解23. 第二章的总体回顾24. 3.2输出语句的讲解一25. 3.2输出语句的讲解二26. 3.2输出语句的讲解三27. 3.2输出语句考点例题讲解。

28. 3.3输入语句的讲解一29. 3.3输入语句的讲解二30. 3.3输入语句考点例题讲解。

31. 3.4复合语句与空语句32. 3.5程序设计33. 课后习题讲解34. 课后习题讲解35. 课后习题讲解36. 第三章总体回顾37. 4.1关系运算38. 4.1逻辑运算39. 4.2 IF语句40. 4.2 IF语句41. 4.2 IF语句的嵌套42. 4.2 IF语句的嵌套43. 4.2 IF语句的几个考试例题44. 4.3条件表达式45. 4.4 switch语句46. 4.4 switch语句与BREAK47. 4.4switch语句的几个考试例题48. 课后习题49. 课后习题50. 课后习题51. 第四章的总体回顾52. 5.1while语句53. 5.1while的几个习题54. 5.2do while55. 5.3 FOR语句56. 5.3 FOR语句57. 5.4 for的嵌套58. 5.4FOR的嵌套59. 5.4素数的判定60. FOR语句的实例61. FOR语句的实例62. FOR语句的实例63. 5.5 break与continue64. 5.5 break与continue65. 5.6程序的举例66. 例年考题讲解67. 例年考题讲解(上机题)68. 例年考题讲解(上机题)69. 课后习题70. 课后习题71. 课后习题72. 6.1字符常量73. 6.1字符串常量与字符变量74. 6.3字符的输入与输出75. 6.3字符与其它数据类型混合的输入与输出76. 6.4程序举例77. 课后习题讲解78. 课后习题讲解79. 课后习题讲解80. 课后习题讲解81. 第六章的总体回顾82. 7.1库函数83. 7.2函数的应用与说明84. 7.2函数的定义与使用85. 7.2return的应用86. 7.3函数的调用87. 7.3函数的调用88. 7.4函数的说明与调用函数的数据传递90. 7.6程序举例91. 例年考题讲解92. 例年考题讲解(上机)93. 例年考题讲解(上机)94. 课后习题95. 课后习题96. 课后习题97. 第七章总体回顾98. 8.1变量的地址与指针99. 8.2指针变量的定义100. 8.2指针变量的定义101. 8.3给指针变量赋值102. 8.3给指针变量赋值103. 8.4指针变量的操作104. 8.4指针变量的操作105. 8.4指针变量的表示106. 8.4指针变量所指向的数据的增减107. 8.4指针的移动108. 8.4指针的移动109. 8.5指针在函数调用中的应用110. 8.5指针在函数调用中的应用111. 例年考题讲解112. 例年考题讲解113. 例年考题讲解(上机)114. 例年考题讲解(上机)115. 课后习题分析116. 课后习题分析117. 课后习题分析118. 第八章总体回顾119. 第八章总体回顾120. 9.1数组的初步了解121. 9.1一维数组的定义122. 9.1一维数组的引用与始化123. 9.1一维数组的使用124. 一维数组的实例125. 9.2一维数组和指针126. 9.2一维数组和指针127. 9.2通过指针引用一维数组\ 128. 9.3一维数组在函数调用中的应用129. 9.3一维数组在函数调用中的应用130. 9.3一维数组在函数调用中的应用131. 9.4应用举例132. 9.4应用举例134. 9.5二维数组的定义135. 9.5二维数组的引用136. 9.5二维数组的初始化137. 9.5二维数组通过FOR语句初始化138. 9.6二维数组元素的地址表示139. 9.6二维数组元素的地址表示140. 9.6通过指针来引用数组元素141. 9.6指针数组与数组指针142. 9.7二维数组在函数调用中的应用143. 9.7二维数组在函数调用中的应用144. 9.7二维数组在函数调用中的应用145. 9.8应用举例146. 9.8应用举例147. 9.8应用举例148. 例年考题讲解149. 例年考题讲解150. 例年考题讲解(上机)151. 例年考题讲解(上机)152. 例年考题讲解(上机)153. 例年考题讲解(上机)154. 课后习题155. 课后习题156. 课后习题157. 第九章总体回顾158. 第九章总体回顾159. 10.1字符与一维数组160. 10.1字符串与一维数组161. 10.2指针指向一个字符串162. 10.3字符串的输入和输出163. 10.4字符串数组164. 10.5几个用于字符处理的函数与程序举例165. 例年考题讲解166. 例年考题讲解(上机)167. 课后习题168. 课后习题169. 课后习题170. 第十章总体回顾171. 11.1对函数的进一步讨论172. 课后习题的讲解173. 课后习题的讲解174. 12.1局部变量与全局变量175. 12.2静态变量176. 课后习题177. 课后习题178. 13.1宏179. 例年考题180. 14.1.结构的初步认识181. 14.2结构体的定义182. 14.2结构体的初始183. 14.2结构体成员的引用184. 14.3共用体与结构体的区分185. 例年考题讲解186. 15章位运算187. 16章文章188. 上机题思路分析189. 上机题思路分析190. 上机题思路分析第一章程序设计基本概念1.1程序和程序设计程序:连续执行的一条条指令的集合称为“程序”。

c程序设计教程郑阿奇

c程序设计教程郑阿奇

c程序设计教程郑阿奇C程序设计教程是计算机科学与技术领域中一门重要的课程,它不仅为学生提供了编程的基本技能,还为进一步学习高级编程语言和软件开发奠定了基础。

本教程由郑阿奇教授编写,旨在通过系统的教学和实践,帮助学生掌握C语言的基本知识和应用技巧。

第一章:C语言概述C语言是一种通用的编程语言,由丹尼斯·里奇在1972年开发,用于UNIX操作系统。

C语言以其高效性、灵活性和可移植性而闻名,是许多现代编程语言的基石。

第二章:C语言基础本章将介绍C语言的基本语法,包括变量、数据类型、运算符和表达式。

学生将学习如何声明变量、进行算术运算和逻辑运算。

第三章:控制结构控制结构是程序设计中的核心,包括条件语句(if、switch)和循环语句(for、while、do-while)。

本章将详细讲解这些控制结构的使用方法和逻辑。

第四章:函数函数是C语言中实现代码复用和模块化的重要手段。

本章将教授如何定义函数、调用函数以及如何使用函数参数和返回值。

第五章:数组和字符串数组是存储固定大小元素集合的数据结构,而字符串是特殊的字符数组。

本章将介绍数组的声明、初始化和访问,以及字符串处理函数的使用。

第六章:指针指针是C语言中一个强大的特性,它允许直接操作内存地址。

本章将讲解指针的基本概念、指针与数组的关系以及指针在函数中的应用。

第七章:结构体和联合体结构体和联合体是C语言中用于创建复杂数据类型的复合数据结构。

本章将介绍如何定义和使用这些数据结构,以及它们在程序设计中的作用。

第八章:预处理器预处理器是C语言编译过程中的一个阶段,它处理源代码中的宏定义、文件包含和条件编译等指令。

本章将介绍预处理器的基本概念和用法。

第九章:文件操作文件操作是程序与外部数据交互的重要方式。

本章将讲解如何在C语言中打开、读取、写入和关闭文件。

第十章:动态内存分配动态内存分配允许程序在运行时申请和释放内存。

本章将介绍malloc、calloc、realloc和free等函数的使用方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章C程序设计的初步知识
一、选择题
1.以下不合法的用户标识符是
A) f2 G3 B) If C) 4d D) 8
2.可选作用户标识符的一组标识符是
A) void B) a3 b3 C) For D) 2a
define 123 abc DO
WORD IF Case sigeof
3.以下选项中合法的用户标识符是
A) long B) 2Test C) 3Dmax D) A.dat
4.以下可用作用户标识符的符号是
A) 12 a B) signed C) do D) if
5.以下不是关键字的标识符是
A) continue B) char C) If D) default
6.C语言提供的合法关键字是
A) swicth B) cher C) Case D) void
7. 以下叙述中正确的是
A) 可以把printf和if定义为用户标识符
B) 可以把printf定义为用户标识符,但不能把if定义为用户标识符
C) 可以把if定义为用户标识符,但不能把printf定义为用户标识符
D) printf和if都不能定义为用户标识符
8.C语言提供的数据类型包括
A) 复数型B) 逻辑型C) 双精度型D) 集合型
9.以下选项中不能作为C语言的类型、对变量进行定义的是
A) signed short int B) unsigned long int
C) unsigned int D)long short
10.以下选项中不合法的short整型常数是
A) 32768 B) -56 C) 03 D) 0xAF
11.以下不合法的整型常量是
A) 2L B) 32767U C) 32768H D) 213
12. 以下正确的实型常量是
A) 1.2E B) .579899 C) 1.2e0.6 D) 8
13.以下选项中合法的实型常数是
A) 5E0.2 B) E-3 C) .2E0 D)1.3E
14.以下合法的八进制数是
A) 0135 B) 068 C) 013.54 D)079
15.以下合法的十六进制数是
A) 0x B) 0x4de C)0x1h D) ox77
16.以下选项中非法的数值常量是
A) 019 B) 0L C)0Xff D) 1el
17.在VC中,double类型变量所占字节数是
A) 2 B) 4 C) 6 D) 8
18.若变量已正确定义,以下合法的表达式是
A) a=1/b=2 B) ++(a+b) C)a=a/(b=5) D) y=int(a)+b
19.若变量已正确定义,以下非法的表达式是
A) a/=b+c B) a%(4.0)
C) a=1/2*(x=y=20,x*3) D) a=b=c
20.以下选项中,与k=n++完全等价的表达式是
A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1
21.已有定义:double x; short i;则不能正确给x赋70000.0的表达式是
A) x=7000*10.0 B) x=i=70000.0
C) x=35000+35000 D) i=700, x=i*100
22.设x 为int类型,其值为11,则表达式:( x++*1/3)的值是
A) 3 B) 4 C) 11 D) 12
23.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为A)4 B)16 C)32 D)52
24.设a和b均为double型变量,且a=5.5、b=2.5,则表达式:(int)a+b/b的值是
A) 6.500000 B)6 C)5.500000 D) 6.000000
25. 若a为int类型,且其值为3,则执行完表达式:a+=a-=a*a后, a的值是
A) -3 B) 9 C) -12 D) 6
26.设k 和x 均为int 型变量,且k=7、x=12,则能使值为3的表达式是
A) x%=(k%=5) B) x%=(k-k%5)
C) x%=k-k%5 D) (x%=k)-(k%=5)
27.若a 、b 、c 均被定义成整型并已赋大于1的值,能正确表示代数式c b a ..1
的C 语言表达式是
A )1/(float)a*b*c B) 1/(a*b*c)
C) 1.0/a/b/c D) 1/a/b/(float)c
28.能正确表示代数式123 x x n
的C 语言表达式是
A )3*x^n/(2*x-1) B) 3*x**n/(2*x-1)
C)3*pow(x,n)*(1/(2*x-1)) D)3*pow(n,x)/(2*x-1)
29.能正确表示数学公式)sin(
x ,的C 语言表达式表示是
A) sqrt(abs(sin(x*∏/180))) B) sqrt(abs(sin(x*3.14/180)))
C) sqrt(sin(x)) D)sqrt(fabs(sin(x*3.14/180)))
30.以下变量x 、y 、z 均为double 型且已正确赋值,不能正确表示代数z y x
*的C 语言表达式是
A) x/y*z B) x*(1/(y*z)) C) x/y*1/z d) x/y/z
31.不能正确表示代数式d c b
a ..的C 语言表达式是
A) a/(c*d)*b B) a*b/c/d C) a*b/c*d D) a*b/(c*d)
32.以下叙述中错误的是
A) 在C 程序中,APH 和aph 是两个不同的变量
B) C 程序中变量,代表内存中的一个存储单元,它的值可以根据需要随时修改
C) 在C 程序中,无论是整数还是实数,都能准确无误地表示
D) 在C 程序中,一个正整数可以用十进制、八进制和十六进制的形式来表示
33.以下叙述中正确的是
A) C 程序中,赋值运算符的优先级最低。

B )若a 是实型变量,
C 程序中允许进行以下赋值:a=10,因此,实型变量中允存放整型
数。

C)若a和b类型相同,在执行了赋值a=b后b中的值将放入a中,b中的值将丢失。

D)在C程序中,除号运算符“/”两边的类型相同时才能进行相除运算。

二、填空题
2.把a1、a2定义成长整型变量的定义语句是。

3.在C语言中,实型变量分为两种类型,它们是。

5.已有定义:float f=13.8;,则表达式(int)f%3的值是。

6.已有定义:int x=3;,则表达式:x=x+1.78的值是。

7.已有定义:double x=3.5;,则表达式:x=(int)x+1的值是。

8.已有定义:int x=10,y=3,z;,则表达式:z=(x%y,x/y)的值是。

9.设a、b、c为整型数,且a的值为2,b的值为3,c的值为4,表达式:a*=16+(b++)-(++c)的值是。

10.已有定义:int x=0,y=0;,则计算表达式:(x+=2,y=x+3/2,y+5)后,表达式的值是,变量x的值是,变量y的值是。

11.已有定义:int x=110,y=017;,则计算表达式:(x++,++y)后,按十进制表示,变量x的值是,变量y的值是。

12.求以下表达式的值,假设所有变量均为整型:
(1)表达式:(a=b=4,a+1,b+1,a+b)的值是。

(2) 表达式:(x=8,x%=x+5)的值是。

(3) 表达式:-2%(-3)的值是。

相关文档
最新文档