文档介绍:该【简单的c语言练习题 】是由【青山代下】上传分享,文档一共【13】页,该文档可以免费在线阅读,需要了解更多关于【简单的c语言练习题 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..第一章C语言概述一、选择题:1、一个C程序的执行是从(A)。A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束2、在C语言中,每个语句必须以(D)结束。、C语言规定:在一个源程序中,main函数的位置(C)。、一个C语言程序是由(B)。、下列说法中错误的是(D)。:、用C语言编写的源文件经过编译,若没有产生编译错误,则系统将(C)。、填空题::..1、C语言只有32个关键字和9种控制语句。2、每个源程序有且只有一个main函数,系统总是从该函数开始执行C语言程序。3、C语言程序的注释可以出现在程序中的任何地方,它总是以符号作为开始标记,以*/符号作为结束标记。4、C语言中,输入操作是由库函数scanf完成的,输出操作是由库函数printf完成的。5、,,。6、C语言的标识符只能由字母、数字和下划线三种字符组成。第三章数据类型、运算符和表达式一、选择题:1、以下选项中,不正确的C语言浮点型常量是(C)。、以下选项中,(D)是不正确的C语言字符型常量。3、在C语言中,字符型数据在计算机内存中,以字符的(C)形式存储。、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C)。x=(i=4,j=16,k=32)、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。、赋值运算、、关系运算、、赋值运算、、算术运算、赋值运算6、若有代数式,则不正确的C语言表达式是(C)。:..*e**a*e/.3*a*e/b**e/c/b*37、表达式!x||a==b等效于(D)。A.!((x||a)==b)B.!(x||y)==bC.!(x||(a==b))D.(!x)||(a==b)8、设整型变量m,n,a,b,c,d均为1,执行(m=a>b)&&(n=c>d)后,m,n的值是(A)。,,,,19、设有语句inta=3;,则执行了语句a+=a-=a*=a;后,变量a的值是(B)。.-1210、在以下一组运算符中,优先级最低的运算符是(D)。A.*B.!=C.+D.=11、设整型变量i值为2,表达式(++i)+(++i)+(++i)的结果是(B)。、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(C)。、sizeof(double)的结果值是(A)。、设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果为(D)。、设a为整型变量,不能正确表达数学关系:10<a<15的C语言表达式是(A)。<a<==11||a==12||a==13||a==>10&&a<15D.!(a<=10)&&!(a>=15)16、设f是实型变量,下列表达式中不是逗号表达式的是(D)。=,>0,f<=,f>=(,)17、表达式18/4*sqrt()/8值的数据类型是(C)。:..、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句C2=’A’+’6’-‘3’;后c2中的值是(A)。、以下用户标识符中,合法的是(B)。+b20、C语言中,要求运算对象只能为整数的运算符是(A)。A.%B./C.>D.*21、若有说明语句:;则变量c在内存占用的字节数是(A)。、字符串在内存占用的字节数是(B)。、要为字符型变量a赋初值,下列语句中哪一个是正确的(B)。’3’;=%;=*;24、下列不正确的转义字符是(C)。二、填空题:1、C语言中的逻辑值“真”是用1表示的,逻辑值“假”是用0表示的。2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为0。3、设c='w',a=1,b=2,d=-5,则表达式'x'+1>c,'y'!=c+2,-a-5*b<=d+1,b==a=2的值分别为1、0、1、1。4、设floatx=,y=;inta=7;,表达式x+a%3*(int)(x+y)%2/。5、判断变量a、b的值均不为0的逻辑表达式为a!=0&&b!=0。:..6、求解赋值表达式a=(b=10)%(c=6),表达式值、a、b、c的值依次为4,4,10,6。7、求解逗号表达式x=a=3,6*a后,表达式值、x、a的值依次为18,3,3。8、数学式a/(b*c)的C语言表达式a/b/c。(1)inta[4]={5,3,8,9};其中a[3]的值为()。(2)以下4个字符串函数中,()所在的头文件与其他3个不同。(3)以下4个数组定义中,()是错误的。[7];B.#defineN5longb[N];[5];,d[n];(4)对字符数组进行初始化,()形式是错误。[]={'1','2','3'};[]=123;[]={'1',(5)在数组中,数组名表示()。(6)若有以下数组说明,则数值最小的和最大的元素下标分别是()。Binta[12]={1,2,3,4,5,6,7,8,9,10,11,12};,,,,12(7)若有以下说明,则数值为4的表达式是()。D:..inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc=’a’,d,g;[g-c][4]['d'-'c']['d'-c](8)设有定义:chars[12]=;则printf(的输出是()。(9)设有定义:chars[12]=则则则sizeof(s));的输出是()。(10)合法的数组定义是()。A(11)合法的数组定义是()。[3][]={0,1,2,3,4,5};[][3]={0,1,2,3,4};[2][3]={0,1,2,3,4,5,6};[2][3]={0,1,2,3,4,5,};(12)下列语句中,正确的是()。[3][]={'abc','1'};[][3]={'abc','1'};(13)下列定义的字符数组中,输出str[2]);的输出是()。(14)下列各语句定义了数组,其中哪一个是不正确的()。Cx[2][2]={1,2,3,4};[2][]={1,2,4,6,8,10};[][3]={1,2,3,4,5,6};:..(15)数组定义为inta[3][2]={1,2,3,4,5,6},值为6的数组元素是()。[3][2][2][1][1][2][2][3](16)下面的程序中哪一行有错误()。D#include<>main(){floatarray[5]={};//第A行inti;for(i=0;i<5;i++)for(i=1;i<5;i++)array[0]=array[0]+array[i];//第B行第C行}(17)下面哪一项是不正确的字符串赋值或赋初值的方式()。[7]={'s','t','r','i','n','g'};(18)若有以下说明和语句,则输出结果是哪一项()。C(strlen(s)为求字符串s的长度的函数):..step是一个有4个实型元素的数组,,-,0,。grid是一个二维数组,共有4行,10列整型元素。intmesh[10];floatstep[4]={,-,0,};intgrid[4][10];(7)array是一个一维整形数组,有10个元素,前6个元素的初值是9,4,7,49,32,-5,正确的说明语句为:。该数组下标的取值范围是从___到___(从小到大)。用scanf函数输入数组的第二个元素表示为:。用赋值语句把39存入第一个元素表示为:。把第六个和第四个元素之和存入第一个元素表示为:。intarray[10]=39;array[0]=array[5]+array[3];(8)写出以下初始化数组的长度:①intchn[3];数组chn的长度为___。②floatisa[]={,,,,};数组isa的长度为___。③intdoom[8];数组doom的长度为___。④floatpci[4][2];数组pci的长度为___。⑤intast[3][3];数组ast的长度为___。⑥intatt[3][4];数组att的长度为___。⑦floatdell[][3]={{1,4,7},{2,5},{3,6,9}};数组dell的长度为___。6201632182436(9)若有以下整型的a数组,数组元素和它们得值如下所示:数组元素:a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]元素的值:941282107513①请写出对该数组的说明,并赋以上初值。②该数组的最小下标值为___,最大下标值为___。③写出下面各式的值:a[a[9]]的值为___;a[a[4]+a[8]]的值为___。:..(10)的长度为___。(×)(1)C允许对数组的大小作动态定义,即可用变量定义数组的大小。(×)(2)字符数组不要求它的最后一个字符为‘‘’,甚至可以不包含‘‘’。(×)(3)数组定义inta[10];也可以写成inta(10);。(√)(4)在对全部数组元素赋初值时,可以不指定数组长度。(×)(5)定义s为5×6(5行6列)的数组可写成floata[5,6];(√)(6)数组定义inta[10];表示数组名为a,此数组有10个元素。(×)(7)数组定义inta[10];表示数组名为a,此数组有10个元素,第10个元素为a[10]。(√)(8)harc[]={“abook”};harc[]=“abook”;等价。(×))与staticcharc[]={'a','','b','o','o','k'};等价。(×)(10)设已有说明:harc1[10],c2[10];下面程序片段是合法的。c1={“book”};c2=c1;(1)C语言总是从函数开始执行。(2)函数在定义时,省略函数类型说明符,则该函数值的类型为。(2)以下函数,真正地没有返回值。(){inta=2;returna;}:..C语言中,有关函数的说法,以下正确的是。,,,,也不可嵌套调用(4)以下函数调用语句中,含有实参的个数为。Cfun((2,3),(4,5+6,7));(5)函数调用可以在。(6)被调函数返回给主调函数的值称为。(7),可以不进行函数类型说明。,(8)被调函数通过语句,将值返回给主调函数。(9)被调函数调用结束后,返回到。(10)以下对C语言函数的有关描述中,正确的是。A:..C中,调用函数时,只能把实参的值传送给形参,,(11)C语言中函数的隐含存储类型是。..(12)能把函数处理结果的两个数据返回给主调函数,在下面的方法中不正确的是。(13)C语言可执行程序从什么地方开始执行()。(14)有一个函数原型如下所示,则该函数的返回类型为()。Cabc(floatx,floaty);(1)变量的作用域主要取决于变量,变量的生存期既取决于变量,又取决于变量。所处的位置,所处的位置,存储类型(2)说明变量时,若省略存储类型符,系统默认其为存储类别,该存储类别的类型符为:。动态,auto(3)静态型局部变量的作用域是,生存期是。它所在的局部,整个程序(4)函数中的形参和调用时的实参都是数组名时,传递方式为,都是变量时,传递方式为。址传递,值传递:..,全局的外部变量和函数体内定义的局部变量重名时,_________变量优先。该函数中,局部(6)若自定义函数要求返回一个值,则应在该函数体中有一条语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符。return,void(7)若函数的形式参数是指针类型,则实参可以是或。指针,数组名(8)函数的参数为char*类型时,形参与实参结合的传递方式为。址传递(9)函数的实参为常量时,形参与实参结合的传递方式为。值传递(10)下面这个函数的功能是求两个整数的积,并通过形参传回结果,请填空。intintint**resultvoidmul(___x,___y,___result){___=x*y;}(×)(1)函数说明指的是在程序中设定一个函数模块。(√)(2)形参只有在被调用时才分配存储空间。(×)(3)在C的函数中,最好使用全局变量。(×)(4)在调用函数时,实参传值给形参,调用结束时,形参值传给实参。(√)(5)所有函数定义都是并行的,相互独立的。(×)(6)函数的隐含存储类型是extern。(×)(7)形参可以是常量、变量或表达式。(×)(8)函数调用可以作为一个函数的形参。(√)(9)C语言规定,实参应与其对应的形参类型一致。:..×)(10)定义函数时,形参的类型说明可以放在函数体内。