C语言试题选择题及答案.doc_第1页
C语言试题选择题及答案.doc_第2页
C语言试题选择题及答案.doc_第3页
C语言试题选择题及答案.doc_第4页
C语言试题选择题及答案.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

_第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_。#include 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) printf(”%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)的功能是_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+;第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中的值,且通过正确调用返回交换的结果。能正确执行此功能的函数是_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, *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_个参数。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; 错误的语句是_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;则以下能够正确表示数组元素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=”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 *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);第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; 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.2.750000C.3.375000 D.3.000000第39 题:下面程序的输出结果是_B_。 #include main() printf(“%dn”, NULL); A.-1B.0C.1D.程序是错误的第40 题:在下面的程序段中,每行前面的数字表示行号,则下面程序_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.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,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 题:已知staticint a34=0; 则下面正确的叙述是_D_。A.只有元素a00可以得到初值0B.此说明语句是错误的C.数组a中每个元素都可得到初值,但其值不一定为0 D.数组a中每个元素均可得到初至0第52 题:以下能对外部的二维数组a进行初始化错误的语句是_C_。A.int a23=0; B.int a3=1,2, 0; C.int a23=1,2, 3,4, 5,6;D.int a3=1,2,3,4,5,6;第53 题:以下能对外部的二维数组a进行正确初始化的语句是_B_。A.int a2=1,0,1, 5,2,3; B.int a3=1,2,3, 4,5,6; C.int a24=1,2,3, 4,5, 6; D.int a3=1,0,1, , 1,1;第54 题:(105)为了求i的3次方,请选择一个表达式填入_D_,使程序可以正确执行。 #define CUBE(x) (x*x*x) main() int i=4; print(“n%d”, CUBE( );A.i*i*iB.x*x*xC.x D.i第55 题:已知int a10; 则对a数组元素的正确引用是_D_。A.a10B.a3.5C.a(5)D.a10-10第56 题:在C语言中,引用数组元素时,其数组下标的数据类型允许是_C_。A.整型常量 B.整型表达式C.整型常量或整型表达式D.任何类型的表达式第57 题:已知char str=”abn012”; 则执行语句:printf(“%d”, strlen(str);的结果是_C_.A.3B.4C.6D.12第58 题:下面关于字符串的说明中,错误的是_A_。A.char str7=”FORTRAN”; B.char str=”FORTRAN”; C.char *str=”FORTRAN”; D.char str=F,O,R,T,R,A,N,0;第59 题:以下程序段的输出是_A_。static char a=“-12345”;int k=0, symbol, m;if(ak=+|ak=-) symbol=(ak+=+)?1:-1;for(m=0; ak=0&ak=9; k+) m=m*10+ak-0;printf(“number=%dn”, symbol*m);A.number=-12345 B.number=12345 C.number=-10000 D.number=10000第60 题:已知char str110, str210=“books”; 则在程序中能够将字符串“books”赋给数组str1的正确语句是_B_。A.str1=“books”; B.strcpy(str1, str2); C.str1=str2 D.strcpy(str2, str1);第61 题:若有以下语句,则正确的描述是_B_。 static char x=“12345”; static char y=1, 2, 3, 4, 5;A.x数组和y数组的长度相同 B.x数组长度大于y数组长度C.x数组长度小于y数组长度D.x数组等价于y数组第62 题:在下述对C语言字符数组的描述中错误的是_C_。A.字符数组可以存放字符串B.字符数组中的字符串可以进行整体输入/输出 C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D.字符数组的下标从0开始第63 题:要说明一个有10个int元素的数组,应当选择语句_A_。A.int a10;B.int a2,5;C.int a;D.int *a10;第64 题:已知char s5, c; register char b; 则调用函数scanf的正确语句是_D_。A.scanf(“%s%c”, s, c);B.scanf(“%d%c”, &b, &c);C.scanf(“%d%c”, b, &c);D.scanf(“%s%c”, s, &c);第65 题:错误的说明语句是_D_。A.static char word=T, u, r, b, o, 0;B.static char word=“Turbo0”;C.static char word=“Turbo0”;D.static char word=Turbo0;第66 题:请选择下列程序的运行结果_A_。#include int d=1;fun(int p) int d=5; d+=p+; printf(“%d ”, d); main() int a=3; fun(a); d+=a+; printf(“%d”, d);A.8 4 B.9 6C.9 4D.8 5第67 题:请选择下列程序的运行结果_D_。#include try() static int x=3; x+; return(x); main() int i, x; for(i=0; i=2; i+) x=try(); printf(“%dn”, x);A.3B.4C.5D.6第68 题:请选择下列程序的运行结果_C_。#include fun(int *p) int a=10; *p=a; +a; main() int a=5; fun(&a); printf(“%dn”, a); A.5B.6C.10D.11第69 题:以下错误的描述为_C_。A.在函数之外定义的变量称为外部变量,外部变量是全局变量B.在一个函数中既可以使用本函数中的局部变量,又可以使用外部变量C.外部变量定义和外部变量声明的含义相同 D.若在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用。第70 题:在一个C源程序文件中,若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要的存储类别是_D_。A.extern B.register C.auto D.static第71 题:C语言中,对于存储类型为_D_的变量,只有在使用它们时才占用内存单元。A.static和auto B.register和extern C.register和static D.auto和register第72 题:C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是_B_。A.地址传递 B.值传递 C.由实参传给形参,并由形参传回来给实参 D.由用户指定传递方式第73 题:以下描述错误的是_D_。A.不同函数中可以使用相同的变量名B.形式参数是局部变量 C.一个函数内部定义的变量只能在本函数范围有效D.在一个函数内部的复合语句中定义的变量可以在本函数范围内有效第74 题:C语言中函数返回值的类型是由_D_决定的。A.return语句中的表达式类型 B.调用该函数的主调函数类型C.调用函数时临时D.定义函数时所指定的函数类型第75 题:已知int* p(); 这里的p是_C_。A.指向int类型的指针变量 B.int类型的指针数组C.一个函数,该函数的返回值是指向int类型的指针变量 D.一个指向函数的指针变量,该函数的返回值是int类型第76 题:以下叙述中错误的是_C_。A.在C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值B.在C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容C.在C语言中,外部变量的隐含类别是自动存储类别D.在C语言中,函数形参的存储类型是自动(auto)类型的变量第77 题:已知函数abc的定义为: void abc() 则函数定义中void的含义是_A_。A.执行函数abc后,函数没有返回值 B.执行函数abc后,函数不再返回C.执行函数abc后,可以返回任意类型 D.以上3个答案全是错误的第78 题:以下描述正确的是_C_。A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分第79 题:C语言程序由函数组成,它的_B_。A.主函数必须在其他函数之前,函数内可以嵌套定义函数B.主函数可以在其他函数之后,函数内不可以嵌套定义函数C.主函数必须在其他函数之前,函数内不可以嵌套定义函数D.主函数必须在其他函数之后,函数内可以嵌套定义函数第80 题:选择下面程序的运行结果_A_。#include main() int k=1; char c=A; do switch(c+) case A: k+; break; case B: k-; case C: k+=2; break; case D: k=k%2; continue; case E: k=k*2; break; default: k=k/3; k+; while(cF); printf(“k=%dn”, k);A.k=1B.k=15 C.k=12 D.以上结果都不对第81 题:阅读程序,写出程序的输出结果_D_。#include main() int x=10, y=10, i; float s; for(i=0; x8; y=+i) printf(“%d %d ”, x-, y); A.10 1 9 2 B.9 8 7 6C.10 9 9 0 D.10 10 9 1第82 题:若a、b、c、d、t均为int类型变量,则执行以下程序段后的结果为_C_。 #define MAX(A,B) (A)(B)?(A):(B) #define PRINT(Y) printf(“Y=%dn”, Y) a=1; b=2; c=3; d=4; t=MAX(a+b,c+d); PRINT(t);A.Y=3 B.存在语法错误C.Y=7 D.Y=0第83 题:阅读程序,写出程序的输出结果_B_。#include main() char i, j; for(i=0, j=9; ij; i+, j-) printf(“%c%c”, i, j); printf(“n”); A.01234567890B.0918273645 C.9876543210D.以上3个答案均不对第84 题:阅读程序,写出程序的输出结果_D_。#include main() int i=0, j=0, k=0, m; for(m=0; m4; m+) switch(m) case 0: i=m+; case 1: j=m+; case 2: k=m+; case 3: m+; printf(“n%d, %d, %d, %d”, i, j, k, m); A.0, 0, 2, 4B.0, 1, 2, 3 C.0, 1, 2, 4D.0, 1, 2, 5第85 题:如果下列程序可以正常运行,则当从键盘输入字母A时,输出结果为_B_。#include main() char ch; ch=getchar(); switch(ch) case 65: printf(“%c”, A); case 66: printf(“%c”, B); default: printf(“%s”, “other”); A.AB.ABotherC.AotherD.编译错误,无法运行第86 题:下列程序的运行结果是_C_。 #include main() int a=2, b=-1, c=2; if(ab)if(b0) c=0; else c+=1; printf(“%dn”, c); A.0B.1C.2D.3第87 题:若int x=3; 且有下面的程序片段,则输出结果为_C_。 do printf(“%d ”, x-=2); while(!(-x);A.1B.3 0C.1 -2D.死循环第88 题:若int a=5; 则执行以下语句后,打印的结果为_A_。 do printf(“%2dn”, a-); while(!a);A.5B.不打印任何内容C.4D.陷入死循环第89 题:若int i, x; 则for(i=x=0; i9&x!=5; i+, x+)控制的循环体将执行_C_次。A.10B.9C.5D.6第9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论