ImageVerifierCode 换一换
格式:DOCX , 页数:149 ,大小:113.81KB ,
资源ID:6239636      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6239636.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(大一c语言习题练习及答案.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

大一c语言习题练习及答案.docx

1、大一c语言习题练习及答案第一章程序设计与C语言1.1 选择题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“”与“”不满足(1);选项D中的int为关键字,不满足(3)1.下列正确的标识符是(C)。A.-a1 B.ai C.a2_i D.int t2.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);3.下列四组选项中,正确的C语言标识符是(

2、 C )。A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)4.下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、Iam one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My-book line# His.age 选项B中的“”,”$” ,选项D中“”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)知识点:简单C语言程序的构成和格式5.在一个C程序中_B_。A、m

3、ain函数必须出现在所有函数之前 B、main函数可以在任何地方出现C、main函数必须出现在所有函数之后 D、main函数必须出现在固定位置6.以下说法中正确的是_D_。A、#define和printf都是C语句 B、#define是C语句,而printf不是C、printf是C语句,但#define不是 D、#define和printf都不是C语句7.一个C程序的执行是从( A )。A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main

4、函数结束8.在 C 语言中,每个语句必须以( D )结束。A. 回车符 B. 冒号 C. 逗号 D. 分号9.C 语言规定:在一个源程序中,main函数的位置( C )。A. 必须在最开始 B. 必须在系统调用的库函数的后面C. 可以任意 D. 必须在最后10.一个C 语言程序是由( B )。A. 一个主程序和若干子程序组成 B. 函数组成C. 若干过程组成 D. 若干子程序组成11.下列说法中错误的是( D )。A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行12.用

5、 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。A. 生成可执行目标文件 B. 生成目标文件C. 输出运行结果 D. 自动保存源文件1.2 填空题1、C 语言只有 32 个关键字和 9 种控制语句。2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C语言程序。3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 * 符号作为开始标记,以 */ 符号作为结束标记。4、C 语言中,输入操作是由库函数scanf完成的,输出操作是由库函数 printf 完成的。5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .ob

6、j ,经过连接后生成的可执行文件的扩展名是 .exe 。6、C 语言的标识符只能由字母、数字和下划线三种字符组成。第二章CH2 数据的存储与运算2.1 选择题1.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型2.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3%为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1; 5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1;/为求商运算符,该运算符能够对整型、字符、浮点等类型的数据进行运算

7、,5/2=23.设int a=12,则执行完语句a+=a-=a*a后,a的值是_D_。A、552 B、264 C、144 D、-2644.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是_A_。A、x/y*z B、x*(1/(y*z) C、x/y*1/z D、x/y/z5.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是_B_。A、1.4 B、1 C、2.0 D、26.以下选项中,不能作为合法常量的是_B_。A、1.234e04 B、1.234e0.4 C、1.234e+4 D、1.234e07.以下符合C语

8、言语法的实型常量是_C_。A、1.2E0.5 B、3.14159E C、.5E-3 D、E158.表达式3.6-5/2+1.2+5%2的值是_D_。A、4.3 B、4.8 C、3.3 D、3.89.下列定义变量的语句中错误的是_D_。A、int _int B、double int _ C、char For D、float US$ 10.以下不合法的用户标识符是_C_。A、j2_KEY B、Double C、4d D、_8_11.以下4组用户定义标识符中,全部合法的一组是_A_。A、_main enclude sin B、If -max turboC、txt REAL 3COM D、int k_

9、2 _001 12.以下定义语句中正确的是_C_。A、char a=A b=B; B、float a=b=10.0;(正解a=10.0 b=10.0)C、int a=10,*b=&a; D、float *a,b=&a;13.以下不能定义为用户标识符的是_D_。A、scanf B、Void C、_3com_ D、int14.以下有4组用户标识符,其中合法的一组是_C_。A、For -sub Case B、4d DO Size C、f2_G3 IF abc D、WORD Void define15.C语言中最简单的数据类型包括_B_。A、整型、实型、逻辑型 B、整型、实型、字符型C、整型、字符型、

10、逻辑型 D、整型、实型、逻辑型、字符型16.下列选项中,合法的C语言关键字是_D_。A、VAR B、cher C、integer D、default17.以下不能定义为用户标识符的是_D_。A、Main B、_0 C、_int D、sizeof18下列叙述中正确的是_D_。A、C语言中既有逻辑类型也有集合类型 B、C语言中没有逻辑类型但有集合类型C、C语言中有逻辑类型但没有集合类型 D、C语言中既没有逻辑类型也没有集合类型19.设int a=12,则执行完语句a+=a-=a*a后,a的值是_D_。A、552 B、264 C、144 D、-26420.以下变量x、y、z均为double类型且已正

11、确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是_A_。A、x/y*z B、x*(1/(y*z) C、x/y*1/z D、x/y/z21.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是_B_。A、1.4 B、1 C、2.0 D、222.设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式 1/2(a+b)h) 计算结果不相符的是_B_。A、(a+b)*h/2 B、(1/2)*(a+b)*h C、(a+b)*h*1/2 D、h/2*(a+b)23.假定x和y为double型,表达式x=2,y=x+3/2的值是_D_。A、3.5000

12、00 B、3 C、2.000000 D、3.00000024.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是_C_。A、1 B、2 C、2.000000 D、2.50000025.若有以下程序段int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是_A_。A、0 B、0.5 C、1 D、226.设有int x=11;则表达式(x+ * 1/3)的值是_A_。?A、3 B、4 C、11 D、1227.下列程序的输出结果是_C_。main()double d=3.2; int x,y;x=1.2;y=(x+3.8)/5.0;printf(%d n

13、,d*y);A、3 B、3.2 C、0 D、3.0728.请读程序片段:int i=65536;printf(%dn,i);上面程序片段的输出结果是_B_。A、65536 B、0 C、有语法错误,无输出结果 D、-129.若有以下定义和语句:int u=010,v=0x10,w=10;printf(%d,%d,%dn,u,v,w);则输出结果是: _A_。A、8,16,10 B、10,10,10 C、8,8,10 D、8,10,1030.在C语言中,不正确的int类型的常数是_A_。A、32768 B、0 C、037 D、0xAF31.以下程序的输出结果是_D_。main( )int k=17

14、;printf(%d,%o,%x n,k,k,k);A、17,021,0x11 B、17,17,17 C、17,0x11,021 D、17,21,1132.下面程序的输出是_C_。main()unsigned a=32768;printf(a=%dn,a);A、a=32768 B、a=32767C、a=-32768 D、a=-133.在C语言中,合法的长整型常数是_A_。A、0L B、4962710 C、324562& D、216D34.C语言中运算对象必须是整型的运算符是_A_。A、%= B、/ C、= D、5) printf(%dn,x);else printf(%dn,x-);则输出是_

15、B_。A、7 B、6 C、5 D、438.有以下程序main ()char a1=M, a2=m;printf(%cn, (a1,a2);以下叙述中正确的是_B_。A、程序输出大写字母M B、程序输出小写字母mC、格式说明符不足,编译出错 D、程序运行时产生出错信息39.以下程序的输出结果是 _B_。main()int a;printf(%dn,(a=3*5,a*4,a+5);A、65 B、20 C、15 D、1040.设有如下程序段int x=2002,y=2003;printf(%dn,(x,y);则以下叙述中正确的是_D_。A、输出语句中格式说明符的个数少于输出项的个数,不能正确输出B、

16、运行时产生错误信息C、输出值为2002D、输出值为200341有以下程序main()int x,y,z;x=y=1;z=x+,y+,+y;printf(%d,%d,%dn,x,y,z);程序运行后的输出结果是_C_。A、2,3,3 B、2,3,2 C、2,3,1 D、2,2,142.设有以下定义int a=0; double b=1.25;char c=A;#define d 2则下面语句中错误的是_D_。A、a+; B、b+; C、c+; D、d+;43.以下程序的输出结果是_D_。main()int x=10,y=10;printf(%d %dn,x-,-y);A、10 10 B、99 C

17、、9 10 D、10 944.若x和y都是int型变量,x=100、y=200,且有下面的程序片段printf(%d,(x,y);上面程序片段的输出结果是_A_。A、200 B、100 C、100 200 D、输则格式符不够, 输出不确定的值45.设有如下定义:int x=10,y=3,z;则语句printf(%dn,z=(x%y,x/y);的输出结果是_D_。A、1 B、0 C、4 D、346.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是_A_。main( )int x;scanf(%d,&x);if(x+ 5)printf(%d,x);elseprintf(%dn,x-);

18、 A、7和5 B、6和3 C、7和 D、6和447.若t为double类型,表达式t=1,t+5,t+的值是_D_。A、1 B、6.0 C、2.0 D、1.048.以下程序的输出结果是_A_。#includemain()int i=10,j=10;printf(%d,%dn,+i,j-);A、11,10 B、9,10 C、010,9 D、10,949.有以下程序main()int y=10;while(y-);printf(y=%dn,y);程序执行后的输出结果是_B_。A、y=0 B、y=-1 C、y=1 D、while构成无限循环50.下列程序的输出结果是( B)。main( ) int

19、a=7,b=5; printf(%dn,b=b/a);A、 5 B、 1 C、 0 D、不确定值51.以下选项中,不正确的 C 语言浮点型常量是( C )。A160 B. 0.12 C. 2e4.2 D. 0.052.以下选项中,( D )是不正确的 C 语言字符型常量。A. a B. x41 C. 101 D. a53.在 C 语言中,字符型数据在计算机内存中,以字符的( C )形式存储。A. 原码 B. 反码 C. ASCII 码 D. BCD码54.若x、i、j和k都是int型变量,则计算下面表达式后,x的值是( C )。x=(i=4,j=16,k=32)A. 4 B. 16 C.32

20、D.5255.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( B )。A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算56.若有代数式 ,则不正确的C语言表达式是( C )。A.a/b/c*e*3 B. 3*a*e/b/c C.3*a*e/b*c D. a*e/c/b*357.表达式!x|a=b 等效于( D )。A. !(x|a)=b) B. !(x|y)=b C. !(x|(a=b) D. (!x)|(a=b)58.设整型变量 m,n,a,b,c,d 均为1,执行 (m=ab)&(

21、n=cd)后, m,n 的值是( A)。A. 0,0 B. 0,1 C. 1,0 D. 1,159.设有语句 int a=3;,则执行了语句 a+=a-=a*=a;后,变量 a 的值是( B )。A. 3 B. 0 C. 9 D. -1260.在以下一组运算符中,优先级最低的运算符是( D )。A. * B. != C. + D. = 61.设整型变量 i 值为2,表达式(+i)+(+i)+(+i)的结果是( B )。A. 6 B. 12 C. 15 D. 表达式出错62.若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是( C )。A. 1 B. 2 C. 2

22、.0 D. 2.563.sizeof (double)的结果值是( A )。A. 8 B. 4 C. 2 D. 出错64.设a=1,b=2,c=3,d=4,则表达式:ab? a : cd? a : d的结果为( D )。A. 4 B. 3 C. 2 D. 165.设a 为整型变量,不能正确表达数学关系:10a15的 C 语言表达式是( A )。A. 10a10 & a15 D. !(a=15)66.设 f是实型变量,下列表达式中不是逗号表达式的是( D )。A. f= 3.2, 1.0 B. f0, f0 D. f=(3.2, 1.0) 67.表达式18/4*sqrt(4.0)/8值的数据类型

23、是( C )。A. int B. float C. double D. 不确定68.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句C2=A+6-3;后c2中的值是( A )。A. D B. 68 C. 不确定的值 D. C69.以下用户标识符中,合法的是( B )。A. int B. nit C. 123 D. a+b70.C 语言中,要求运算对象只能为整数的运算符是( A )。A. % B. / C. D. *71.若有说明语句:char c=72;则变量c在内存占用的字节数是( A )。A. 1 B. 2 C. 3 D. 472.字符串ABC在内存占用的字节数是( B

24、)。A. 3 B. 4 C. 6 D. 873.要为字符型变量 a赋初值,下列语句中哪一个是正确的( B )。A. char a=3; B. char a=3; C. char a=%; D. char a=*;74.下列不正确的转义字符是( C )。A. B. C. 074 D. 02.2 填空题1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表示的。2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。3、设 c=w,a=1,b=2,d=-5, 则表达式 x+1c, y!=c+2, -a-5*b=d+1, b=a=

25、2的值分别为 1 、 0 、 1 、 1 。4、设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4的值为 2.5 。5、判断变量 a、b 的值均不为 0 的逻辑表达式为a!=0&b!=0 。6、求解赋值表达式 a=(b=10)%(c=6),表达式值、a、b、c 的值依次为 4,4,10,6 。7、求解逗号表达式 x=a=3,6*a 后,表达式值、x、a 的值依次为18,3,3。8、数学式a/(b*c)的 C 语言表达式 a/b/c 。9、若有语句int i=-19, j=i%4;printf(%dn,j);则输出结果是_。答案:-310

26、、设y 是int型变量,请写出判断y为奇数的关系表达式_ y%2_。第三章CH3 顺序程序设计3.1 选择题1.如果int a=3,b=4;则条件表达式ab? a:b的值是_A_。A) 3 B) 4 C) 0 D) 1表达式1?表达式2:表达式3先计算表达式1,若表达式1成立, 则选择计算表达式2,并表达式2的值作为整个大表达式的值;若表达式1不成立,则选择计算表达式3,并将表达式3的值作为整个大表达式的值此题中的ab相当于表达式1,a相当于表达式2,b相当于表达式3.a为3,b为4。ab表达式1成立,因此计算表达式2,并将表达式2的值即a中的值,并作为整个表达式的值,因此整个表达式的值为32

27、.若int x=2,y=3,z=4 则表达式xz?y:z的结果是( B ). A)4 B)3 C)2 D)0 E)13.C语言中,关系表达式和逻辑表达式的值是( B ) 。 A) 0 B) 0或1 C) 1 D) T或F4.下面( D )表达式的值为4. A) 11/3 B) 11.0/3 C) (float)11/3 D) (int)(11.0/3+0.5)(1)相同数据类型的元素进行数学运算(+、-、*、/)得到结果还保持原数据类型。(2)不同数据类型的元素进行数学运算,先要统一数据类型,统一的标准是低精度类型转换为高精度的数据类型。选项A,11与3为两个整数,11/3结果的数据类型也应为整数,因此将3.666666的小数部分全部舍掉,仅保留整数,因此11/3=3.选项B,11.0为实数,3为整数,因此首先要统一数据类型,将整型数据3转换为3.0,转换后数据类型统一为实型数据,选项B变为11.0/3.0,结果的数据类型也应为实型数据,因此选项B 11.0 /3=3.666666选项C,先将整数11强制类型转换,转换为实型11.0,因此选项C变为11.0/3,其后计算过程、结果与选项B同选项D,首先计算11.0/3,其计算过程、结果与选项B同,得到3.666

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1