C++程序设计1
C语言程序设计50例(经典收藏)
C语言程序设计50例(经典收藏)各位读友大家好,此文档由网络收集而来,欢迎您下载,谢谢C语言程序设计50例(经典收藏)【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:复制代码代码如下:#include ““#include ““main(){int i,j,k;printf(“\n”);for(i=1;i2) /*如果是闰年且月份大于2,总天数应该加一天*/sum++;printf(“It is the %dth day.”,sum);getch();}============================== ============================== ==【程序5】题目:输入三个整数x,y,z,请把这三个数由小到大输出。
1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z 则将x与z的值进行交换,这样能使x 最小。
2.程序源代码:复制代码代码如下:#include ““#include ““main(){int x,y,z,t;scanf(“%d%d%d”,&x,&y,&z);if (x>y){t=x;x=y;y=t;} /*交换x,y的值*/if(x>z){t=z;z=x;x=t;} /*交换x,z的值*/if(y>z){t=y;y=z;z=t;} /*交换z,y的值*/printf(“small to big: %d %d %d\n”,x,y,z);getch();}============================================================ ==【程序6】题目:用*号输出字母C的图案。
C语言程序设计(1-6章)
C语言程序设计第1章概论1.1 C语言有哪些主要特点?其主要用途是什么?1.2 程序设计语言的主要构成要素有哪些?1.3 程序设计语言的实现都有哪些方法?1.4 程序设计语言按照实现方法可分为哪几种类型?1.5 为什么要学习程序设计语言?1.6 将C语言和你所掌握的高级语言做一比较。
1.7 C程序的主要构成单位是什么?1.8 C语言的保留字和特定字有何区别?1.9 下面哪些是合法的C语言一般标识符?std-sex, Std-num, 2.13, _2.13, name, int, Int, var-num, yes_or_no, select, File_name, _DATA, define, a+c, new, ok?1.10 C程序从编辑到执行要经过哪些步骤?1.11 C函数主要由哪几部分构成?复合语句在C语言中是用什么标界的?又称为什么?1.12 填空。
1 . 一个C程序是由若干个函数构成的,其中必须有一个函数。
2 . 一个C语句最少应包含一个。
1.13 单项选择。
1. C语言程序的基本单位是( )。
(1) 子程序 (2) 程序 (3) 过程 (4) 函数2. 合法的C语言标识符是( )。
(1) _a1 (2) a+b (3) 3abc (4) AB,CD答案:1.1C语言主要用于编写系统软件,其主要特点如下:①语言简洁,紧凑,使用灵活②运算符丰富③具有数据类型构造和流控结构能力④语言生成的代码质量高⑤可移植性好⑥语言语法限制不严格,程序设计自由度大1.2程序设计语言的主要构成要素有:①数据。
②运算(操作)③控制结构④存储答理⑤固运算环境。
1.3 程序设计语言的实现方法主要有:1. 翻译或编译。
2. 软件模拟(软件解释)。
1.4 程序设计语言的按照实现方法有编译型和解释型两种。
1.5略 1.6 略1.7 C程序的主要构成单位是函数。
1.8 C程序的保留字和特定字的区别是,保留字不能用来表示用户自定义的对象,而特定字却不受此限(尽管不提倡这样做)。
C语言程序设计1
N-S图描述算法:
程 序 设 计
输入h,f
计算x,y 输出x,y 顺序结构
#include <stdio.h> void main( ) 程序的 { 健壮性 int x, y, h, f; printf(“please input h, f:\n”); scanf(“%d%d”,&h,&f); x=2*h-f/2; y=f/2-h; 程序 printf(“头=%d, 脚=%d\n”,h, f); 4_1.cpp printf(“鸡=%d, 兔=%d\n”,x, y); 5 }
程 序 设 计
C
例子
例:求方程ax2+bx+c=0方程的根。 由此可见:计算机的智能是在人类 (2 算法 )的支配下的智能。 a、b、c由键盘输入,设b -4ac>0 。
分析:一元二次方程的根为:
-b+ b2 -4ac x1 = 2a
将上式分解为:
-b- b2 -4ac x2 = 2a
15
二、 输入输出
说明: (1) 所谓输入输出是以计算机主机为主体。
默认的输入设备——键 盘 默认的输出设备——显示器
程 序 设 计
(2) C语言没有输入/输出语句,I/O操作通过调 用C函数库中的函数来实现。 (3) 在使用系统库函数时,要用编译命令 “#include”将有关的“头文件”包括到用 户 standard input & output head 源文件中。 如:在程序开头要有:#include “stdio.h”
C程序设计课后习题1-3(答案)
C程序设计课后习题第一章习题1.选择题(1)C语言程序的执行总是从(A)开始。
A.main函数的入口 B.编译预处理命令C.源程序的第一个函数D.源程序的第一行语句(2)在C语言的源程序中,主函数的位置(C)。
A.必须在编译预处理命令的后面B.必须在源程序的最后C.任意D.必须在源程序的开头(3)下列变量名中合法的是(C)。
A. B.C.Tom B.3a6bC._6a7bD.$ABC(4)下面两对用户定义标识符哪个可读性更强:(C)A.checkqualityB.salarytotalC.check_quality C.sal_ary_tot_al(5)C程序是由(D)组成。
A.若干个过程B.若干子程序C.一个主程序和若干子程序D.若干函数2.填空题(1)一个函数一般由两部分组成,它们分别是_函数首部______和__函数体____。
(2)编译预处理命令___是_____(填“是”或“不是”)C语言文本的一部分。
(3)一个C语言程序至少应包含一个__主函数或main()__。
(4)C语言的标准输入函数是_scanf()__,标准输出函数是___printf()____。
(5)函数体用___{______符号开始,用_____}______符号结束。
(6)注释的开始和结束标志分别为__/*____和____*/____。
为增强程序的__可读性___,应该为程序写上清晰的注释。
3.编程题:参考本章例题,编写一个C程序,输出以下信息。
***********************The data is ** 2005-03-23 ***********************程序如下:#include <stdio.h>Void main(){printf(“**********************\n”);printf(“*The data is *\n”);printf(“* 2005-03-23 *\n”);printf(“**********************\n”);}第二章习题1.选择题(1)设int m=10 ,则下列表达式的值不等于零的有(A F)。
C语言程序设计 1-2
符号
空字符 空格 ! " # $ % & ' ( ) * + 44 45 46 47
值
, . /
符号
91 92 93 94 95 96 123 124 125 126 127
值
[ \ ] ^ ` { | } ~
符号
48 ~ 57 58 59 60 61 62 63 64 65 ~ 90
0 ~ 9 : ; < = > ? @ A ~ Z
27
变量命名
语言中, 在 C 语言中,变量命名需要遵循一定的规则 变量的命名规则: 变量的命名规则:
变量名可以由字母, 变量名可以由字母,数字和 _(下划线)组合而成 (下划线) 以外的任何特殊字符, 逗号, 变量名不能包含除 _ 以外的任何特殊字符,如:%,# ,逗号, , 空格等 变量名必须以字母或 _(下划线)开头 (下划线) 变量名不能包含空白字符(换行符,空格和制表符称为空白字符) 变量名不能包含空白字符(换行符,空格和制表符称为空白字符) C 语言中的某些词(例如 int 和 float 等)称为保留字,具有特 语言中的某些词( 称为保留字, 殊意义, 殊意义,不能用作变量名 C 语言区分大小写,因此变量 price 与变量 PRICE 是两个不同 语言区分大小写, 的变量
41
输出: 商为 1.000000 余数为 2 加 1 后为 26 减 1 后为 11
1.口述 2.信函 3.传真 3.
指令被逐条执行
老板 程序员
秘书
程序:为了让计算机执行某些操作或解决某 个问题而编写的一系列有序指令的集合
7
算法
问题:
计算圆形的面积
1.接收用户输入的圆形半径的值; 1.接收用户输入的圆形半径的值; 接收用户输入的圆形半径的值 2.判断半径的值是否大于零 判断半径的值是否大于零; 2.判断半径的值是否大于零; 3.如果大于零 如果大于零, S=πR 3.如果大于零,使用圆形面积公式 S=πR2得到面 否则显示输入错误,重新输入半径的值; 积,否则显示输入错误,重新输入半径的值; 4.输出面积 输出面积. 4.输出面积.
C语言程序设计01
常量及变量
常量:程序运行过程中, 常量:程序运行过程中,值不能改变的量 变量:程序运行过程中, 变量:程序运行过程中,值会发生改变的量
命名规则:只能由英文字母、下划线、数字组成, 命名规则:只能由英文字母、下划线、数字组成,且第 一个字符不能是数字。(区分大小写 区分大小写) 一个字符不能是数字。(区分大小写) 正确的变量名: 正确的变量名:a2 _12 a3b 错误的变量名: 错误的变量名:2a 12_ ?ab a*b
赋值时类型不一致,自动进行类型转换(书第 赋值时类型不一致,自动进行类型转换 书第18 书第 页)
举例: 为实型) 举例:a=5(a为实型) ( 为实型 b=5.555(b为整型) 结果是 为整型) 结果是b=5 ( 为整型
单目 双目 多目
运算符要求的运算对象个数. 目:运算符要求的运算对象个数 运算符要求的运算对象个数 单目:一个运算对象 一个运算对象. 单目 一个运算对象
程序中的任何部分作注释, 用/*……*/对C程序中的任何部分作注释,以 * 增加程序的可读性。 增加程序的可读性。
和例2 和例2比较
/*定义 # define P 3.1415926定义符号常量PI*/ main( ) /*定义变量 s c */ 定义变量r 定义变量 { float r,s,c; r=5; c=2*P*r; /*计算圆周长 计算圆周长*/ 计算圆周长 /*计算圆面积 计算圆面积*/ 计算圆面积 s=P*r*r; printf(“c=%f s=%f\n",c,s); /*输出计算结果 输出计算结果*/ 输出计算结果 }
程序设计基本概念
相关概念
算法:解决某个问题的思路,是程序设计的基础。 算法:解决某个问题的思路,是程序设计的基础。
第01章 C语言程序设计教程电子教案
4.编译、连接──单个源程序文件 选择并执行Compile | Make EXE File项(快捷键: F9),则TC将自动完成对当前正在编辑的源程序文件的 编译、连接,并生成可执行文件。 如果源程序有语法错误,系统将在屏幕中央的 “Compiling ”(编译)窗口底端提示“Error: Press any key”(错误:按任意键)。 此时,按空格键,屏幕下端的“Message”(消息) 窗口被激活, 显示出错(或警告)信息,光带停在第一 条消息上。这时“Edit”(编辑)窗口中也有一条光带, 它总是停在编译错误在源代码中的相应位置。 注意:当用上、下键移动消息窗口中的光带时,编 辑窗口中的光带也随之移动,始终跟踪源代码中的错误 位置!
1.函数是C语言程序的基本单位。 main()函数的作用,相当于其它高级语言中的主程序; 其它函数的作用,相当于子程序。 2.C语言程序总是从main()函数开始执行。 一个C语言程序,总是从main()函数开始执行,而不论 其在程序中的位置。当主函数执行完毕时,亦即程序执行 完毕。 习惯上,将主函数main()放在最前头。
编辑窗口的顶端为状态行,其中: .Line 1 Col 1:显示光标所在的行号和列号,即光标位置。 .Insert:表示编辑状态处于“插入”。当处于“改写”状态时, 此处为空白。 . d: NONAME.C : 显 示 当 前 正 在 编 辑 的 文 件 名 。 显 示 为 “NONAME.C”时,表示用户尚未给文件命名。 屏幕底端是7个功能键的说明,以及Num Lock键的状态(显示 “NUM”时,表示处于“数字键”状态;空白,表示“控制键”状 态)。
/* ex1.c */ main() /* C程序由一个main函数组成 */ { /* 函数体开始 */ printf("*******\n"); /* 字串照原样输出 */ printf("* BBI *\n"); /* 分号表示语句结束*/ printf("*******\n"); getchar(); } /* 函数体结束 */ /*运行结果: 演示 ******* * BBI *
C程序设计第1-4章习题集
习题(第1-4章)一.选择题1.以下叙述正确的是()。
A.C语言的源程序不必通过编译就可以直接运行。
B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C.C语言源程序经编译形成的二进制代码可以直接运行。
D.C语言中的函数不可以单独进行编译。
2.一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是()。
A.有0个或多个输入。
B.有0个或多个输出。
C.有穷性。
D.可行性。
3.以下叙述中正确的是()。
A.C语言比其它语言高级。
B.C语言可以不用编译就能被计算机识别执行。
C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式。
D.C语言出现的,具有其它语言的一切优点。
4.C语言中用于结构化程序设计的3种基本结构是()。
A.顺序结构、选择结构、循环结构B.if、switch、breakC.for、while、do-whileD.if、for、continue5.为解决某一特定问题而设计的指令序列称为()。
A.文档B. 语言C. 程序D. 系统6.用高级程序设计语言编写的程序称为()。
A.目标程序B. 可执行程序C. 源程序D. 伪代码7.能将高级语言编写的源程序转换成目标程序的是()。
A.编辑程序B. 编译程序C. 驱动程序D. 链接程序8.下列叙述中,正确一条是()。
A.计算机语言中,只有机器语言属于低级语言。
B.高级语言源程序可以被计算机直接执行。
C.C、C语言属于高级语言。
D.机器语言是所用机器无关的。
9.一个C程序的执行是从()。
A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束10.以下叙述正确的是()。
A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误11.以下叙述不正确的是()。
C语言程序设计习题参考答案
C 语言程序设计习题答案习题一 C 语言程序设计概述一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2(5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4(9)结构化的程序设计P9二、简述题1. 设计程序时应遵循哪些基本原则?P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。
2. 算法的要素是什么?算法具有哪些特点?答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。
3. 算法的表示形式有哪几种?答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。
4. 有哪三种基本结构?答:三种基本结构是:顺序结构、选择结构和循环结构。
5. 传统流程图与N-S 流程图最大的区别是什么?答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。
三、用传统流程图、N-S 图分别表示求解以下问题的算法。
1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。
2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。
3. 求1+2+3+…+100的值。
4. 求1×2×3×…×10的值。
5. 求下列分段函数的值。
6. 求100~200之间的所有素数。
7. 求一元二次方程ax 2+bx+c=0的根。
分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。
四、注释下面C 程序的各个组成部分。
main() /*主函数 */{ /*程序开始 */int a,k,m; /*定义三个用来存放整数的变量 */a=10; /*将整数10赋值给变量a */k=2; /*将整数2赋值给变量k */m=1; /*将整数1赋值给变量1 */a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */printf("%d\n",a); /*在屏幕上打印出变量a 的值 */} /*程序结束 */习题二 数据类型、运算符与表达式一、选择题1~10:BCDCB DDBCA11~20: ADDAA DBADC21~28: DABAD CDD3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5)二、填空题1.字母L 或字母l2.字符或%c 、整数或%d3.在程序运行过程中,其值可以在一定的范围内变化的量。
C语言程序设计
C语⾔程序设计1:选择出合法的if语句(设int x,y;)( )。
1.if(x!=y)if(x>y)printf("x>y\n”);else prinf(”x<y\n”);else printf(”X==y\n”);2:下⾯有关for循环的正确描述是( )4.for循环体语句中,可以包含多条语句,但要⽤花括号括起来3:当顺利执⾏了⽂件关闭操作时,fclose函数的返回值是( )。
3.04:为了避免嵌套的if-else语句的⼆义性,c语⾔规定else总是与( )组成配对关系。
3.在其之前未配对的最近的if5:fscanf函数的正确调⽤形式是( )。
4.fscanf(⽂件指针,格式字符串,输⼊表列);6:以下C程序正确的运⾏结果是( ).main(){long y=-43456;printf(“y=%-8ld\n”,y);printf(“y=%-08ld\n”,y);printf(“y=%08ld\n”,y);printf(“y=%+8ld\n”,y);}3.y=-43456y=-43456y=-0043456y= -434567:已有变量定义和函数调⽤语句:int a=25; print_value(&a);下⾯函数的正确输出结果是( )。
void print_value(int *t){ print(“%d\n”,++*x);}4.268:以下正确的描述是()。
3.凡是C源程序中⾏⾸以“#”标识的控制⾏都是预处理指令9:下⾯四个选项中,均是不合法转义字符的选项是( ).2.’\1011’‘\’struct stu{int a;float b;}stutype;则下⾯的叙述不正确的是( ).3.stutype是⽤户定义的结构体类型名1:选择出合法的if语句(设int x,y;)( )。
1.if(x!=y)if(x>y)printf("x>y\n”);else prinf(”x<y\n”);else printf(”X==y\n”);2:下⾯有关for循环的正确描述是( )4.for循环体语句中,可以包含多条语句,但要⽤花括号括起来3:当顺利执⾏了⽂件关闭操作时,fclose函数的返回值是( )。
C语言程序设计 第1章 基本数据类型与运算
注意: ANSI C规定标识符的长度可达31个字符,但一般系统使用的标识符, 其有效长度不超过8个字符。 标识符不能采用系统的关键字(保留字)。区分大小写。
不合法的C语言标志符: call…name 39test -string1
1.5 常量与变量
常量
程序中值不发生变化的量。
整型 数值常量
实型
main() {int i,s,a[10]; for(i=0;i<10;i++)
scanf("%d", &a[i]); for(s=0,i=0;i<10;i++)
s=s+a[i]; printf("sum=%d",s); {
1.2 语言处理程序
用非机器语言书写的程序必须进行翻译,即用高级语言或汇编语 言编写的程序必须翻译成计算机能识别的指令序列,完成这一任
函数的构成
一个函数是由函数的说明部分和函数体两部分组成。
int max(int x,int y)
{ int z; if (x>y) z=x; else z=y; return(z) ;
① 函数的说明部分 int max(int x,int y)
函数返回值类型 函数名 函数参数列表
}
main( )
字符串常量 用双引号括起来的一串字符。如:"abcd " 双引号为字符常量标志。
注意: 'a' 和"a"的区别
'a' :字符常量,占一个字节存储空间,存储其ASCII码。
"a" :字符串常量,该字符串只有一个字符,占二个字节存储空 间。 字符串存储:除了存储所有字符外,系统还要存储字符串结束标 志'\0'。
最简单的C程序设计(1)
返回值:所输入的一个字符。若文件结束或出错,则返回-1。 *说明:1、用getchar( )只能接收一个字符;
2、getchar( )函数没有参数;
3、由于该函数有返回值,故常出现在各种表达式中,作 为表达式的一部分,以它的返回值参与相应的运算。
例:4.2 输入单个字符。
注意:如果在一个函数中要调用getchar和putchar函数,应在该函数 (或)所在源文件的开头加上“包含命令” #include <stdio.h>
语 for( )~ 句 功 条件语句 循环语句 能 语 句 break switch 功 能 if( )~else~ 中止执行switch或循环语句 多分支选择语句
while( )~
continue
循环语句
提前结束本次循环语句
goto
转向语句
do~while( ) 循环语句
return 从函数返回语句
例4.9 用scanf函数输入数据 2.格式说明: 格式符的使用与printf函数中的相同。
几点说明:
⑴ 对unsigned型变量用cscanf函数赋值时,可采用%u、%d、 %o、%x格式。 ⑵ 可以指定输入数据所占地列数,这时系统将自动截取指定长 度的数据。 ⑶ 如果在%后有一个“*”附加说明符,表示跳过它指定的列数, 即将读入的指定长度的数据不赋给任何变量,而将下一个输入的数 据按下一个格式符的要求赋给相应的变量。例如:
① %e:不指定输出数据所占的列宽和小数部分的位数,由系统自动 确定:数值部分按规范化指数形式输出,且小数部分占6位,加上一位 整数和一位小数点,共占8列;指数部分含符号e、指数部分的符号(+ 或-)及3位指数,共占5列。总计占13列。
② %m.ne和%-m.ne:其中m、n和“-”的含义与前同,即m规定了 输出数据所占的整个列宽,n规定了数值中小数部分所占地列宽, “-”规定了对齐方向。
C语言程序设计1ppt课件
读者若对此不大理解,可先不予深究,在学到函数项目后的相关知识后,问题自 会迎刃而解。这里介绍此案例的目的,是想让读者对C语言的组成和形式有一个 初步了解。
精品课件
11
任务1.2 认识C语言
职业教育“十二五”规划教材
1 主编:高立兵
C语言程序设计
东北师范大学出版社
精品课件
1
目录
1 项目1 C语言概述
1
项目7 函数
2 项目2 数据类型、运算符与表达式 2
项目8 指针
3 项目3 顺序结构程序设计
3
项目9 结构与联合
4 项目4 选择结构程序设计
4
项目10 位运算
5 项目5 循环结构程序设计
精品课件
4
任务1.1 C语言的发展与特点
C语言是1972年由美国的Dennis Ritchie设计发明的,并首次在配 备了UNIX操作系统的DEC PDP-11计算机上实现。它由早期的编程语 言BCPL(Basic Combined Programming Language)发展演变而来。
C语言的特点 1、C语言是中级语言 2、C语言是结构化语言 3、C语言功能齐全 4、C语言适用范围广
精品课件
5
任务1.2 认识C语言
本任务通过几个简单的C程序,介绍C语言的基本组成和格式。
案例1.1
main( ) { printf(“This is a c program.\n”); } 本程序的功能是输入下列一行信息: This is a c program.
精品课件
6
任务1.2 认识C语言
C语言程序设计 第1-7章选择、填空习题及答案
7.a=12,n=5,表达式a%=(n%=2)值是0。
8.有一个输入函数scanf("%d",k);则不能使float类型变量k得到正确数值的原因是k前无&
和%d与k的类型不一致。
9.putchar()函数可以向终端输出一个字符。
10.已有定义int i,j;float x;为将-10赋给i,12赋给 j,410.34赋给x,则对应以下scanf()函数调用语句的数据输入形式是-12 C410.34。
7.算法是计算机解决问题所依据的步骤。
习题二
一、选择题
1.下列数据中属于字符串常量的是( B)。
A.ABCB."ABC"C.'abc'D.'A'
2.在计算机内存中,'\n'占用的字节数是( C)。
A.4B.3C.1D.2
3.字符串"ABC"在内存中占用的字节数是( D)。
A.6B.8C.3D.4
4.在C语言中,合法的长整型常数是 ( B)。
A.fB.e(E)C.g(G)D.x
10. 若float num=123.456,以%+10.4d的格式输出,结果正确的是(B)
A.123.456000B.123.4560C.123.4560D.+123.4560
二、填空题
1.以下程序的输出结果是x=1 y=2 *sum*=3
10 squaredis :100。
main()
{int x=1,y=2;
printf("x=%d y=%d *sum*=%d\n",x,y,x+y);
printf("10 squared is :%d\n",10*10);
《C程序设计》练习及答案
《C程序设计》练习及答案选择题部分第一章c语言概述选择题1、一个c程序的继续执行从______。
a、本程序的main函数开始,到main函数的结束b、本程序文件的第一个函数已经开始,至本程序文件的最后一个函数的完结c、本程序文件的main已经开始,至本程序文件的最后一个函数的完结d、本程序文件的第一个函数已经开始,至本程序文件的main函数的完结2、以下描述恰当的就是______。
a、在c程序中main函数必须位于程序的最前面b、c程序的每行中只能写一条语句c、c语言本身没有输入输出语句d、在对一个c程序展开编程的过程中,可以辨认出注解中的错误3、以下描述不恰当的就是______。
a、一个c源程序可由一个或多个函数组成b、一个c源程序必须包含一个main函数c、c程序的基本组成单位是函数d、在c程序中,注解表明就可以坐落于一条语句的后面4、c语言规定,在一个源程序中,main函数的位置______。
a、必须在最为已经开始b、必须在系统调用的库函数的后面c、可以任一必须在最后5、一个c语言程序是由______。
a、一个主程序和若干子程序共同组成b、函数共同组成c、若干过程共同组成d若干子程序共同组成、、d(acdcb)第三章数据类型、运算符与表达式(红色显示的部分为参考答案)1、如果x、i、j和k都就是int型变量,则排序下面表达式后,x的值______。
x=(i=4,j=16,k=32)a.4b.16c.32d.522、设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是______。
a.7b.8c.6d.23、以下四组选项中,均不是c语言关键字的选项就是______。
a.defineiftypeb.getccharprintfc.includescanfcased.whilegopow4、下列四组选项中,均是c语言关键字的选项是______。
a.autoenumincludeb.switchtypedefcontinuec.signedunionscanfd.ifstructtype5、下列四组选项中,均是不合法的用户标识符的选项是______。
C语言程序设计 (1)
单项选择题
第1题以下程序的输出结果是:main() {int x=10,y=10; printf("%d %d\n",x--,--y); }
A、10 10
B、9 9
C、9 10
D、10 9
答案:D
第2题下列数组名正确的是:
A、a
B、int
C、2bcx
D、a(d)
答案:A
第3题以下哪个不是关系运算符:
答案:A|B|C
第8题下列说法正确的是:
A、取反运算优先级高于算术运算符
B、取反运算符低于关系运算符
C、取反运算符高于逻辑运算符
D、取反运算符低于赋值运算符
答案:A|C
判断题
第9题putchar函数的参数可以是整型变量。
答案:正确
第10题while语句实现直到型循环。
答案:错误
第11题printf只能输出一个数据。
D、直接定义结构体类型变量
答案:A|B|D
第6题处理动态链表动态分配的常用函数有:
A、malloc
B、calloc
C、free
D、scanf
答案:A|B|C
第7题将一个结构体变量的值传递给另一个函数的方法有:
A、用结构体变量的成员作参数
B、用结构体变量作实参
C、用指向结构体变量的指针作实参
D、用结构体变量名作形参
A、=
B、<
C、<=
D、!=
答案:A
第4题下列引用错误的是:int a[3][4];
A、a[3][4]=3
B、a[1*2][2+1]=4
C、**a=1
D、*a[2]=4
答案:A
多项选择题
C语言程序设计001
和数据从程序的其余部分分离出去、隐藏起来。获得隔离的一个方法是调用使用局部(临时)
变量的子程序。通过使用局部变量,我们能够写出对程序其它部分没有副作用的子程序。这
使得编写共享代码段的程序变得十分简单。如果开发了一些分离很好的函数,在引用时我们
仅需要知道函数做什么,不必知道它如何做。切记:过度使用全局变量(可以被全部程序访
鼓励)分别编译,所以
C语言可使程序员方便地管理大型项目,最大限度地减少重复劳动。
1.3 C语言的程序结构
1.3.1 基本程序结构
任何一种程序设计语言都具有特定的语法规则和规定的表达方法。一个程序只有严格按
集成电路一样,生产一些通用的、封装紧密的功能模块,称之为软件集成块,它与具体应用
无关,但能相互组合,完成具体的应用功能,同时又能重复使用。对使用者来说,只关心它
的接口(输入量、输出量)及能实现的功能,至于如何实现的,那是它内部的事,使用者完
全不用关心,C + +、V B、D e l p h i就是典型代表。
执行,必须另编程序,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而
运算效率是所有语言中最高的。机器语言,是第一代计算机语言。
2. 汇编语言
为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字
母、符号串来替代一个特定的指令的二进制串,比如,用“
A D D”代表加法,“M O V”代表
是计算机的灵魂,没有软件,计算机是一台“裸机”,是什么也不能干的,有了软件,才能灵
动起来,成为一台真正的“电脑”。所有的软件,都是用计算机语言编写的。
计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例3-4
例3-5 #include <iostream.h> void move(char getone,char putone) { cout<< getone <<"-->"<<putone<<endl; } void hanoi(int n,char one,char two,char three) { void move(char getone,char putone); if (n==1) move (one,three); else { hanoi (n-1,one,three,two); move(one,three); hanoi(n-1,two,one,three); } }
借助B
借助C
借助A
void main() { void hanoi(int n,char one,char two,char three); int m; cout<<"Enter the number of diskes:"; cin>>m; cout<<"the steps to moving "<<m<<" diskes:"<<endl; hanoi(m,'A','B','C'); }
C++程序设计
• • • • C++与C的语法、函数定义不同点(4) 面向对象概念(4) 继承(2) 多态(2)
C++与C的语法、函数定义不同点
(1)常量定义: # define PI=3.14; const float PI=3.14; (2) 输入输出: printf(“%d”,x); scanf(“%d”,&x); cout<<x; cin>>x;(称I/O流) P36 表2-6
使用C++系统函数
例3-12
#include<iostream.h> #include<math.h> const double pi(3.14159265); void main() { double a,b; cin>>a; b=a*pi/180; cout<<"sin("<<a<<")="<<sin(b)<<endl; cout<<"cos("<<a<<")="<<cos(b)<<endl; cout<<"tan("<<a<<")="<<tan(b)<<endl; }
int get_volume(int length, int width, int height) { cout<<setw(5)<<length<<setw(5)<<width<<set w(5)<<height<<' '; return length * width * height; }
参考:P75
引用调用 例3-6
#include<iostream.h> void Swap(int& a, int& b); int main() { int x(5), y(10); cout<<"x="<<x<<" Swap(x,y); cout<<"x="<<x<<" return 0; } void Swap(int& a, int& b) { int t; t=a; a=b; b=t; }
int main() { fighter.wingspan = 40; fighter.passengers = 1; fighter.fuel_load = 12000.0; bomber.wingspan = 90; bomber.passengers = 12; bomber.bomb_load = 14000.0; transport.wingspan = 106; transport.passengers = 4; transport.pallets = 42; transport.fuel_load = 18000.0; fighter.pallets = 4; cout << "The fighter carries "<< fighter.pallets << " pallets.\n"; cout << "The bomber bomb load is " << bomber.bomb_load << "\n"; return 0; }
函数模版
例3-11
#include<iostream.h> template<typename T> T abs(T x) { return x<0?-x:x; } void main() { int n=-5; double d=-5.5; cout<<abs(n)<<endl; cout<<abs(d)<<endl; }
第三章函数
• • • • • • • • • • • • • • • • • • 嵌套调用:例3-3 #include <iostream.h> void main(void) { int a,b; int fun1(int x,int y); cin>>a>>b; cout<<"a、b的平方和:"<<fun1(a,b)<<endl; } int fun1(int x,int y) { int fun2(int m); return (fun2(x)+fun2(y)); } int fun2(int m) { return (m*m); }
函数重载:两个以上的函数取相同的函数名,但是形参的个 两个以上的函数取相同的函数名, 两个以上的函数取相同的函数名 数或者类型不同
• • • •
int add(int x,int y); float add(float x,float y); double add(double x,double y); 运算符重载
C++与C的语法、函数定义不同点
• 例2-13:#include <iostream.h> • struct aircraft • { • int wingspan;// 翼幅 • int passengers; //乘客 • union //无名联合作为结构体的内嵌成员 • { • float fuel_load; // 战斗机装载的燃料 • float bomb_load; // 轰炸机装载的炸弹 • int pallets; // 运输机的货盘 • }; • } fighter, bomber中带参的宏:#define calarea(r) 3.14*(r)*(r)
例3-9 #include<iostream.h> inline double CalArea(double radius) //内联函数,计算圆的面积 { return 3.14*radius*radius; } int main() { double r(3.0); //r是圆的半径 double area; area=CalArea(r); //调用内联函数求圆的面积,编译时此处被替换为CalArea函数体语 句 cout<<area<<endl; return 0; }
递归调用:1)存在边界条件;2)递归定义
#include <iostream.h> long fac(int n) { long f; if (n<0) cout<<"n<0,data error!"<<endl; else if (n==0) f=1; else f=fac(n-1)*n; return(f); } void main() { long fac(int n); int n; long y; cout<<"Enter a positive integer:"; cin>>n; y=fac(n); cout<<n<<"!="<<y<<endl; }
y="<<y<<endl; y="<<y<<endl;
例3-8 #include <iostream.h> #include <iomanip.h> void fiddle(int in1, int &in2); int main() { int count = 7, index = 12; cout << "The values are "; cout<<setw(5)<<count; cout<<setw(5)<<index<<endl; fiddle(count, index); cout << "The values are "; cout<<setw(5)<<count; cout<<setw(5)<<index<<endl; return 0; } void fiddle(int in1, int &in2) { in1 = in1 + 100; in2 = in2 + 100; cout << "The values are "; cout<<setw(5)<<in1; cout<<setw(5)<<in2<<endl; }