C语言复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言复习
第1章数据、运算与基本输入输出
(教材第1-4章)
1.1 基础知识点与要点提示
本部分主要内容涉及c语言中最基本的语言要素,包括c源程序的基本构成、数据类型、运算表达式、基本的输入/输出函数。
1.1.1c语言程序的基本语法要素
1.c程序构成
c语言程序通常称为c源程序或简称c程序,其基本结构和基本概貌如下所述。
(1) c源程序的组成结构是以函数为基本单位,即是由函数构成的。一个完整的c源程序至少要有一个且仅有一个主函数(main函数),它是程序启动时的唯一入口。除主函数外,c源程序还可包含若干其他函数。
(2) 函数由两部分组成:(见教材第6页)。
一个c源程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何(main函数可以放在程序的最开头,也可以放在程序最后,或在一些函数之前,或在一些函数之后)。
(3) 函数体包括声明部分和执行部分,而执行部分由若干个语句组成,每个语句和数据声明的最后必须有一个分号,分号是c语句的必要组成部分。
(4) 语句是由一些基本字符和定义按照c语言的语法规则构成。这些基本字符和定义符是c语言最基本的语法要素。
2. c语言基本语法要素
(1) 基本字符集
数字:
字母:
(注意:字母的大小写是可区分的。如:abc与ABC不同;abc与Abc不同)
运算符:
特殊字符和不可显示字符:_(连字符或下划线) \ 空格换行制表符
(2) 一般标识符
在c语言中,一般标识符是用户对实体定义的一种定义符,用来标识用户定义的变量名、函数名、文件名、数组名、类型名等.
标识符的构成规则为:只能由字母、数字和下划线三种字符组成且第一个字符必须是下划线或字母。
要注意:标识符的大小写字母表示不同的含义,即表示不同的标识符。
(3) 关键字
关键字是c语言中具有特定含义的字符序列,它作为专用的定义符不允许用户作为自定义的标识符使用。c语言关键字是由小写字母构成的字符序列,ANSI标准定义的共32个。(见教材第365页附录B)
(4) 特定字
包括预处理中的define、include等。
(注意:一般标识符不能使用关键字和特定字)
1.1.2数据类型
数据是程序加工、处理的对象,也是处理的结果。因此,数据是程序设计所要涉及和描述的主要内容。c语言中,任何数据对用户呈现的形式有两种:常量和变量。而程序处理的数据要存入计算机的内存中,其存储的情况(即结构)则要由数据类型来决定。因此,程
序中无论常量还是变量,都要属于各种不同的数据类型。c语言规定的数据类型有:(见教材第37页)
1.1.3运算与表达式
掌握和灵活使用c语言的运算符,关键要注意以下几点:(见教材第365页附录C)
(1)运算符的运算含义和运算规则;
(2)运算符的优先级和结合性;(多个运算符先看优先级,同优先级再看结合性,单目
和三目运算符都是从右到左结合,双目运算符除赋值运算符外都是从左到右结合。)
(3)运算符对运算对象类型的要求和限制,这涉及到运算对象类型的自动转换和强制类
型转换的概念。
1.1.4基本输入/输出
C语言提供的基本输入/输出函数有:printf、scanf、getchar、putchar、gets、puts,特别要区分getchar、scanf和gets。
其中scanf和printf函数常用的转换字符参见第83页(表4-3、表4-4)和第81页(表4-1、表4-2)。
1.2 习题
1.2.1 选择题
【1】c语言中字符型(char)数据在内存中的存储形式是__
A) 原码B) 反码C) 补码D)ASCII码
D(见教材50页,ASCII表见教材第364页附录A)
【2】c语言中长整型(long)数据在内存中的存储形式是__
A) 原码B) 反码C) 补码D)ASCII码
C(见教材40页)
【3】c语言中的数据类型包括__
A) 整型、实型、逻辑型B)整型、实型、字符型
C)整型、字符型、逻辑型D)整型、字符型、逻辑型、实型
B
【4】以下选项属于c语言的数据类型是__
A) 复数型B) 逻辑型C) 双精度型D) 集合型
C
【5】在c语言中,int、char和short三种数据类型数据所占用的内存__
A) 均为两个字节B) 由用户自己根据字节的需要定义
C) 由所用机器的机器字长决定D) 是任意的
C
【6】设short int类型的数据长度为两个字节,则unsigned short int类型数据的取值范围是__
A) 0~255 B) 0~65535 C) -32768~32767 D) -256~255
B(见教材43页)
【7】下列不属于c语言关键字的是__
A)default B) case C) signed D)define
D(见教材365页附录B)
【8】下列可以正确定义数据类型的关键字是__
A)Long B)unsigned C) shorter D)integer
B
【9】在c语言中,数字029是个__
A)八进制数B)十六进制数C) 十进制数D) 非法数
D(见教材40页,9不是八进制数,所以是非法数)
【10】以下错误的转义字符是__
A)‘\\’B) ‘\000’C) ‘\080’D) ‘\”’
C(见教材48页,8不是八进制数,所以错误)
【11】已说明int a=256,执行语句ptintf(“%x”,a);的结果是__
A)100 B) 256 C) ffe D) 00ff
A
【12】下列常数不能作为c语言常量的是__
A)0xG1 B) 2.5e2 C) 3e2 D) 0567
A(见教材40页,G不是十六进制数,所以是非法数。另外还需要注意浮点型常量的表示方法,见教材45页)
【13】将字符g赋给字符变量c,正确的表达式是__
A)c=“g”B) c=101 C) c=‘\147’D)c=‘0147’
C(ASCII表见教材第364页附录A,大写字母A的值是65或‘\101’,小写字母a的值是97或‘\141’)
【14】已知int i;float f;正确的语句是__
A)(int f)%i B)int(f)%i C) int(f%i) D)(int)f%i
D(见教材365页附录C)
【15】以下运算符中优先级最低的运算符为__
A)&& B)|| C) ! D)==
B(见教材365页附录C)
【16】已知char a;int b;float c;double d;执行语句c=a+b+c+d;后,变量c的数据类型是__
A)int B)char C) float D)double
C(等号右边表达式经混合运算后为double型,再经系统强制转换为float型)
【17】已知int j,i=1;执行语句j=-i++;后,j的值是__
A)1 B)2 C) -1 D)-2
C
【18】已知int i,a;执行语句i=(a=2*3,a*5),a+6;后,变量i的值是__
A)6 B)12 C) 30 D)36
C
【19】已知int i=5;执行语句i+=++i;后,i的值是__
A)11 B)12 C) 10 D)A,B,C答案都不对
B
【20】已知char c=‘A’;int i=1,j;执行语句j=!c&&i++;后,i和j的值是__
A)1,1 B)1,0 C) 2,1 D)2,0
B
【21】已知int n,i=1,j=2;执行语句n=i A)1,2 B)1,3 C) 2,2 D)2,3 C 【22】已知int a,b;用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是__