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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言期末考试复习题精选.docx

1、C语言期末考试复习题精选二、C选择题1表达式“(a=4*5, b=a*2), b-a, a+=2”的值是( )。A2 B20 C22 D422以下是一个自定义函数的头部,其中正确的是( )。Aint fun(int a , b) Bint fun(int a , int a)Cint fun(int*a, int b) Dint fun(char a , int b)3以下数组声明语句中正确的是( )。Aint n, an; Bint a ;Cint a23=l,2,3; Dint a 3=l,2,3;4已知在某C语言编译系统中表达式sizeof(int)的值是2,如果希望将常量-70 000

2、正确地 保存在一个变量a中,该变量声明语句应当是( )。Aint a; Blong int a; Cunsigned int a; Dunsigned int a;5以下声明语句中,用于声明一个行指针变量的是( )。Aint *p(int); Bint *p; Cint (*p)3; Dint (*p)(int);6在以下程序中,需要在fun函数中声明一个int型的变量,以下选项中( )不能用做该变量的名字。 #include int y; main( ) int a=1; fun(a); int fun(int x) _; *int型变量声明语句位置* *若干执行语句* Ax By Cfab

3、s Dfun7如有语句“int x,y=0,z,*p3; p0=&x; p1=&y; p2=&z;”,以下表达式中有语法错误的是( )。Ay+ Bp+ C*+p0 D(*p0)+8设有声明语句“int a33=1,2,3,4,5,6,7,8,9;”,以下语句中除( )外均能输出a12的值。Aprintf(d ,*(*(a+1)+2) Bprintf(%d ,*(a20-1);Cprintf(%d ,*(a1+2); Dprintf(%d ,*(a+1)2);9已知有声明语句int x=8,则下列表达式中,值为2的是( )。Ax+=x-=x Bx% = x-2 Cx8?x=0:x+ Dx= x

4、+ x10以下关于函数的叙述中正确的是( )。 A在函数体中可以o直接引用另一个函数中声明为static类别的局部变量的值 B在函数体中至少必须有一个return语句 C在函数体中可以定义另一个函数 D在函数体中可以调用函数自身11若有声明语句“int a10, b33;”,则以下对数组元素赋值的操作中,不会出现越界访问的是( )。Aa-1=0 Ba10=0 Cb30=0 Db02=012若有声明语句“char ch=a, *pc=&ch;”,以下语句中有语法错误的是( )。A(*pc)+; Bch+= -a + A;Ctoupper(ch)=ch; Dch+;13已知有声明语句“int a5

5、=1, 2, 3, 4, 5, *p, i;”,以下语句中( )不能正确输出a数组全部元素的值。 Afor(p=a, i=0;i5;i+)printf(%d,*(p+i); Bfor(p=a;pa+5;p+)printf(%d, *p); Cfor(p=a, i=0;pa+5;p+, i+)printf(%d, pi); Dfor(p=a;p2!1 BS20 CS1 DS16逻辑“异或”运算可描述为“a xor b”,其中a和b为参加运算的两个操作数,运算结果为当且仅当a、b两个操作数中只有一个为真时才为真,其他情况下均为假。以下表达式中( )可以正确表示逻辑“异或”运算。Aa | b Ba

6、& b C(a&b)&!(a | b) D(a | b)&!(a&b)17若有声明“int a5,*b=a,(*c)3,*d3;”,则在以下表达式中有语法错误的是( )。Aa0=0 Bb0=0 Cc0=0 Dd0=018若有声明: int k, a, b; unsigned long y=5; double x=1.23; 则以下表达式中正确的是( )。Ax%(-5) Bx=y6 Ck=(a=1,b=2,&a + &b) Da+=a- = (b=2) * (a = 3)19一个用C语言编写的源程序中,( )是必不可少的。A取名为main的函数定义 B#includeC变量声明 D注释20以下声

7、明中正确的是( )。Aint n=2, an=10; Bint n=10, *p2=&n;Cint n=10, a2=n; Dint a22=10, (*p)2=a+1;21、若有函数fun的定义为 void fun()static int a=1; 则下列叙述中不正确的是( )。 A在每次调用fun函数时,变量a的值是上次调用结束时a的值 B在fun函数之外,可以用变量名a直接引用a的值 C在其他函数中,可以出现声明double a=2.5; Dfun函数的形式参数不能取名为a22以下单目运算符均只需要一个操作数,其中要求操作数的类型只能是指针型的是( )。A& B+ C! D*23已知有声

8、明“int good=l; ”,若要使得表达式“p=good+good”无语法错误(包括警告错误),p应当声明为( )。Achar p; Bchar*p; Cint p; Dint *p;24以下全局变量声明中正确的是( )。Aauto int i=1; Bfloat a=1, b=0.5, c=a+b;Cchar for=1; Dstatic char ch;25若已有声明“double a23=1, 2, 3, 4, 5, 6;”,则下列表达式中不能正确引用a11值的是( )。A*(a0+4)B*(a1+1)C*(*(a+3)+1)D*(*a+4)26、已有声明“int a5;”,以下表达

9、式中不能正确取得a1指针的是( )。A&a1B+aC&a0+1Da+l27以下关于语句的说法中正确的是( )。 Ado-while语句的循环体至少会被执行1次 Bwhile语句的循环体至少会被执行1次 Cfor语句的循环体至少会被执行1次 D在C语言中只能用do、do-while或for语句实现循环结构28已知函数f的定义如下: void f(void) printf(Thats great! ); 则调用f函数的正确形式是( )。Af;Bf();Cf(void);Df(1);29以下程序在编译时在第三行报错“Redeclaration of ain function d”,如果决定修改该行声

10、明中出现的局部变量a的名字,则下列选项中不能用来替换变量名a的是( )。 int b;void d(int a) int f; double a=1; printf(%d,a);main( )int e=1;d(e); Af Be Cd Db30、以下语句中不包含关键字的是( )。 Ax=sqrt(2);Bwhile(x!=0)x-;Cif(x0)x=-x;Dreturn x;31在main函数体内部和外部均允许出现的实体是( )。A预处理命令 B语句 C另一函数的定义 D函数形式参数声明32、已知有声明int x=2:,以下表达式中值不等于8的是( )。Ax+=2,x*2Bx+=x*=XC(

11、x+7)/2*(x+1)%2+1)Dx*7.2/x+133、执行以下程序时, #include main() int a; float b; scanf(%3d%f,&a,&b);printf(%dt%f,ab); 若要求变量a和b分别从键盘获得输入值45和678.0,则以下四种输入数据中(代表“空格”键,代表“回车”键),不能达到该要求的输入数据是( )。A45678B45678C45,678D04567834下列程序段中,能将变量x、y中值较大的数保存到变量a、值较小的数保存到变量b的程序段是( )。 Aif(xy)a=x;b=y;else a=y;b=x; Bif(xy)a=x;b=y;

12、else a=y;b=x; Cif(xy)a=x;b=y;elsea=y;b=x; Dif(xy)a=x;b=y;else(xy)a=y;b=x;35已知函数fun的定义如下: void fun(int x, int y) int k; for(k=0;ky;k+) xk+=y; 若main函数中有声明int a10=10及调用fun函数的语句,则正确的fun函数调用形式是( )。Afun(a ,a0);Bfun(a0,a0);Cfun(&a0,a0);Dfun(a0,&a0);36设有下列程序段: static char b=2;void Y ( ) static float d=4;int

13、 a=1;void X ( ) int c=3; 关于程序段中各变量的属性,以下叙述中错误的是( )。 Aa是全局变量,函数X可以访问,函数Y不能访问 Bb是全局变量,函数X和函数Y都可以访问 Cc是动态变量,函数X可访问,函数Y不可访问 Dd是静态变量,函数X和函数Y都可以访问37、若有如下声明和语句: int t33, *pt3, k; for(k=0; k3;k+) ptk=&tk0; 则表达式*(*(pt+1)+2)所引用的是( )。At20 B&t20 Ct12 D&t1238设有声明float a=1.23456; int i;,欲将a中的数值保留小数点后两位,第三位进行四舍五入运

14、算,能实现该功能的表达式是( )。Ai=a*100+0.5, a=i/1000 Ba=(a*100+0.5)/100.0Ca=(int)a*100+0.5)/l00.0 Da=(a/100+0.5)/100.039若已有声明“int x=4, y=3;”,则表达式x y ? x+: y+的值是( )。A2 B3 C4 D540设有变量声明“char c;”, 执行“for (; c=(getchar( ) !=n) ; )printf(%c, c); ”时,从键盘上输入“ABCDEFG”之后,输出的结果是( )。AABCDEFG BAABBCCDDEEFFGGC非字母数字字符 D语句不能执行4

15、1以下表示数学式“abc”的逻辑表达式中,错误的是( )。Aabc Bab&b=b)&!(b=c) D!(a=b|b=c)42下面关于循环语句for、while、do_while的叙述中,正确的是( )。 A三种循环语句的循环体都必须放入一对花括号中 B三种循环语句中都可以缺省循环终止条件表达式 C三种循环语句的循环体都至少被无条件地执行一次 D三种循环语句都可能出现无穷循环43、若有声明“int a=l, 2, 3, 4, *p, i;”,则以下程序段中不能输出13的是( )。Afor(i=0;i4;i+=2)printf(d, ai);Bfor(p=0;p4;p+=2)printf(d,

16、ap);Cfor(p=a;pa+4;p+=2)printf(d, *p);Dfor(p=a, i=0; iprice=10; D(*y)-price=10;48若有声明“int a=3, b=4, c=5;”,则下列表达式中值为0的是( )。Aa&b=0 Ba=b Ca|b&c D!(!c|1)49已知有声明“long x, y;”,且x中整数的十进制表示有n位数字(4n=0)y=1; else y=-1;By=x=0?1:01;Cswitch() case x=0:y=1; break; default:y=-1; Dswitch(x-abs(x) case 0:y=1; break;def

17、ault:y=-1;51、已知有声明“int m=5,4,3,2,1,i=0;”,下列对m数组元素的引用中,错误的是( )。 Am+iBm5Cm2*2=0Dmm452、若函数调用时的实参为变量,则以下关于函数形参和实参的叙述中正确的是( )。A实参和其对应的形参占用同一存储单元B形参不占用存储单元C同名的实参和形参占用同一存储单元D形参和实参占用不同的存储单元53C语言规定,在一个源程序中main函数的位置( )。A必须在最开始B必须在最后C必须在预处理命令的后面D可以在其他函数之前或之后54、已知有声明“int a=3, b=4, c;”,则执行语句“c=1/2*(a+b);”后,c的值是(

18、 )。A0B3C3.5D455、已知字母A的ASCII码是65,字母a的ASCII码是97,变量c中存储了一个大写字母的编码。若要求将c中大写字母编码转换成对应小写字母编码,则以下表达式中不能实现该功能的是( )。Ac=tolower(c)Bc=c+32Cc=c-A+aDc= (c +A)%26-a56已知有定义和声明: struct student int no; char name20; struct int year, month, day;birth;s;若要求将日期“1989年11月12日”保存到变量s的birth成员中,则能实现这一功能的程序段是( )。Ayear=1989; mo

19、nth=11; day=12;Bs.year=1989;s.month=11; s.day=12;Cbirth.year=1989; birth.month=11; birth.day=12;Ds.birth.year=1989; s.birth.month=11; s.birth.day=12;57、执行以下程序后的结果是( )。#include void main() int x=3; Do printf(%dt, x=x-3);while(!x); A输出一个数:0B输出一个数:3C输出两个数:0和-3D无限循环,反复输出数58设有声明“int a=4, b=3, c=5;”,以下4个程

20、序段中有3个程序段的执行效果是相同的,另一个执行效果不同的是( )。Aif(ab) c=a, a=b, b=c;Bif(ab) c=a, a=b, b=c;Cif(ab) c=a; a=b; b=c;Dif(ab) c=a; a=b; b=c;59、以下关于if语句和switch语句的叙述中错误的是( )。Aif语句和switch语句都可以实现算法的选择结构Bif语句和switch语句都能实现多路(两路以上)选择Cif语句可以嵌套使用Dswitch语句不能嵌套使用60若有声明语句“char s110=0,s210= books;”,则能将字符串books赋给数组s1保存的表达式是( )。As1

21、= books; Bstrcpy(s2, s1);Cs1=s2; Dstrcat(sl, s2);61已知A盘根目录下的一个文本数据文件data.dat中存储了100个int型数据,若需要修改该文件中已经存在的若干个数据的值,只能调用一次fopen函数,已有声明语句“FILE *fp;”,则fopen函数的正确调用形式是( )。Afp=fopen(a:data.dat,r+);Bfp=fopen(a:data.dat ,w+);Cfp=fopen(a:data.dat,a+ );Dfp=fopen(a:data.dat,w );62数组和链表都可以用于存储一组彼此有关联的数据,以下说法中不正确

22、的是( )。 A数组占用一块连续的存储区域,链表可能占用若干块不连续的存储区域 B数组和链表所占用的存储区域均不能在程序运行期间动态地分配 C数组中的数据可以随机存取或顺序存取,链表中的数据只能顺序存取 D数组的长度是固定的,链表的长度是不固定的63设有定义和声明语句:typedef struct dtype int a; struct dtype *b; node; static node x3=5, &x1, 7, &x2, 9, 0, *prt=&x0;下列选项中,表达式值不为5的是( )。Ax1.b-a-2BPtr-b-a-2C(ptr+1)-a-2Dptr-a64在以下程序中,需要在

23、main函数之后定义一个函数,以下选项中( )可以用做该函数的名字。 #define P 3.14 int y; main( ) int a = 1; 函数名(a); *若干执行语句*int函数名(int x)return x*x;Amain By CP Dprint65已知有语句“FILE *fp;int x=123;fp =fopen(out.dat, w);”,如果需要将变量x的值以文本形式保存到一个磁盘文件out.dat中,则以下函数调用形式中正确的是( )。Afprintf(%d, x); Bfprintf(fp, %d, x);Cfprinff(%d, x, fp); Dfprintf(out.dat, %d, x);66已知有声明语句“char s110= 12345, s210= abcde, s310;”,以下语句中能将s1中存储的字符串和s2中存储的字符串正确交换的是( )。 As3=s1,s1= s2, s2 = s3; Bs30 = s10,s10 = s20,s20=s30; Cstrcpy(s30,s10),strcpy(s10,s20),strcpy(s20,s30); Dstrcpy(s3,s1), strcpy(sl, s2), strcpy(s2, s3);67在定义任何一个函数时,下列选项中( )是不可缺少的。A函数名之前的数据类型 B函

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2