C语言选择.docx
- 文档编号:29451126
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:38
- 大小:23.33KB
C语言选择.docx
《C语言选择.docx》由会员分享,可在线阅读,更多相关《C语言选择.docx(38页珍藏版)》请在冰豆网上搜索。
C语言选择
第一套
1、下列说法正确的是(B)
A.VC++6.0是面向过程的高级语言,采用编译方式向机器语言转换
B.VC++6.0是面向对象的高级语言,采用编译方式向机器语言转换
C.VC++6.0是面向过程的高级语言,采用解释方式向机器语言转换
D.VC++6.0是面向对象的高级语言,采用解释方式向机器语言转换
2、有人把C语言称为中级语言,意思是(D)
A.其编译方式处于低级语言和高级语言之间
B.操作上比低级语言简单,比其它语言复杂
C.其功能比低级语言强,但比高级语言弱
D.既具有低级语言的功能,又具有高级语言的功能
3、C语言程序由什么组成(C)
A.主程序和子程序
B.过程
C.函数
D.子程序
4、若a=3,下列表达式的值为(A)
a*a,a+5,a++,a*3
A.12
B.9
C.4
D.45
5、下列说法错误的是(C)
A.其它函数不能单独运行,只能被主函数或其它函数调用
B.程序总是从主函数开始执行,不管主函数在什么位置
C.程序是从第一个函数开始执行
D.主函数执行完毕,程序就结束了
6、若a=10,b=20,表示x在a,b之间的表达式为(D)
A.x>=a||x<=b
B.a<=x<=b
C.a= D.x>=a&&x<=b 7、若变量f已说明为float类型,i为int类型,则下面哪个表达式(或语句)能够实现将f中的数值保留小数点后两位,第三位进行四舍五入的运算(D) A.f=(int)(f*100+0.5)/100; B.f=(f/100+0.5)*100.0; C.f=(f*100+0.5)/100.0 D.i=f*100+0.5,f=i/100.0; 8、设x,y,z均为int型变量,则执行语句: x=y=3;t=++x||++y后,y的值为(C) A.4 B.不定值 C.3 D.1 9、C语言中整形常量不包括种(A) A.二进制常量 B.八进制常量 C.十六进制常量 D.十进制常量 10、下面那个表达式的值为4(C) A.11/3 B.(int)(11.0/3)+0.5 C.(int)(11.0/3+0.5) D.13.0/3 11、若有inti=4,k,j;则执行k=i++,j=++i后,k与j的值分别为(C) A.k=4,j=5 B.k=5,j=6 C.k=4,j=6 D.k=5,j=5 12、若有a=3,则执行下列语句为a的值为(D) a+=a*=a; A.3 B.9 C.12 D.18 13、字符串"\n\\\'\123"包括几个字符(即占用几个字节的存储空间)(B) A.11 B.5 C.10 D.4 14、若有charc;表示c为字母的表达式为(B) A.c>='a'&&c<='z'&&c>='A'&&c<='Z' B.c>='a'&&c<='z'||c>='A'&&c<='Z' C.c>='a'&&c<='Z' D.c>='A'&&c<='z' 15、若inta=5,b=4,c=6,d;则执行d=a>b? (a>c? a: c): b后,d的值为(A) A.6 B.4 C.1 D.5 16、以下合法的赋值语句是(C) A.x=y=100 B.c=int(a+b); C.d--; D.x+y; 17、下面那个表达式的值与其它的不一样(C) A.sizeof(double) B.sizeof(char)*8 C.sizeof(8) D.sizeof(10)*2 18、假设所有变量均为整数,表达式a=2,b=5,a a++: b,a+b的值是(C) A.7 B.3 C.8 D.2 19、下面那个不是合法的常量(A) A.048 B.348 C.0101010 D.0xab 20、若有scanf("%2d%3d%d",&a,&b,&c);运行时输入1234567890,则a,b,c的值分别为(A) A.a=12,b=345,c=67890 B.a=12,b=345,c=678 C.输入错误 D.a=1234567890,b,c保持原来的值 21、若有scanf("a=%d: %d",&a,&b);想把10给a,20给b,则正确的输入格式为(A) A.a=10: 20 B.a=10: b=20 C.a=10,b=20 D.a=10,20 22、若有scanf("%2d%*2d%3d",&a,&b);程序运行时输入123456789,则a,b的值为(B) A.a=12,b=345 B.a=12,b=567 C.a=12,b=34 D.a=1234,b=567 23、若有charc;c=getchar()=='A';程序运行时从键盘输入A,则c的值为(B) A.以上都不对 B.1 C.0 D.A 24、若有inta=1234;printf("%2d",a);的输出结果是(D) A.34 B.12 C.出错 D.1234 1、这段程序中的常量有(CDE) #definePI3.14 voidmain() { intsum; sum=10+15; printf("sum=%d\n",sum); printf("resultis25\n"); } A.sum B.25 C.3.14 D.PI E.10 F.main 2、下面那些是合法的保留字(关键字)(ABD) A.float B.char C.printf D.short E.define F.include 3、下面那些是合法的用户标识符(ABC) A.a_3 B.If C.Abc D.3ab E.M.N F.#abc 第二套 1、main() {intx=100,a=10,b=20; intv1=5,v2=0; if(a if(b! =15) if(! v1) x=1; else if(v2==0)x=10; printf("%d",x); } √A10 B100 CX=10 D1 2、若i=0,x=47,则以下程序段运行后i的值是(C) switch(x/10) { case6: i++; default: i=i+10; case7: case8: i++; case9: i++;break; case10: } A13 B10 C12 D11 3、#include main() {intx=3,y=5,t=7; if(x>y) t=x;x=y;y=t; printf("x=%d,y=%d\n",x,y); } A.x=3,y=5 B.x=3,y=7 √C.x=5,y=7 D.x=5,y=3 4、若a=3,b=5,t=7,下列语句的输出结果为(C) if(a>b); {t=a;a=b;b=t;} printf("%d,%d",a,b); A.3,7 B.3,5 C.5,3 D.5,7 5、下列程序运行时输入大写字母B,则输出结果是? #include"stdio.h" main() {charx; if(x=getchar()=='A') printf("%d",x); } A.B √B.什么也不输出 C.A D.1 6、已知intx=10,y=20,z=30;语句if(x>y)z=x;x=y;y=z;执行后,x,y,z的值是(B) A)x=10,y=20,z=30B)x=20,y=30,z=30 C)x=20,y=30,z=10D)x=20,y=30,z=20 7、#include"stdio.h" voidmain() {intx=1,y=0,a=0,b=0; switch(x) {case1: switch(y==0) {case0: a++;break; case1: b++;break; } case2: a++;b++;break; case3: a++;b++; } printf("\na=%d,b=%d",a,b); } √A.a=1,b=2 B.a=1,b=1 C.a=2,b=3 D.a=2,b=1 8、在C语言的if语句中,用作判断的表达式为_D__。 A.关系表达式B.逻辑表达式 C.算术表达式D.任意表达式 9、若i=0,x=67,则以下程序段运行后i的值是(C) switch(x/10) { case6: i++; case7: case8: i++; case9: i++;break; case10: default: i=i+10; } A.1B.2C.3D.13 10、若a=3,b=5,下列语句的输出结果为(A) if(a=b) printf("相等"); else printf("不相等"); (A)相等(B)不相等(C)相等不相等(D)程序有错 第三套 1、下面这个程序的输出是什么(D) #include main() {inty=10; while(y--); printf("y=%d\n",y); } A.y=0 B.while构成死循环 C.y=1 D.y=-1 2、若有: m=37;n=13;则下列程序段的输出结果是多少(B) while(m! =n) { while(m>n) m=m-n; while(n>m) n-=m; } printf("m=%d\n",m); A.m=11 B.m=1 C.m=13 D.m=2 3、该程序段的输出结果是多少(B) 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.5,2 B.5,3 C.10,2 D.10,3 4、若k为整型,以下while循环执行__B_次. k=2; while(k! =0) printf("%d",k),k--; printf("\n"); A.1次 B.2次 C.0次 D.无限次 5、以下程序段的输出结果是(A) intk,j,s; for(k=2;k<6;k++,k++) {s=0; for(j=k;j<6;j++) s+=j; } printf("%d\n",s); A.9 B.10 C.15 D.24 6、以下程序的输出结果是(A) main() {inti,sum; for(i=1;i<6;i++) sum+=i; printf("%d\n"sum); } A.不确定 B.21 C.0 D.15 7、intx=3; do {printf("%3d",x-=2); }while(! (--x)); A.死循环 B.30 √C.1-2 D.1 8、以下程序的输出结果是(B) main() {intx=2; while(x--); printf("%3d",x); } A.1 B.-1 C.210 D.10 9、以下程序的输出结果是(C) main() {intx=2; while(x--); printf("%3d",x); } A.1 B.-1 C.210 D.10 10、若k为整型,以下while循环执行_B__次. k=2; while(k=0) printf("%d",k--); printf("\n"); A.无限次B.0次C.1次D.2次 11、下面这个程序的输出是什么(D) #include main() { inty=10; while(y--); printf("y=%d\n",y); } A.y=0B.while构成死循环C.y=1D.y=-1 12、intn=10; while(n>7) {n--; pritnf("%d",n); } A.1098 B.9876 √C.987 D.10987 13、下列循环执行了几次(B) i=0,x=5; do { i++; }while(x--); A.5次B.6次C.无数次D.1次 第四-五套 1、源程序要正确地运行,必须要有什么函数(C) A.printf函数B.自定义的函数C.main函数D.不需要函数 2、下列说明正确的是(A) #include"stdio.h" intfun(inta) { if(a>0) returna; else return-a; } main() {inta; scanf("%d",&a); printf("%d",fun(a)); } A.main函数的中a和函数fun中的a是两个不同的变量,在内存中占具不同的存储空间 B.fun函数中的变量a不管是否调用,都会占据4个字节的存储空间 C.main函数的中a和函数fun中的a是两个相同的变量,在内存中占具同一处存储空间 D.fun函数中的变量a在fun被调用时分配存储空间,直到主函数执行完毕 3、关于递归调用,下列说法正确的是(B) A.递归只有间接递归 B.递归有直接递归和间接递归两种 C.递归只有直接递归 D.递归就是函数的相互调用以完成所需的任务 4、下列程序的输出结果是(C) #include"stdio.h" intfunc1(inta,intb) {a=a+b; b=b+a; returna*a; } main() {inta=3,b=5; a=func1(a,b); printf("a=%d,b=%d",a,b); } A.a=3,b=5 B.a=8,b=5 C.a=64,b=5 D.a=64,b=13 5、关于函数的说法正确的是(B) A.可以没有主函数 B.必须有主函数 C.一个程序只能有一个函数 D.可以有多个主函数 6、下列说法正确的是(A) A.C语言是函数式语言,程序是由一个或多个函数组成 B.C语言的主函数可以有多个 C.C语言可以没有主函数 D.C语言的系统函数可直接使用,不需包含头函数 7、如果有下列调用,fun的函数头正确的是(C) main() { printf("%d",fun(5)); } A.fun(x) B.voidfun(x) C.fun(intx) D.fun() 8、下面函数的定义正确的是(A) A. floatfun(floatx,floaty) {floatz; if(x>y)z=x; elsez=y; returnz; } B. floatfun(floatx,floaty) {floatx,y,z; if(x>y)z=x; elsez=y; returnz; } C. floatfun(floatx,y) {floatz; if(x>y)z=x; elsez=y; returnz; } D. floatfun(floatx,floaty) {floatz; if(x>y)z=x; elsez=y; } 9、下列说法正确的是(B) A.函数不能间接调用自己 B.函数不能嵌套定义 C.函数不能嵌套调用 D.函数不能自己直接调用自己 10、下面程序段中,红色字体的作用是(D) #include"stdio.h" intfun(intx,inty); main() { printf("%d",fun(4,5)); } intfun(intx,inty) { if(x>y) returnx; else returny; } A.函数fun的调用 B.函数fun的定义 C.没什么作用,可以去掉 D.函数fun的说明 1、关于递归调用,下列说法正确的是(C) A.递归只有间接递归 B.递归就是函数的相互调用以完成所需的任务 C.递归有直接递归和间接递归两种 D.递归只有直接递归 第六套 1、下列说法正确的是(B) A.指针变量在内存中不占地址,但它里面存放一个地址 B.指针变量就是存放地址的变量 C.一个指针变量可以同时指向多个变量 D.指针变量也是变量,可以存放一个整数 2、要定义两个指针,分别指向变量a,b,下列语句正确的是(C) A.int*p1=&a,*p2=&b; inta,b; B.inta,b; intp1=&a,p2=&b; C.inta,b; int*p1=&a,*p2=&b; D.inta,b; int*p1=a,*p2=b; 3、写出下列程序的运行结果(C) #include"stdio.h" main() {inta=10,k=5,*p=&k; *p=a; printf("%d,%d",*p,k); } A.程序有错 B.10,5 C.10,10 D.5,5 4、下列程序的输出结果是(A) #include"stdio.h" main() {inta,*p; a=10; *p=a; printf("%d",*p); } A.程序有错误 B.输出一个不确定的数 C.输出一个地址 D.10 5、写出下列程序的运行结果(D) #include"stdio.h" fun(int*a,int*b) { *a=*a+*b; *b=*a+*b; } main() {inta=5,b=10; fun(&a,&b); printf("%d,%d",a,b); } A.5,25 B.5,10 C.15,10 D.15,25 6、有下列变量定义,则下面语句正确的是(B) int*p1,x; float*p2,y; A.其余三个都对 B.p2=&y; C.p1=&y; D.p2=&x; 7、若有如下定义,下列语句正确的是(A) int*p,x; A.p=&x; B.*p=&x; C.*p=5; D.p=x; 第七套 1、下列程序的输出结果是(D) #include"stdio.h" voidfun(intx[]) { inti; for(i=3;i<5;i++) x[i]++; } main() {inta[6]={1,2,3,4,5,6}; inti; fun(a); for(i=1;i<6;i++) printf("%d",a[i]); } A.23456 B.12345 C.23567 D.23566 2、下列对数组的定义正确的是(B) A.intx[3.5]; B.intx[3*5]; C.inti=5; intx[i]; D.intx[5]={1,2,3,4,5,6}; 3、下列程序段的输出结果是(C) #include"stdio.h" main() {intx[10]={1,2,3,4},*p; p=&x[2]; printf("%d",p[2]); } A.2 B.3 C.0 D.4 4、若有下列数组的定义,下面对数组元素的引用不正确的是(C) intx[10]={1,2,3,4}; A.x[9] B.x[0] C.x[10] D.x[6] 5、若有下列程序段inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a+2; 下列那个是对a[5]的引用(B) A.p[5] B.*(a+5) C.*(p+5) D.a+5 6、关于数组,下列说法正确的是(D) A.数组中的各元素在内存中的存储位置可以不连续 B.整型数组若不初始化,其元素的默认值为0 C.一个数组中的所有元素的值都是一样的 D.一个数组中的所有元素数据类型都是一样的 7、下列数组的初始化不正确的是(C) A.inta[5]={0}; B.inta[]={1,2,3,4,5,6}; C.inta[6]; a={1,2,3,4,5,6}; D.inta[]={1,2}; 8、若有intx[4];printf("%d",x);的输出结果为: 2048, 则printf("%d",x+3);输出为(A) A.2060 B.2051 C.错误,无法输出 D.2048 9、若有inta[5],*p=a+2; 则不能够表示a[2]地址的是(A) A.*a+2 B.&a[2] C.p D.a+2 10、下列程序段的输出结果是(D) #include"stdio.h" main() {intx[10]={1,2,3,4},*p; p=x; printf("%d",p[2]); } A.4 B.1 C.2 D.3 第九套 1、若有chara[80]="ABCD",b[80]="1234";则strcpy(a,b)执行后,字符串a的值为(B) A.ABCD B.1234 C.ABCD1234 D.1234ABCD 2、若有chara[8]="ABCDEFG";则a[7]的值为(A) A.'\0' B.没有值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 选择
![提示](https://static.bdocx.com/images/bang_tan.gif)