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

下载本文档

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

文档简介

1、;.第 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

2、(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(in

3、t *x) printf(”%dn”, +*x);main() int a=25; prtv(&a);a. 23;.;.b. 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. gaeb. gac. languaged. 有语法错误第 8 题 :函数调用 strcat(strcpy

4、(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. print

5、f( ”%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+3d.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.

6、(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;则不能

7、正确引用数组元素的语句是 _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.abb.cdefc.ab0cdefd.内容不定第 17 题:以

8、下有关宏替换叙述中,错误的是_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 题:已知 in

9、ti;char *s= ”b”;执行语句 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, *

10、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

11、. *s= a;第 27 题:已知 char s20=”programming ”, *ps=s;则不能引用字母 o的表达式是 _a_。a.ps+2b.s2c.ps2d.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+10b. *(s+i)c. *(i+s)d. *(s+)+i)第 30 题:已知 char s10,

12、*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是一个指向

13、 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 题:下面程序的功能是将字

14、符串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;pri

15、ntf(“%dn”, k);a. 20b. 21c. 22d. 23第 38 题:下述程序的输出结果是_a_。;.;.#include main() printf(“%f”, 2.5+1*7%2/4);a. 2.500000b. 2.750000c. 3.375000d. 3.000000第 39 题:下面程序的输出结果是_b_。#include main() printf(“%dn”, null);a. -1b. 0c. 1d. 程序是错误的第 40 题:在下面的程序段中,每行前面的数字表示行号,则下面程序_d_。1 main()2 3 int a3;4 int i;5for(i=0; i3

16、; 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;5for(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 题:已知

17、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+ib. i*m+jc. 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,

18、 5;d. char c2= x10, xa, x8;.;.第 48 题:在c语言中,二维数组元素在内存中的存放顺序是_a_。a. 按行存放b. 按列存放c. 由用户自己定义d. 由编译器决定第 49 题:已知 static int a34;则数组 a中个元素 _b_。a.可在程序的运行阶段得到初值0b.可在程序的编译阶段得到初值0c. 不能得到确定的初值d. 可在程序的编译或运行阶段得到初值 0第 50 题:语句 typedef long class的作用是 _d_。a. 建立了一种新的数据类型b. 定义了一个整型变量c. 定义了一个长整型变量d. 定义了一个新的数据类型标识符第 51 题:

19、已知 staticint a34=0;则下面正确的叙述是_d_。a. 只有元素 a00 可以得到初值 0b. 此说明语句是错误的c. 数组 a中每个元素都可得到初值,但其值不一定为0d. 数组 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

20、,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. xd. i第 55 题:已知 int a10;则对 a数组元素的正确引用是_d_。a. a10b. a3.5c. a(5)d. a10-10第 56 题:在c语言中,引用数组元素时,其数组下标的数据类型允许是_c_。;.;.a. 整型常量b.

21、 整型表达式c. 整型常量或整型表达式d. 任何类型的表达式第 57 题:已知 char str=”; 则执行语句: 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. charstr=f, o, r, t, r, a, n, 0;第 59 题:以下程序段的输出是_a_。static char a=“-12345 ”;int k=0, symbol,

22、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=-12345b. number=12345c. number=-10000;.;.d. number=10000第 60 题:已知 char str110, str210=“books ”;则在程序中能够将字符串“ books”赋给数组 str1 的正确语句是 _b_。a.str1= “books ”;b.strcpy(str1, str2);c.str1=str2d

23、.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_

24、。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.staticchar word= t,u,r , b,o, 0;b.static char word=“turbo0 ”;c.st

25、atic char word=“turbo0 ” ;d.static char word=turbo 0;第 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;

26、 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. 若在同一个源文件中,外部变量与局部

27、变量同名,则在局部变量的作用范围内,外部变量不起作用。第 70 题:在一个 c源程序文件中,若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要的存储类别是 _d_。a. externb. registerc. autod. static第 71 题:c语言中,对于存储类型为 _d_的变量,只有在使用它们时才占用内存单元。a. static 和autob. register 和externc. register 和staticd. auto 和 register;.;.第 72 题:c语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是 _b_。a. 地址传递b. 值传递

28、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. 一个函数,该函数的返回

29、值是指向 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.

30、以上 3个答案全是 的第 78 题:以下描述正确的是_c_。a. c 言程序 是从第一个定 的函数开始 行b. 在 c 言程序中,要 用的函数必 在 main() 函数中定 c. c 言程序 是从 main() 函数开始 行d. c 言程序中的 main() 函数必 放在程序的开始部分第 79 题:c 言程序由函数 成, 它的 _b_。a. 主函数必 在其他函数之前,函数内可以嵌套定 函数b. 主函数可以在其他函数之后,函数内不可以嵌套定 函数c. 主函数必 在其他函数之前,函数内不可以嵌套定 函数d. 主函数必 在其他函数之后,函数内可以嵌套定 函数第 80 题: 下面程序的运行 果_a_。

31、;.;.#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(c f);printf(“k=%dn”, k);a. k=1b. k=15c. k=12d. 以上结果都不对第 81 题:阅读程序,写出程序的输出结果_d_。#include main() int x=10, y=10, i; float s;for(i=

32、0; x8; y=+i)printf(“%d %d ”, x-, y);a. 10 1 9 2b. 9 8 7 6;.;.c. 10 9 9 0d. 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=3b. 存在 法 c. y=7d. y=0第83 题: 程序,写出程序的 出 果_b_。#include main

33、() char i, j;for(i=0, j=9; ij; i+, j-)printf(“%c%c” , i, j);printf(“n ”);a. 01234567890b. 0918273645c. 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,

34、 j, k, m);a. 0, 0, 2, 4b. 0, 1, 2, 3c. 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. aother;.“%dn”, c);.d. 编译错误,无法运行第 86 题:下列程序的运行结果是_c

35、_。#include main() int a=2, b=-1, c=2; if(ab)if(b0) c=0;else c+=1; printf(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+)控制的循

温馨提示

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

最新文档

评论

0/150

提交评论