计算机二级 C语言第四章-第五章
计算机国家二级C语言教程 三四五章课件

例题:#include <stduio.h>
运 行 结 果 : main() boy {char a,b,c; a='b';b='o';c='y'; putchar(a);putchar(b);putchar(c); }
例题:输入单个字符
#include <stdio.h> main( ) {char c; c=getchar(); putchar(c); }
(2010年3月15题)有以下程序
#include<stdio.h> main() {char a,b,c,d; scanf (“%c%c”,&a,&b);
c=getchar( ); d=getchar( ); printf( “%c%c%c%c\n” , a,b,c,d);}
当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车, 注意:回车也是一个字符) 12<CR> 34<CR> 则输出结果是 A)1234 B)12 C)12 D)12 3 34
3. 说明 3. 说明 1. scanf函数调用格式 (1)地址列表由变量地址组成,变量名前必 scanf("格式控制",地址列表); (4)输入数据时,当遇到空格、回车、跳格 须要加地址符“&” 。多个变量地址之间用逗号 键(TAB)、数据宽度结束或非法输入时,C语言 例如: “,”分隔。格式个数应与地址列表中输入项数 系统认为其中的一个数据输入结束。 scanf("%d,%d",&x,&y); 要一一对应且数据类型匹配。 (5)格式说明中可以指明数据宽度的正整数、 其中,变量x、y前的“&”是求地址运算符, (2)格式控制”%”后的格式符有d、o、x、c、 小写字母1和h等修饰符。(了解即可) &x表示取变量x的地址,也就是内存中存储x值的数 s、e、f等,其含义和输出函数printf中的规定 (6)实型数据输入时不能指定小数位宽度。 据单元地址。 基本类似。 (7)使用“%c”格式输入字符时,输入的空格 2. 功能 (3)格式控制字符串必须用双引号括起,字 或转义字符都是有效的字符。 从键盘上输入数据,按格式控制所指定的格式 符串中含有普通字符时,键盘输入数据时,普通 (数据形式)赋给相应的输入项,并存放在地址列 字符也必须按原样输入。 表所对应变量的地址单元中。
计算机二级C语言chp4_选择结构

4.4 if语句及嵌套if语句
练习1:从键盘输入某科考试成绩,输出优秀、及 格与不及格等级,其中90分以上为优秀,60~90分 为及格,60分以下为不及格。
练习2:从键盘输入一字符,若为英文字符则原样 输出,若为数字字符则输出其ASCII码值
4.4 if语句及嵌套if语句
4.4.3 if-else语句—双分支 1. 语句形式: if (表达式) {语句块1} else {语句块2} 2.说明: 如果表达式的值为“真”,则执行语句块1; 如果表达式的值为“假”,则执行语句块2; 如果语句块中只有一条语句,则大括号“{ }”可以省略。
4.3 条件运算符和条件表达式
注意事项:
(1)表达式2和表达式3不仅可以是数值表达式,还可以是赋值表达式 或函数表达式。 例如: a>b?(a=100): ( b=100) a>b?printf(“%d”,a):printf(“%d”,b); (2)表达式2和表达式3的类型可以不同,低级别要向高级别的转换
printf(“y=%d\n”,y);
}
4.4 if语句及嵌套if语句
思考与实践:请画出如下程序的流程图
main() {int x; scanf(“%d”,&x); if (x>=80) if (x>=90) (printf(“优秀\n”); else printf(“良好\n”); else if (x>=70) printf(“中等\n”); else if (x>=60) printf(“及格\n”); else printf(“不及格\n”); printf(“y=%d\n”,y); }
4.2 逻辑运算符和逻辑表达式
何为逻辑?
思考1:如何判断变量x的值是否在[5~10]之外?
计算机二级第四章函数

函数调用的一般形式 函数调用的一般形式为: 函数名(实参表) 如果实参表列包含多个实参,则各参数间用逗号隔开。实参与形参的个数应相等,类型应匹配。实参与形参按顺序对应,一一传递数据。 如果是调用无参函数,则“实参表”可以没有,但括弧不能省略。
先举一个函数调用的简单例子1:
void printstar() /*定义printstar函数*/ { printf("****************\n"); } void print_message() /*定义print_message函数*/ { printf("How do you do!\n"); }
单击此处可添加副标题
# include <stdio.h> void main() { int max(float ,float ); 函数原型声明 float a,b; int c; scanf("%f,%f,",&a,&b); c=max(a,b); printf(“max is %d\n",c); } int max(float x,float y) { float z; /* z为实型变量 */ z=x>y?x∶y; return(z); }
在被定义的函数中,必须指定形参的类型(见例2 程序中的 “c=max(a,b);” )。
实参与形参的类型应相同或赋值兼容。例2中实 参和形参都是整型。如果实参为整型而形参x为实型,或者相反,则按不同类型数值的赋值规则进行转换。 例如实参值a为3.5,而形参x为整型,则将实数3.5转换成整数3, 然后送到形参x。字符型与整型可以互相通用。
int max(int x,int y) {int z; z=x>y?x∶y; return(z); }
计算机二级C语言第05章课件

5.1 概述
5.2 goto语句以及用goto语句构成循环
goto语句为无条件转向语句,它的一般形式为 goto 语句标号; 语句标号用标识符表示,它的定名规则与变量名相 同,即由字母、数字和下划线组成,其第一个字符 必须为字母或下划线。不能用整数来做标号。例如: goto label_1; 是合法的,而 goto 123; 是不合法的。结构化程序设计方法主张限制使用goto 语句,因为滥用goto语句将使程序流程无规律、
例5.4 while和do-while循环的比较。 (1) main ( ) (2) main( ) { int sum=0,i; { int sum=0,i; scanf(‚%d‛,&i); scanf("%d",&i); while (i<=10) do { sum=sum+i; { sum=sum+i; i++; i++; } }while (i<=10) printf(‚sum=%d‛,sum); printf(‚sum=%d‛,sum); } }
如for(;i<=100;i++) sum=sum+i;执行时,跳过‚求 解表达式1‛这一步,其他不变。 (2) 如果表达式2省略,即不判断循环条件,循环无 终止地进行下去。也就是认为表达式2始终为真。见图 5.7。 例如: for(i=1; ;i++) sum=sum+i; 表达式1是一个赋值表达式,表达式2空缺。它相当于: i=1; while(1) { sum=sum+1; i++; }
图5.1
图5.2
例5.2求∑n。用传统流程图和NS结构流程图表示 n=1 算法,见图5.2(a)和图5.2(b)。 根据流程图写出程序: main() { int i,sum=0; i=1; while (i<=100) { sum=sum+i; i++; } printf("%d",sum); }
全国计算机二级考试C语言(最全复习资料)

第一部分 C语言知识复习资料第一章C语言基本知识【考点1】C程序用C语言编写的程序称为C语言源程序,源程序文件的后缀名为“.c”。
源程序经编译后生成后缀名为“.obj”的目标文件,再把目标文件与各种库函数连接起来,生成“.exe”可执行文件。
C语言有三种基本结构:顺序结构、选择结构、循环结构。
【考点2】main函数又称主函数,是C程序的入口。
main后面跟一对小括号和一对花括号,花括号括起来的部分称为main 函数的函数体。
一个C程序从main函数开始执行,到main函数体执行完结束,而不论main函数在整个程序中的位置如何。
每一个程序有且仅有一个main函数,其他函数都是为main函数服务的。
【考点3】存储形式计算机在电脑中保存数据是采用二进制形式,由0或1构成的二进制称为位(bit),八个位构成一个字节(Byte),1个Byte=8个bit。
二进制、八进制、十六进制转化为十进制采用乘法,十进制转化为二进制、八进制、十六进制采用除法。
数据的存放位置就是它的地址。
【考点4】注释是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。
【考点5】书写格式每条语句的后面必须有一个分号,分号是语句的一部分。
一行内可写多条语句,一个语句可写在多行上。
【考点6】标识符是标识名字的有效字符序列,可以理解为C程序中的单词。
标识符的命名规则是:(1)标识符只能由字母、数字和下划线组成,字母区分大小写。
(2)标识符的第一个字符必须是字母或下划线,不能为数字。
C语言标识符分如下3类(1)关键字。
它们在程序中有固定的含义,不能另作他用。
如int、for、switch等。
(2)预定义标识符。
预先定义并具有特定含义的标识符。
如define、include等。
(3)用户标识符。
用户根据需要定义的标识符,符合命名规则且不与关键字相同。
【考点7】常量与变量常量是指在程序运行过程中,其值不能改变的量。
全国计算机等级考试二级C语言公共基础知识(附例题)

第1章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。
详细重点学习知识点:1.算法的概念、算法时间复杂度及空间复杂度的概念2.数据结构的定义、数据逻辑结构及物理结构的定义3.栈的定义及其运算、线性链表的存储方式4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1 算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。
计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法.1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。
2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。
在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。
(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构.描述算法的工具通常有传统流程图、N—S结构化流程图、算法描述语言等。
一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。
考点2 算法复杂度考试链接:考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。
1.算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。
同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。
这表明使用绝对的时间单位衡量算法的效率是不合适的。
撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量”的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。
《全国计算机等级考试二级教程C语言程序设计》

《全国计算机等级考试二级教程——C语言程序设计》课后题及参考答案第一章程序设计基本概念1.1 在TRUBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是______.答案:.exe1。
2 C语言源程序文件的后缀是_____,经过编译后,生成文件的后缀是_____,经过连接后,生成文件的后缀是____ _.答案:。
c 。
obj 。
exe1.3 结构化程序由_____、_____、_____三种基本结构组成.答案:顺序、选择、循环第二章 C程序设计的初步知识一、选择题2。
1 以下选项中正确的整型常量是A)12. B)—20 C)1,000 D)4 5 6答案:B2.2 以下选项中正确的实型常量是A)0 B)3。
1415 C)0.329×10(2)(10的2次方) D)。
871答案:D2。
3 以下选项中不正确的实型常量是A)2。
607E-1 B)0。
8103e 2 C)—77。
77 D)456e-2答案:B2。
4 以下选项中不合法的用户标识符是A)abc。
c B)file C)Main D)PRINTF答案:A2.5 以下选项中不合法的用户标识符是A)_123 B)printf C)A$D)Dim答案:C2。
6 C语言中运算对象必需是整型的运算符是A)%B)/ C)!D)**答案:A2.7 可在C程序中用作用户标识符的一组标识符是A)void define WORDB)as_b3 _123 IfC)For -abc caseD)2c DO SIG答案:B2。
8 若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4)D)a=a+7=c+b答案:B2.9 以下叙述中正确的是A)a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值.B)在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式.C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b 的值由原值变为0.D)已有a=3,b=5。
C语言全国计算机二级等级考试教程第四章选择结构(章节带习题)

2
a a
2 1
b 1
b
1
4.2 if语句和用if语句构成的选择结构
4.2.1 if语句
C语言的if语言有两种形式: if(表达式) 语句 关键字 不满足 单分支if语句 不含else子句 关键字 if(表达式) 语句1 else 语句2 不满足 双分支if语句 含else子句
表达式 满足 语句
表达式 满足 语句1
表达式2
表达式1
真
假
表达式3
真
假
表达式4
真
语句1 语句2 语句3
假
语句n
真
语句4
4.2 if语句和用if语句构成的选择结构
4.2.2 嵌套的if语句
例4.5 编写程序,根据输入的学生成绩给出相应的等级,大于或等于90分以上 的等级为A,60分以下的等级为E,其余每10分为一个等级。 Enter g:72<CR> 成绩(g)大于等于90分以上(g>=90):A g=72:C 成绩(g)大于等于80分以上(g>=80):B 程序的意思为: 成绩(g)大于等于70分以上(g>=70):C Enter g:55<CR> 成绩(g)大于等于60分以上(g>=60):D g=55:E 成绩(g)不及格(g<60):E #include <stdio.h> 假 g>=90 main() {int g; 真 g>=80 假 printf("Enter g:");scanf("%d",&g) 真 printf("g=%d:",g); g>=70 假 if(g>=90) printf("A\n"); 真 假 g>=60 else if(g>=80) printf("B\n"); else if(g>=70) printf("C\n"); 真 else if(g>=60) printf("D\n"); 输出A 输出B 输出C 输出D 输出E else printf("E\n"); }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
逻辑或
逻辑非
“&&”和“ ||”是双目运算符 “!”是单目运算符
C语言程序设计
第五章 选择结构程序设计
逻辑运算真值表
a 真 b 真 !a 假 !b 假 a&&b 真 a||b 真
真 假 假
假 真 假
假 真 真
真 假 真
假 假 假
真 真 假
逻辑运算符的优先次序 !(非) , &&(与),
优先次序:高(2) 结合方向:从右向左 (11) 从左向右
4.00, c=
6.00 s=
6.50
C语言程序设计
第四章 顺序程序设计
例4.11 从键盘输入大写字母,用小写字母输出
#include "stdio.h" void main() { char c1,c2; c1=getchar(); printf("%c,%d\n",c1,c1); c2=c1+32; printf("%c,%d\n",c2,c2); }
值为0 值为1 值为1 值为1 值为1 //(5>3)&&2||(8<(4-(!0))) 值为1 值为1
C语言程序设计
第五章 选择结构程序设计
复杂逻辑条件的表述
判断某一年year是否为闰年
判别闰年的条件(int year): 能被4整除: year%4==0 能被4整除但不能被100整除: (year%4==0)&&(year%100!=0) 能被400整除: year%400==0 综合起来: ((year%4==0)&&(year%100!=0))||year%400==0 优化语句: 此表达式为真时是闰年 (year%4==0&&year%100!=0)||year%400==0
C语言程序设计
第四章 顺序程序设计
getchar 函数(单字符输入函数) 。
格式: getchar( ) ; 强调:输入单个字符后,必须按一次回车, 计算机才接受输入的字符。
/*例4.2 */ #include <stdio.h> void main() { char c; c=getchar( ); putchar(c); }
输入:A 输出:A,65 a,97
C语言程序设计
第五章 选择结构程序设计
第5章 选择结构程序设计
关系运算符和关系表达式
逻辑运算符和逻辑表达式
if语句 switch语句 程序举例
C语言程序设计
第五章 选择结构程序设计
选择结构是三种基本结构之一,其作用是,根据 指定的条件所满足的情况转而执行相应的操作。 C语言用关系表达式和逻辑表达式通过if语句实现 双分支选择,用switch语句实现多分支选择。
格式控制:含义同printf函数 地址表列:变量地址或字符串地址,地址间“,”分 隔。 强调:地址列表中每一项必须以取地址运算符&开头。
输入:3_4_5 输出:3,4,5
例4.9 用scanf函数输入数据 #include <stdio.h> voidmain() { int a , b , c ; scanf(“%d%d%d”,&a,&b,&c) ; printf(“%d, %d, %d\n”,a,b,c) ; }
§5.2 逻辑运算符和逻辑表达式
用逻辑运算符将关系表达式或逻辑量连接起来 的式子就是逻辑表达式。 逻辑运算符: C语言提供3种逻辑运算符
运算符 && || ! 名称 逻辑与 示例 a && b a || b !a
含义
若a 、 b同时为真,则a && b为真 若a 、 b之一为真,则a || b为真 若a为真,则!a为假;a为假,则!a为真
C语言程序设计
第五章 选择结构程序设计
关系表达式
用关系运算符将两个表达式连接起来的式子
a>b , (a+b)>(b+c) , 5==3
关系表达式的值:是逻辑值“真”或“假”,用1和0 表示
int a=3,b=2,c=1,d,f; a>b //表达式值1 (a>b)==c //表达式值1 b+c<a //表达式值0 d=a>b //d=1 f=a>b>c //f=0
C语言程序设计
第四章 顺序程序设计
输入分隔符的指定
一般以空格、TAB或回车键作为分隔符 输入数据时,遇非法输入则认为数据结束 其它字符做分隔符:格式串中两个格式符间有其它字 符,则输入时对应位置也要有相同的字符。
例 scanf(“%d:%d:%d”,&h,&m,&s); 输入 12:30:45 则12 h, 30 m, 45 s 例 scanf(“%d%c%f”,&a,&b,&c); 输入1234a123o.26 则 1234 a, „a‟ b, 123 c
结果当然还是一样的!
C语言程序设计
第四章 顺序程序设计
输出控制字符 /* 例 putchar(„控制字符’) */ #include <stdio.h> void main() { char a,b; a=„O'; b=„k'; putchar(a); putchar(„\n‟); putchar(b); } 运行结果:O k
(条件语句) (循环语句) (结束本次循环语句) (多分支选择语句) (终止switch或循环语句) (转向语句) (从函数返回语句)
C语言程序设计
第四章 顺序程序设计
§4.3 数据输入输出的概念及在C语言中的实现
所谓数据的输入输出是从计算机角度出发的。 C语言本身没有I/O语句,所有I/O都由函数来实现。 C语言的标准库函数
源程序文件2
源程序文件n
预处理命令
全局变量声明
函数1
函数n
函数首部
函数体
局部变量声明
执行语句
C语言程序设计
第四章 顺序程序设计
C语句分为5类
控制语句:共9种
完成一定的控制功能,这些语句能够根据一定的测试条件 决定某些语句是否被执行,如分支、循环、跳转等语句。
if( )~else~ for( )~ while( )~ do~while( ) continue switch break goto return
计算机等级二级C语言
主讲人:乌云 参考书 计算机考试等级用书 课时安排
周二、四、五每晚8:00--11:00 周六上午10:30--1:30下午15:00--18:00
C语言程序设计
第四章 顺序程序设计
第4章 最简单的C程序设计—— 顺序程序设计
C语言概述
数据输入输出的概念及在C语言中的实现 字符数据的输入输出
||(或)
(12)低 从左向右
C语言程序设计
第五章 选择结构程序设计
逻辑表达式
C语言中, 运算量: “假”, 0表示“假”,运算结果: 0表示 非0表示“真”, 1表示
“真”, 例 a=4;b=5; !a a&&b a||b !a||b 4&&0||2 5>3&&2||8<4-!0 „c‟&&„d‟
格式输入与输出 顺序结构程序设计举例
C语言程序设计
第四章 顺序程序设计
§4.1 C语句概述
C程序结构:
一个C程序可以由多个源程序文件构成 一个源程序文件由若干函数、预编译命令及全局变量声明部 分构成 函数包括数据定义部分和执行部分,执行部分是C语言语句, 完成对数据的操作
C程序
源程序文件1
由编译系统提供的一系列函数,以库形式存放在系统中,不是 常用头文件: C语言文本的组成部分。 stdio.h 定义输入输出函数 库函数已编译成目标文件(.obj),在连接阶段才与源程序 编译成的目标文件相连接,生成可执行文件。 string.h 定义字符串操作函数 调用形式: math.h 定义sin、cos等数学函数 函数名(参数表) 注意在调用C语言库函数时,需要使用编译预处理命令 #include <相关的头文件>,使相应的头文件包含到用户源程 序中。
§5.1 关系运算符和关系表达式
“关系运算”即“比较运算,是对两个值进行 比较,比较的结果是得到真假两种值。 关系运算符
A>3
关系表达式
C语言程序设计
第五章 选择结构程序设计
关系运算符及其优先次序
C语言提供6种关系运算符
种类:< <= == >= > != 结合方向:自左向右 优先级别:
非法字符
C语言程序设计
第四章 顺序程序设计
§4.6 顺序结构程序举例
例4.10 输入三角形边长,求面积 #include <math.h> 文件包含预处理命令 #include <stdio.h> void main() { float a,b,c,s,area; 变量定义 scanf("%f,%f,%f",&a,&b,&c); 输入数据 s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2f\n",a,b,c,s); printf("area=%7.2f\n",area); 输出数据 } 输入:3,4,6 输出:a= 3.00, b= area= 5.33
算术运算符
高