1、C语言第章基本概念练习题ans第一单元(1-5章)基本概念练习题一、单选选择(直接在正确的选项上打勾,每题)1、下面关于C语言特点的描述,不正确的是( )。DA、C语言兼有高级语言和低级语言的双重特点,执行效率高B、C语言既可以用来编写应用程序,又可以用来编写系统软件C、C语言是一种结构式模块化程序设计语言D、C语言的可移植性较差2、C语言规定,在一个源程序中,main函数的位置( )。BA、必须在最开始 B、可以任意 C、必须在最后 D、必须在系统调用的库函数的后面3、下列说法中正确的是( )。CA、C程序书写时,不区分大小写字母 B、C程序书写时,一行只能写一个语句C、C程序书写时,一个语
2、句可分成几行书写 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、36 B、0 C、-24 D、-6012、若有以下程序段,其输出
4、结果是( )。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、输出项不合法,无正常输出15、已有定义:char c;执行赋值语句c=(
5、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 50 : printf(%d,c);break; default
6、: 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=c=b23、若变量已定义为float型,要通过语句scanf(%
7、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(%d,-x); continue; A、 741 B、 852
8、 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(;) if(i%10)= =0) break; else i-
9、; 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+; while(i=10); D、i=1;s=0;dos=s*i; i
10、+; 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、以下能对一维数组a进行正确初始化的语句是( )。A、int a10=(0,0
11、,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、下列定义正确的是( )。A、int a4=1,2,3,4,5; B
12、、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、下列说法正确的是( )。A、在C语言中,可以定义元素个数可变的数组。
13、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+) for(j=0;jk;j+) nj=ni+1; prin
14、tf(%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、设有两字符串“Beijing”、“China”分别存放在字符数
15、组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( ) printf(“%dn”,fib(3); A2 B4 C6 D
16、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:y; return(z); f2(int x, int
17、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) 当用数组名作形参时,形参数组改变可使实参数组随之改变 B) 允许函数递归调用
18、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) 在C中,外部变量的隐含类别是自动存储类别。D) 在C中
19、,函数形参可以说明为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. 下面程序的输出结果是: 。int m=13;int fun( int x,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1