c语言总复习资料word版
- 格式:doc
- 大小:76.50 KB
- 文档页数:6
C语言期末复习.doc第一章C语言概述一、选择题1、C语言程序由什么组成()A、子程序B、主程序和子程序C、函数D、过程2、源程序要正确地运行,必须要有什么函数()A、Printf函数B、自定义的函数C、main函数D、不需要函数3、指出下面哪些是合法的标识符()A、3abB、intC、ABCD、a_3E、sum..aF、#abcG、_stu2H、abc f二、问答题1、C语言程序由哪几部分组成?C语言程序结构有什么特点?参考答案一、选择题1、C2、C二、问答题见教案第二章基本数据类型、运算符及表达式一、选择题1、C语言中的数据的基本类型包括()A、整型、实型、字符型和逻辑型B、整型、实型、字符型和结构体C、整型、实型、字符型和枚举型D、整型、实型、字符型和指针型2、在C语言中,不合法的int型常量是()A、32767B、0678C、0XABCD、32768L3、在C语言中,运算对象必须是整型数的运算符是()A、%B、\\C、%和\\D、**4、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是()A、1B、2C、2.0D、2.55、若t为double类型,表达式t=1,t+5,t++的值就是()A、1B、6.0D、1.06、若有定义:int a=10,b=9,c=8;执行下面两条语句c=(a-=(b-5));c=(a%11)+(b=3);后,变量b的值为()A、9B、4C、3D、27、设int a=12,则执行完语句a+=a-=a*a后,a的值是_____A、22B、264C、144D、-264二、问答题:1、简述‘a’和“a”的区别。
参考答案一、选择题1、C2、D3、A4、D5、D6、C7、D二、问答题‘a’是字符常量“a”是字符串常量C语言规定:在每一个字符串的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。
C语言规定以字符’\\0’作为字符串结束标志。
如果有一个字符串”china”,实际上在内存中是占内存不是5个字节,而是6个字节,最后一个是’\\0’。
二级公共基础知识总结请大家认真复习公共基础,多背诵,多看,多做!“公共基础补充资料”也非常重要!有公共基础复习方法的介绍第一章数据结构与算法1.1算河和因:是指鮮題方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基木特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1 )可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性; (3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本耍素:一是对数据对哀的运算和襟作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关糸运算、教据传输。
算出的控制结构:|顺序结构、选择结构、循环结构|。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、冋溯法。
算出复杂度:|算出时问复杂因和|算出空问复杂度|。
算法肘问复杂度是指执行算法所需要的计算工作量。
算出空问复杂度是指执行这个算去所需要的内存空问。
1.2数据结构的基本基本概念数据结构是指相互有关联的数据元素的集合。
教据结构研克的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即區据的逻辑结珂;(2)在対数据进行处理时,各数据元素在计算机屮的存储关系,即|数据的存儲结匈;(3)对各种数据结构进行的运算。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素Z间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:门丿有且只有一个根结点;(2丿每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3线性表及其顺序存储结构线性表是由一纽教据元素构成,数据元素的住置只取决于自己的序号,元素之问的相对住置是线性的O在复杂线性表中,山若干项数据元索组成的数据元索称为亟,而山多个记录构成的线性表乂称为I 丈件I。
C语言程序设计综合复习资料(doc 9页)优质版c语言程序设计综合复习资料(doc9页)优质版c语言程序设计综合复习资料建议掌控的章节:第1章、第3章~第8章、第10章(前4节)、第11章(前6节)if、for、continue4.c语言程序的基本单位是a)函数b)过程c)子例程d)子程序3.在计算机中,一个字节所包含二进制位的个数是a)2b)4c)8d)164.用8scores符号二进制数能则表示的最小十进制数为a)127b)128c)255d)256a)intb)intc)jin#2d)8f14.依据c语言的语法规则,以下合法标识符就是a)elseb)elsec)user$2d)5_examp15.以下不正确的字符常量是a)'8'b)'\\xff'c)'\\887'd)''16.以下不恰当的字符常二、填空题1.c语言程序总是从函数开始执行。
重点章节:第3章~第8章、第10章(前4节)难点章节:第8章、第10章(前4节)考试题型:①选择题(填空题)(20%)②读程序题(40%)③编程序题(40%)第1章c语言概述一、选择题1.能够将高级语言撰写的源程序切换为目标程序的软件就是a)汇编程序b)编辑程序c)解释程序d)编译程序2.在一个c程序中a)main函数必须发生在所有函数之前b)main函数可以在任何地方发生c)main函数必须出现在所有函数之后d)main函数必须出现在固定位置3.c语言中用作结构化程序设计的三种基本结构就是a)顺序结构、选择结构、循环结构b)if、switch、breakc)for、while、do-whiled)2.c语言就是种面向_____的程序设计语言,其程序的基本单位就是。
.3.c语言中的函数由、两部分共同组成。
4.结构化程序设计中所规定的三种基本控制结构是、和。
第3章数据类型、运算符与表达式一、选择题1.以下关于c语言用户标识符的描述中恰当的就是a)用户标识符中可以出现下划线和中划线(减号)b)用户标识符中不可以发生中划线,但可以发生下划线c)用户标识符中可以出现下划线,但不可以放在用户标识符的开头d)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.c语言中基本数据类型存有a)整型、实型、逻辑型b)整型、字符型、逻辑型c)整型、实型、字符型d)整型、实型、字符型、逻辑型5.在计算机系统中,存储一个汉字的国标码所须要的字节数为a)1b)2c)3d)46.在c 语言中,char型数据在内存中的存储形式就是a)原码b)补码c)反码d)ascii码7.十六进制数100转换为十进制数为a)256b)512c)1024d)648.十六进制数7a转化成八进制数就是a)123b)122c)173d)1729.十进制数32转化成十六进制数是a)20b)ffc)10d)2110.与十进制数511等值的十六进制数为a)1ffb)2ffc)1fed)2fe11.以下选项中可以做为c语言合法整数的就是a)10110bb)0386c)0xffad)x2a212.以下选项中合法的实型常数是a)5e2.0b)e-3c).2e0d)1.3e13.依据c语言的语法规则,以下()就是用户的定义的合法标识符。
第一部分:C 中的数据首先,从主调函数和被调函数(模块间)要处理的任务数据的角度来总结数据的 知识点:C 语言中所讲授的数据有基本类型(整型、实型和字符型)和构建类型(数组、结构体、共用体、链表结点)之分。
构建类型是由基本类型构建而成,因此我们有必要 对基本类型的数据做以更细致的研究。
一.基本类型的数据程序中的数据无非是以常量和变量两种形式描述。
在这里我们不妨思考两个问题:(1)为什么要用变量? ( 2)常量经常用在什么地方?(一)常量对于基本类型常量我们要掌握:常量分几类?每类的书写规则是什么?(2)实型常量:有小数和指数两种表示形式.(3.4.1、3.4.3 )(3)字符型常量:有普通字符(可以是 ASCII 码表中的任何一个字符)、转义字符(表示控制命令的转义字符和用八进制十六进制描述的转义字符)(4)字符串常量(3.5.4 )(5)符号常量:实际上是不带参数的宏定义(3.2.1、9.1.1 )对于常量部分的考察无非是辨别书写形式,字符类的常量特别注意转义字符的辨认。
这就要求我们熟记书写规则。
例如以下题目:t-1 :下面哪个是正确的整型常量表示t-2:下面哪个是错误的实型常量表示期末复习(1)整型常量:有十、八、十六进制二种表示形式。
(331、333 )(3.5.1 )A)019B)0X34g C)-123 D)o56 E) 12,000A).23B)3.8E-4.5C)45E12D)92.45t-3:下面哪个是正确的字符常量表示:t-4:下面那个是正确的字符串常量表示:的值是5 ?(二)变量对于基本类型的变量,我们知道要使用变量必须先定义变量,定义的基本格式是: 数据类型 变量名;要正确定义变量就必须清楚两点(1)什么样的变量名才是合法的?(322)( 2)如何用类型符来描述所要定义的变量, 这就涉及到变量所分配的字节数、存储特点、有无符号及各自表示的数值范围等。
变量的三大类:(1)整型变量(3.3.2)分配字节:2 字节(int/short ) 4 字节(long ) ( TC2.0)存储特点:存储的是数值的补码形式(2)实型变量(3.4.2)(float ) 8 字节(double ) 16 字节(long double )存储特点:图3-7A) ” b ”B)'' C) '\34 ' D)'\0x9 ' E) '123't-5:t-6:A) abc'E) ” F) ” A ”B)C) “”D)“ \0x120”字符串“ ab034\0\\t\v\012 ”存储需要多少个字节? 先组合转义字符,11个字puts( “ ab034\0\\t\v\012 ”);的结果是 ab034? strlen( “ab034\0\\t\v\012 ”)符号标识:sig ned un sig ned表示数值范围:表3-1分配字节:4字节期末复习资料 第10页-总24页表示数值范围:表3-2(3)字符型变量(3.5.2、3.5.3 )分配字节:1字节(char )存储特点:存储字符的ASCII 值 符号标识:sig ned un sig ned 表示数值范围:sig ned char: -128~+127Un sig ned char: 0~255基本类型变量这部分知识主要的考察形式:(1)变量名(标识符)的正确与否鉴别 (2) 变量类型标识符的识别与应用(3)变量定义语句中对变量进行初始化的形式正确与否鉴别 (3.6)例如以下题目:F 面程序段在tc2.0和cfree3.0运行时的输出各为-1 / 65535un sig ned int a=65535; prin tf("%d",a);A)int a=b=5 ; B)char ch=97 ; C)unsigned int x, y=-5; D)int a=3,b=5;E ) int c=3(二)建构类型的数据t-7:以下正确的变量标识符是:A)3sum B)INTC) 3maxD)case E)p&sumF)s m at-8:以下正确的变量类型声明是:A)si gned intB)i nt longConsigned longD)shortlongt-9:t-10:以下正确的定义语句是:期末复习资料 第10页-总24页程序给出的任务数据可以是基本类型的,也可以是集合性质的。
C语言知识复习资料第一章:程序设计基本概念考点一:程序和程序设计可以连续执行的一条条指令的集合称为“程序”。
由高级语言编写的程序称为源程序,由二进制代码表示的程序称为目标程序。
具有翻译功能的软件称为编译程序,每种高级语言都有与它对应的编译程序。
由C语言构成的指令序列称为C源程序,按C语言的语法编写C程序的过程,称为C语言的代码编写。
用C语言编写的程序称为C语言源程序(又称为编译单位),源程序文件的后缀名为.C, C源程序经过C编译程序编译之后生成一个后缀为.OBJ的二进制文件(称为目标文件),然后由称为“连接程序”(Link)的软件,把此.OBJ文件与C 语言提供的各种库函数连接起来生成一个后缀为・EXE的可执行文件。
注意.c 和.obj文件时无法运行的,只有・exe文件才可以运行。
简单的程序设计一般包含:1.确定数据结构2.确定算法3编码4.在计算机上调试程序5.整理并写岀文档资料考点二算法算法可以用各种描述方法来进行描述,最常用的是伪代码和流程图。
算法的基木特征:(1)确定性:算法中每一-步骤都必须有明确定义,不允许有多义性;(2)有穷性:算法必须能在有限的时间内做完,即能在执行有限个步骤Z后终止;(3 )可行性:算法原则上能够精确地执行;(4)拥有足够的情报(5)有零个或多个输入(6)冇一个或多个输出考点三:结构化程序设计和模块化结构C语言有三种基本结构:顺序结构,选择结构,循环结构。
循坏结构包扭当型循环和直到型循环。
当型循环的特点是:当指定的条件满足(成立)时,就执行循环体,否则就不执行。
直到型循环的特点是:执行循环体知道指定的条件满足(成立)时就不再执行循环体。
由三种基本结构组成的算法可以解决任何复杂的问题。
由三种基木结构所构成的算法称为结构化算法。
由三种基本结构所构成的程序称为结构化程序。
由一个个功能模块构成的程序结构为模块化结构。
第二章:C程序设计的初步知识考点一:简单c语言程序的构成和格式例:求矩形的面积,程序如下:#include<stdio.h>main(){double a,b,area;a=1.2;b=3.6; /*将矩形的两条边长分别赋给a和b*/printf(<<a=%f,b=%f,area=%f\n,,,a,b,area); /* 输出矩形的两条边长和面积 */main是主函数名,C语言规定必须用main作为主函数名。
第一章数据类型与表达式一.知识点1. c语言的特点:①语言简洁、紧凑,使用方便、灵活;②运算符丰富;③数据结构丰富;④具有结构化控制语句;⑤语法限制不太严格,程序设计自由度大;⑥可以进行位操作,能实现汇编语言的大部分功能,能直接对硬件进行操作;⑦生成的目标代码质量高,程序执行效率高;⑧程序的移植性好。
2. C程序的组成:⑴C程序是甫函数构成的;⑵一个函数包括函数的首部(即函数的第一行)和函数体(即花括号部分);⑶函数体一般包括声明部分和执行部分;⑷一个C程序总是从main函数开始执行,从main函数结束;⑸C程序书写格式自市,一行内可以写几个语句,一个语句可以分写在多行上;⑹每个语句和数据定义的最后必须有一个分号;⑺C语言本身没有输入输出语句,是通过函数实现输入输出的;⑻可以用广……*/对C程序的任何部分作注释。
3. C语言程序的运行:源程序文件的扩展名为・c,目标程序文件的扩展名为.obj,可执行程序文件的扩展名为.exe。
4. C的数据类型:基本、构造、指针和空类型,char、int、short、long、unsigned> float> double> enum> struct> union> typedefo5. 常量与变量的概念,注意符号常量的定义与使用;6. 整型、实型、字符型常量的表示,注意整型常量的十进制、八进制、十六进制的书写。
7. 变量的定义,C的标识符包括关键字、预定义标识符、用户定义标识符;用户定义标识符的可用字符为字母、数字、下划线,第一个字符为字母或下划线。
8. 常见数据类型的取值范围,int为・32768〜+32767, unsigned int 为0~65535。
9. 转义字符:\n、\t、\b、\r、\f、\\、\\ \\ \ddd、\xhh10. 不同数值型数据的混合运算,低级类型转换为高级类型运算11・C的运算符:注意结合方向和运算的优先级12. 算术运算符:+、・、*、/、%、++、一,注意自加、减运算符分前缀和后缀两种方式。
二级公共基础知识作为必考内容出现,出题形式为选择题前10道,占考试总分的10%。
考试其它比重:1、C语言程序的结构占总分1%2、数据类型及其运算占总分4%3、选择结构程序设计占比分的3%4、循环结构占比分的5%5、数组的定义和引用占比分的5%6、函数占比分的5%7、编译预处理占比分1%8、指针占比分的5%9、结构体占比分的3%10、位运算占比分的2%11、文件操作占比分的2%考试方式上机考试,时长120分钟单选题40分(含公共基础10分),操作题60分(包括程序填空题、程序修改题、程序设计题)第一部分 C语言知识复习资料第一章 C语言基本知识(90分)【考点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】书写格式每条语句的后面必须有一个分号,分号是语句的一部分。
一行内可写多条语句,一个语句可写在多行上。
电子类14级C语言统一考试复习资料内部资料,注意保存第一部分:知识点复习1、结构化程序设计的3种基本结构顺序结构、选择结构(或分支结构)、循环结构(或重复结构)2、C语言的数据类型中基本类型有:整型(或int)实型(或float)字符型(或char)3、C语言的不同数据类型之间的转换方式有:自动类型转换、强制类型转换4、判断是否为闰年的条件表达式是:(year%4==0&&year%100!=())| | ( year%400==0)5、自增运算符和白减运算符的运算对象只能是:变量6、C语言屮字符输入、输出函数是:getchar()、putchar()7、switch后的表达式的类型可以是:整型或字符型8、从用户使用的角度看函数有两种:库函数和自定义函数;从函数的形式看分为:有参函数和无参函数。
9、在C语言中,数组有两个要素:数组名和下标10、对应一个整数的数据类型有:整型和字符型。
11、己有定义语句:inta=0,b=l,c=l,d;,执行语句d=-a||++b&&-c;后,a、b、c、d 的值为: -12 0 112、对C语言来说,下列标识符中合法的是()o(A)total (B) 3begin (C) you&me (D) #include13、C语言中,要求运算对象只能为整数的运算符是()。
(A)/ (B) > (C) % (D) *14、复合语句是用()括起来的语句组。
(A)() (B) { ) (C) [] (D) <>15、若变量均已正确定义并赋值,以下合法的C语言赋值语句是(A)x=y==5; (B) { }x=n%2.5; (C) x+n=i; (D) x=5=4+l;16、设x,y,z,t均为int型变量,则执行完下而语句后,y的值是()x=y=z=l ;t=++x||++y&&++z;(A)不确定(B) 2 (C) 1 (D) 017^ #include <stdio.h>main(){ inta=666,b=888;printf( ” %d\n ", a,b);}程序的输出结果是()。
C语言总复习资料一c语言的基本组成单位---- 函数。
l.main();2库函数;3.白定义函数。
Abc();二函数的组成:1.函数的首部,函数的第一行语句(包括函数的返回值类型、函数名、函数参数类型及函数参数名)。
()不可省略,例如:voidmain()2.函数体,包括函数的声明部分(声明在该程序中所要用到的函数)、定义部分(定义函数可能要用到的变量)、执行部分 (用于实现函数的功能)。
三函数必不可少的分号。
%1输入输出所使用的函数:scanf> getchar^ gets> printf> putchar> puts 等。
%1注释:不能嵌套。
习题94页18题。
%1大小写区分:printf与Printf之不一样。
七C语言上机过程:编辑(.c) ------------ >编译(.obj) ------ >连接(.exe) ----------- >运行得结果。
八C程序执行是从main()函数开始,到main函数结束处结束。
九进制转换:着重掌握十、八、十六进制及相互转换,原补码(位运算中要用到)。
十用户自定义标识符:1 •字母、数字、下划线。
2第一个字母不能为数字。
3.不能与c语言所定义的关键字相同,但可以与预定义标识符同。
十一常量:1整形常量十进制、八进制(以0开头)、十六进制(以Ox开头)后两种无负数。
2实型常量2.78 (小数点两边至少有一边要有数字)5.48e-3 (e前必有数字,e后必为整数) 3字符型常量a・一般字符0 ;b.转义字符:一般转义字符、八\十六进制转义字符。
'\n','\\','\t','\"','\64','\82','\x42','\xfr,'al2'.4字符串常量“a”vsN十二变量1.必须要先定义后使用;2变量三要素变量类型变量名变量值例1:下面不是c语言整形常量的是A. 02 B. 0 C.038 D.OxAL例2:合法的实型常量是A. 5E2.0 B.E-3 C.2E0 D 1.3E例3:若有语句chara;并要将字符a赋值给变量a,则下列正确的赋值表达式是A. B.a二'a' C.a=”97” D.a二'97'例4:以下合法的定义是:A. float _a=l.le-l;B. double b=l+5e2.5;C.long do=0xfdaL;D.float 2_and=l-e-3;十三.求余原则:1.两边都要为整数;2.先取绝对值求余,余数与被除数符号相同。
c语言总复习资料一c语言的基本组成单位——函数。
1.main();2库函数;3.自定义函数。
Abc();二函数的组成:1.函数的首部,函数的第一行语句(包括函数的返回值类型、函数名、函数参数类型及函数参数名)。
()不可省略,例如:void main() 2.函数体,包括函数的声明部分(声明在该程序中所要用到的函数)、定义部分(定义函数可能要用到的变量)、执行部分(用于实现函数的功能)。
三函数必不可少的分号。
四输入输出所使用的函数:scanf、getchar、gets、printf、putchar、puts等。
五注释:不能嵌套。
习题94页18题。
六大小写区分:printf与Printf之不一样。
七C语言上机过程:编辑(.c)——>编译(.obj)——>连接(.exe)——>运行得结果。
八C程序执行是从main()函数开始,到main函数结束处结束。
九进制转换:着重掌握十、八、十六进制及相互转换,原补码(位运算中要用到)。
十用户自定义标识符:1.字母、数字、下划线。
2第一个字母不能为数字。
3.不能与c语言所定义的关键字相同,但可以与预定义标识符同。
十一常量:1整形常量十进制、八进制(以0开头)、十六进制(以0x开头)后两种无负数。
2实型常量2.78(小数点两边至少有一边要有数字)5.48e-3(e前必有数字,e后必为整数)3字符型常量a.一般字符‟a‟ ;b.转义字符:一般转义字符、八\十六进制转义字符。
‟\n‟,‟\\‟,‟\t‟,‟\”‟,‟\64‟,‟\82‟,‟\x42‟,‟\xff‟,‟a12‟. 4字符串常量“a” vs ‟a‟十二变量 1.必须要先定义后使用;2变量三要素变量类型变量名变量值例1:下面不是c语言整形常量的是A. 02 B. 0 C.038 D.0xAL例2:合法的实型常量是A. 5E2.0 B.E-3 C.2E0 D 1.3E例3:若有语句char a;并要将字符a赋值给变量a,则下列正确的赋值表达式是A.a=”a” B.a=’a’ C.a=”97” D.a=‟97‟例4:以下合法的定义是:A. float _a=1.1e-1;B. double b=1+5e2.5;C.long do=0xfdaL;D.float 2_and=1-e-3;十三.求余原则:1.两边都要为整数;2.先取绝对值求余,余数与被除数符号相同。
特别要注意‟%‟与‟/‟的区别。
-10/3 10/-3十四. 赋值运算符及表达式:运算顺序自右致左,左边必须要是一个变量(能够存放东西)。
a=b=c=10(定义处不能这样); x+y=10; x+1=10;十五. 逗号表达式:a=(b=5,b+10); b=(a=4*9,a*2),a-3; 要考虑优先级。
十六. 类型转换char a=‟a‟; int b=32; float c=32.5;double s,d=32; s=a+b+c+d;十七.强制类型转换float b=3.5;int a; a=(int)b;例5:设有int x=11;则表达式(x++*1/3)的值是A 3 B 4例6:设有int a=1,b=1,c=1;a=a+++b+++c; 最终a、b、c的值是:a=4;b=2;c=1;例7:有以下定义和语句组:float x=1;int y=2;y+=++x*++x;则最终y的值为:11例8:int x=2;printf(“%d”,((x=4*5,x*5),x+25)); 45例9:若变量已正确定义并赋值,以下符合c语言语法的表达式是A.a:=b+1B.a=b=c+2C. int 18.5%3D.a=a+7=c+b十八输入输出格式ch=getchar(); putchar(ch); scanf(“%d%f%c”,&a,&b,&c); printf(“%d,%d”,a,b);例10:有以下程序,输出的结果是main(){int a;char c=10;float f=100.0;double x;a=f/=c*=(x=6.5);printf(“%d %d %3.1f %3.1f\n”,a,c,f,x);}十九.逻辑运算及其短路现象(对于逻辑与和逻辑或而言)二十.关系运算符及表达式a>b>c 优先级要清楚(即关>逻辑)二十一.条件运算符及表达式a>b?a:c>d:c:d等价与a>b?a:(c>d?c:d) 设a=1,b=2,c=3,d=4; 4 例11:以下程序的输出是A. d=0 c=50 B.d=0 c=2 C.d=1 c=50 D.d=1 c=2main(){int a=3,b=4,c=2,d; d=a<!b&&(c=50)>b; printf(“d=%d c=%d”,d,s);}二十二.if语句例12:以下程序输出结果是int i=1,j=1,k=2; if((j++||k++)&&i++) printf(“%d,%d,%d\n”,i,j,k); 2,2,2if-else语句注意:if后只能管一个语句main(){int a=2,b=-1,c=2; if(a<b) if(b<0) c=0;else c++; printf(“%d\n”,c);}二十三.switch 语句以下程序的输出是: main(){int x=1,a=0,b=0;switch(x) {case 0:b++;case 1:a++;case 2:a++;b++;} printf(“a=%d,b=%d\n”,a,b)} a=2,b=1二十四.while vs do-whilemain(){int i=0,n=0;while(n!=0){i++;++i} printf(“%d”,i); } main(){int i=0,n=0;do {i++;++i} while(n!=0); printf(“%d”,i); }二十五break vs continue注意:break语句只能出现在循环体和switch语句中而continue只出现在循体环中。
main(){int sum,i;sum=0; for(i=10;i>0;i--) {if(i>5) continue;sum=sum+i;} printf("%d\n",sum);}例13:以下程序的输出是: main(){int a,y;a=5;y=0; a=7 y=7 do{ a+=2;y+=a;printf(“a=%d y=%d\n”,a,y);if(y>10) break; }while(a==7); }a=9 y=16例14:以下程序的输出是: main(){int k=4,n=0; for(;n<k;){n++;if(n%3!=0) continue;k--;}printf(“%d,%d\n”,k,n);} 3,3二十六.一维数组的定义、赋初值、引用。
注意:int a[10]={0};中括号例常量表达式,下标从0开始例15:若有定义float y[5]={1,2,3};则下列描述正确的是:()A.y并不代表数组元素 B.定义此数组时不指定数组的宽度,定义效果一样C.数组含有三个元素 D.a[3]的值是3例16:以下程序的输出是: main(){int z,y[3]={2,3,4};z=y[y[0]];printf(“%d”,z);} 4例17:以下程序的输出是: main(){int p[7]={11,13,14,15,16,17,18},i=0,k=0;while(i<7&&p[i]%2) {k=k+p[i];i++}printf(“%d\n”,k);} 24例18:以下程序的输出是:main(){int n[5]={0,0,0},i,k=2;for(i=0;i<k;i++) n[i]=n[i]+1;printf(“%d\n”,n[k])} 0二十七.二维数组的定义、赋初值、引用例19:main(){int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++)for(j=0;j<=i;j++) s+=a[i][j];printf(“%d\n”,s)} 18例20:以下不能正确定义二维数组的是:A int a[2][2]={{1},{2}};B int a[][2]={1,2,3};C int a[2][2]={{1},2,3};D int a[2][]={{1,2},{3,4}};例21:若a是一个m行n列的数组,则a[i][j]是数组的第()个元素A i*m+jB i*m+j+1C i*n+jD i*n+j+1二十八字符数组的定义、赋初值、引用1.char arr[10]={…h‟,‟e‟,‟l‟,‟l‟,‟o‟};2.char arr[]={…h‟,‟e‟,‟l‟,‟l‟,‟o‟,‟\0‟};3.char arr[10]={“hello”};4.char arr[10]=”hello”;二十九字符串输入输出若char str[10]=”hello”,arr[10]=”me”;scanf(“%s”,str); printf(“%s”,str); gets(str); puts(str);strcpy(arr,str); strcmp(str,arr); strlen(str); strcat(str,arr);例22:以下程序的输出是:main(){char st[20]=”hel\0lo\t”;printf(“%d%d\n”,strlen(st),sizeof(st))} 3,20例23:以下程序的输出是:char s[]=”\\141\141abc\t”;printf(“%d\n”,strlen(s));9三十指针与字符串char *a; a=”hello”; char a[10]; a=”hello”;例24:以下选项中正确的语句组是:()A.char s[8];s={“Beijing”};B.char *s;s={“Beijing”};C.char s[8];s=”Beijing”;D.char *s;s=”Beijing”;三十一有参函数的声明、定义、与调用。
float add(float x,float y);/*函数的声明*/ mai(){int a=3.5,b=4.0,d; d=add(a,b);/*函数的调用*/}float add(float x,float y)/*函数的定义*/ {return x+y;}三十二函数的嵌套调用与递归调用double fun1(double a) {return a*=a;}double fun2(double x,double y){ double a=0,b=0;a=fun1(x);b=fun1(y);return (int)(a+b);} main(){double w;w=fun2(1.1,2.0);printf("%f\n",w);} /*嵌套调用*/ long fib(int n){if(n>2) return (fib(n-1)+fib(n-2));else return 2;}main(){printf(“%d\n”,fib(3));}/*递归调用*/三十三函数中的值传递与地址传递(不管是传递什么,实质都是传值,只不过一个是传递地址值而已)func(int a){a=100;} func(int a[]) {a[0]=100;}main(){int a=10;func(a);printf(“%d”,a);} main(){int a[1];a[0]=10;func(a);printf(“%d”,a[0]);}三十四局部变量与全局变量:局部变量的存储类型分为自动型(auto)、寄存器型(register)、静态类型(static),其中auto 型和register型的变量的存储空间是动态的,程序一结束,其值就消失。