c语言期末考试题库大题及详解答案,C语言期末复习题答案.doc

253b171540df25e1b84436cbe50dfc72.gifC语言期末复习题答案.doc

基本数据类型 一、选择题 1下列数据中,不正确的数值或字符常量是( ) 。 A0.825e2 B5L C0 xabcd D o13 2以下字符中,不正确的 C 语言转义字符是( ) 。 A B018 p19 8 进制里没有 8 以上的数字 Cxaa Dt 3已知大写字母 A 的 A SCII 码值是 65,小写字母 a 的 A SCII 码是 97,则用八进制 表示的字符常量101是( ) 。 A字符 A B字符 a C字符 e D非法的常量 4以下选项中可作为 C 语言合法整数的是( ) 。 A10110B B0386 C0Xffa Dx2a2 5以下符合 C 语言语法的实型常量是( ) 。 A1.2E0.5 B3.14.159E C.5E3 DE15 p18 6已定义 ch为字符型变量,以下赋值中错误的是( ) 。 Ach; Bch623; CchNULL; Dchxaa; 7已定义 c 为字符型变量,则下列赋值中正确的是( ) 。 Ac97; Bc“97“; Cc97; Dc“a“; 8C 语言中最基本的数据类型包括 。 A整型、实型、逻辑型 B整型、实型、字符型 P14图 2.1 C整型、字符型、逻辑型 D整型、实型、逻辑型、字符型 9在 C语言中,合法的字符常量是 。 A. 084 B x43 C ab D “0“ 10已知在 ASCII代码中,字母 A 的序号为 65,以下程序的输出结果是 。 include main char c1A , c2Y ; printf“d,dn“ , c1 , c2 ; A输出格式非法,输出错误信息 B65, 90 CA, Y D65, 89 二、填空题 1C 语言中,常量包括_整型常量、_实型常量_、字符型常量和_字符串常量。 2C 语言中,数据类型包括基本类型、构造类型、指针类型、空类型。 3字符串 ab在 C 语言中表示为 ab 。 4. C 语言中的变量实际代表内存中的一个存储单元。P16 5. 在 C语言中,整数可用 10 进制数、8进制数与 16进制数 3种来表示,以 0 x打头的 是 16 进制数,以 0 打头的是 8 进制数。 P17 6若有说明语句char c035;则变量 c 包含 1 个字符。 三、简答题 1C 语言的基本数据类型有几种3,分别是什么,并指出各种数据类型的关键字 intfloatchar 2. 常量和变量的区别是什么不变/变 3. 在程序中如何使用变量先定义,后使用 4字符和字符串表示形式有什么区别a和“a“有什么不同9 和9有何不同空字符 0和空格字符 有何区别 字符一个字节 。字符串最少两个(双引号里面 字符个数1) 运算符与表达式 一、选择题 1在下列运算符中,优先级最高的运算符是( ) 。 P28 A0; 只能为变量,i1 是表达式 8设 a和 b均为 double 型变量,且 a5.5、b2.5,则表达式intab/b 的值是( ) 。 A6.500000 B6 C5.500000 D6.000000 P22P23 9若有以下程序 26 main int k2,i2,m ; mki*k; printf“d,dn“,m,i; 执行后的输出结果是( ) 。 A8,6 B8,3 C6,4 D7,4 10若有定义 int a8, b5, c; 执行语句 ca/b0.4;后,c的值为( ) 。 A1.4 B1 C2.0 D2 11下列选项中哪个是合法的标识符( ) 。 P14 Achar B5abc Ct_a D_*m2 二、填空题 1C 语言中的表达式包括算术表达式、关系表达式、逻辑表达式、逗号表达式、条件 表达式和赋值表达式。 P24 2C 语言中的结合方向有自左向右和_自右向左。 3若有定义int a0;则执行赋值语句 aa*a a-15;后变量 a 中的值是0。 P26 4printf“ dn“,int2.53.0/3;的输出结果是_1。 5/31 5设 int x9; 执行 x3x-3;后 x 的值为 12 。 6假设变量 a为整型,则执行 a35,a*4;printf“ dn“,a;后的输出结果是8。 7条件00 Ca58, b58 Dkintab ; 分号结束 2以下选项中,不正确的赋值语句是( ) 。 Att1; Bn1n2n30; Ckij; Dabc1; 3若有定义int a,b,c;,要给变量 a,b,c输入数据,正确的输入语句是( ) 。 Ascanf“ d d d“, Bscanf“ D D D “, Creada,b,c; Dscanf“ d d d“,a,b,c; 4 阅读程序 include main int a ; float b , c; scanf“ 2d 3f 4f“ , p41 printf“na d , b f , c f“ , a , b , c; 若运行时从键盘上输入 987654321,则程序的输出结果是 。 Aa98 , b765 , c4321 Ba98 , b765.000000 , c4321.000000 Ca98 , b765.0 , c4321.0 Da98.0 , b765.0 , c4321.0 5已知字母 A的 A SCII码为十进制的 65,下面程序的输出结果是 。 include main char ch1 , ch2 ; ch1A 5-3 ; ch2A 6-3 ; printf“ d , cn“ , ch1 , ch2 ; A67 , D BB , C CC , D D不确定的值 6设有如下定义 int x10 , y3 , z ; 则语句 printf“ dn“ , zx y , x/y ; 的输出结果是 。 A1 B0 C4 D3 7 若有以下定义和语句 char c1b , c2e ; printf“ d, cn“ , c2-c1 , c2-aA ; 则输出结果是 。 A2 , M B3 , E C2 , E D输出结果不确定 8以下叙述中正确的是 。 A输入项可以是一个实型常量,例如 scanf“ f“ , 3.5 ; B只有格式控制,没有输入项,也能正确输入数据到内存,例如 scanf“a d , bd“ C输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如 scanf“ 4.2f“ , D当输入数据时,必须指明变量地址,例如 scanf“ f“ , 二、填空题 1结构化程序设计所规定的三种基本控制结构是顺序结构、选择结构、循环结构结 构。 2输出字段宽为 4 的十进制数应使用4d,字段宽度为 6 的十六进制数应使 用 6x ,八进制整数应使用6o ,字段宽度为 4 的字符应使用 4c ,字段宽度为 8,保留 3 位小数的实数应使用 8.3f ,字段宽度为 5 的字符串应使用 5s 。 p37 3若有定义int x0;,则执行赋值语句xx35,x*5;后,变量 x 中的值是 40。 4下面程序的输出结果是_17,21,11_。 include main int k17 ; printf“ d , o , x n“ , k , k , k ; 5若有定义int a0,b0,c0;用下面语句输入时 scanf“ d“, scanf“ d“, scanf“ d“, 从键盘输入 1045 则执行输入语句后,变量 a 的值是 10 ,变量 b 的值是_4_,变量 c 的值是_5。 p40 三、编程题 p36 1编写程序,输入两个整数,求出它们的商数和余数并进行输出。 2从键盘输入一个字符,输出这字符的 A SCII码的值。 3用 x,y,z 表示长方体三边边长,编写程序求其表面积 a 和体积 v,然后进行输 出。其中 x,y,z 通过键盘输入。 4编写程序,从键盘上输入两个电阻的值,求它们并联和串联的电阻值,输出结果保 留两位小数。 【提示】并联和串联的电阻值计算公式如下 并联电阻错误错误未找到引用源。未找到引用源。 串联电阻 RSR1R2 选择结构程序设计 一、选择题 1对于条件表达式m aa来说,其中的表达式 m等价于( ) 。 A m 0 B m 1 C m0 D m1 2下述程序( ) 。 main int x0,y0,z0; ifxyz xyz xyz printf““; else printf““; A有语法错误,不能通过编译 B输出 C可以编译,但不能通过连接,因而不能运行 D输出 3下列条件语句中,功能与其他语句不同的是( ) 。 Aifa printf“ dn“, x; else printf“ dn“, y; Bifa0 printf“ dn“, y; else printf“ dn“, x; Cif a0 printf“ dn“, x; else printf“ dn“, y; Difa0 printf“ dn“, x; else printf“ dn“, y; 4有以下程序 main int a5, b4, c3, d2; ifabc printf“ dn“, d; else ifc1d 1 printf“ dn“, d1; else printf“ dn“, d2; 执行后输出结果是( ) 。 A2 B3 C4 D编译时有错,无结果 5有以下程序 main int a3, b4, c5, d2; ifab ifbc printf“ d“, d 1; else printf“ d“, d 1; printf“ dn“, d; 程序运行后的输出结果是( ) 。 A2 B3 C43 D44 6以下程序 int i,a3,b2; iabab; b执行 ,b 不执行 printf“id ad bd“,i,a,b; 输出结果是( ) 。 A i1 a1 b3 Bi3 a2 b3 Ci4 a1 b4 Di4 a2 b4 7以下能够正确判断 char型变量 c是否为大写字母的表达式是( ) 。 A A c B A c C A c D 以上答案都不对 caba;ac;cb; 语句后 a1,b3,c3。 if 的语句为; 3设“a1, b2,c3,d4;”则表示式“abacdcd”的值是 4 。 4 以下程序运行的输出结果是 0 。 main int p30; printf“dn“,p/320p/10p3; 5写出运行结果。 include main int x0,y0,z0; ifxyz printf“ “; else printf““; 结果_。 6下列程序的功能是把从键盘上输入的整数取绝对值后输出。 main int x; scanf“d“,_ ifx main int x0,a0,b1; switchx case 0 a,b; break; case 1 a; case 2b; printfad,bdn,a,b; 结果_a1,b2。 三、编程题 1编程实现,输入一个整数,判断该数的奇偶性(输出相应的标志even偶数, odd奇数) 。 2编程实现,输入一个平面上的点,判断它是否落在单位圆上,并显示相应的信息。 3编程实现,给定一个整数,判断它是否能同时被 3、5、7整除。 4编写程序,从键盘输入 3个整数,按由小到大次序输出这 3个数。 5编写程序,输入一个 x值,计算分段函数的值。 循环结构程序设计 一、选择题 1在 C 语言中,为了结束由 while 语句构成的循环,while 后一对圆括号中表达式的 值应该为 。 A 0 B 1 Ctrue D非 0 2如下程序段执行后输出() 。 main int num 0; whilenum 100break; 没有循环增量 i Bfor; for相当于 while1 Cint k1000; do k;whilek10000; k1001100 break; si; i; 功能相同的语句是 。 Afor;i100;i,ssi; 二、填空题 1这个while循环的输出结果是 1 4 9 16 25 。 i 0; while i main char c; whilecgetchar putcharc; 程序运行时,如果从键盘输入B C,则输出结果为 A 。 3假定 a和 b 为 int型变量,执行下面程序段后 b的值为 8 。 a1;b10; do b-a;a; whileb main int i,t,a51,2,3,4,5; fori0;i main int i,j,row,col,min; int a341,2,3,4,9,8,7,6, 1, 2,0,5; mina00; row0; col0; fori0;i void main int fib201,1; int i; fori2;i Ddefine PI3.14 (5)若调用一个函数,且此函数中没有 return 语句,则正确的说法是( ) 。 A该函数没有返回值 B该函数返回若干个系统默认值 C能返回一个用户所希望的函数值 D返回一个不确定的值 (6)若用数组名作为函数调用的实参,传递给形参的是。 A数组的首地址 B数组中第一个元素的值 C数组中的全部元素的值 D数组元素的个数 (7)关于函数声明,以下不正确的说法是。 A如果函数定义出现在函数调用之前,可以不必加函数原型声明 B如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函 数原型声明 C函数在调用之前,一定要声明函数原型,保证编译系统进行全面的调用检查 D标准库不需要函数原型声明 (8)函数定义时,形参是整型变量,则函数调用时,实参不可以是 。 A整型常量 B字符型常量 C数组名 D整型表达式 二.填空 (1)C语言函数返回类型的默认定义类型是 int 。 (2)函数的实参传递到形参有两种方式 值的传递 和 地址的传递 。 (3)在一个函数内部调用另一个函数的调用方式称为 函数的嵌套调用 。在一个函数内部 直接或间接调用该函数称为函数 递归调用 的调用方式。 (4)从变量的作用域来分,变量可以分为 局部变量和 全局变量 。 (5)若函数定义为 int data float x3.7; returnx; 则函数返回的值是_3_。 三、编程题 1. 请编写程序,运用函数调用的方法计算分段函数 y 的值。要求数据的输入和输出在主函 数中完成,而计算分段函数的值在子函数中完成。 include float fdhsfloat x; void main float x,y; scanf“f“, yfdhsx; printf“f“,y; getch; float fdhsfloat x float y; ifx include int isprimeint n; void main int n,m; scanf“d“, misprimen; ifm1 printf“This is a prime number“; else printf“This is not a prime number“; getch; int isprimeint a int i; ifa1 return 0; fori2;i float fun1int n; void main printf“f“,fun1200; getch; float fun1int n int i; float sum0; fori1;i long int fun1int n; void main int n; scanf“d“, printf“ld“,fun1n; getch; long int fun1int n int i; long int fab1; fori1;in;i fab*i; printf“ldt“,fab; return fab;

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值