C语言试题选择题及答案(27页).doc
《C语言试题选择题及答案(27页).doc》由会员分享,可在线阅读,更多相关《C语言试题选择题及答案(27页).doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-C语言试题选择题及答案-第 27 页第1 题:阅读程序,选择程序的运行结果_A_。#include main() int x; x=try(5); printf(“%dn”, x); try(int n) if(n0) return(n*try(n-2); else return(1);A.15B.120C.1D.前面3个答案均是错误的第2 题:在下列结论中,只有一个是正确的,它是_A_。A.递归函数中的形式参数是自动变量 B.递归函数中的形式参数是外部变量C.递归函数中的形式参数是静态变量D.递归函数中的形式参数可以根据需要自己定义存储类型第3 题:阅读程序,选择程序的输出结果_A_。#i
2、nclude f(int x, int y) return(y-x);main() int (*g)(int,int);int a=5, b=6, c=2; g=f; c=(*g)(a,b); printf(“%dn”, c);A.1B.2C.3D.前面3个答案均是错误的第4 题:阅读程序,选择程序的输出结果_D_。#include char *p=”abcdefghijklmnopq”;main() while(*p+!=e) ; printf(“%cn”, *p);A.cB.dC.eD.f第6 题:阅读程序,选择程序的输出结果_D_。#include void prtv(int *x) p
3、rintf(”%dn”, +*x);main() int a=25; prtv(&a);A.23B.24C.25D.26第7 题:阅读程序,选择程序的输出结果_B_。#include main() static char a = ”language”, b=”program”; char *ptr1=a, *ptr2=b; int k; for(k=0; k7; k+) if(*(ptr1+k)=*(ptr2+k) printf(”%c”, *(ptr1+k);A.gae B.gaC.languageD.有语法错误第8 题:函数调用strcat(strcpy(str1, str2), str3
4、)的功能是_C_。A.将串str1复制到串str2中,然后再连接到str3之后 B.将串str1连接到串str2之后,再复制到str3之中 C.将串str2复制到串str1中,然后再将串str3连接到串str1之后D.将串str2复制到串str1中,再将串str1连接到str3之后第9 题:设有以下程序段,则在main函数中使用语句_D_是无意义的。main() int min(); int a, b, c, (*p)(); p=min;min(x, y)int x, y;A.printf(”%dn”, min(a,b); B.c=min(a, b);C.c=(*p)(a,b); D.p+;第
5、10 题:已知static int a23=2,4,6,8,10,12; 正确表示数组元素地址的是_A_。A.*(a+1) B.*(a1+2)C.a1+3 D.a00第11 题:已知int i, x34; 则不能将x11的值赋给变量i的语句是_C_。A.i=*(*(x+1)+1) B.i=x11C.i=*(*(x+1) D.i=*(x1+1)第12 题:当c的值不为0时,在下列选项中能够将c的值赋给变量a、b的是_C_. A.c=b=a;B.(a=c)|(b=c); C.(a=c)&(b=c);D.a=c=b;第13 题:函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。能正确执
6、行此功能的函数是_D_。A.funa(int *x, int *y) int *p;*p=x; *x=*y; *y=*p;B.funb(int x, int y) int t;t=x; x=y; y=t;C.func(int *x, int *y) *x=*y; *y=*x;D.fund(int *x, int *y) *x=*x+*y; *y=*x-*y; *x=*x-*y;第14 题:已知int x=1,3,5,7,9,11, *ptr=x; 则不能正确引用数组元素的语句是_B_。A.*(ptr-)B.*(-ptr)C.*(ptr+)D.*(+ptr)第15 题:已知int *ptr1,
7、*ptr2; 均指向同一个int类型一维数组中的不同元素,k为int类型变量,则下面错误的赋值语句是_B_。A.k=*ptr1+*ptr2;B.ptr2=k;C.ptr1=ptr2;D.k=*ptr1*(*ptr2);第16 题:已知chars110, *s2=”ab0cdef”; 则执行语句strcpy(s1,s2); 后,变量s1的内容为_A_。A.ab B.cdefC.ab0cdef D.内容不定第17 题:以下有关宏替换叙述中,错误的是_D_。A.宏替换不占用运行时间 B.宏无类型名 C.宏替换只是字符替换D.宏名必须用大写字母表示第18 题:C语言主函数main最多允许有_B_个参数
8、。A.1B.2C.0D.3第19 题:C语言的编译系统对宏定义是_D_。A.在程序运行时进行替换处理B.在程序连接时进行处理C.和源程序中其他C语句同时进行编译的D.在对源程序中其他成分正式编译之前进行处理的第20 题:已知int *p; 则变量p是_B_。A.指向int的指针B.指向指针的指针C.int型变量D.以上3种说法均是错误的第21 题:已知int i; char *s=”a045+045b”; 执行语句for(i=0; *s+; i+); 之后,变量i的结果是_B_。A.7B.8C.9D.以上3个答案都是错误的第22 题:已知int i=0, j=1, *p=&i, *q=&j;
9、错误的语句是_D_。A.i=*&j;B.p=&*&i;C.j=*p+;D.i=*&q;第23 题:已知int a=1,2,3,4,5,6,7,8,9,10,11,12, *p=a; 则值为3的表达式是_A_。A.p+=2, *(p+)B.p+=2, *+pC.p+=3, *p+D.p+=2, +*p第24 题:已知int a34, *p=a; p+=6; 那么*p和_D_的值相同。A.*(a+6)B.*(&a0+6) C.*(a1+2) D.*(&a00+6)第25 题:已知int a43=1,2,3,4,5,6,7,8,9,10,11,12; int (*ptr)3=a, *p=a0;则以下
10、能够正确表示数组元素a12的表达式是_D_。A.*(ptr+1)2) B.*(*(p+5) C.(*ptr+1)+2D.*(*(a+1)+2)第26 题:已知char *s; 正确的语句是_B_。A.s=”computer”;B.*s=”computer”;C.*s=”computer”; D.*s=A;第27 题:已知char s20= ”programming”, *ps=s; 则不能引用字母o的表达式是_A_。A.ps+2B.s2C.ps2 D.ps+=2, *ps第28 题:已知char b5, *p=b; 则正确的赋值语句是_C_。A.b=”abcd”;B.*b=”abcd”;C.p
11、=”abcd”;D.*p=”abcd”;第29 题:已知char s100; int i; 则在下列引用数组元素的语句中,错误的表示形式是_D_.A.si+10 B.*(s+i)C.*(i+s) D.*(s+)+i)第30 题:已知char s10, *p=s; 则下列语句中,错误的语句是_B_。A.p=s+5;B.s=p+s; C.s2=p4D.*p=s0;第31题:(103)以下程序的输出结果是_D_。 #include main()int x=10, y=10; printf(“%d %dn”, x-, -y);A.10 10B.9 9C.9 10D.10 9第32 题:已知double
12、 *p6; 它的含义是_C_。A.p是指向double类型变量的指针 B.p是double类型数组C.p是指针数组 D.p是数组指针第33 题:说明语句int *(*p)(); 的含义是_D_。A.p是一个指向int型数组的指针B.p是指针变量,它构成了指针数组C.p是一个指向函数的指针,该函数的返回值是一个整型D.p是一个指向函数的指针,该函数的返回值是一个指向整型的指针第34 题:已知int a, *p=&a; 则下列函数调用中错误的是_D_。A.scanf(”%d”, &a);B.scanf(”%d”, p); C.printf(”%d”, a); D.printf(”%d”, p);第
13、35 题:已知int *p, a; 则语句p=&a; 中的运算符&的含义是_D_。A.位与运算B.逻辑与运算C.取指针内容 D.取变量地址第36 题:下面程序的功能是将字符串s中所有的字符“c”删除。请选择填空。# include main() char s80; int i, j; gets(s); for(i=j=0; si!=0; i+) if(si!=c) _A_ sj!=0; puts(s);A.sj+=si;B.s+j=si;C.sj=si; j+;D.sj=si第37 题:阅读下列程序,选择程序的运行结果_B_。#include main() int i, k, a10, p3;
14、 k=5; for(i=0; i10; i+) ai=i; for(i=0; i3; i+) pi=ai*(i+1); for(i=0; i3; i+) k+=pi*2; printf(“%dn”, k);A.20B.21C.22D.23第38 题:下述程序的输出结果是_A_。 #include main() printf(“%f”, 2.5+1*7%2/4);A.2.500000 B.C.3.375000 D.第39 题:下面程序的输出结果是_B_。 #include main() printf(“%dn”, NULL);A.-1B.0C.1D.程序是错误的第40 题:在下面的程序段中,每行
15、前面的数字表示行号,则下面程序_D_。1 main()2 3 int a3;4 int i;5 for(i=0; i3; i+) scanf(“%d”, &ai);6 for(i=1; i3; i+) a0=a0+ai;7 printf(“%fn”, a);8 A.没有错误 B.第5行有错误C.第6行有错误D.第7行有错误第41 题:在下面的程序段中,每行前面的数字表示行号,则下面程序_C_。1 main()2 3 float a10;4 int i;5 for(i=0; i3; i+) scanf(“%d”, &ai);6 for(i=1; is2) B.if(strcmp(s1s2) C.
16、if(strcmp(s2s1)0) D.if(strcmp(s1s2)0)第45 题:已知char a20, b20; 则以下正确的输入语句是_B_。A.gets(a,b);B.scanf(“%s%s”, a, b); C.scanf(“%s%s”, &a, &b);D.gets(“a”), gets(“b”);第46 题:若二维数组a由m列,则在aij之前的元素个数为_B_。A.j*m+i B.i*m+j C.i*m+j-1D.i*m+j+1第47 题:下列数组说明语句中错误的是_B_。A.double x5=2.0, 4.0, 6.0, 8.0, 10.0; B.int y5=0,1,3,
17、5,7,9;C.char c1=1,2,3,4,5; D.char c2=x10,xa,x8;第48 题:在C语言中,二维数组元素在内存中的存放顺序是_A_。A.按行存放 B.按列存放C.由用户自己定义 D.由编译器决定第49 题:已知static int a34; 则数组a中个元素_B_。A.可在程序的运行阶段得到初值0 B.可在程序的编译阶段得到初值0 C.不能得到确定的初值D.可在程序的编译或运行阶段得到初值0第50 题:语句typedef long class的作用是_D_。A.建立了一种新的数据类型B.定义了一个整型变量C.定义了一个长整型变量D.定义了一个新的数据类型标识符第51
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 试题 选择题 答案 27
限制150内