收藏 分享(赏)

C语言程序设计综合练习题集.doc

上传人:精品资料 文档编号:10598384 上传时间:2019-12-04 格式:DOC 页数:20 大小:188.50KB
下载 相关 举报
C语言程序设计综合练习题集.doc_第1页
第1页 / 共20页
C语言程序设计综合练习题集.doc_第2页
第2页 / 共20页
C语言程序设计综合练习题集.doc_第3页
第3页 / 共20页
C语言程序设计综合练习题集.doc_第4页
第4页 / 共20页
C语言程序设计综合练习题集.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、 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) swicth

3、B) cha C) Case D) default7以下非法的赋值语句是 CA) n=(i=2,+i); B)j+; C) +(i+1); D)x=j0;【解析】对表达式不能进行自加自减运算。8.在以下一组运算符中,优先 级最高的运算符是 。A) 算术运算符关系运算符逻辑与“ C) if(a0) D) if(b=0)m=1;n=2;【解析】C 语言的基本语句包含控制 语句、表达式 语句、空语句、复合语句、函数调用语句。控制语句:完成一定的控制功能,C 语言有 9 种控制语句,分别是 if-else、while、continue、switch、return、for、do-while、break、

4、goto;表达式语句:由各类表达式构成,后面加上一个分号,就可以单独作为一条语句出现在一行,多数情况下含赋值运算符。复合语句:由一对大括号将一组语句序列括起来形成一个程序段, 经常出现在选择或循环语句中。空语句:只有一个分号,表示什么也不做。函数调用语句:由函数名、圆括号内加 实参表和分号组成。本题中 D 选项为三条语句,一条控制语句, 链条表达式语句。正确答案 为 D 选项。10. 能将高级语言编写的源程序转换为目标程序的软件是 。DA) 汇编程序 B) 编辑程序 C) 解释程序 D) 编译程序11.以下选项中合法的实型常数是 。CA) 5E2.0 B) E-3 C) .2E0 D) 1.3

5、E【解析】以指数形式表示实数时,字母 e 或 E 之前必须有数字,且 e 后面指数必须为整数。12.依据 C 语言的语法规则,下列合法标识符是 AA)Else B)else C)user$2 D)5_examp【解析】标识符的定义有明确的规则:(1)标识符只能由字母、数字、下划线三者构成;(2)标识符的首字符必须是字母或者下划线;(3)标识符命名对字母大小写敏感;(4)标识符定义不能和 C语言关键字(Key Words )相同。C 语言中标识符对大小写敏感,sum 和 SUM 是不同的标识符。13.以下选项中合法的用户标识是 。A) long B) _2Test C) 3Dmax D) A.d

6、at【解析】选项中 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);的结果是 。B

8、A) 99, b B) c, 98 C) 99, 98 D) c, b【解析】字符类型变量用 char 来定义,特 别要注意字符数据在内存中的存 储方式:字符数据在内存中是用字符对应的 ASCII 码存储,其存储形式实质是采用整数形式,由于 ASCII 码集合中有256 个字符,因此用 0255 这 个范围内的 256 个整数分别与每个字符对应。因此字符型数据和整型数据在一定范围(0255)内,形式上可以相互引用。表现在这两种类型的变量能够以对方形式常量来赋值,以对方的形式来 输出, 还可以同时出现在算数表达式中参与运算int n=a; /*相当于 n=97*/char c=65; /*相当于

9、 c=A,A 的 ASCII 码是 65*/printf(“n=%d,n=%c“,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=1 B) +i; C) a=a+=5 D) a=int(i)【解析】C 语言的语句必须以分号 结束, 选项 A 是错误的。赋值表达式等号的左边只能是变量,而

10、不能是表达式,选项 C 中含有 a+=5,是错误的。 选项 D 中的强制转换类型必须用圆括号将int 括起来,也是不正确的。19.假定 x 和 y 为 double 型,则表达式 x=2,y=x+3/2 的值是 。DA) 3.500000 B) 3 C) 2.000000 D) 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 ) 不确定【解析】本题考察条件表达

11、式。 简单的条件表达式(条件表达式?表达式 1:表达式 2)可以用来代替 if语句进行赋值。详见教材 102 页。21.设 a=3,b=4,c=-5,则逻辑表达式:a | b+c ,执行表达式 a=ab 后, 变量 a 的值为 。AA)0 B)1 C)4 D)5【解析】C 语言常用的积累运算符的 优先级关系是:逻辑非“!”算术运算符关系运算符逻辑与“ k-=3) putchar(*); 输出是 。BA)* B)* C)* D)无限循环【解析】在 k 分别为 16,13,10,7,4,1 的时候,分 别输出一个*。putchar ()函数(字符输出函数)的作用是向终端输出一个字符。用 putch

12、ar()函数可以输出能在屏幕上显示的字符,也可以输出控制字符,如 putchar(n)的作用是输出一个换行符,使输出的当前位置移到下一行的开头。35.已知 int i=1;执行语句 while(i+0 前 1 个大,7)m-;printf(“%dn”,m);【解析】复习一下 while 循环的执行过程:(1)计算 while 一对圆括号中表达式的值。当值为非零时,执行步骤(2);当值为零时, 执行步骤A)9 8 7B)10987C)9876D)1098(4)。(2)执行循环体中语句。(3)转去执行步骤(1)。(4)退出 while 循环。由以上 while 循环的一般过程来看,只有当 whil

13、e 后面的括号中表达式的值为零时才停止循环。本题中,当 m=7 是循环停止,也就是说最后一个输出的应是 7.开始 m 被赋予 10,进入循环体,由于 m-;所以 m 自减 1 为 9,所以第一个 输出的应是 9.44.若有如下程序段,其中 s、a、b、c 均已定义为整型变量,且 a、c 均已赋值(c 大于 0)s=a; for(b=1;bvoid main() int k=4,n=0;for( ; nvoid main()int x=1,a=0,b=0;switch(x)case 0:b+;case 1:a+;case 2:a+;b+;printf(“a=%d,b=%dn”,a,b);运行结果

14、:a=2,b=14.#include void main()int a33=1,2,3,4,5,6,i,j,s=0;for(i=0;ivoid main() int i,j; for(i=0; i void main() int i;for (i=0; ivoid main() int i,n=1,2,3,4,5;for(i=0;ichar fun(char *s) if( *s = a float y;printf(“输入 x:”);scanf(“%dn”,if(xby= amain()int j=0,k=0,l=0;/j,k,l 分别为 正整数, 0,负整数的个数。int *p;int a

15、100;/容纳这 100 个整数的数组for(p=a;p0) j+;elseif(*p=0) k+;else l+;printf(“正数的个数为%dn0 的个数为%dn 负数的个数为%dn”,j,k,l);6计算:s=1+1/1+1/2+1/n,其中 n 由键盘输入。 已验证错误的程序:#include main()int n;float s;scanf(“%f”,nmain()int n;float s,k;scanf(“%d”,for(k=1;kmain()int N,i,j,row=0,colum=0,max,min;int aNN;max=a00;min=a00;for(i=0;ima

16、x)max=aij;row=i;colum=j;printf(“max=%d,row=%d,colum=%dn”,max,row,colum);for(i=0;imain()int n,i,j;printf(“n=%dn”);scanf(“%d”,/边长 n 由程序输入for(i=0;imain()int n,i,j;printf(“n=%dn”);scanf(“%d”,/边长 n 由程序输入for(i=0;imain()int n,a,b,c;for(n=10;n1000;n+) a=n/100;b=(n-100*a)/10;c=n-100*a-10*b;if(a=0if(a!=0您好,欢迎您阅读我的文章,本 WORD 文档可编辑修改,也可以直接打印。阅读过后,希望您提出保贵的意见或建议。 阅读和学习是一种非常好的 习惯, 坚持下去,让我们共同进步。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报