C语言程序设计综合练习题集(19页).doc
《C语言程序设计综合练习题集(19页).doc》由会员分享,可在线阅读,更多相关《C语言程序设计综合练习题集(19页).doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-C语言程序设计综合练习题集-第 19 页C语言程序设计综合练习题一、单选题1. C语言中基本数据类型有 。CA) 整型、实型、逻辑型B)整型、字符型、逻辑型 C) 整型、实型、字符型D)整型、实型、字符型、逻辑型2. 在C语言中,数字O29是一个 。AA) 八进制数 B) 十进制数 C) 十六进制数 D) 非法数3. 在以下关于C语言的不严格的叙述中,错误的说法是 。AA) 在标识符中,大写字母和小些字母的意义相同 B) 有些不同类型的变量可以在一个表达式中运算 C) 在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义4. 下列关于C
2、语言用户标识符的叙述中正确的是 。BA)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头【解析】考查C语言中的用户标识符规则,在C语言程序设计中,用户标识符是由字母、数字和下划线组成的,并且第一个字符必须是字母或下划线。5. 结构化程序设计方法中有三种基本控制结构,以下不正确的是 。DA) 顺序结构B) 选择结构C) 循环结构 D) 数组结构6. C语言提供的合法关键字是 。DA) swicthB) cha C) Case
3、D) default7以下非法的赋值语句是 CA) n=(i=2,+i); B)j+; C) +(i+1); D)x=j0;【解析】对表达式不能进行自加自减运算。8.在以下一组运算符中,优先级最高的运算符是 。A) 算术运算符关系运算符逻辑与“&”逻辑或“|”赋值运算符逗号运算符。由于C选项为求余运算符,所以本题正确答案为C选项。9. 以下四个选项中不能看作一条语句的是 。DA) ; B) a=0,b=0,c=0; C) if(a0) D) if(b=0)m=1;n=2;【解析】C语言的基本语句包含控制语句、表达式语句、空语句、复合语句、函数调用语句。控制语句:完成一定的控制功能,C语言有9种
4、控制语句,分别是if-else、while、continue、switch、return、for、do-while、break、goto;表达式语句:由各类表达式构成,后面加上一个分号,就可以单独作为一条语句出现在一行,多数情况下含赋值运算符。复合语句:由一对大括号将一组语句序列括起来形成一个程序段,经常出现在选择或循环语句中。空语句:只有一个分号,表示什么也不做。函数调用语句:由函数名、圆括号内加实参表和分号组成。本题中D选项为三条语句,一条控制语句,链条表达式语句。正确答案为D选项。10. 能将高级语言编写的源程序转换为目标程序的软件是 。DA) 汇编程序B) 编辑程序C) 解释程序D)
5、编译程序11.以下选项中合法的实型常数是 。CA) 5E2.0B) E-3C) .2E0D) 1.3E【解析】以指数形式表示实数时,字母e或E之前必须有数字,且e后面指数必须为整数。12.依据C语言的语法规则,下列合法标识符是 A A)Else B)else C)user$2 D)5_examp【解析】标识符的定义有明确的规则:(1)标识符只能由字母、数字、下划线三者构成;(2)标识符的首字符必须是字母或者下划线;(3)标识符命名对字母大小写敏感;(4)标识符定义不能和C语言关键字(Key Words)相同。C语言中标识符对大小写敏感,sum和SUM是不同的标识符。13.以下选项中合法的用户标
6、识是 。A) longB) _2TestC) 3DmaxD) A.dat【解析】选项中A为保留字;选项C没有以字母或者“_”开头;选项D中不能有“.”14.在C语言中,字符型数据在内存中的存储形式是 。DA) 原码B) 补码C) 反码D) ASCII码【解析】数据在内存中是以二进制形式存放的。数值是以补码表示的。c的char数据属于基本类型,在内存中字符的存储实际上是把字符相对应的ASCII代码放到存储单元中的。而这些ASCII代码值在计算机中也是以二进制形式存放的。这个与整型的存储很相似。因此这两类之间的转换也比较方便!整型:一个正数的补码和其原码的形式相同。而负数的补码方式是将其绝对值的二
7、进制形式“按位求反再加1”; 实型:在内存中占4个字节,是按照指数形式存储的,实型数据分为小数部分和指数部分,分别存放!计算机用二进制表示小数部分,用2的幂次来表示指数部分!15.以下非法的赋值语句是 。CA) n=(i=2,+i);B) j+;C) +(i+1);D) x=j0;【解析】对表达式不能进行自加自减运算。16.已定义c为字符型变量,则下列正确的赋值语句是 。DA) c=66;B) c=66;C) c=B;D) c=66;17.已知小写字母的ASCII码为97,对于int a=99, b=b; printf(“%c,%d”, a , b);的结果是 。BA) 99, bB) c,
8、98C) 99, 98D) c, b【解析】字符类型变量用char来定义,特别要注意字符数据在内存中的存储方式:字符数据在内存中是用字符对应的ASCII码存储,其存储形式实质是采用整数形式,由于ASCII码集合中有256个字符,因此用0255这个范围内的256个整数分别与每个字符对应。因此字符型数据和整型数据在一定范围(0255)内,形式上可以相互引用。表现在这两种类型的变量能够以对方形式常量来赋值,以对方的形式来输出,还可以同时出现在算数表达式中参与运算int n=a; /*相当于n=97*/char c=65; /*相当于c=A,A的ASCII码是65*/printf(n=%d,n=%c,
9、n,n); /*输出:c=97,n=a*/printf(c=%d,c=%c,c,c); /*输出:n=65,n=A*/虽然字符型数据和整型数据在一定范围内可以通用,但其外在表现形式并不影响各自的数据类型,上例中n本质上还是整型变量,c本质上还是字符型变量。18.若变量a和i已正确定义,且i已正确赋值,合法的语句是 。BA) a=1B) +i;C) a=a+=5D) a=int(i)【解析】C语言的语句必须以分号结束,选项A是错误的。赋值表达式等号的左边只能是变量,而不能是表达式,选项C中含有a+=5,是错误的。选项D中的强制转换类型必须用圆括号将int括起来,也是不正确的。19.假定x和y为d
10、ouble型,则表达式x=2,y=x+3/2的值是 。DA) 3.500000B) 3C) 2.000000D) 3.000000【解析】算出来结果为3,排除A和C选项;又因为是double型,所以D选项为正确答案。20.以下程序的输出结果是 。Cmain() int a=5,b=4,c=6,d; printf(“%dn”,d=ab?(ac?a:c):(b);) 5) 4) 6) 不确定【解析】本题考察条件表达式。简单的条件表达式(条件表达式?表达式1:表达式2)可以用来代替if语句进行赋值。详见教材102页。21.设a=3,b=4,c=-5,则逻辑表达式:a | b+c & b=c 的值是
11、。BA) 1B) 0C) 非0D) 语法错【解析】运算符优先级由高到底为算术运算符-关系运算符-&和|-赋值运算符。其中&和|的结合方向为从左到右22.表示关系x=y=z的c语言表达式为 。AA) (x=y)&(y=z)B) (x=y)AND(y=z)C) x=y=zD) (x=y)&(yz-后,x,y,z的值分别是 。D) 1,1,1) 1,2,0) 0,1,1) 0,2,0【解析】注:前缀是先增值后引用,后缀是先引用再增值24.已知 int a=4,b=5; ,执行表达式 a=ab 后,变量a的值为 。AA)0 B)1 C)4 D)5【解析】C语言常用的积累运算符的优先级关系是:逻辑非“!
12、”算术运算符关系运算符逻辑与“&”逻辑或“|”赋值运算符逗号运算符。由于关系运算符优先级别高于赋值运算符,所以先执行ab,得到结果为假,即0,所以变量a的值为0。25.能正确表示逻辑关系“a10或a0”的C语言表达式是 。BA) a=10 or a=10 | a=10 & a=10 | a=026.设有定义 int a=3,b=4,c=5; ,则以下表达式中,值为0的表达式是 。D A) a&b B) a=b C) a|b+c&b-c D) !(a=A & ch=A & ch0; k-=3) putchar(*); 输出是 。B A)* B)* C)* D)无限循环【解析】在k分别为16,13
13、,10,7,4,1的时候,分别输出一个*。putchar()函数(字符输出函数)的作用是向终端输出一个字符。用putchar()函数可以输出能在屏幕上显示的字符,也可以输出控制字符,如putchar(n)的作用是输出一个换行符,使输出的当前位置移到下一行的开头。35.已知int i=1;执行语句while(i+4)后,变量i的值为 。CA) 3 B) 4 C) 5 D) 6【解析】i+是先进行其他运算,运算终了后再将i加1。所以循环中过程如下:i=0判断i4:成立i=i+1,于是i=1继续循环:判断i4:成立i=i+1,于是i=2继续循环:判断i4:成立i=i+1,于是i=3继续循环:判断i4
14、:成立i=i+1,于是i=4继续循环:判断i0前1个大,7) m-;printf(“%dn”,m);C)9876B)10987A)9 8 7D)1098【解析】复习一下while循环的执行过程:(1)计算while一对圆括号中表达式的值。当值为非零时,执行步骤(2);当值为零时,执行步骤(4)。(2)执行循环体中语句。(3)转去执行步骤(1)。(4)退出while循环。由以上while循环的一般过程来看,只有当while后面的括号中表达式的值为零时才停止循环。本题中,当m=7是循环停止,也就是说最后一个输出的应是7.开始m被赋予10,进入循环体,由于m-;所以m自减1为9,所以第一个输出的应是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 综合 习题集 19
限制150内