大一C语言习题练习及答案.docx
《大一C语言习题练习及答案.docx》由会员分享,可在线阅读,更多相关《大一C语言习题练习及答案.docx(137页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章第一章程序设计与程序设计与 C 语言语言1.1 选择题选择题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项 A 中的“-”,选项 B 中“”与“”不满足(1);选项 D 中的 int 为关键字,不满足(3)1.下列正确的标识符是(C)。A.-a1B.aiC.a2_iD.int t2.下列 C 语言用户标识符中合法的是(B)。A)3axB)xC)caseD)-e2E)union选项 A 中的标识符以数字开头不满足(2);选项 C,E 均为为关键字,不满足(3);选项 D 中的“-”不满足(1);3.下列四组选项中,正确的
2、 C 语言标识符是(C)。A)%xB)a+bC)a123D)123选项 A 中的“%”,选项 B 中“+”不满足(1);选项 D 中的标识符以数字开头不满足(2)4.下列四组字符串中都可以用作 C 语言程序中的标识符的是(A)。A、print_3ddb8aBcB、Iamone_halfstart$it3paiC、str_1CpppowwhileD、PxqMy-bookline#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 函数开始,到本程序文件的最后一
4、个函数结束D 本程序文件的第一个函数开始,到本程序 main 函数结束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,经过编译后生成的目标文件的扩展名是.obj,经
6、过连接后生成的可执行文件的扩展名是.exe。6、C 语言的标识符只能由字母、数字和下划线三种字符组成。第二章第二章CH2 数据的存储与运算数据的存储与运算2.1 选择题选择题1.C 语言中的简单数据类型包括(D)。A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型2.在 C 语言程序中,表达式 5%2 的结果是C。A)2.5B)2C)1D)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、552B、264C、144D、-2644.以下变量 x、y、z 均为 double 类型且已正确赋值,不能正确表示数字式子 x/(y*z)的 C 语言表达式是_A_。A、x/y*zB、x*(1/(y*z)C、x/y*1/zD、x/y/z5.若有定义:int a=8,b=5,c;,执行语句 c=a/b+0.4;后,c 的值是_B_。A、1.4B、1C、2.0D、26.以下选项中,不能作为合法常量的是_B_。A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e07.以下符合
8、 C 语言语法的实型常量是_C_。A、1.2E0.5B、3.14159EC、.5E-3D、E158.表达式 3.6-5/2+1.2+5%2 的值是_D_。A、4.3B、4.8C、3.3D、3.89.下列定义变量的语句中错误的是_D_。A、int _intB、double int_ C、char ForD、float US$10.以下不合法的用户标识符是_C_。A、j2_KEYB、DoubleC、4dD、_8_11.以下 4 组用户定义标识符中,全部合法的一组是_A_。A、_main enclude sinB、If-max turboC、txt REAL 3COMD、int k_2 _001?1
9、2.以下定义语句中正确的是_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、scanfB、VoidC、_3com_D、int14.以下有 4 组用户标识符,其中合法的一组是_C_。A、For-sub CaseB、4d DO SizeC、f2_G3 IF abcD、WORD Void define15.C 语言中最简单的数据类型包括_B_。A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型
10、、字符型16.下列选项中,合法的 C 语言关键字是_D_。A、VARB、cherC、integerD、default17.以下不能定义为用户标识符的是_D_。A、MainB、_0C、_intD、sizeof18 下列叙述中正确的是_D_。A、C 语言中既有逻辑类型也有集合类型B、C 语言中没有逻辑类型但有集合类型C、C 语言中有逻辑类型但没有集合类型D、C 语言中既没有逻辑类型也没有集合类型19.设 int a=12,则执行完语句 a+=a-=a*a 后,a 的值是_D_。A、552B、264C、144D、-26420.以下变量 x、y、z 均为 double 类型且已正确赋值,不能正确表示数
11、字式子 x/(y*z)的 C 语言表达式是_A_。A、x/y*zB、x*(1/(y*z)C、x/y*1/zD、x/y/z21.若有定义:int a=8,b=5,c;,执行语句 c=a/b+0.4;后,c 的值是_B_。A、1.4B、1C、2.0D、222.设有定义:float a=2,b=4,h=3;,以下 C 语言表达式与代数式 1/2(a+b)h)计算结果不相符的是_B_。A、(a+b)*h/2B、(1/2)*(a+b)*hC、(a+b)*h*1/2D、h/2*(a+b)23.假定 x 和 y 为 double 型,表达式 x=2,y=x+3/2 的值是_D_。A、3.500000B、3C
12、、2.000000D、3.00000024.若已定义 x 和 y 为 double 类型,则表达式 x=1,y=x+3/2 的值是_C_。A、1B、2C、2.000000D、2.50000025.若有以下程序段int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3 中的值是_A_。A、0B、0.5C、1D、226.设有 int x=11;则表达式(x+*1/3)的值是_A_。?A、3B、4C、11D、1227.下列程序的输出结果是_C_。main()double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf(%d n,d*y);A、3B、
13、3.2C、0D、3.0728.请读程序片段:int i=65536;printf(%dn,i);上面程序片段的输出结果是_B_。A、65536B、0C、有语法错误,无输出结果D、-129.若有以下定义和语句:int u=010,v=0 x10,w=10;printf(%d,%d,%dn,u,v,w);则输出结果是:_A_。A、8,16,10B、10,10,10C、8,8,10D、8,10,1030.在 C 语言中,不正确的 int 类型的常数是_A_。A、32768B、0C、037D、0 xAF31.以下程序的输出结果是_D_。main()int k=17;printf(%d,%o,%x n,
14、k,k,k);A、17,021,0 x11B、17,17,17C、17,0 x11,021D、17,21,1132.下面程序的输出是_C_。main()unsigned a=32768;printf(a=%dn,a);A、a=32768B、a=32767C、a=-32768D、a=-133.在 C 语言中,合法的长整型常数是_A_。A、0LB、4962710C、324562&D、216D34.C 语言中运算对象必须是整型的运算符是_A_。A、%=B、/C、=D、5)printf(%dn,x);else printf(%dn,x-);则输出是_B_。A、7B、6C、5D、438.有以下程序mai
15、n()char a1=M,a2=m;printf(%cn,(a1,a2);以下叙述中正确的是_B_。A、程序输出大写字母 MB、程序输出小写字母 mC、格式说明符不足,编译出错D、程序运行时产生出错信息39.以下程序的输出结果是 _B_。main()int a;printf(%dn,(a=3*5,a*4,a+5);A、65B、20C、15D、1040.设有如下程序段int x=2002,y=2003;printf(%dn,(x,y);则以下叙述中正确的是_D_。A、输出语句中格式说明符的个数少于输出项的个数,不能正确输出B、运行时产生错误信息C、输出值为 2002D、输出值为 200341 有
16、以下程序main()int x,y,z;x=y=1;z=x+,y+,+y;printf(%d,%d,%dn,x,y,z);程序运行后的输出结果是_C_。A、2,3,3B、2,3,2C、2,3,1D、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 10B、99C、9 10D、10 944.若 x 和 y 都是 int 型变量,x=100、y=2
17、00,且有下面的程序片段printf(%d,(x,y);上面程序片段的输出结果是_A_。A、200B、100C、100 200D、输则格式符不够,输出不确定的值45.设有如下定义:int x=10,y=3,z;则语句printf(%dn,z=(x%y,x/y);的输出结果是_D_。A、1B、0C、4D、346.两次运行下面的程序,如果从键盘上分别输入 6 和 4,则输出结果是_A_。main()int x;scanf(%d,&x);if(x+5)printf(%d,x);elseprintf(%dn,x-);A、7 和 5B、6 和 3C、7 和D、6 和 447.若 t 为 double 类
18、型,表达式 t=1,t+5,t+的值是_D_。A、1B、6.0C、2.0D、1.048.以下程序的输出结果是_A_。#includemain()int i=10,j=10;printf(%d,%dn,+i,j-);A、11,10B、9,10C、010,9D、10,949.有以下程序main()int y=10;while(y-);printf(y=%dn,y);程序执行后的输出结果是_B_。A、y=0B、y=-1C、y=1D、while 构成无限循环50.下列程序的输出结果是(B)。main()int a=7,b=5;printf(%dn,b=b/a);A、5B、1C、0D、不确定值51.以下
19、选项中,不正确的 C 语言浮点型常量是(C)。A160B.0.12C.2e4.2D.0.052.以下选项中,(D)是不正确的 C 语言字符型常量。A.aB.x41C.101D.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.4B.16C.32D.5255.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。A.算术运算、赋值运算、关系运算 B.算术运算、关系运算、赋值运算C.关
20、系运算、赋值运算、算术运算 D.关系运算、算术运算、赋值运算56.若有代数式,则不正确的 C 语言表达式是(C)。A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*357.表达式!x|a=b 等效于(D)。A.!(x|a)=b)B.!(x|y)=bC.!(x|(a=b)D.(!x)|(a=b)58.设整型变量 m,n,a,b,c,d 均为 1,执行(m=ab)&(n=cd)后,m,n 的值是(A)。A.0,0B.0,1C.1,0D.1,159.设有语句 int a=3;,则执行了语句 a+=a-=a*=a;后,变量 a 的值是(B)。A.3B.0C.9D.-
21、1260.在以下一组运算符中,优先级最低的运算符是(D)。A.*B.!=C.+D.=61.设整型变量 i 值为 2,表达式(+i)+(+i)+(+i)的结果是(B)。A.6B.12C.15D.表达式出错62.若已定义 x 和 y 为 double 类型,则表达式 x=1,y=x+3/2 的值是(C)。A.1B.2C.2.0D.2.563.sizeof(double)的结果值是(A)。A.8B.4C.2D.出错64.设 a=1,b=2,c=3,d=4,则表达式:ab?a:cd?a:d 的结果为(D)。A.4B.3C.2D.165.设 a 为整型变量,不能正确表达数学关系:10a15 的 C 语言
22、表达式是(A)。A.10a10&a15D.!(a=15)66.设 f 是实型变量,下列表达式中不是逗号表达式的是(D)。A.f=3.2,1.0B.f0,f0D.f=(3.2,1.0)67.表达式 18/4*sqrt(4.0)/8 值的数据类型是(C)。A.intB.floatC.doubleD.不确定68.已知字母 A 的 ASCII 码为十进制数 65,且 c2 为字符型,则执行语句C2=A+6-3;后 c2 中的值是(A)。A.DB.68C.不确定的值D.C69.以下用户标识符中,合法的是(B)。A.intB.nitC.123D.a+b70.C 语言中,要求运算对象只能为整数的运算符是(A
23、)。A.%B./C.D.*71.若有说明语句:char c=72;则变量 c 在内存占用的字节数是(A)。A.1B.2C.3D.472.字符串ABC在内存占用的字节数是(B)。A.3B.4C.6D.873.要为字符型变量 a 赋初值,下列语句中哪一个是正确的(B)。A.char a=3;B.char a=3;C.char a=%;D.char a=*;74.下列不正确的转义字符是(C)。A.B.C.074D.02.2 填空题填空题1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表示的。2、若 x 和 n 都是 int 型变量,且 x 的初值为 12,n 的初值为 5,则计算
24、表达式 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=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)
25、的 C 语言表达式 a/b/c。9、若有语句int i=-19,j=i%4;printf(%dn,j);则输出结果是_。答案:-310、设 y 是 int 型变量,请写出判断 y 为奇数的关系表达式_ y%2_。第三章第三章CH3 顺序程序设计顺序程序设计3.1 选择题选择题1.如果 int a=3,b=4;则条件表达式ab?a:b的值是_A_。A)3B)4C)0D)1表达式 1?表达式 2:表达式 3先计算表达式 1,若表达式 1 成立,则选择计算表达式 2,并表达式 2 的值作为整个大表达式的值;若表达式 1 不成立,则选择计算表达式 3,并将表达式 3 的值作为整个大表达式的值此题中的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大一 语言 习题 练习 答案
限制150内