1、C语言基本概念练习题s Lele was written in 2021C语言基本概念练习题s第一单元(1-5章)基本概念练习题一、单选选择(直接在正确的选项上打勾,每题)1、下面关于C语言特点的描述,不正确的是( )。DA、C语言兼有高级语言和低级语言的双重特点,执行效率高B、C语言既可以用来编写应用程序,又可以用来编写系统软件C、C语言是一种结构式模块化程序设计语言D、C语言的可移植性较差2、C语言规定,在一个源程序中,main函数的位置( )。BA、必须在最开始 B、可以任意 C、必须在最后 D、必须在系统调用的库函数的后面3、下列说法中正确的是( )。CA、C程序书写时,不区分大小写字
2、母 B、C程序书写时,一行只能写一个语句C、C程序书写时,一个语句可分成几行书写 D、C程序书写时每行必须有行号4、C语言编译程序的首要工作是( )。AA、 检查C语言程序的语法错误 B、 检查C语言程序的逻辑错误C、 检查程序的完整性 D、 生成目标文件5、C语言程序经过连接以后生成的文件名的后缀为( )。CA、 .c B、 .obj C、 .exe D、 .cpp6、以下关于算法的说法中,错误的是( )。 DA、一个算法应包含有限个步骤 B、在计算机上实现的算法是用来处理数据对象的 C、算法的目的是为了求解 D、算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现7、算法是指为解决
3、某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性之一的是( )。 CA、 确定性 B、 有穷性 C、零个或多个输出 D、 零个或多个输入8、以下不属于结构化程序设计三种基本结构之一的是( )。BA、 顺序 B、 递归 C、 循环 D、 选择9、下列数据中,不合法的C语言实型数据是( )。CA、0.123 B、123e3 C、2.1e3.5 D、789.010、若变量a、i已正确定义,且i已正确赋值,以下属于合法的C语句是( )。A、a=1 B、+i; C、a=a+=5; D、a=int(i);11、已有定义int a=6; 则执行语句a+=a-=a*a;后,a的值为( )。DA、
4、36 B、0 C、-24 D、-6012、若有以下程序段,其输出结果是( )。B int a = 0, b = 0, c = 0; c = ( a -= a - 5), (a -= 3,+b); printf(“%d,%d,%dn”,a, b, c);A、0,0,-10 B、2,1,5 C、-10,-3,-10 D、3,3,-1013、有以下定义:int i = 10, j = 1; 执行语句printf(%d,%dn,i-, +j); 后输出结果是( )。B A、9,2 B、10,2 C、9,1 D、10,114、字符串t065xffn的长度为( )。AA、5 B、14 C、8 D、输出项不
5、合法,无正常输出15、已有定义:char c;执行赋值语句c=(z-a)/2+A;后,变量c的值为( )。AA、M B、N C、O D、Q16、以下4个选项中,不能看做一条语句的是( )。DA、; B、a=5,b=2.5,c=3.6; C、if(a5); D、if(b!=5)x=2;y=6;17、设a、b和c都是int变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是( )。DA、a&b B、a=b C、a|b+c&b-c D、!(a=30?b:c; switch(d) case 30 : printf(%d,a); case 40 : printf(%d,b); case 5
6、0 : printf(%d,c);break; default : printf(#); A、304050# B、304050 C、4050 D、#21、以下程序的输出结果是( )。Bmain() int a, b, c, x=35; a = b = c = 0; x = 35; if(!a) x-; else if(b) ; if(c) x = 3; else x = 4; printf(%dn,x);A、35 B、4 C、3 D、3422、当c的值不为0时,能正确将c的值赋给变量a和b的选项是( )。CA、 c=b=a B、 (a=c)|(b=c) C、 (a=c)&(b=c) D、 a=
7、c=b23、若变量已定义为float型,要通过语句scanf(%f%f%f,&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是( )。BA、 102233 B、 10.0,22.0,33.0 C、 10.022.0 33.0 D、 10 2233 24、下面程序段的输出结果是( )。Aint x=1,y=10;if( x=y ) printf(AAA);else printf(BBB);A、 AAA B、 BBB C、 AAABBB D、 不确定25、下面程序段的输出结果是( )。Afor (x=9 ;x0;x-) if (x%3!=0) printf
8、(%d,-x); continue; A、 741 B、 852 C、 963 D、 87542126、对以下循环:for(a=0,b=0;(b!=123)&(a=4);a+);说法正确的是( )。DA、无限循环 B、循环次数不定 C、执行4次 D、执行5次27、在下列程序中,while循环的循环次数是( ) 。Dmain( ) int i=0; while(i10) if(i1) continue; if(i=5) break; i+; .A、1 B、10 C、6 D、死循环、不能确定次数28、以下程序的输出结果是( )。Bmain() int i=0,a=0; while(i20) for
9、(;) if(i%10)= =0) break; else i-; i+=11; a+=i; printf(%dn,a);A、21 B、32 C、33 D、1129、当输入为quert时,下面程序的执行结果是( )。Cmain() while(putchar(getchar()!=); A、quert B、Rvfsu C、quert? D、rvfsu?30、以下能正确计算12310的程序段是( )。A、doi=1;s=1; s=s*i; i+; while(i=10); B、doi=1;s=0; s=s*i; i+; while(i=10);C、i=1;s=1;dos=s*i; i+; whi
10、le(i=10); D、i=1;s=0;dos=s*i; i+; while(i=10);二、绘制NS算法流程图(1)输入10个数,求其中的最大值。 (2) 输入2个数,求它们的最大公约数。第6章-数组 基本概念练习题1、在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。A、float B、int C、double D、任何类型答案:B2、以下对一维整型数组a的正确定义是( )。A、int a(10); B、int n=10,an; C、int n; scanf(“%d”,&n); int an; D、#define SIZE 10 int aSIZE;答案:D3、以下能对一维数组
11、a进行正确初始化的语句是( )。A、int a10=(0,0,0,0,0); B、int a10= ; C、int a=0; D、int a10= abcdefg;答案:C4、不能给数组的首元素赋值的语句是( )。A、int a2=1; B、int a2=1*2; C、int a2;scanf (“%d”,a); D、int a2;a1=1;答案:D5、下面程序的运行结果是( )。main() int a6,i; for(i=1;i3)%5; printf(%2d,ai); A、-4 0 4 0 4 B、-4 0 4 0 3 C、-4 0 4 4 3 D、-4 0 4 4 0答案:C6、下列定
12、义正确的是( )。A、int a4=1,2,3,4,5; B、int b=2,5; C、int a(10); D、int 4e4;答案:B7、若有说明int a4=0,0;则下列叙述不正确的是( )。A、数组a的每个元素都可以得到初值0。 B、二维数组a的第一维的大小为1。C、数组a的行数为1,但是有4个元素。 D、只有元素a00和a01可得到初值0,其余元素均得不到初值答案:D8、设有char str10;下列语句正确的是( )。A、scanf(%s,&str); B、printf(%c,str); C、printf(%s,str0); D、printf(%s,str);答案:D9、下列说法
13、正确的是( )。A、在C语言中,可以定义元素个数可变的数组。B、在C语言中,数组元素的个数可以不确定,允许随机变动。C、在C语言中,数组元素的数据类型可以不一致。D、在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素的个数。答案:D10、假设array是一个有10个元素的整型数组,则下列写法中正确的是( )。A、array0=10; B、array=0; C、array10=0; D、array-1=0;答案:A11、分析下列程序运行后,输出的结果是( )。main() int n3,i,j,k; for(i=0;i3;i+) ni=0; k=2; for(i=0;ik;i+
14、) for(j=0;jk;j+) nj=ni+1; printf(%dn,n1);A、2 B、1 C、0 D、3答案:D12、若有以下定义: int a5= 5, 4, 3, 2, 1 ; char b= a, c, d, e;则下面表达式中数值为2的是( )。A、a 3 B、a ec C、a d-b D、a e-b答案:A13、下面几个字符串处理表达式中能用来把字符串str2连接到字符串str1后的一个是( )。A、strcat(str1,str2); B、strcat(str2,str1); C、strcpy(str1,str2); D、strcmp(str1,str2);答案:A14、设
15、有两字符串“Beijing”、“China”分别存放在字符数组str120,str220中,下面语句中能把“China”连接到“Beijing”之后的为( )。A、strcpy(str1,str2); B、strcpy(str1, “China”);C、strcat(str1,“China”); D、strcat(“Beijing”,str2);答案:C15、若有如下定义:,则下列语句的输出结果是( )。 int a33=1,2,3,4,5,6,7,8,9,i ; for (i=0;i2) return(fib(n-1)+fib(n-2); else return(2); main( ) pr
16、intf(“%dn”,fib(3); A2 B4 C6 D 84.有以下程序,执行后输出的结果是 。void f(int x,int y) int t; if(xy) t=x; x=y; y=t; main() int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf(%d,%d,%dn,a,b,c); A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,55.以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。在下划线处应填入的是 。#define N 10void arrin(int xN) int i=0;while(iy)x
17、:y; return(z); f2(int x, int y) int z; z=(xy)x:y; return(z); A) 3,4,5 B) 5,3,4 C) 5,4,3 D)3,5,49.以下程序的输出结果是 。 int f(void) static int i = 0; int s =1; s += i; i+; return (s); main() int i, a = 0; for (i=0; i5; i+) a += f(); printf(“%dn”, a); A) 1 B) 0 C) 非0的数 D) 110.以下C语言中,对函数不正确的描述是 。 A) 当用数组名作形参时,形
18、参数组改变可使实参数组随之改变 B) 允许函数递归调用 C) 函数形参的作用范围只是局限于所定义的函数内 D) 函数说明必须在主调函数之前11.以下所列的各函数首部中,正确的是 。A) void play(var :Integer,var b:Integer) B) void play(int a,b)C) void play(int a,int b) D) Sub play(a as integer,b as integer)12.以下叙述中不正确的是 。A) 在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。B) 在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。C)
19、 在C中,外部变量的隐含类别是自动存储类别。D) 在C中,函数形参可以说明为register变量。13.以下对C语言函数的有关描述中,正确的是 。A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B) C函数既可以嵌套定义又可以递归调用C) 函数必须有返回值,否则不能使用函数D) C程序中有调用关系的所有函数必须放在同一个源程序文件中14.一个数据类型为void的函数中可以没有return语句,那么函数的被调用时 。A)没有返回值 B)返回一个系统默认值 C)返回值由用户临时决定 D)返回一个不确定的值15.在下面的函数声明中,存在着语法错误的是 。A)BC(int a, int); B) BC(int,int); C)DC(int,int=5); D) BC(int x, int y);16.以下函数值的类型是 。fun ( float x ) float y;y= 3*x-4;return y;A) int B) 不确定 C) void D) float17. 下
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1