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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C机考复习题12.docx

1、C机考复习题12一、单选1.以下说法中正确的是( C )A) C语言程序总是从第一个的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分2.下选项中不是语句的是( C )。A) int i; i+; printf(“%dn”,i);B) ;C) a=5,c=10D) ; 3.以下选项中不能作为C语言合法常量的是( A)A) cdB) 0.1e+6C) aD) 0114.若x,a,b和c均是int型变量则执行表达式x=(a=1,b=2)后x的结果为( B)。A) 1B)

2、 2C) 3D) 不确定5.以下能正确定义整型变量a,b和c并为其赋初值1的语句是( D )。A) int a=b=c=1;B) int a,b,c=1;C) a=b=c=1;D) int a=1,b=1,c=1;6.字符串t065xffn中的字符数(不算0)为( D )A) 5 B) 14 C) 8 D) 47.对两个静态函数A和B进行如下初始化char A=ABCDEF;char B=A,B,C,D,E,F;则下列叙述正确的是( D )。A) A和B完全相同B) A和B只是长度相等C) A和B不相同A是指针数组D) A数组长度比B数组长8.若有以下定义char a;int b;float

3、c;double d;则表达式a*b+d-c值的类型为( D )A) float B) int C) char D) double9.在C语言中运算对象必须是整型数的运算符是( A )A) % B) / C) %和 D) *10.有以下程序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,111.以下选项中当x为大于1的奇数时值为0的表达式是( D)A) x%2=1B) x/2C) x%2!=0D) x%2=012.以下程序

4、的输出结果是( C )。main() int x=10,y=3; printf(%dn,y=x/y);A) 0B) 1C) 3D) 不确定的值13.若a为int类型且其值为3则执行完表达式a+=a-=a*a后a的值是( C )A) -3B) 9C) -12D) 614.已知字符A的ASCII码为十进制的65下面程序的输出是( A ) main()H char ch1,ch2; ch1=A+5-3; ch2=A+6-3; printf(%d,%cn,ch1,ch2); A) 67,D B) B,C C) C,D D) 不确定的值15.有以下程序main() char a=a,b; printf(

5、%c,+a); printf(%cn,b=a+);程序运行后的输出结果是( A )A) b,bB) b,cC) a,bD) a,c16.设a、b、c、d、m、n均为int型变量且a=5、b=6、c=7、d=8、m=2、n=2则逻辑表达式(m=ab)&(n=cd)运算后n的值为( C)A) 0B) 1C) 2D) 317.设x、y、t均为int型变量则执行语句x=y=3;t=+x|+y;后y的值为( C )A) 不定值B) 4C) 3D) 118.有以下程序段int k=0;while(k=1)k+;while循环执行的次数是( A )A) 无限次B) 有语法错不能执行C) 一次也不执行D) 执

6、行1次19.能正确表示逻辑关系“a=10或a=10 or a=10B) a=0|a=10&a=10|a=020.表示关系xyz的c语言表达式为( A)A) (x=y)&(y=z) B) (x=y)AND(y=z) C) (x=y=z) D) (x=y)&(yb)|(n=cd)后n的值为( A )。A) 0 B) 1 C) 2 D) 322.以下关于逻辑运算符两侧运算对象的叙述中正确的是( D )A) 只能是整数0或1B) 只能是整数0或非0整数C) 可以是结构体类型的数据D) 可以是任意合法的表达式23.若x和y都是int型变量x=100y=200且有下面的程序片段 printf(%d,(x,

7、y);上面程序片段的输出结果是(A)A) 200 B) 100 C) 100 200 D) 输出格式符不够输出不确定的值24.以下程序的输出结果是( D )main() int k=17 printf(%d%o%x nkkk) A) 170210x11 B) 171717C) 170x11021 D) 17211125.x、y、z被定义为int型变量若从键盘给x、y、z输入数据正确的输入语句是( B )。A) INPUT x、y、z; B) scanf(%d%d%d,&x,&y,&z);C) scanf(%d%d%d,x,y,z); D) read(%d%d%d,&x,&y;&z);26.有以

8、下程序main() int i; for(i=0;i5) printf(%dn,x); else printf(%dn,x-);A) 7 B) 6 C) 5 D) 429.在嵌套使用if语句时C语言规定else总是( C )A) 和之前与其具有相同缩进位置的if配对B) 和之前与其最近的if配对C) 和之前与其最近的且不带else的if配对D) 和之前的第一个if配对30.设有以下程序片段:switch(X) case A: printf(A); case B: printf(B); default: printf(error);假设X=A,程序输出结果是( D )A) A B) B C) e

9、rror D) ABerror31.读程序 main() int num=0; while (num=2) num+; printf(%d ,num); 上面程序的输出结果是( C )A) 1 B) 2 2 C) 1 2 3 D) 1 2 3 432.下述语句执行后变量k的值是( B )。int k=1;while(k+10);A) 10B) 11C) 9D) 此为无限循环值不定33.以下程序段的执行结果是( A)。int x=5;doprintf(%2dn,x-);while(!x);A) 5B) 无任何输出C) 4D) 陷入死循环34.设变量已正确定义则以下能正确计算f=n!的程序段是(

10、D )A) f=0; for(i=1;i=n;i+) f*=i;B) f=1;for(i=1;i1;i+) f*=i;D) f=1;for(i=n;i=2;i-) f*=i;35.以下程序的输出结果是( C )。main() int a, b; for(a=1,b=1;a=10) break; if(b%3=1) b+=3; continue; printf(%dn,a);A) 101B) 6C) 5D) 436.下列合法的数组定义是( D )。A) int a=string; B) int a5=0,1,2,3,4,5;C) char a=string; D) char a=0,1,2,3,

11、4,5;37.以下定义语句中错误的是( D )A) int a=1,2;B) char *a3;C) char s10=test;D) int n=5,an;38.以下正确的数组定义语句是( D )。A) int y14=1,2,3,4,5;B) float x3=1,2,3;C) long s23=1,1,2,1,2,3;D) int m14=4;39.以下程序的输出结果是( C )。main() int i,a10; for(i=9;i=0;i-) ai=10-i; printf(%d%d%d,a2,a5,a8);A) 258B) 741C) 852D) 36940. 下面的程序中(C )

12、有错误(每行程序前面的数字是行号)。1 #include 2 main()3 float s5;4 int i,sz=0;5 for(i=0;i5;i+)6 scanf(%d,si);7 for(i=0;i5;i+)8 sz+=si;9 printf(n%f,(float)sz);10 A) 没有错误B) 第4行错误C) 第6行错误D) 第9行错误41.若有定义语句int a36; 按在内存中的存放顺序a数组的第10个元素是( B)A) a04B) a13C) a03D) a1442.以下数组定义中不正确的是( D )A) int a23;B) int b3=0,1,2,3;C) int c1

13、00100=0;D) int d3=1,2,1,2,3,1,2,3,4;43.以下程序的输出结果是( A)。main() int a44=1,3,5,2,4,6,3,5,7; printf(%d%d%d%dn,a03,a12,a21,a30);A) 0650B) 1470C) 5430D) 输出值不定44.若二维数组a有m列则在aij前的元素个数为( BA) j * m+i B) i * m+j C) i * m+j-1 D) i * m+j+145.以下程序的输出结果是( B )main() char cf35=AAAA,BBB,CC; printf(%sn,cf1);A) AAAAB) B

14、BBC) BBBCCD) CC46.设有数组定义: char array =China; 则数组 array所占的空间为( C )A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节47.以下选项中不能正确赋值的是( A )。A) char s110;s1=Ctest;B) char s2=C,t,e,s,t;C) char s320=Ctest;D) char *s4=Ctestn;48.给出以下定义char x=abcdfeg;char y=a,b,c,d,e,f,g;则正确的叙述为( D )。A) 数组x和数组y等价 B) 数组x和数组y长度相同C) 数组x的长度大于数组y的长

15、度 D) 数组x的长度小于数组y的长度49.设有char str=Beijing;则执行printf(%dn,strlen(strcpy(str,China);后的输出结果为( B )。A) 5 B) 7C) 12 D) 1450.若要求从键盘读入含有空格字符的字符串应使用函数( B )A) getc()B) gets()C) getchar()D) scanf()51.有语句char str110,str210=books;则能将字符串books赋给数组str1的正确语句是( B )。A) str1=Books; B) strcpy(str1,str2); C) str1=str2; D)

16、strcpy(str2,str1);52.以下语句的输出结果是( A ) printf(%dn,strlen(tc065xffn);A) 5 B) 14 C) 8 D) 输出项不合法无正常输出53.若有语句int *point, a=4; 和point=&a; 下面均代表地址的一组选项是( D )。A) a, point, *&a B) &*a, &a, *pointC) *&point, *point, &a D) &a, &*point, point54.设已有定义float x;则以下对指针变量p进行定义且赋初值的语句中正确的是( D )A) float *p = 1024;B) int

17、 *p = (float)x;C) float p = &x;D) float *p = &x;55.设有语句int a=1,b=2,*p1=&a,*p2=&b; 以下可使指针p1指向变量b的赋值语句是( C )。A) p1=*p2B) *p1=p2C) p1=p2D) *p1=*p256.有以下程序main() int a=1,2,3,4,5,6,7,8,9,0,*p; for(p=a;pa+10;p+) printf(%d,*p);程序运行后的输出结果是( A )A) 1,2,3,4,5,6,7,8,9,0,B) 2,3,4,5,6,7,8,9,10,1,C) 0,1,2,3,4,5,6,

18、7,8,9,D) 1,1,1,1,1,1,1,1,1,1,57.若已定义char s10; 则在下面表达式中不能表示s1的地址的是( B )。A) s+1 B) s+ C) &s0+1 D) &s158.在以下选项中操作不合法的一组是(B )。A) int x6, *p; p=&x0;B) int x6, *p; *p=x;C) int x6, *p; p=x;D) int x6,p; p=x0;59.有以下程序main() char s=159,*p; p=s; printf(%c,*p+); pritnf(%c,*p+);程序运行后的输出结果是( A )A) 15B) 16C) 12D)

19、5960.以下程序运行后,如果从键盘上输入: book book 则输出的结果是( B )#includemain()char a180,a280,*s1=a1, *s2=a2; gets(s1); gets(s2); if(! strcmp(s1,s2) printf(*); else printf(#); printf(%dn,strlen(strcat(s1,s2);A) *8 B) #9 C) #6 D) *961.以下语句或语句组中能正确进行字符串赋值的是(D )A) char *sp; *sp=right!;B) char s10; s=right!;C) char s10; *s

20、=right!;D) char *sp=right!;62.下面程序段的运行结果是( A )。char *p= abcdefgh;p+=2;printf(%dn, strlen(strcpy(p, ABCD);A) 6 B) 12 C) 4 D) 763.下面程序段的运行结果是(B )。char str = ABC, *p=str;printf(%dn, *(p+3);A) 67 B) 0 C) 字符C的地址 D) 字符C64.以下程序运行后输出结果是( B ) main() char *s=abcde; s+=2; printf(%dns);A) cde B) 字符c的ASCII码值 C)

21、字符c的地址 D) 出错65.下面程序的运行结果是( B)。#include #include main() char *s1= “AbDeG”; char *s2= “AbdEg”; s1+=2; s2+=2; printf(“%dn”, strcmp(s1, s2);A) 正数 B) 负数 C) 零 D) 不确定的值66.有以下程序main() char *p10=abc,aabdfg,dcdbe,abbd,cd; printf(%dn, strlen(p4); 执行后输出结果是( A )A) 2B) 3C) 4D) 567.若有语句char *line5以下叙述中正确的是( A)A) 定

22、义line是一个数组每个数组元素是一个基类型为char的指针变量B) 定义line是一个指针变量该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组语句中的*号称为间址运算符D) 定义line是一个指向字符型函数的指针68.设有如下定义: char *aa2=abcd,ABCD则以下说法中正确的是( B )。A) aa数组成元素的值分别是abcd和ABCDB) aa是指针变量,它指向含有两个数组元素的字符型一维数组C) aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D) aa数组的两个元素中各自存放了字符串abcd和ABCD的首地址69.以下函数调用语句中含

23、有( C )个实参。fun(exp1,exp2),(exp3,exp4,exp5);A) 1B) 2C) 4D) 570.下列函数定义中会出现编译错误的是( B )A) max(int x, int y, int* z) *z = xy?x:y; B) int max(int x, y) int z; z = xy?x:y; return z;C) max(int x, int y) int z; z = xy?x:y; return(z);D) int max(int x, int y) return (xy ? x : y); 71.以下所列的各函数首部中正确的是( C )A) void

24、play(var a :integer,var b:integer)B) void play(int a,b)C) void play(int a,int b)D) Sub play(a as integer,b as integer)72.C语言中函数值类型的定义可以缺省此时函数值的隐含类型是( B )A) voidB) intC) floatD) double73.下面的函数调用语句中func函数的实参个数是( A )func(f2(v1, v2), (v3, v4, v5), (v6, max(v7, v8);A) 3B) 4C) 5D) 874.有以下程序fun(int x, int y) static int m=0, i=2; i+=m+1; m=i+x+y; return m;main() int j=1, m=1, k; k=fun(j,m); printf(%d,k); k=fun(j,m); printf(%dn,k);执行后的输出结果是( B )A) 5, 5B) 5, 11C) 11, 11D) 11, 575.以下函数值的类型是( A )fun ( float x ) float y; y= 3*x-4; return y;A) intB) 不确定 C) voidD) float76.以下程序的输出结果是(C )fun(int

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

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