C语言-基本选择题及答案
更新时间:2024-03-15 09:14:01 阅读量: 综合文库 文档下载
- c语言基础选择题推荐度:
- 相关推荐
计算机程序设计基础(C语言)
单项选择练习题
一、基本概念
1. C语言程序是由 C 构成的。
A)一些可执行语言 B)main函数 C)函数 D)包含文件中的第一个函数 2.( A )是构成C语言程序的基本单位。
A、函数 B、过程 C、子程序 D、子例程 3.C语言程序从 C 开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 4.C语言程序从main()函数开始执行,所以这个函数要写在_D___。
A) 程序文件的开始 B) 程序文件的最后 C) 它所调用的函数的前面 D) 程序文件的任何位置 5、以下说法中正确的是( C )。
A、C语言程序总是从第一个定义的函数开始执行
B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行
D、C语言程序中的main( )函数必须放在程序的开始部分 6. 下列方法中错误的是(D )。
A.主函数可以分为两个部分:主函数说明部分和主函数体。 B.主函数可以调用任何非主函数的其它函数。 C.任何非主函数可以调用其它任何非主函数。 D.程序可以从任何非主函数开始执行。 7. 下列说法错误的是:( B )
A. C程序运行步骤是编辑、编译、连接、执行。 B. C语言的变量名必须用小写,常量用大写。 C. C语言的三种基本结构是顺序、选择、循环。 D. C程序一定由函数构成的。
8.下列关于C语言的说法错误的是( B ) 。
A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行
9. 系统默认的C语言源程序扩展名为.C,需经过 C 之后,生成.exe文件,才能运行? A) 编辑?编译 B )编辑?连接 C) 编译?连接 D) 编辑?改错 10.下列说法中正确的是(B )。
A.由于C源程序是高级语言程序,因此一定要在TC软件中输入。
B.由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。 C.由于C程序是高级语言程序,因此输入后即可执行。 D.由于C程序是高级语言程序,因此它是由命令组成的。
二、数据类型、运算符与表达式
1. 不是C语言提供的合法关键字是(B )。
A.switch B.cher C.case D.default 2.C语言提供的合法关键字是(D )。
A.next B.string C.do case D.default 3.下列不属于C语言中关键字的是 B
A)long B)print C)default D)typedef
1
4.下列正确的标识符是(C )。
A.-a1 B.a[i] C.a2_i D.int t 5. 下列C语言用户标识符中合法的是( B )。 A、*y B、sum C、int D、_ 6. 下面四个选项中,合法的标识符是:( D ) A. auto B. define C. 6a D. c 7.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 8. 以下选项中合法的用户标识符是 B
A) long
B) _2Test
C) 3Dmax
D) A.dat
9.下列四组选项中,正确的C语言标识符是( C )。
A) %x B) a+b C) a123 D) 123 10. 请选出可用作C语言用户标识符的一组标识符( B )
A) void B) a3_b3
C) For
D) 2a
define _123 -abc DO WORD sum Case sizeof
11、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 12.下列C语言标识符中合法的变量名是 B 。 A)2e3 B)you C)*y D)float 13.C语言中的简单数据类型包括(D )。
A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 14、下列可以正确表示字符型常量的是( A )。 A、’\\t’ B、”a” C、”\\n” D、297 15.下列表达式中, D 是正确的C语言字符常量。 A)”x” B)e3 C)”COMPUTER” D)’#’ 16.在下列表达式中,属于字符型常量的是 B 。
A) A B) 'a' C) \17. 以下选项中合法的字符常量是( B )
A) “B” B) ‘\\n’ C) ‘68’ D) E 18.下面字符常量表示错误的是( D )
A)’a’ B)’?’ C)’\\n’ D)”\\n”
19. 已定义c为字符型变量,则下列语句中正确的是 ( C ) A)c='97' B)c=\)c=‘a’ D)c=\20. 已知ch是字符型变量,不正确的赋值语句是( A ) A) ch='a+b' ;
B) ch=' \\0 ' ;
C) ch=' 7' ; D) ch=’;’;
21.C语言中字符型(char)数据在内存中的存储的是( D ) A) 原码 B) 补码 C) 反码 D) ASCII码
22.在C语言中,字符型数据所占的内存空间是( C )
A)2个字节 B) 4字节 C) 1字节 D)由用户自定义
*23.若int类型数据占2个字节,则unsigned int类型数据的取值范围是 ( B )
A)0~255 B)0~65535 C)-32768~32767 D)-256~255
*24. 若有以下类型说明语句:char a;int b; float c; double d; 则表达式a*b+d-c的结果类型为( A)float B) char C) int D)double
2
D )
*25. 若有以下类型说明语句:char w;int x;float y;double z;则表达式w-x*y/z的结果为( D )类型,表达式(int)(x+y-z*w)的结果为( C )类型。
A)float B)char C)int D)double
26 .C语言中运算对象必须是整型的运算符是( A ) A) %= B) / C) = D) 〈= 27.在C语言程序中,表达式8/5的结果是( B )
A)1.6 B)1 C)3 D)0 28.设x为int型变量,则执行以下语句后,x的值为 B
x=10; x+=x;
A) 10 B) 20 C) 40 D) 30
29.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3
30.如果int a=3,b=4;则条件表达式\的值是__A__。
A) 3 B) 4 C) 0 D) 1 31.若int x=2,y=3,z=4 则表达式x 32.C语言中,关系表达式和逻辑表达式的值是( B ) 。 A) 0 B) 0或1 C) 1 D) ‘T’或’F’ 33.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面表达式中,值为0的表达式是( D ) A、’a’&&’b’ B、a<=b C、a||b+c&&b-c D、!((a A) 11/3 B) 11.0/3 C) (float)11/3 D) (int)(11.0/3+0.5) *35. 已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是( C ) A .0 B. 1 C. 5 D. 6 36. 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为 A) 68 B) ‘D’ C) 错误 D) ‘d’ 37.下列关于C语言的叙述错误的是( A ) A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 38. 有:int w=11,x=12,y=3,m; 执行下面语句后m的结果是( C ) m=(w A. 1 B. 2 C. 3 D. 以上结果都不对 39. 有:int w=7, x=12, y=3, m; 执行下面语句后m的值是( A ) m=(w>x)?w:x; m=(m>y)?m:y; A. 12 B. 0 C. 3 D. 1 40.设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是( B ) A.b=1.0/a B.b=(float)(1/a) C.b=1/(float)a D.b=1/(a*1.0) 41. 以下运算符中优先级最高的运算符是( B ) A)&& B)++ C)+= D)!= 42.若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是(A) A.1 B.4 C.4.333333 D.4.6 3 B ) ( 43. 设x为int型变量,则执行以下语句后,x的值为( C ) x=10; x*=x; A) 10 B) 20 C) 100 D) 0 44. 若有语句int a=1,b; double y=2.3; b=(int)y; 则b的值为 (B )? A) 3 B) 2 C) 1 D) 2.3 45.已知int x;char y;则下面错误的scanf函数调用语句为(B ) A)scanf(“%d,%d”,&x,&y); B) scanf(“%d,%c”,x,y) C) scanf(“%d%d”,&x,&y) D) scanf(“%d,%c”,&x,&y) 46.在C语言的库函数中,可以输出char型变量x值的语句是 C 。 A)getchar(x); B)fputc(x) C)putchar(x) D)puts(x) 47. 以下说法正确的是( C ) A) 'x'+5是一个错误的表达式 B) C语言不允许类型的混合运算 C) 强制类型转换时,类型说明符必须加括号 D) (int)x+y 和(int)(x+y)是完全等价的表达式 48.设 int x=0, y=1; 表达式(x||y)的值是 ( B ) A) 0 B) 1 C) 2 D) -1 三、选择结构 1. 在C语言中,认为( D )为逻辑\真\ A) true B)大于0的数 C)非0整数 D)非0的数 2. 表示关系x<=y<=z的c语言表达式为 A A) (x<=y)&&(y<=z) B) (x<=y)AND(y<=z) C) (x<=y<=z) D) (x<=y)&(y<=z) 3.能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是( D ) A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10‖a<=0 4、判断char型变量c1是否为大写字母的表达式为( D )。 A、’A’<=c1<=’Z’ B、(c1>=’A’) & (c1<=’Z’) C、(’A’<=c1)AND (‘Z’>=c1) D、 c1>=’A’ && c1<=’Z’ 5. 为表示逻辑表达式79 A)( X>79 )&&( X<90 ) B) ( X>79 )!=( X<90 ) C) 79 6.设有语句“int a=2,b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的值是( A ) A.1 B.0 C.-1 D.出错 7. 设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是( A )。 A.10 C. a>10&&a<15 D.!(a<=10)&&!(a>=15) 8. 设x,t均为int型变量,则执行语句“x=10;t=x&&x>10;”后,t的值为(D ) A.不定值 B.10 C.1 D.0 9. 若int i=10; 执行下列程序后,变量i的正确结果是( A )。 switch ( i ) { case 9: i+=1; case 10: i+=1; case 11: i+=1; default : i+=1; } A、13 B、12 C、11 D、10 10. 在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它是( D 4 。 ) A、if (a) s1 ; else s2; B、if (a= =0) s2; else s1; C、 if (a!=0) s1; else s2; D、if (a= =0) s1; else s2; 11.假定所有变量均已正确定义,则下列程序段运行后y的值是(A ) int a=0,y=10; if(a=0) y--; else if(a>0) y++; else y+=y; A.20 B.11 C.9 D.0 12.假定所有变量均已正确定义,则下列程序段运行后x的值是(B )。 a=b=c=0; x=35; if(!a) x--; else if(b); if(c) x=3; else x=4; A.34 B.4 C.35 D.3 13. C语言对嵌套if语句的规定是:else语句总是与( D )配对。 A) 其之前最近的if B) 第一个if C) 缩进位置相同的if D) 其之前最近的且尚未配对的if 14. 在C语言语句中,用来决定分支流程的表达式是( A )。 A.可用任意表达式 B.只能用逻辑表达式或关系表达式 C.只能用逻辑表达式 D.只能用关系表达式 15.C语言中用( B )表示逻辑“真”。 A. true B. 整数值1 C. 非零整数值 D. false 16、若k是int型变量,且有下面的程序段: int k; k= -3; if (k<=0) printf(“####”); else printf(“&&&&”); 上面程序段的输出结果是( A ) A、#### B、&&&& C、####&&&& D、有语法错误,无输出结果 17. main() { int x=0,a=0,b=0; switch(x){ case 0: b++; case 1: a++; case 2: a++;b++;} printf(“a=%d,b=%d\\n”,a,b);} 该程序的输出结果是 D A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 18. 以下程序的输出结果是:( C ) main() { int x=-10,y= 1,z=1; if(x 5 printf(“%d\\n”,z); } A. 0 B. 1 C. 2 D. 3 19. 以下程序段的输出结果是( B ) int a=10,b=50,c=30; if(a>b) a=b; b=c; c=a; printf(\; A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=50 四、循环结构 *1.在C语言中,下列说法中正确的是( D )。 A) do-while语句构成的循环不能用其它语句构成的循环来代替。 B) do-while语句构成的循环只能用break语句退出。 C) do-while语句构成的循环在while后的表达式非零时结束循环。 D) do-while语句构成的循环,在while后的表达式为零时结束循环。 2. break语句不能出现在( D )语句中 A. switch B.for C. while D. if?else *3.对于break语句和continue语句的说法错误的是( B ) A) break语句不能用于循环语句和switch语句之外的任何其他语句中。 B) break和continue也可以用于if语句中 C) continue语句只结束本次循环,而不是终止整个循环的执行。 D) break语句是结束整个循环过程,不再判断执行循环的条件是否成立。 4.语句while(!y);中的表达式!y等价于 A A)y==0 B)y!=1 C)y=!0 D) y==1 5.若有“int a=1,x=1;”,则循环语句“while(a<10) x++; a++;”的循环执行(A A.无限次 B.不确定次 C.10次 D.9次 6. 有以下程序段 int k=0 while(k)k++; 则while循环体执行的次数是 C A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行1次 7. 下列循环语句中有语法错误的是( D ) A while(x=y) 5; B while(0) ; C do 2;while(x= =b); D do x++ while(x= =10); *8.当运行时输入:abcd$abcde?, 下面程序的运行结果是 B #include { while(putchar(getchar())!='$'); printf(\} 6 ) A) abcd$abcde B)abcd$end C)abcdend D) abcd$abcdeend 9. 以下程序段 ( A ) x=-1; do { x=x*x; } while(x>0); A. 是死循环 B. 循环执行一次 C. 循环执行二次 D. 有语法错误 10. 下面程序段执行后的结果为: ( B ) int sum=0, n=10; do { sum=sum+n; n++; } while(n<10) printf(“%d,%d”,sum,n) A. 0, 10 B. 10, 11 C. 0, 11 D. 以上结果都不对 11.对以下程序段的叙述正确的是___A____. int x=1; do { x= -1*x; } while(!x) A) 是死循环 B) 循环执行一次 C)循环执行二次 D)有语法错误 12.循环“for(i=0,x=1;i=10&&x>0;i++);”的循环执行( A )。 A.无限次 B.不确定次 C.10次 D.9次 13.执行语句{for(j=0;j<=3;j++) a=1;}后变量j的值是 C . A)0 B) 3 C)4 D) 1 14. 有如下程序 main() { int i,sum=2; for(i=1;i<=3;i+=2) sum+=i; printf(“%d\\n”,sum); } 该程序的执行结果是 A A) 6 B) 3 C) 死循环 D) 4 *15、执行语句”for ( i=0; i++<3 ; ) ;”后,变量i的值为( C )。 A、2 B、3 C、4 D、5 16.设x和y均为int型变量,则执行以下的循环后,y的值为( D )。 for(y=1,x=1;y<=50;y++) { if(x>=0) break; if(x%2==1) {x+=5;continue;} x-=3; } A.2 B.4 C.6 D.1 五 数组 1. 以下对一维数组a的正确说明是: D A) char a(10); B) int a[]; C)int k=5,a[k]; D)char a[3]={‘a’,’b’,’c’}; 2.以下能对一维数组a进行初始化的语句是: ( C ) A. int a[5]=(0,1,2,3,4,) B. int a(5)={} 7 C. int a[3]={0,1,2} D. int a{5}={10*1} 3.在C语言中对一维整型数组的正确定义为 D 。 A)int a(10); B)int n=10,a[n]; C)int n;a[n]; D)#define N 10 int a[N]; 4、已知:int a[10]; 则对a数组元素的正确引用是( D )。 A、a[10] B、a[3.5] C、a(5) D、a[0] 5. 执行下面的程序段后,变量k中的值为 C A) 不定值 B) 33 C) 30 D) 10 int k=3, s[2]; s[0]=k; k=s[0]*10; *6. 下列说法中错误的是 C A 构成数组的所有元素的数据类型必须是相同的 B 用指针法引用数组元素允许数组元素的下标越界 C 一维数组元素的下标依次是1、2、3?? D 定义数组时的长度可以是整型常量表达式 7. 若有以下数组说明,则数值最大的和最小的元素下标分别是( B )。 int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; A.1,12 B.0,11 C.1,11 D.0,12 8.若有以下数组说明,则i=10;a[a[i]]元素数值是( B )。 int a[12]={1,4,7,10,2,5,8,11,3,6,9,12}; A.10 B.9 C.6 D.5 9. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是 D A) 3 B) 6 C) 10 D) 20 10.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: ( B ) A. 2 B. 3 C. 4 D.无确定值 11.以下定义语句中,错误的是 ( D ) A) int a[]={1,2}; B) char *a; D) int n=5,a[n]; C) char s[10]=“test”; int i; int x[3][3]={1,2,3,4,5,6,7,8,9}; for (i=0;i<3;i++) printf(\ A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 9 13.对二维数组的正确定义是( C ) A.int a[ ] [ ]={1,2,3,4,5,6}; B.int a[2] [ ]={1,2,3,4,5,6}; C.int a[ ] [3]={1,2,3,4,5,6}; D.int a[2,3]={1,2,3,4,5,6}; 14.已知int a[3][4];则对数组元素引用正确的是__C___ A)a[2][4] B)a[1,3] C)a[2][0] D)a(2)(1) 六、字符数组 1. 在C语言中,以 D 作为字符串结束标志 A)’\\n’ B)’ ’ C) ’0’ D)’\\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\\0’ D.‘a’ 3.字符串 “ABCD”在内存占用的字节数是( D )。 8 12.下面程序段的输出结果是: ( C ) A.4 B.6 C.1 D.5 4. 下面不正确的字符串常量是:( A ) A. ‘PROGRAM’ B “12’12” C “0” D “ ” 5.设有数组定义: char array [ ]=\则数组array所占的空间为 B A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节 *6.下述对C语言中字符数组的描述错误的是 C 。 A)字符数组可以存放字符串 B)字符数组中的字符串可以整体输入和输出 C)可在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D)可在对字符数组定义时通过赋值运算符“=”对字符数组整体初始化 7.已知char x[]=\则关于两个数组长度的正确描述是 B . A)相同 B)x大于y C)x小于y D)以上答案都不对 8.给出以下定义: char x[ ]=\ char y[ ]={'a','b','c','d','e','f','g'}; 则正确的叙述为 C A) 数组x和数组y等价 B) 数组x和数组y的长度相同 C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度 9、若有以下语句,则正确的描述是( D )。 static char x[ ]=”12345” ; static char y[ ]={‘1’,‘2’,‘3’,‘4’, 5’,’\\0’} ; A、x数组长度大于y数组长度 B、x数组和y数组不相同 C、x数组长度小于y数组长度 D、x数组等价于y数组 10、已知:char s[20]= ”programming”, *ps=s; 则不能引用字母o的表达式是( C )。 A、ps[2] B、s[2] C、ps+2 D、ps+=2, *ps *11.判断两字符串s1,s2是否相等,应使用( D ). A)if(s1==s2) B)if(s1=s2) C)if(strcpy(s1,s2)) D)if(strcmp(s1,s2)==0) *12.以下printf语句的输出结果为: B printf(“%d\\n”,strlen(“school”)); A) 7 B) 6 C)存在语法错误 D)不定值 13. 对字符数组s赋值,不合法的一个是( C ) A. char s[]=\; B. char s[20]={\; C. char s[20];s=\; D. char s[20]={'B','e','i','j','i','n','g'}; 14. 对字符数组str赋初值,str不能作为字符串使用的一个是( D ) A. char str[]=\; B. char str[]={\; C. char str[9]={'s','h','a','n','g','h','a','i',’\\0’}; D. char str[8]={ 's','h','a','n','g','h','a','i'}; 15. 合法的数组定义是 C A)int a[]={“string”}; B) int a[5]={0,1,2,3,4,5}; C)char a[]= “string”; D) char a[5]={0,1,2,3,4,5}; 16. 对字符数组s赋值,不合法的是: ( C ) A) char s[]=\; B) char s[20]={\; 9 C) char s[20];s=\; D) char s[20]={'c','h','i','n','a'}; 17. 下面初始化与此初始化charc[ ]=“I am happy”;等价的是( A ) A) char c[ ]={‘I’,’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’,’\\0’}; B) char c[ ]={‘I’,’am’,’happy’}; C) char c[ ]={‘I’, ’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’}; D)char c[ ]={‘I’,’am’,’happy’,’\\0’}; 18.下面各语句中,能正确进行赋字符串操作的语句是( C )。 A. char s[5]={“ABCDE”}; B. char s[5]={‘A’,‘B’,‘C’,‘D’,‘E’,’\\0’}; C. char *s;s=“ABCDE”; D. char *s;scanf(“%s”,&s); 19.下列字符串赋值方式不正确的是( A ) A).char str[20]; B). char *str ; str=”I am a boy!”; str=”I am a boy!”; C). char *str=”I am a boy!”; D). char str[20]=” I am a boy!”; 七.指针 1. 语句int *p;说明了 C 。 A)p是指向一维数组的指针 B)p是指向函数的指针,该函数返回一int型数据 C)p是指向int型数据的指针 D)p是函数名,该函数返回一指向int型数据的指针 2. 变量的指针,其含义是指该变量的:( B ) A. 值 B. 地址 C. 名 D.一个标志 3.若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是( A ) A) pb=&x B) pb=x C) *pb=&x A、scanf(“%d”,&a); B、scanf(“%d”,p); C、printf(“%d”,a); D、printf(“%d”,p); 5.对于同类型的指针变量,不可能进行的运算是( C )。 A.- B.= C.+ D.== 6. 对于基类型相同的两个指针变量之间,不能进行的运算是 C A) < B) = C) + D) - 7.下列不正确的定义是( A )。 A. int *p=&i,i; B.int *p,i; C.int i,*p=&i; D.int i,*p; 8. 若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是: ( D ) A)p=q B)*p=*q C)n=*q D)p=n 9. int *p,a=10,b=1; p=&a; a=*p+b; 执行该程序段后,a的值为 C A) 编译出错 B) 10 C) 11 D) 12 D) *pb=*x 4、已知:int a, *p=&a; 则下列函数调用中错误的是( D )。 10.下列函数的功能是 A 。 void fun(int *p1,int *p2) { int p; 10 p=*p1;*p1=*p2;*p2=p; } A) 交换*p1和*p2的值 B) 语法正确,但无法交换*p1和*p2的值 C) 交换*p1和*p2的地址 D)有语法错误 八、函数 1.C语言中函数返回值的类型是由 A 决定的. A)函数定义时指定的类型 B) return语句中的表达式类型 C) 调用该函数时的实参的数据类型 D) 形参的数据类型 2. 在C语言中,函数的数据类型是指( A ) A 函数返回值的数据类型 B. 函数形参的数据类型 C 调用该函数时的实参的数据类型 D.任意指定的数据类型 *3.C程序中函数返回值的类型是由 A 决定的. A)函数定义时指定的函数类型 B) 函数中使用的最后一个变量的类型 C)调用函数时临时确定 D) 调用该函数的主调函数类型 *4. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为 ( B ) A. 由系统选择 B. 单向值传递 C. 由用户指定传递方式 D. 地址传递 5. 在函数调用时,以下说法正确的是( B ) A.函数调用后必须带回返回值 B.实际参数和形式参数可以同名 C.函数间的数据传递不可以使用全局变量 D.主调函数和被调函数总是在同一个文件里 *6. 在C语言程序中,有关函数的定义正确的是( B )。 A.函数的定义可以嵌套,但函数的调用不可以嵌套 B.函数的定义不可以嵌套,但函数的调用可以嵌套 C.函数的定义和函数的调用均不可以嵌套 D.函数的定义和函数的均可以嵌套 A.在C语言程序中,调用函数时,如函数参数是简单变量,则只能把实参的值传递给形参,形参的值不能传送给实参 B.C语言函数既可以嵌套定义又可递归调用 C.C语言函数必须有返回值,否则不能使用函数 D.在C语言程序中有调用关系的所有函数必须放在同一个源程序文件中 *7. 以下对C语言函数的有关描述中,正确的是( A )。 *8.C语言中对函数的描述正确的是 C . A)可以嵌套调用,不可以递归调用 B) 可以嵌套定义 C)嵌套调用,递归调用均可 D)不可以嵌套调用 9.以下叙述中正确的是 A A) 构成C程序的基本单位是函数 B) 可以在一个函数中定义另一个函数 C) main()函数必须放在其它函数之前 D) 所有被调用的函数一定要在调用之前进行定义 A)数组首地址 B)数组第一个元素的值 C)数组全部元素的值 D)数组元素的个数 11.有一函数的定义如:void fun(char *s){……},则不正确的函数调用是( D )。 10.用数组名作为函数调用时的实参时,传递给形参的是 A 。 11 A.main() {char a[20]=”abcdefgh”; fun(a); ?? } B.main() { char a[20]=”abcdefgh”; fun(&a[0]); ?? } C. main() { char a[20]=”abcdefgh”; char *p=a;fun(p); ?? } D. main() {char a[20]=”abcdefgh”; fun(a[]); ?? } 12、函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。能正确执行此功能的函数是( A、funa(int *x, int *y) { int *p; B、funb(int x , int y) *p=*x ; *x=*y; *y=*p; { int t; } t=x; x=y; y=t; } C、func(int *x, int *y) { int *p; D、fund(int *x, int *y) p=x;x=y; y=p; { int t; } t=*x; *x=*y; *y=t; 13. 有如下程序 } int func(int a,int b) { return(a+b);} main() { int x=2,y=x,z=8,r; r=func(func(x,y),func(y,z)); printf(“%d\\n”,r); } 该程序的输出的结果是 C A) 12 B) 13 C) 14 D) 15 *14. 以下程序的输出结果是 B int a, b; void fun() { a=100; b=200; } main() { int a=100, b=100; fun(); printf(“%d%d \\n”, a,b); } 12 )。 D A) 100200 B) 100100 C) 200100 D) 200200 *15. 下列说法中正确的是:( A ) A. 局部变量在一定范围内有效,且可与该范围外的变量同名。 B. 如果一个源文件中,全局变量与局部变量同名,则在局部变量范围内,局部变量不起作用。 C. 局部变量缺省情况下都是静态变量。 D. 函数体内的局部静态变量,在函数体外也有效。 16. 在C语言中,表示静态存储类别的关键字是: ( C ) A) auto B) register C) static D) extern 17.未指定存储类别的变量,其隐含的存储类别为( A )。 A)auto B)static C)extern D)register 九、编译预处理 *1.在C语言程序中,以#号带头的行是预编译处理( A )。 A.命令 B.语句 C.函数 D.字符串 A. define PI 3.14159 B. #define P(a,b)=strcpy(a,b) C. #define stdio.h D. #define PI 3.14159; A. #define MYNAME=”ABC” B. #include stdio.h C. for(i=0;i<10;i++); D. struct int stu{int name}; A.#define PI 3.14159 B.#include 2.下列正确的预编译命令是( D )。 3.下列命令或语句中,正确的是( C )。 *4.下列命令或语句中,错误的是( C )。 13
正在阅读:
C语言-基本选择题及答案03-15
FANUC机器人 SERVO GUN点焊 培训教材02-28
【冲刺实验班】江苏南菁高级中学2019中考提前自主招生数学模拟试06-28
SEO工作计划按照步骤就可以制定一份完美的网站优化计划03-27
一中到七中全会什么时候开以及分别讨论什么05-03
房地产估价师考试《制度与政策》历年真题精选及答案1209-5805-02
2015年广东省公务员考试考前必做常识1000题(附答案解析)04-26
2018-2019-描写人外貌的成语-范文模板(2页)03-24
最新预防性灌浆设计05-30
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 选择题
- 答案
- 语言
- 基本
- 2019版一轮优化探究英语(江苏译林版)练习:选修八 Unit 2 The
- 古希腊生物学家普罗塔戈说过
- 《护理学基础》段考试卷(B卷)
- 高三地理试卷
- 青岛版四年级上册数学期末测试卷2
- 金工题(金工实习专用)
- 党建工作特色亮点
- 六年级度上学期体育教学计划
- 浅谈教学中的非言语反馈-教育文档
- 关于大学生创业(就业)观念的调查报告DOC
- 公共管理案例分析
- 2016-2022年辊压机产业市场发展及前景预测研究报告(目录)
- 高考英语一轮复习语法点专题讲解形容词和副词
- 气排球选修课教案
- 信息技术在中职数学教学中的应用 - 2
- 班级挑战书(精选12篇)
- 关于技师学院钳工实习教学改革的探讨
- 2014中考物理专题复习练习-力学
- 酒店《开业手册》筹备(终稿再修改)
- 土木工程毕业实习周记范文