C语言基本选择题及问题详解1

上传人:无*** 文档编号:99304560 上传时间:2022-05-31 格式:DOC 页数:15 大小:119.50KB
收藏 版权申诉 举报 下载
C语言基本选择题及问题详解1_第1页
第1页 / 共15页
C语言基本选择题及问题详解1_第2页
第2页 / 共15页
C语言基本选择题及问题详解1_第3页
第3页 / 共15页
资源描述:

《C语言基本选择题及问题详解1》由会员分享,可在线阅读,更多相关《C语言基本选择题及问题详解1(15页珍藏版)》请在装配图网上搜索。

1、word计算机程序设计根底C语言单项选择练习题一、根本概念1. C语言程序是由C 构成的。A)一些可执行语言 B)main函数 C)函数 D)包含文件中的第一个函数2 A 是构成C语言程序的根本单位。A、函数 B、过程 C、子程序 D、子例程3C语言程序从C开始执行。A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数D) 包含文件中的第一个函数4C语言程序从main()函数开始执行,所以这个函数要写在_D_。A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置5、以下说法中正确的答案是 C 。 A、C语言程序总是从第一个定义

2、的函数开始执行 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.如下

3、关于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程序是高级语言程序,因此它是由命

4、令组成的。二、数据类型、运算符与表达式1. 不是C语言提供的合法关键字是B。*2.C语言提供的合法关键字是D。*3.如下不属于C语言中关键字的是 BA)long B)print C)default D)typedef4.如下正确的标识符是C。A.-a1 B.ai C.a2_i D.int t5. 如下C语言用户标识符中合法的是( B )。A、*y B、sum C、int D、%5f6. 下面四个选项中,合法的标识符是: D A. auto B. define C. 6a D. c7如下C语言用户标识符中合法的是B 。 A)3ax B)x C)case D)-e2 E)union8. 以下选项中

5、合法的用户标识符是BA) longB)_2T9如下四组选项中,正确的C语言标识符是 C 。A %xB a+b Ca123D12310. 请选出可用作C语言用户标识符的一组标识符( B )A) void B) a3_b3 C) For D) 2adefine _123 -abc DOWORD sum Case sizeof11、如下四组字符串中都可以用作C语言程序中的标识符的是 A 。 A、print _3d db8 aBc B、Iam one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My-book line# His.age 12.如下C语

6、言标识符中合法的变量名是B。 A)2e3 B)you C)*y D)float13.C语言中的简单数据类型包括D 。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型14、如下可以正确表示字符型常量的是 A。A、t B、a C、n D、29715.如下表达式中,D是正确的C语言字符常量。A)x B)e3 C)PUTER D)#16.在如下表达式中,属于字符型常量的是B。A) A B) a C) A D) b17. 以下选项中合法的字符常量是( B )A)“B B)n C)68 D) E18下面字符常量表示错误的答案是DA)a B)? C)

7、n D)n19. 已定义c为字符型变量,如此如下语句中正确的答案是 CAc=97 Bc=97Cc=a Dc=a20. ch是字符型变量,不正确的赋值语句是(A ) A)ch=a+b ; B)ch= 0 ; C) ch= 7 ; D) ch=;;21语言中字符型(char)数据在内存中的存储的是( D ) A) 原码 B) 补码 C) 反码 D) ASCII码22在C语言中,字符型数据所占的内存空间是( C ) A)2个字节 B) 4字节 C) 1字节 D)由用户自定义*23假如int类型数据占2个字节,如此unsigned int类型数据的取值X围是( B )A)0255 B)065535 C

8、)-3276832767 D)-25625526.C语言中运算对象必须是整型的运算符是( A )A)%= B)/ C)= D)=27.在C语言程序中,表达式8/5的结果是( B )A)1.6 B)1C)3D)028.设x为int型变量,如此执行以下语句后,x的值为Bx=10; x+=x;A) 10 B) 20 C) 40 D) 3031.在C语言程序中,表达式5%2的结果是C。 A)2.5 B)2 C)1 D)332如果int a=3,b=4;如此条件表达式ab? a:b的值是_A_。A) 3B) 4 C) 0D) 133假如int x=2,y=3,z=4 如此表达式xz?y:z的结果是(B)

9、. A)4 B)3 C)2 D)0 E)134C语言中,关系表达式和逻辑表达式的值是 B 。37. 下面( D )表达式的值为4. A)11/3 B) C) (float)11/3 D) (int)(11.0/3+0.5)*39. int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是(C )A .0 B.1 C. 5 D. 640. 字母A的ASCII码为十进制数65,且c2为字符型,如此执行语句c2=A+6-3;后,c2中的值为(B ) A) 68 B) D C) 错误 D) d41如下关于C语言的表示错误的答案是AA) 大写字母和小写字母的意义一样B) 不同类型的变量可以在一

10、个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义42. 有:int w=11,x=12,y=3,m; 执行下面语句后m的结果是( C )m=(wx)?w:x; m=(mx)?w:x; m=(my)?m:y;A. 12 B. 0 C. 3 D. 145.设整型变量 a=2,如此执行如下语句后,浮点型变量b的值不为0.5的是BA.b=1.0/a B.b=(float)(1/a) C.b=1/(float)a D.b=1/(a*1.0)48.以下运算符中优先级最高的运算符是BA)& B)+ C)+= D)!=49.假如“in

11、t n; float f=13.8;,如此执行“n=(int)f%3”后,n的值是AA.1 B.4 C.4.52. 设x为int型变量,如此执行以下语句后,x的值为Cx=10; x*=x;A) 10 B) 20 C) 100 D) 053. 假如有语句int a=1,b; double y=2.3; b=(int)y; 如此b的值为(B )A) 3 B) 2 C54.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,%

12、c,&x,&y)57在C语言的库函数中,可以输出char型变量x值的语句是C。A)getchar(x); B)fputc(x) C)putchar(x) D)puts(x)60. 以下说法正确的答案是 C A) x+5是一个错误的表达式B) C语言不允许类型的混合运算C) 强制类型转换时,类型说明符必须加括号D) intx+y 和intx+y是完全等价的表达式61.设 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

13、语言表达式为AA) (x=y)&(y=z) B) (x=y)AND(y=z)C) (x=y=z) D) (x=y)&(y=10 or a=0|a=10 &a=10a=04、判断char型变量c1是否为大写字母的表达式为 D。 A、A=c1=A) & (c1=Z) C、A=c1) D、c1=A& c1=Z5.为表示逻辑表达式79X79 )&( X79 )!=( X90 )C) 79X79 )|( X0&b&c0”的值是AA.1 B.0 C.-1 7. 设a为整型变量,如此不能正确表达数学关系10a15的C语言表达式是A。A.10a10&a15D.!(a=15)8. 设x,t均为int型变量,如此

14、执行语句“x=10;t=x&x10;后,t的值为DA.不定值B.10 C9. 假如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、1010. 在下面的条件语句中其中s1和s2表示是C语言的语句,只有一个在功能上与其它三个语句不等价,它是 D。 A、if (a) s1 ; else s2; B、if (a= =0) s2; else s1;C、 if (a!=0) s1; else s2; D、if (a=

15、=0) s1; else s2; 11.假定所有变量均已正确定义,如此如下程序段运行后y的值是Aint a=0,y=10; if(a=0) y-; else if(a0) y+; else y+=y;A.20 B.11 C12.假定所有变量均已正确定义,如此如下程序段运行后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 C13. C语言对嵌套if语句的规定是:else语句总是与 D 配对。 A) 其之前最近的if B)第一个ifC) 缩进位置一样的if D) 其之前最近的且尚未配对的if14. 在

16、C语言语句中,用来决定分支流程的表达式是A。15.C语言中用 B 表示逻辑“真。A. true B. 整数值1C. 非零整数值 D. false16、假如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=%dn,a,b);该程序的输出结果是DA) a=2,b=1 B)

17、a=1,b=1 C) a=1,b=0 D) a=2,b=218. 以下程序的输出结果是: Cmain() int x=-10,y= 1,z=1;if(xy) if(yb)a=b;b=c;c=a;printf(a=%2d b=%2d c=%2dn,a,b,c);A) a=10 b=50 c=10 B) a=10 b=30 c=10C) a=50 b=30 c=10 D) a=50 b=30 c=50四、循环结构*1.在C语言中,如下说法中正确的答案是D。 A) do-while语句构成的循环不能用其它语句构成的循环来代替。 B) do-while语句构成的循环只能用break语句退出。 C) d

18、o-while语句构成的循环在while后的表达式非零时完毕循环。 D) do-while语句构成的循环,在while后的表达式为零时完毕循环。2. break语句不能出现在D语句中A. switch B.for C. while D. ifelse*3对于break语句和continue语句的说法错误的答案是 B A) break语句不能用于循环语句和switch语句之外的任何其他语句中。B) break和continue也可以用于if语句中C) continue语句只完毕本次循环,而不是终止整个循环的执行。D) break语句是完毕整个循环过程,不再判断执行循环的条件是否成立。4.语句wh

19、ile!y;中的表达式!y等价于AA)y0 B)y!1 C)y!0 D) y=15.假如有“int a=1,x=1;,如此循环语句“while(a0);A. 是死循环 B. 循环执行一次 C. 循环执行二次 D. 有语法错误10. 下面程序段执行后的结果为: ( B )int sum=0, n=10; do sum=sum+n;n+; while(n0;i+);的循环执行A。13.执行语句for(j=0;j=3;j+) a=1;后变量j的值是C. A)0 B) 3 C)4 D) 114 有如下程序main() int i,sum=2;for(i=1;i=3;i+=2) sum+=i;print

20、f(“%dn,sum);该程序的执行结果是AA) 6 B) 3 C) 死循环 D) 4五 数组1. 以下对一维数组a的正确说明是:DA) char a10; B)int a; C)int k5,ak; Dchar a3=a,b,c;2.以下能对一维数组a进展初始化的语句是: ( C ) A. int a5=(0,1,2,3,4,) B. int a(5)= C. int a3=0,1,2 D. int a5=10*13.在C语言中对一维整型数组的正确定义为 D。A)int a(10); B)int n=10,an; C)int n;an; D)#define N 10int aN; 4、:in

21、t a10; 如此对a数组元素的正确引用是 D 。 A、a10 B、a3.5 C、a(5) D、a05. 执行下面的程序段后,变量k中的值为C A) 不定值 B) 33 C) 30 D) 10 int k=3, s2; s0=k; k=s0*10;*6. 如下说法中错误的答案是CA构成数组的所有元素的数据类型必须是一样的B用指针法引用数组元素允许数组元素的下标越界C一维数组元素的下标依次是1、2、3D定义数组时的长度可以是整型常量表达式7. 假如有以下数组说明,如此数值最大的和最小的元素下标分别是B。int a12=1,2,3,4,5,6,7,8,9,10,11,12;A.1,12 B.0,1

22、1 C.1,11 D.0,128.假如有以下数组说明,如此i=10;aai元素数值是B。int a12=1,4,7,10,2,5,8,11,3,6,9,12;9. 假定int类型变量占用两个字节,其有定义:int x10=0,2,4;,如此数组x在内存中所占字节数是DA) 3 B) 6 C) 10 D) 2011.假如有说明:int a3=1,2,3,4,5,6,7; 如此数组a的第一维的大小为: (B ) A. 2 B. 3 C12.以下定义语句中,错误的答案是 (D )A) int a=1,2; B) char *a;C) char s10=“test; D) int n=5,an;13.

23、下面程序段的输出结果是:(C )int i; int x33=1,2,3,4,5,6,7,8,9; for (i=0;i3;i+) printf(%d ,xi2-i); A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 914.对二维数组的正确定义是CA.int a =1,2,3,4,5,6; B.int a2 =1,2,3,4,5,6;C.int a 3=1,2,3,4,5,6; D.int a2,3=1,2,3,4,5,6;15int a34;如此对数组元素引用正确的答案是_C_ A)a24 B)a1,3 C)a20 D)a(2)(1)六、函数1.C语言中函数返回值的类型

24、是由A 决定的. A)函数定义时指定的类型 B) return语句中的表达式类型 C) 调用该函数时的实参的数据类型 D) 形参的数据类型2. 在C语言中,函数的数据类型是指( A )A 函数返回值的数据类型 B. 函数形参的数据类型 A. 由系统选择 B. 单向值传递 C. 由用户指定传递方式 D. 地址传递5. 在函数调用时,以下说法正确的答案是BAA) 构成C程序的根本单位是函数B) 可以在一个函数中定义另一个函数C) main()函数必须放在其它函数之前D) 所有被调用的函数一定要在调用之前进展定义10.用数组名作为函数调用时的实参时,传递给形参的是A。A)数组首地址 B)数组第一个元

25、素的值C)数组全部元素的值 D)数组元素的个数 *16. 如下说法中正确的答案是: AA. 局部变量在一定X围内有效,且可与该X围外的变量同名。B. 如果一个源文件中,全局变量与局部变量同名,如此在局部变量X围内,局部变量不起作用。C. 局部变量缺省情况下都是静态变量。D. 函数体内的局部静态变量,在函数体外也有效。17.在C语言中,表示静态存储类别的关键字是: CA) auto B) register C) static D) extern18未指定存储类别的变量,其隐含的存储类别为A。 A)auto B)static C)extern D)register 八指针1 语句int *p;说明

26、了C。A)p是指向一维数组的指针 B)p是指向函数的指针,该函数返回一int型数据C)p是指向int型数据的指针 D)p是函数名,该函数返回一指向int型数据的指针2. 变量的指针,其含义是指该变量的:(B )3.假如x是整型变量,pb是基类型为整型的指针变量,如此正确的赋值表达式是( A )A) pb=&x B) pb=x C) *pb=&x D) *pb=*x4、:int a, *p=&a; 如此如下函数调用中错误的答案是D 。A、scanf(“%d,&a); B、scanf(“%d,p);C、printf(“%d,a); D、printf(“%d,p);5.对于同类型的指针变量,不可能进

27、展的运算是C。A.- B.= C.+ D.=6. 对于基类型一样的两个指针变量之间,不能进展的运算是CA) B) = C) + D) -7如下不正确的定义是A。A. int *p=&i,i; B.int *p,i;Cint i,*p=&i; D.int i,*p;8. 假如有说明:int n=2,*p=&n,*q=p,如此以下非法的赋值语句是: D Ap=q B*p=*q Cn=*q Dp=n9.int *p,a=10,b=1; p=&a; a=*p+b;执行该程序段后,a的值为CA) 编译出错 B) 10 C) 11 D) 1210有语句:int a10,;如此B是对指针变量p的正确定义和初

28、始化。A)int p=*a; B)int *p=a; C)int p=&a; D)int *p=&a;11.假如有说明语句“int a5,*p=a;,如此对数组元素的正确引用是( C )。A.ap B.pa C.*(p+2) D.p+212. 假如指针变量p指向整型数组a10的首地址, 即p=a ;如此如下数组元素ai(0i10)的表示方法中正确的答案是:C A. p+i B.&( a+i) C. *(a+i) D. *(p+i*2)13. 有如下程序int a10=1,2,3,4,5,6,7,8,9,10,*P=a;如此数值为9的表达式是BA) *P+9 B) *(P+8) C) *P+=9

29、 D) P+816. 假如有以下说明: int a10=1,2,3,4,5,6,7,8,9,10,*p=a;如此数值为4的表达式是( C )A) *p+4B) *(p+4) C) *(p+3)D) p+319如下函数的功能是A。 void fun(int *p1,int *p2)int p;p=*p1;*p1=*p2;*p2=p;A) 交换*p1和*p2的值B) 语法正确,但无法交换*p1和*p2的值C) 交换*p1和*p2的地址 D)有语法错误九、字符串1. 在C语言中,以 D 作为字符串完毕标志A)n B)C) 0 D)02.如下数据中属于“字符串常量的是A。A.“a B.ABC C.ab

30、c0 D.a3.字符串“ABCD在内存占用的字节数是 D。A4B6C1D54. 下面不正确的字符串常量是: A A. PROGRAM B “1212” C “0” D “5.设有数组定义: char array =abcd; 如此数组array所占的空间为BA) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节7.char x=hello, y=h,e,a,b,e;, 如此关于两个数组长度的正确描述是B .A)一样 B)x大于y C)x小于y D)以上答案都不对8.给出以下定义:char x =abcdefg;char y =a,b,c,d,e,f,g;如此正确的表示为CA) 数组x和

31、数组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 s20= programming, *ps=s; 如此不能引用字母o的表达式是C。 A、ps2 B、s2 C、ps+2 D、ps+=2, *ps13. 对字符数组s赋值,不合法的一个是( C )A. char s=

32、Beijing; B.char s20=beijing;C. char s20;s=Beijing; D. char s20=B,e,i,j,i,n,g;14. 对字符数组str赋初值,str不能作为字符串使用的一个是( D )A. char str=shanghai; B. char str=shanghai; C. char str9=s,h,a,n,g,h,a,i,0;D.char str8= s,h,a,n,g,h,a,i;15. 合法的数组定义是CA)int a=“string; B) int a5=0,1,2,3,4,5;C)char a=“string; D) char a5=0

33、,1,2,3,4,5;16. 对字符数组s赋值,不合法的是:( C )A) char s=china; B) char s20= china ;C) char s20;s= china; D) char s20=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;19如下字符串赋值方式不正确的答案是( A ) A)char str20; B). char *str; str=I am a boy!; str=I am a boy!;C). char *str=I am a boy!;D). char str20= I am a boy!;15 / 15

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!