77范文网 - 专业文章范例文档资料分享平台

C语言程序复习题及参考答案 -(2)

来源:网络收集 时间:2018-12-25 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第三章 数据类型、运算符和表达式

(温馨提示:本章内容非常繁琐,细节较多,请将所记笔记中的说明部分和例题好好看看,一般考选择题和填空题)

一、主要内容

标识符命名原则:

1. 合法的要求是由字母,数字,下划线组成,并且第一个必须为字母或则是下划线。关

键字不可以作为用户标识符号。

2. main define scanf printf 及其他库函数的函数名都不是关键字可以用作标识

符。

3. If与if不同,If是可以做为用户标识符,因为C区分大小写。

基本数据类型:

1. 基本数据类型有哪些?所占空间大小及说明符。

2. 整型、实型、字符型常量的合法表示形式,字符串的表示形式。

a)实型数据的合法形式:小数形式和指数形式-----尤其要注意指数形式的格式e前必有数,e后必为整数。2.333e-1 就是合法的

b) 字符数据的合法形式:以单引号括起来的一个字符,注意转义字符P48表3-3。

如‘\\x6d’是合法的字符,ASCII码为十六进制的6d,‘\\141’也合法,ASCII码为八进制141,‘\\108’不合法。

c) 字符常量和字符串的区别:'a' 是字符占一个字节,

\是字符串占两个字节(含有一个结束符号)。

常量和变量

1. 符号常量的定义格式:eg #define PI 3.14159 (注意宏定义后无分号结尾) 2. 变量的定义格式:

3. 变量赋初值的方式。 int a=b=c=3;不合法

数据混合计算时数据类型的转换:P54图3-10。 a) 强制类型转换:一定是(int)a 不是 int(a),注意类型上一定有括号的。 b) 注意(int)(a+b)和(int)a+b 的区别。 前是把a+b转型,后是把a转型再加b。

运算符

1. 运算符的优先级别和结合方向: a) 单目运算>双目运算

b) 算术> 关系运算>逻辑运算>条件运算>赋值运算>逗号运算 2. 算术运算符:

a) %要求左右两边都是整型数,运算结果为余数。 b) /运算若左右两边都是整型数,结果为整数。

c) 自增自减运算符,前置先自增减,再运算;后置先运算,再自增减。自增自减运算

符只能作用于变量,不能作用于常量和表达式。

如:#define A 3

A++;是错误写法。 3. 关系运算符:

a)注意赋值=与关系= =的区别。

第 4 页 共 86页

b) c语言中没有逻辑类型,逻辑“真”用非0表示,逻辑“假”用0表示,

c) x在[a,b]间的关系表达式为x>=a && x<=b,不能写为a>=x>=b。但该表达式语法成

立,有运算结果。如3>=1>=5运算时从左向右依次运算,即3>=1为真,值为1,此时,表达式为1>=5,运算结果为假,值为0。所以整个1>=3>=5的值为0.

4. 逻辑运算符:

a)!优先级别比较高, !>&&>|| 。 b)&&和||运算时注意短路原则。(常考!)

5. 赋值运算符:

a)复合赋值运算符的使用。如a=12,则a+=a-=a*=a;运算后a的值

6. 条件运算符:

a)结合方向从右向左。

7. 逗号运算符:优先级别最低;也叫顺序执行运算符,表达式的数值逗号最右边的那个

表达式的数值。(2,3,4)的表达式的数值就是4

表达式

1. 能将数学表达式写成c表达式

2. 计算表达式的值,注意优先级别和结合方向。

二、练习题

(一)练习题之数据类型

一、选择题:

1、以下标识符中,不能作为合法的C用户定义标识符的是 ( ) A)putchar B)double C)_123 D)INT

2、下列字符序列中, 不可用作C 语言标识符的是 ( ) A. b70 B. #ab C. symbol D. a_1

3.以下不能定义为用户标识符的是:( )

A. MAIN B. _HJ C. 208ong D. LINE12 4. 以下是正确的字符常量是:( )。

A. \ B. '\\\\' C. 'W1' D. \

5. 以下各项是错误的整型常量的是:( )

A. -0xcdf B. 018 C. 0xe D. 011

6、下列四组选项中,均不是C语言关键字的选项是 :( ) A) define B) getc C) include D) while

第 5 页 共 86页

IF char scanf go type printf case pow

7、下面四个选项中,均是正确的八进制数或十六进制数的选项是:( ) A) -10 B) 0abc C) 0010 D) 0al2 0x8f -017 -0x11 -0xl23

-011 0xc 0xf1 -0x8

8、下面四个选项中,均是正确的数值常量或字符常量的选项是: ( ) A) 0.0 B) \C) '3' D) +001 0f 3.9E-2.5 011 0xabcd 8.9e lel0xFFOO 2e2 '&'

'\\' '' 0a 50.

9、下面不正确的字符串常量是:( )。 A) 'abc' B) \ D) \

10.设int类型的数据长度为2字节,则该类型数据的取值范围是: ( )

A. 0至65536 B. 0至65535 C. -32767至32768 D. -32768至32767

11、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为( )

A)char < int < 1ong int <= float < double B)char = int < 1ong int <= float < double C)char < int < 1ong int = float = double D)char = int = 1ong int <= float < double

12.若有以下程序段(n所赋的是八进制数) int m=32767,n=0327; printf(\执行后输出结果是:( )

A) 32767,327 B) 32767,0327 C) 32767,777 D) 32767,0777

13.设变量a是整形,f是实型,i是双精度型,则表达式10+′a′+i*f值的数据类型为:( )

A. int B. float C. double D. 不确定

14. 在C语言中,char型数据在内存中的存储形式是:( )

A. 补码 B. 反码 C. 源码 D. ASCII码

15. 字符串\在内存中占据的字节个数为 : ( )

A. 0 B. 1 C. 2 D. 3

16.下列为字符常量的是:( )

第 6 页 共 86页

A.“a” B. ?ab? C. ?\\n? D.?\\084?

17.在C语言中,下面字符串能用作变量名的是:( ) A. a+b B. auto C. 2-and D. a2

18.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句

c2 = 'A' + '6' - '3';后c2中的值为( )

A) D B) 68 C) 不确定的值 D) C

19、在C语言中合法的字符型常量是。 ( ) A、“A” B、?\\t? C 、65 D、A

20、以下选项中,C中正确的整型常量形式是。 ( ) A、0x16 B、-202.18 C、1,000 D、0458

二、填空题:

1. 在C语言中的实型变量分为两种类型,它们是_ __ 和 ___ ___。

2.将下列字符串表示成C语言的字符串常量

(1)C:\\TC\\LIB_____________

(2)He said:\’m a student.\_________

(3)85% student passed.____________________________

3.在C语言中,标识符中英文字母的大小写________(是/不是)等价的。换句话说,sum、Sum、SUM是3个_______(相同/不同)的标识符。 4.已知char w; int x; float y; double z;

则表达式:w * x + z - y所求得的数据类型为 。 5.变量名由字母、数字和下划线组成,并且必须是______打头。

6. C语言的数据类型分为基本类型、构造类型、指针类型和空类型 。(正确/错误)。 7.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,

则表达式ch = 'a' + '8' - '3'的值为 。

三、看程序写结果

1.如果对以下程序进行编译和运行,其结果为________。 main()

{int x,y; x=555;y=x+2; y=x+2;

printf(“x=%d”,x,y);}

2.执行以下程序,写出程序运行结果________。 main() {

int c1,c2; c1=97;

第 7 页 共 86页

c2=98;

printf(\ printf(\ }

3.执行以下程序,写出程序运行结果________。 main()

{ char c1, c2;

c1='A' ; c2='a' ; c1=c1+2 ; c2=c2+2 ;

printf(\ }

(二)练习题之 运算符和表达式

一、选择题:

1、以下运算符中,优先级最高的运算符是( ) A. = B. != C. *(乘号) D. ()

2、若有以下定义,则能使值为3的表达式是( ) int k=7, x=12;

A. x%=(k%=5) B. x%=(k-k%5) C. x%=k-k%5 D. (x%=k)-(k%=5)

3、设在tc2.0中有整型变量x,y,z均为3,表达式(x++)+(y++)+(z++)的值是 ( ) A. 6 B. 7 C. 8 D. 9

4、有以下程序运行后的输出结果是: ( ) main()

{ char a='A',b; print(\ printf(\ }

A. B,B B. B,C C. A,B D. A,C 5、有以下程序运行后的输出结果是 :( ) main()

{ char a='a';

printf (\ printf(\ }

A)b,b B)b,c C)a,b D)a,c

6、设a=6,b=4,则表达式b*=a+3的值为 : ( ) A)3 B)18 C)27 D)36

第 8 页 共 86页

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言程序复习题及参考答案&nbsp;-(2)在线全文阅读。

C语言程序复习题及参考答案&nbsp;-(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/389707.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: