C程序设计专项练习题.doc
《C程序设计专项练习题.doc》由会员分享,可在线阅读,更多相关《C程序设计专项练习题.doc(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、C语言概述一、 单选题1-1. 以下_不是语言的特点。A. 语言的表达能力强 B. 语法定义严格 C. 数据结构系统化 D. 控制流程结构化1-2. C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下选项中可以不在该环境下进行的是_。A. 编辑和编译 B. 编译和连接 C. 连接和运行 D. 编辑和运行1-3. 以下_不是二进制代码文件。A. 标准库文件 B. 目标文件 C. 源程序文件 D. 可执行文件1-4. 下面各选项组中,均属于C语言关键字的一组是_。A. auto,enum,include B. switch,typedef,continueC. signed,union
2、,scanf D. if,struct,type1-5 下面四组字符串中,都可以用作C语言程标识符的是_。A. print B. Iam C. sign D. if_maf scanf 3mfty_pemx_2dmx_ a.f x1#aMb6 AMB A&B 5XY1-6. 以下不属于流程控制语句的是_。A. 表达式语句 B. 选择语句 C. 循环语句 D. 转移语句1-7.下面描述中,不正确的是_。A. C程序的函数体由一系列语句和注释组成。B. 注释内容不能单独写在一行上。C. C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明;D. scanf和printf是标准库函数而
3、不是输入和输出语句。1-8.下面描述中,正确的是_。A. 主函数中的花括号必须有,而子函数中的花括号是可有可无的。B. 一个C程序行只能写一个语句。C. 主函数是程序启动时唯一的入口。D. 函数体包含了函数说明部分。二、 填空题1-9. 一个完整的程序至少要有一个_函数。1-10. 标准库函数不是C语言本身的组成部分,它是由_提供的功能函数。1-11. 程序是以_为基本单位,整个程序由_组成。1-12. 常用的标准库函数有数学函数、字符函数和字符串函数、动态分配函数、随机函数和_函数等几个大类。1-13. 标准库函数存放在_文件中。1-14. 目标程序文件的扩展名是_。1-15. 程序连接过程
4、是将目标程序、_或其他目标程序连接装配成可执行文件。1-16. 因为源程序是_类型的文件,所以它可以用具有文本编辑功能的任何编辑程序完成编辑。三、 应用题1-17. 你认为C语言的主要特点和用途是什么?它和其它高级语言有什么不同?1-18. C语言以函数为程序的基本单位,它有什么好处?1-19. 语言程序结构的特点是什么?由哪些基本部分组成?1-20. 语言标识符的作用是什么?命名规则是什么?与关键字有何区别?1-21. 指出下列符号中哪些是语言标识符?哪些是关键字?哪些既非标识符亦非关键字? stru au_to _auto sizeof 3id file m_i_n-min call.me
5、nu hello A BC SIN90 n*m x.yx1234 until cos2x 1234 1234hello s+3 s_31-22. 为什么可以称为中级语言?二、数据类型与运算规则一、单选题2-1语言中字符型(char)数据在内存中的存储形式是_。A原码 B.补码 C.反码 D. ASCII码2-2. 运算符有优先级,在C语言中关于运算符优先级的正确叙述是_。A. 逻辑运算符高于算术运算符,算术运算符高于关系运算符B. 算术运算符高于关系运算符,关系运算符高于逻辑运算符C. 算术运算符高于逻辑运算符,逻辑运算符高于关系运算符D. 关系运算符高于逻辑运算符,逻辑运算符高于算术运算符2
6、-3. C语言并不是非常严格的语言,在以下关于C语言的不严格的叙述中,错误的说法是_。A. 任何不同数据类型都不可以同用B有些不同类型的变量可以在一个表达式中运算C在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D同一个运算符号在不同的场合可以有不同的含义2-4以下选项中属于C语言的数据类型是_。A复数型 B. 逻辑型 C. 双精度型 D. 集合型2-5在C语言中,int、char和short三种类型数据所占用的内存_。A. 均为2个字节 B. 由用户自己定义C. 由所用机器的机器字长决定 D. 是任意的2-6.下列常数中不能作为C的常量的是_。A. 0xA5 B. 2.5e-2 C
7、. 3e2 D. 05822-7.设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是_。A. 0至255 B. 0至65535 C.-256至255 D.-32768至327672-8. 在C语言中,数字029是一个_。A. 八进制数 B. 十六进制数 C. 十进制数 D. 非法数2-9.下列可以正确表示字符型常数的是_。 A. a B. t C. n D. 297 2-10.以下错误的转义字符是_。A. B. C. 81 D. 02-11.语言中整数-8在内存中的存储形式是_。A. 1111 1111 1111 1000 B. 1000 0000 0000 10
8、00C. 0000 0000 0000 1000 D. 1111 1111 1111 01112-12.已知 int i;float f;正确的语句是_。A.(int f)%i B. int(f)%i C. int(f%i) D. (int)f%i2-13.已知:char a;int b;float c;double d;执行语句 c=a+b+c+d;后,变量c的数据类型是_。A. int B. char C. float D. double2-14.已知 int i,a;执行语句i=(a=2*3,a*5),a+6;后,变量i的值是_。A. 6 B. 12 C. 30 D. 362-15.已知
9、 int i=5, j=5;执行语句j += +i; 后j的值是_。A. 10 B. 11 C. 12 D. A,B,C答案都不对2-16.字符串22a,0n的长度是_。A. 8 B. 7 C. 6 D. 52-17.已知:char c=A;int i=1,j;执行语句 j=!c&i+;则i和j的值是_。A.1,1 B.1,0 C. 2,1 D. 2,02-18.已知:int x=1,y=2,z;则执行:z=xy?+x:+y;则z的值为_。A. 1 B. 2 C. 3 D. 42-19.为求出s=10!的值,则变量s的类型应当为_。A. int B. unsiged C. long D. 以上
10、三种类型均可2-20.已知:float x=1, y=2, z;则:z=+x*y+的结果为_。A. z=4 B. z=2 C. z=6 D. 表达式是错误的2-21.已知int a=4,b=5,c;,则执行表达式c=a=ab后变量a的值为_。A. 0 B. 1 C. 4 D. 52-22.已知:char w;int x;float y;double z;则表达式w*x+z-y结果的类型是_。A. float B. Char C. int D. double2-23.选出使变量i的运行结果为4的表达式_。A.int i=0, j=0; B.int i=1, j=0; (i=3,(j+)+i);
11、j=i=(i=3)*2);C. int i=0, j=1; D. int i=1, j=1; (j=1) ? (i=1):(i=3);i+=j+=2;2-24.已知:int x;则使用逗号运算的表达式(x=4*5, x*5), x+25的结果为 ,变量x的值为 。 A. 20 B. 100 C. 表达式不合法 D. 45 A. 20 B. 100 C. 125 D. 452-26.执行下面语句后x的值为_。 int a=14, b=15, x; char c=A; x = ( (a&b) & (ca) );A. TRUE B. FALSE C. 0 D. 12-27.若定义了int x;则将x
12、强制转化成双精度类型应该写成_。A. (double)x B. x(double) C. double(x) D.(x)double2-28.要判断char型变量m是否是数字字符,可以使用下列表达式_。A. 0=m & m=9 B. 0=m & m=9C. 0=m & m=9 D. 前面三个答案均是错误的二、填空题2-29. 负数在计算机中是以_形式表示。2-30. 双精度型实数的表示范围是_,其有效位是_。2-31. 关系表达式的运算结果是_值。2-32. 逻辑运算符!是_运算符,其结合性是由_。2-33. 表达式的运算对象可以是常数、变量和_。2-34 已知char c;表达式(c=65&
13、c=97&c=122 ) & c=27的值为1,则变量c的值可以是_。*2-35. 已知:a=15,b=240;则表达式(a&b)&b|b 的结果为_。2-36. 已知在ASCII代码中,字母A的序号为65,以下程序的输出结果是_。#includemain()char cl=A,c2=Y;printf(%d,%dn,c1,c2);三、应用题2-37下面程序的输出是_。 main( ) int x=10, y=10; printf(%d %dn, x-, -y);2-38. 分析下面程序执行后的结果。main ( ) int a=3, b=7;printf (%dn, a+b); /* */pr
14、intf (%dn, b%a); /* */printf (%dn, !ab); /* */printf (%dn, a+b); /* */printf (%dn, a&b); /* */2-39在C语言中,怎样区分求负与减法运算?怎样区分取地址运算和按位与运算?三、顺序结构的程序设计一、单选题3-1. 已知:char a;int b;float c;double d;则计算表达式a*c+c-d之后,结果的数据类型_。A. char B. int C. float D. double 3-2以下选项中不是C语句的是_。A. int i; i+;printf(%dn,i); B. ; C. a=
15、5 ,c=10 D. ; 3-3. 以下合法的C语句是_。A. a=b; B. k=int(a+b); C. k=a+b=c; D. -i; 3-4执行以下程序段后,c3的值是_。 int c1=1,c2=2,c3; c3=c1/c2;A. 0 B. 1/2 C. 0.5 D. 1 3-5若int a,b,c; 则为它们输入数据的正确输入语句是_。A. read(a,b,c); B. scanf(%d%d%d,a,b,c); C. scanf(%D%D%D,&a,%b,%c); D. scanf(%d%d%d,&a,&b,&c); 3-6. 若float a,b,c; 要通过语句: scanf
16、( %f %f %f ,&a,&b,&c);分别为a,b,c输入10,22,33。以下不正确的输入形式是_。A10 B. 10.0,22.0,33.0 C.10.0 D. 10 22 2222.0 33.0 33 33 3-7若在键盘上输入: 283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是_。 A. scanf( %f,&c); B. scanf( %8.4f,&c); C. scanf ( %6.2f,&c); D. scanf( %8,&c); 3-8. 执行语句:printf( |%10.5f|n,12345.678);的输出是_。A. |2345.6780
17、0| B. |12345.6780| C. |12345.67800| D. |12345.678| 3-9. 若有以下程序段 ,其输出结果是_。int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3); printf( %d,%d,%dn,a,b,c);A. 3,0,-10 B. 0,0,5 C. -10,3,-10 D. 3,0,3 3-10. 若a为int类型,且a=125,执行下列语句后的输出是_。 printf(%d,%o,%xn,a,a+1,a+2)A. 125,175,7D B. 125,176,7F C. 125,176,7D D. 125,175,2F 二、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 专项 练习题
限制150内