大学C语言复习题 附答案.docx
- 文档编号:29394124
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:37
- 大小:43.44KB
大学C语言复习题 附答案.docx
《大学C语言复习题 附答案.docx》由会员分享,可在线阅读,更多相关《大学C语言复习题 附答案.docx(37页珍藏版)》请在冰豆网上搜索。
大学C语言复习题附答案
判断题
1.运算器是完成算术和逻辑操作的处理部件,通常称为CPU。
×
2.通常硬盘安装在主机箱内,因此它属于主存储器。
×
3.指令与数据在计算机内是以ASCII码进行存储的。
×
4.操作系统是合理地组织计算机工作流程、有效地管理系统资源、方便用户使用的程序集合。
√
5.用计算机机器语言编写的程序可以由计算机直接执行,用高级语言编写的程序必须经过编译才能执行。
√
6.计算机的所有计算都是在内存中进行的。
×
7.字长是指计算机能直接处理的二进制信息的位数。
√
8.计算机区别于其他计算工具的本质特点是能存储数据和程序。
√
9.系统软件就是市场上买来的软件,应用软件就是自己编写的软件。
×
10.常用字符的ASCII码值从小到大的排列规律是:
空格、阿拉伯数字、小写英文字母、大写英文字母。
×
11.多台计算机相连,就形成了一个网络系统。
×
12.在Internet网上,IP地址、E-mail地址都是唯一的。
√
13.不同类型的变量在内存中占用存储空间的大小都是一样的。
×
14.表示数学式3 × 15.设某字符的ASCII码十进制值为72,则其十六进制值为48。 √ 16.结构化程序语言的三种基本结构是顺序、选择和循环。 √ 17.‘\n’不是一个字符常量。 × 18.与float型数据相比,double型数据的精度高,取值范围大。 √ 19.在C语言中,表达式(010+2)的值是10。 √ 20.do-while语句先执行循环体,后判断循环条件,所以循环体至少会执行一次。 √ 21.在C语言中,常量和变量都有数据类型。 √ 22.C语言的运算符只有单目运算符和双目运算符两种。 × 23.若变量已正确定义,表达式x+y=z符合C语言语法。 × 24.C编译器可以找出C源程序中所有的语法错误和逻辑错误。 × 25.表达式3*5/2和表达式3/2*5等价。 × 26.表达式m=n++的求解顺序是先计算m=n,再计算n=n+1。 √ 27.变量名fahr和Fahr代表两个不同的变量。 √ 28.对整型变量可进行自加或自减运算,而对常量或表达式不可以。 √ 29.while语句先判断循环条件,所以循环体有可能一次也不执行。 √ 30.C程序中无法比较二个字符的大小。 × 31.continue语句和break语句都只能用在循环体中。 × 32.表达式%2是合法的C语言表达式。 × 33.C语言编写的源程序必须经过编译连接,生成扩展名为.exe的可执行文件才能运行。 √ 34.格式符“%o”是按16进制输出整数。 × 35.for循环只能用于循环次数已确定的场合。 × 36.算术运算符和赋值运算符的结合方向均由左自右。 × 37.break语句只能用在switch语句中。 × 38.C的任何类型数据在计算机内部都是以二进制形式存储的。 √ 39.按格式符“%d”输出float类型变量时,截断小数位后取整输出。 × 40.表达式0195是一个八进制整数。 × 41.执行printf("%d",'M'-'A'+'a'-'m');,输出0。 √ 42.表达式! x等价于x! =1。 × 43.表达式(z=0,(x=2)||(z=1),z)的值是1。 × 44.在C程序中,用整数0表示逻辑值“假”。 √ 45.若变量已正确定义,表达式x=y=1符合C语言语法。 √ 46.表达式! (x>0||y>0)等价于! (x>0)&&! (y>0)。 √ 47.在C源程序中语句if(x==5)y++;与if(x=5)y++;等价。 × 48.在的关系运算符(>=、>、==、! =、<=、<)中,优先级最低的运算符是==、! =。 √ 49.若x的当前值为5,执行语句“if(x=3)x=x+5;”后,x的值依然是5。 × 50.执行循环语句“for(i=1;i<10;i=i+2)s+=i;”后,i的当前值为11。 √ 单选题 1.学校的学生学籍管理程序属于______。 C (A)工具软件(B)系统软件(C)应用软件(D)文字处理软件 2.有些高级语言源程序在计算机中执行时,采用的是解释方式。 在解释方式下,源程序由______边解释边执行。 B (A)编译程序(B)解释程序(C)操作系统(D)汇编程序 3.关于计算机软件的叙述,错误的是______。 B (A)软件是一种商品(B)软件借来复制也不损害他人利益 (C)《计算机软件保护条例》对软件着作权进行保护 (D)未经软件着作权人的同意复制其软件是一种侵权行为 4.在下列四条叙述中,正确的一条是______。 C (A)最先提出存储程序思想的人是英国科学家艾伦·图灵 (B)ENIAC计算机采用的电子器件是晶体管 (C)在第三代计算机期间出现了操作系统 (D)第二代计算机采用的电子器件是集成电路 5.已知英文小写字母d的ASCII码为十进制数100,则英文小写字母h的ASCII码为十进制数_______。 B (A)103(B)104(C)105(D)106 6.有一个数值152,它与十六进制数6A相等,那么该数值是______。 D (A)十进制数(B)二进制数(C)四进制数(D)八进制数 7.Internet比较确切的一种含义是______。 B (A)一种计算机的品牌(B)网络中的网络,即互连各个网络 (C)一个网络的顶级域名(D)美国军方的非机密军事情报网络 8.下列关于系统软件的四条叙述中,正确的是______。 A (A)系统软件与具体应用领域无关(B)系统软件与具体的硬件无关 (C)系统软件是在应用软件基础上开发的(D)系统软件就是指操作系统 9.计算机内存的每个基本单位,被赋予一个唯一的______,称为地址。 C (A)容量(B)字节(C)序号(D)功能 10.十六进制数转换成十进制数是______。 C (A)(B)(C)(D) 11.在计算机中存储数据的最小单位是______。 B (A)字节(B)位(C)字(D)记录 12.因特网中某主机的二级域名为“edu”,表示该主机属于______。 C (A)赢利性商业机构(B)军事机构(C)教育机构(D)非军事性政府组织机构 13.下列字符中,其ASCII码值最大的是______。 D (A)9(B)D(C)a(D)y 14.语句printf(“%%d%d”,123);将输出: A、%123%dB、%%d123√C、%d123D、上述语句语法有错 15.对于intx,y;语句if(x<0)y=-1;elseif(! x)y=0;elsey=1;等价于: A、y=0;if(x>=0)if(x)y=1;elsey=-1; √B、if(x! =0)if(x>0)y=1;elsey=-1;elsey=0; C、if(x<0)y=-1;if(x! =0)y=1;elsey=0; D、y=-1;if(x! =0)if(x>0)y=1;elsey=0; 16.语句if(a>b)k=0;elsek=1;等价于: A、k=(a>b)1: 0;B、k=a>b;√C、k=a<=b;D、以上均不是 17.执行下列程序段: inti,j; i=3/2+7/2==5; j=45%11+(((7>8)14: 21)==14); 后变量i,j的值应为: √A、i=0j=1B、i=1j=1C、i=0j=2D、i=1j=2 18.如果inti=16,j=23;执行printf("%x--%o",i,j)后输出为: A、10—23√B、10--27C、16--23D、16—27 19.若x是double型变量,n是int型变量,执行,并输入3后,x=, n=3。 √A、scanf("%d%lf",&n,&x);B、scanf("%lf%d",&x,&n); C、scanf("%lf%d",&n,&x);D、scanf("%d,%lf",&n,&x); 20.若变量已经被正确定义,为表示“变量x和y都能被3整除”,应使用的C表达式 是。 A、(x%3! =0)||(y%3! =0)B、(x%3! =0)&&(y%3! =0) C、(x%3==0)||(y%3==0)√D、(x%3==0)&&(y%3==0) 21.while()等价于while(x)。 A、x==0√B、x! =0 C、x==1D、x! =1 22.下列程序段的输出结果是。 intcount=0,x,y,z; for(x=1;x<=2;x++) for(y=1;y<=3;y++) for(z=1;z<=4;z++) count++; printf("%d",count); A、10B、9 √C、24D、0 23.判断变量ch是英文字母的表达式为。 A、('a'<=ch<='z')||('A'<=ch<='Z') B、(ch>='a'&&ch<='z')&&(ch>='A'&&ch<='Z') √C、(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z') D、('A'<=ch<='z')&&('A'<=ch<='z') 24.while()等价于while(! x)。 A、x==1√B、x==0 C、x! =0D、x! =1 25.若变量已正确定义,要求程序段完成求5! 的计算,不能完成此操作的程序段是。 A、for(i=1,p=1;i<=5;i++)p*=i;√B、for(i=1;i<=5;i++){p=1;p*=i;} C、i=1;p=1;while(i<=5){p*=i;i++;}D、i=1;p=1;do{p*=i;i++;}while(i<=5); 26.有以下程序 #include<> main() {inti=0,x=0; for(;;) {if(i==3||i==5)continue; if(i==6)break; i++; x+=i; } printf("%d\n",x); } 程序运行后的输出结果是。 A、10B、13C、21√D、程序进入死循环 27.下列条件语句中,功能与其他语句不同的是。 A、if(a)printf("%d\n",x);elseprintf("%d\n",y); B、if(a==0)printf("%d\n",y);elseprintf("%d\n",x); C、if(a! =0)printf("%d\n",x);elseprintf("%d\n",y); √D、if(a==0)printf("%d\n",x);elseprintf("%d\n",y); 28.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是。 A、abs(x-y)<10B、x-y>-10&&x-y<10√C、(x-y)<-10||! (y-x)>10D、(x-y)*(x-y)<100 29.有以下程序 #include<> main() {inti; for(i=0;i<3;i++) switch(i) {case0: printf("%d",i); case2: printf("%d",i); default: printf("%d",i); } } 程序运行后的输出结果是。 A、022111B、021021√C、000122D、012 30.若整型变量a、b、c、d中的值依次为: 1、4、3、2。 则条件表达式a c d的值是。 √A、1 B、2 C、3 D、4 31.若k为整型,以下while循环执行___次。 k=2; while(k=0) printf("%d",k),k--; printf("\n"); A、无限次√B、0次C、1次D、2次 32.数字字符0的ASCII值为48,以下程序的输出结果是。 33.#include<> main() { char a='1',b='2'; printf("%c,",b++); printf("%d\n",b-a); } A、3,2 B、50,2 √C、2,2 D、2,50 34.有以下程序 #include<> main() { int a,b,d=25; a=d/10%9; b=a&&(-1); printf("%d,%d\n",a,b); } 程序运行后的输出结果是。 A、6,1 √B、2,1 C、6,0 D、2,0 35.若有intd=2,a=5,s=3;s*=d+a;变量s的值是。 A、3B、11√C、21D、17 36.设有整型变量a,b,c,其中a,b的值分别为15与19,计算表达式“c=(a%2==0)a: b” 后,c的值是()。 A、0B、1C、15√D、19 37.整型常量的书写格式决定了整数的类型和值,03322是。 A、用16进制表示的int类型常量√B、用8进制表示的int类型常量 C、用10进制表示的int类型常量D、用16进制表示的longint类型常量 38.若有inti,j,n=8;连续执行下述两条语句,则i,j和n的值应是。 i=n++;j=++n; A、i=8j=9n=10B、i=8j=8n=9 √C、i=8j=10n=10D、i=9j=8n=9 39.要为字符型变量a赋初值,下列语句中哪一个是正确的。 A、chara="k";B、chara=*;C、chara=%;√D、chara='3'; 40.若有定义: intk=2,x;则能使变量x的值为3的表达式是 A、x=5/k+√B、x=5/k+1;C、x=x+kD、x=2*k-- 41..以下程序段的输出结果是。 chars=’b’; s=s-1; printf(“%c\n”,s); A、b√B、aC、s的地址D、c 42.以下程序段的输出结果是。 intj=3,s; s=j++; printf(“%d%d\n”,s,j); √A、34B、44C、43D、33 43.判断char形变量c为数字字符的正确表达式为是。 √A、’0’<=c&&c<=’9’B、’0’<=c<=’9’ C、c>=0||C<=’9’D、c>=0&&c<=9 44.运算符的优先级最高。 A、*B、=C、+√D、++ 45.计算变量x(x大于1)整数部分位数的表达式,可以写作。 A、(int)log10(x)B、log10(x) C、log10(x)+1√D、(int)log10(x)+1 46.判断变量x、y中有且只有1个值为0的表达式为。 √A、! (x*y)&&x+yB、(x*y)&&x+y C、x*y==0D、x==0&&y! =0 47.执行语句“for(s=0,k=1;s<20||k<10;k=k+2)s+=k;”后,s、k的值为。 A、25、9√B、25、11C、36、11D、36、9 48.下列程序段执行后s值为。 inti=1,s=0; while(i++)if(! (i%3))break;elses+=i; √A、2B、3C、6D、以上均不是 49.执行下列程序段后的输出结果是。 charx=’9’; while(x>’7’)printf(“%c”,x--); A、99 √B、98C、987D、87 50.该程序段的输出结果是多少 m=37;n=13; while(m! =n) {while(m>n) m=m-n; while(n>m) n-=m; } printf("m=%d\n",m); A、m=13B、m=11√C、m=1D、m=2 51.以下程序段的输出结果为 for(i=0;i<5;i++) {for(j=1;j<10;j++) if(j==5)break; if(i<2)continue; if(i>2)break; printf("%d,",j); } printf("%d\n",i); A、10,3B、5,2√C、5,3D、10,2 52.以下程序段的输出结果是______。 53.intx=3; do {printf("%3d",x-=2); }while(! (--x)); A、1B、30√C、1–2D、死循环 54.若k、s的当前值分别为4、0,执行语句“while(--k)s+=k;”后k、s值分别为。 A、10、0B、0、10C、6、0√D、0、6 55.执行语句“for(x=0,s=0;x! =60;x=x+s=s+x;”后,变量x的值为。 A、不可能大于60B、不可能大于 C、一定小于60√D、可以远大于60 56.为表示“a和b都不等于0”,应使用的C语言表达式是。 A、(a! =0)||(b! =0)B、a||b C、! (a=0)&&(b! =0)√D、a&&b 57.已知字符‘c’的ASCII码为99,语句printf("%d,%c",’c’,’c’+1);的输出为。 A、99,cB、99,100√C、99,dD、语句不合法 58.下列程序段的输出结果是。 intk,s; for(k=0,s=0;k<10;k++,s--) if(s>k)break; elses+=k; printf("(%d,%d)",k,s); A、(4,5)B、(4,6)√C、(6,9)D、不是A、B、C 59.下列程序的输出结果是(30)。 #include<> voidmain() {inty; doubled=,x; x=(y=d0.2f2.0C1C56e22√C、e22D、345e12 60.表达式a! =0||b! =0等效于。 √A、a||bB、! (a||b)C、a=0||b=0D、a! =0&&b! =0 61.下列语句与语句while(i<100){s+=i;i++;}功能相同的是。 √A、for(;i<100;i++)s+=i;B、for(;i<100;i++,s=s+i); C、for(;i<100;i++){s+=i;i++;}D、for(;i<=100;i++)s=s+i; 62.下列宏定义命令中,哪一个格式是正确的。 A、#definePI=;B、definePI C、#definePI=”3.14159”√D、#definePI 63.已知x=10,ch=‘a’,y=-5;则表达式x>=y&&ch<’B’的值是。 √A、0B、1C、“假”D、“真” 64.语句printf(“%d%.1f”,5/2,2)的输出结果是。 A、B、2√C、2D、22 65.若x、y都是整型变量,且x=2,y=3;经下列计算后,x的值等于6的是。 √A、x*=6-yB、x=x+y>25: 6C、x=y*2D、x=(5*y)/2 66.程序中调用了库函数sqrt,必须包含头文件。 A、B、C、√D、 简答题 1.x=(-26)10,写出它的8位补码。 2.若intk=5,循环语句while(k! =0)k=k-1;则循环体执行几次5次 3.假设整型变量a的值是一个三位整数,写出将a的百位数字赋给变量x的表达式。 x=a/100 4.写出判断整型变量a大于0且a是偶数的逻辑表达式。 a>0&&a%2==0 5.inti=-5;while(i<0)i++;写出循环的执行次数。 5次 6.a是一个整型变量,写出把a中十位数字赋值给变量x的表达式。 x=a%100/10 7.程序段ints=0,i=1;while(i<=5){s*=i;i++;}是否总能计算1~5的乘积如果能计算,写出计算结果,如果不能计算写出原因。 不能。 变量s的初值为0,结果为0。 8.将数学代数式(y6+6xy-8)/(7a)写成C程序的算术表达式。 (pow(y,6)+6*x*y-8)/(7*a) 9.写出|z|>5的关系表达式。 fabs(z)>5 10.写出“求整型x的个位数字”的表达式。 x%10 11.若实型变量x、y已有值,写出“求x、y两个变量中较大值”的表达式。 x>yx: y 12.将数学代数式x2+2sin(x)+3写成C程序的算术表达式。 x*x+2*sin(x)+3 13.设有如下定义: inta=1,b=2,c=3,d=4,m=5,n=6;则执行表达式: (m=a>b)‖(n=c>d)后,n的值是6 14.若inti=3;写出下面程序段的输出结果。 AB switch(i+1) {case4: printf("A"); case2: printf("B");break; default: printf("%2d\n",i); } 15.已知方程ax2+bx+c=0,a、b、c是方程的系数且存在两个实根,写出计算任意一个实根的算术表达式。 (-b+sqrt(b*b-4*a*c))/(2*a) 16.写出判断整型变量a的值是偶数的逻辑表达式。 a%2==0 17.整型变量m的值为27,语句printf(“%x“,m);的输出结果是。 1b 18.若inti=10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学C语言复习题 附答案 大学 语言 复习题 答案