c语言基础第2章1
- 格式:ppt
- 大小:2.72 MB
- 文档页数:51


第一章 C语言基础知识一、选择题:1.下列关于C语言用户标识符的叙述中正确的是()A)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.①下列选项中,不能用作标识符的是()A)_1234_ B)_1_2 C)int_2_ D)2_int_②以下选项中合法的用户标识符是()A)long B)_2Test C)3Dmax D)A.dat③以下不能定义为用户标识符的是()A)scanf B)Void C)_3com_ D)int3.可用作C语言用户标识符的一组标识符()A)void define WORD B)a3_b3 _123 IF C)For -abc CaseD)2a DO sigeof E)f2_G3 IF abc4.以下4组用户定义标识符中,全部合法的一组是()A)_main B)If C)txt D)intenclude -max REAL k_2sin turbo 3COM _0015.以下叙述正确的是()A)可以把define和if定义为用户标识符B)可以把define定义为用户标识符,但不能把if定义为用户标识符C)可以把if定义为用户标识符,但不能把define定义为用户标识符D)define和if都不能定义为用户标识符6.如果下面的变量都是int类型,则输出结果是()main(){ int sum=pad=5;pAd=sum++,pAd++,++pAd;printf(“%d\n”,pad);} A)7 B)6 C)5 D)47.C语言中最简单的数据类型包括()A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型8.以下选项中属于C语言的数据类型的是()A)复数型B)逻辑型C)双精度型D)集合型9.下列叙述中正确的是()A)C语言中既有逻辑类型也有集合类型 B)C语言中没有逻辑类型但有集合类型C)C语言中有逻辑类型但没有集合类型 D)C语言中既没有逻辑类型也没有集合类型10.C语言提供的合法的数据类型关键字是()()()①A)Double B)short C)integer D)Char②A)swicth B)cher C)Case D)default③A)VAR B)cher C)integer D)default11.以下选项中不属于C语言类型的是()A)signed short int B)unsigned long int C)unsigned int D)long short12.若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为()A)float B)int C)char D)double13.sizeof(double)是()A)一种函数调用 B)一个双精度型表达式 C)一个整型表达式 D)一个不合法的表达式14.①在C语言中,不合法的整型常数是()A)32768 B)0 C)037 D)0xAF②以下选项中可作为C语言合法整数的是()A)10110B B)0386 C)0Xffa D)x2a215.在C语言中,合法的长整型常数是()A)0L B)4962710 C)0.054838743 D)2.1869e10 E)324562& F)216D16.在C语言中,合法的实型常数是()()①A)5E2.0 B)E-3 C).2E0 D)1.3E②A)1.2E0.5 B)3.14159E C).5E-3 D)E1517.16位C编译系统中,若定义long a;能给a赋40000的正确语句()A)a=20000+20000; B)a=4000*10; C)a=30000+10000; D)a=4000L*10L;18.下列变量定义中合法的是()A)short _a=1-.1e-1;B)double b=1+5e2.5;C)long do=0xfdal;D)float 2_and=1-e-3;19.C语言中,运算对象必须是整型数的运算符是()()()①A)% B)/ C)< D)!②A)% B)\ C)%和\ D)**③A)%= B)/ C)= D)<=20.设a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是()A)6.500000 B)6 C)5.500000 D)6.00000021.下列关于单目运算符++、--的叙述中正确的是()A)它们的运算对象可以是任何变量和常量B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量D)它们的运算对象可以是char型变量、int型变量和float型变量22.以下程序的输出结果是()()()()()①main(){ int i=10,j=1;printf(“%d,%d\n”,i--,++j);}②main(){ int x=10,y=10;printf(“%d %d\n”,x--,--y);}③main(){ int a=12,b=12;printf(“%d%d\n”,--a,++b);}④main(){ int i=010,j=10;printf(“%d,%d\n”,++i,j--);}⑤main(){ int x=023;printf(“%d\n”,--x);}①A)9,2 B)10,2 C)9,1 D)10,1②A)10 10 B)9 9 C)9 10 D)10 9③A)10 10 B)12 12 C)11 10 D)11 13④A)11,10 B)9,10 C)010,9 D)10,9⑤A)17 B)18 C)23 D)2423.设有int x=11;则表达式(x++*1/3)的值是()A)3 B)4 C)11 D)1224.设有以下定义,则下面语句中错误的是()int a=0;double b=1.25;char c=‘A’;#define d 2A)a++;B)b++;C)c++;D)d++;25.有以下程序,程序运行后的输出结果是()main(){int m=3,n=4,x;x=-m++;x=x+8/++n;printf(“%d\n”,x);}A)3 B)5 C)-1 D)-226.以下选项中,与k=n++完全等价的表达式是()A)k=n,n=n+1 B)n=n+1,k=n C)k=++n D)k+=n+127.以下程序的输出结果是()main(){ int x=10,y=3;printf(“%d\n”,y=x/y);}A)0 B)1 C)3 D)不确定的值28.若有以下程序段,执行后c3中的值是()int c1=1,c2=2,c3;c3=1.0/c2*c1;A)0 B)0.5 C)1 D)229.若有定义:int a=8,b=5,c;执行语句c=a/b+0.4;后,c的值为()A)1.4 B)1 C)2.0 D)230.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(),则表达式x=2,y=x+3/2的值是()A)1 B)2 C)2.0 D)2.5 E)3.5 F)3 G)3.031.以下程序的输出结果是()main(){double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf(“%d\n”,d*y);}A)3 B)3.2 C)0 D)3.0732.①设有语句:int a=3;则执行了语句a+=a-=a*a;后,变量a的值是()②设有语句:int a=12;则执行了语句a+=a-=a*a;后,变量a的值是()③设有语句:int x=10;则执行了语句x+=x-=x-x;后,变量x的值是()④设有语句:int a=5;则执行了语句a*=a/=a++;后,变量a的值是()①A)3 B)0 C)9 D)-12②A)552 B)264 C)144 D)-264③A)10 B)20 C)40 D)30④A)2 B)1 C)40 D)333.以下程序的输出结果是()main(){int k=2,i=2,m;m=(k+=i*=k);printf(“%d,%d\n”,m,i);A)8,6 B)8,3 C)6,4 D)7,434.假定有以下变量定义:int k=7,x=12;则能使值为3的表达式是()A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5)35.设x和y均为int型,则以下语句:x+=y;y=x-y;x-=y;的功能()A)把x和y按从大到小排列B)把x和y按从小到大排列C)无确定结果D)交换x和y中的值36.设有如下程序段, 则以下叙述中正确的是()main(){ int x=2002,y=2003;printf(“%d\n”,(x,y));}A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出B)运行时产生出错信息C)输出值为2002D)输出值为200337.设x,y,z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为()A)4 B)16 C)32 D)5238.执行下面程序中的输出语句后,a的值是()main(){ int a;printf(“%d\n”,(a=3*5,a*4,a+5));}A)65 B)20 C)15 D)1039.给出以下程序Ⅰ和Ⅱ,判断它们的输出()Ⅰ main()Ⅱ main(){int a=4,b=7; {int a=1,b=2;printf(“%d\n”,(a=a+1,b+a,b+1));} printf(“%d\n”,a=a+1,a+b,b+1);} A)Ⅰ输出5 B)Ⅰ输出5Ⅱ输出2 Ⅱ中printf函数调用语句的输出项包含了a=a+1形式,不合法C)Ⅰ输出8 D)Ⅰ中printf函数调用语句的格式描述符不够,输出无定值Ⅱ输出2 Ⅱ输出240.若有以下程序段,其输出结果是()int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%d\n”,a,b,c);A)3,0,-10 B)0,0,5 C)-10,3,-10 D)3,0,341.⑴设有如下的变量定义,则以下符合C语言语法的表达式是()int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2;A)x%(-3) B)a=a*3=2 C)y=float(i) D)a+=a-=(b=4)*(a=3)⑵以下定义语句,若各变量已正确赋值,下列选项中正确的表达式()double a,b;int w;long c;A)a=a+b=b++ B)w%((int)a+b) C)(c+w)%(int)a D)w=a==b;⑶若变量已正确定义并赋值,下面符合C语言语法的表达式是()A)a:=b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b E)a=7+b+c,a++F)a=a+7;⑷以下选项中非法的表达式是()A)0<=x<100 B)i=j==0 C)(char)(65+3) D)x+1=x+1⑸①若变量a、i已正确定义,且i已正确赋值,则合法的语句是()A)a==1 B)++i;C)a=a++=5;D)a=int(i);②若以下选项中的变量已正确定义,则正确的赋值语句是()A)x1=26.8%3;B)1+2=x2;C)x3=0x12;D)x4=1+2=3;⑹请选出合法的C语言赋值语句()()()①A)a=b=58 B)i++;C)a=58,b=58 D)k=int(a+b); E)x+y;②A)x=3,y=5 B)a=b=6 C)i--;D)y=int(x);③A)a=7+b+c=a+7;B)a=7+b++=a+7;C)a=7+b,c=a+7;D)a=7+b,b++,a+7⑺下列选项中不正确的赋值语句是()()①A)++t;B)k=i==j;C)a=b+c=1;D)n1=(n2=(n3=0));②A)j++;B)++(i+1);C)x=j>0;D)n=(i=2,++i);42.⑴设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是()A)x=x*100+0.5/100.0;B)x=(x*100+0.5)/100.0;C)x=(int)(x*100+0.5)/100.0;D)x=(x/100+0.5)*100.0;E)x=(x*100+0.5)/100.0,x=(int)(x*100)/100.0;⑵若变量a已说明为float类型,i为int类型,则不能实现将a中的数值保留小数点后两位,第三位进行四舍五入运算的语句是()A)a=(a*100+0.5)/100.0,a=(int)(a*100)/100.0; B)i=a*100+0.5,a=i/100.0;C)a=(int)(a*100+0.5)/100.0;D)a=(a/100+0.5)*100.0;43.C语言程序的基本单位是()A)程序行B)语句C)函数D)字符44.在一个C程序中()A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置45.以下说法中正确的是()A)C语言程序总是从第一个函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C )C 语言程序总是从main ()函数开始执行D )C 语言程序中的main ()函数必须放在程序的开始部分46.假设在程序中a 、b 、c 均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式abc 1的表达式是( )A )1/a*b*cB )1/(a*b*c)C )1.0/a/b/cD )1/a/b(float)c47.一个算法应该具有“确定性”等5个特性,下面对另外4个特性的 描述中错误的是( )A )有零个或多个输入B )有穷性C )有零个或多个输出D )可行性48.C 语言中用于结构化程序设计的三种基本结构是( ) A)顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-whileD )if 、for 、continue49.结构化程序由三种基本结构组成,三种基本结构组成的算法( ) A )可以完成任何复杂的任务B )只能完成部分复杂的任务C )只能完成符合结构化的任务D )只能完成一些简单的任务50.以下叙述中正确的是( )A )C 程序中注释部分可以出现在程序中任意合适的地方B )花括号“{”和“}”只能作为函数体的定界符C)构成C 程序的基本单位是函数,所有函数名都可以由用户命名 D )分号是C 语句之间的分隔符,不是语句的一部分 51.⑴语句int i=3;则k=(i++)+(i++)+(i++);执行过后k 的值为( )i 的值为( ) A )9,6B )12,5C )18,6D )15,5⑵如果int i=3;则k=(i++)+(++i)+(i++);执行过后k 的值为( )i 的值为( ) A )12,6B )12,5C )18,6D )15,5⑶如果int i=3;则k=(++i)+(++i)+(i++);执行过后k 的值为( )i 的值为( ) A )15,6B )12,5C )18,6D )15,5⑷如果int i=3;则k=(++i)+(++i)+(++i);执行过后k 的值为( )i 的值为( ) A )9,6B )12,5C )18,6D )15,5二、填空题:1.C 语言源程序文件的后缀是___,经过编译后,生成文件的后缀是_____,经过连接后,生成文件的后缀是_____。
C语言程序设计第1章概论1.1 C语言有哪些主要特点?其主要用途是什么?1.2 程序设计语言的主要构成要素有哪些?1.3 程序设计语言的实现都有哪些方法?1.4 程序设计语言按照实现方法可分为哪几种类型?1.5 为什么要学习程序设计语言?1.6 将C语言和你所掌握的高级语言做一比较。
1.7 C程序的主要构成单位是什么?1.8 C语言的保留字和特定字有何区别?1.9 下面哪些是合法的C语言一般标识符?std-sex, Std-num, 2.13, _2.13, name, int, Int, var-num, yes_or_no, select, File_name, _DATA, define, a+c, new, ok?1.10 C程序从编辑到执行要经过哪些步骤?1.11 C函数主要由哪几部分构成?复合语句在C语言中是用什么标界的?又称为什么?1.12 填空。
1 . 一个C程序是由若干个函数构成的,其中必须有一个函数。
2 . 一个C语句最少应包含一个。
1.13 单项选择。
1. C语言程序的基本单位是( )。
(1) 子程序 (2) 程序 (3) 过程 (4) 函数2. 合法的C语言标识符是( )。
(1) _a1 (2) a+b (3) 3abc (4) AB,CD答案:1.1C语言主要用于编写系统软件,其主要特点如下:①语言简洁,紧凑,使用灵活②运算符丰富③具有数据类型构造和流控结构能力④语言生成的代码质量高⑤可移植性好⑥语言语法限制不严格,程序设计自由度大1.2程序设计语言的主要构成要素有:①数据。
②运算(操作)③控制结构④存储答理⑤固运算环境。
1.3 程序设计语言的实现方法主要有:1. 翻译或编译。
2. 软件模拟(软件解释)。
1.4 程序设计语言的按照实现方法有编译型和解释型两种。
1.5略 1.6 略1.7 C程序的主要构成单位是函数。
1.8 C程序的保留字和特定字的区别是,保留字不能用来表示用户自定义的对象,而特定字却不受此限(尽管不提倡这样做)。