《C语言作业(81页).doc》由会员分享,可在线阅读,更多相关《C语言作业(81页).doc(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-C语言作业-第 81 页C语言第一章 C语言概述一、填空 1. *C语言中任何程序的运行总是从主函数开始,在( )函数中结束。 答:main函数2. *一个C语言程序总是从( )函数开始执行。 答:main()3. *C语言源程序的扩展名为( )。 答:*.c4*C语言源程序的扩展名为*.C、目标文件的扩展名为( )、可运行文件的扩展名为( )。 答:*.obj *.exe 5*C语言属于面向( )语言。 答:过程6. *C语言程序的注释可以出现在程序的任何地方,它总是以( ) 符号作为开始标记,以( )符号作为结束标记。 答:/* , */7. *C语言中规定标识符只能由字母、数字、下划线
2、组成,且第一个字符必须是( )或( )。 答:字母,下划线8. *结构化设计中的三种基本结构是( )、( )和循环结构。 答:顺序, 选择9. * *程序开发的四个步骤是( )、 ( )链接和执行。 答:编辑, 编译二、单项选择题 (每题2分)1*在C程序中所用的变量使用前( ) (A)可以不定义 (B)先定义后使用 (C)随时定义随时用 (D) 其他 答:b2*C语言程序从main()函数开始执行,所以这个函数要写在( )。A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置 答:d3. * *下列关于C语言的叙述错误的是( )A) 大写字母和小写字
3、母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 答:a4. *一个C程序的执行是从( )。 A)本程序的main函数开始,到main函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 答:a5. * *以下叙述正确的是( )。 A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句 C)C语言本身没有输入输出语
4、句 D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 答:c6. * *以下叙述不正确的是( )。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面 答:d7. *一个C语言程序是由( )。A)一个主程序和若干子程序组成B)函数组成 C)若干过程组成D)若干子程序组成 答:B 第三章 数据类型、运算符与表达式一、填空 1、* *x=2,y=-3,z=3,则表达式x|y+z&y-z的值为 ( )。 答: 2、*在C语言中实型变量分为两种类型,它们是( )和 ( )。 答: f
5、loat double 3 * *、十进制11转化为八进制的值为( )。 答:134、* *十进制数159转换为八进制数是( ) 答:2375、* *已知int x=6; 表达式x%2+(x+1)%2的值是( )。 答:16、*C语言中char型变量在内存中占( ) 个字节的内存单元 答:17、*C语言的变量名:TEA与tea是( )同的。 答:不8、* *设x的值为15,n的值为2,则表达式x%=(n+=3)运算后,x的值为()。 答: 0 9、* *表达式( 53) & (2 | 84的c语言表达式是( )。 答:x4 | x-414、* *若s 是整型变量,则计算表达式 s=22/3%2
6、 后s的值为( ) 。 答:115、*C语言用( )号括起来的单个或多个字符表示字符串常量。 答:双引号 16、*float x, y, z;是将x, y, z; 定义为 ( ) 答:浮点型数17、*目前常用C语言的一个整型变量的存储容量为( )个字节。 答:218、*无符号基本整型的数据类型符为( ),双精度实型数据类型符为( )。 答:unsigned int、double19、* *定义变量的完整语句格式是: ( ) ( ) 变量名1=初值1,变量名2=初值2,.;。 答:存储类型符、 数据类型符 20、* *设有下列运算符:、+、+、&、b+3的值是( ) (A)0 (B)1 (C)不
7、确定 ( D)表达式错误 答:a9、* *若变量已正确定义并赋值,下面符合C语言语法的表达式是 (A) a:=b+1 (B) a=b=c+2 (C) int 18.5%3 (D) a=a+7=c+b 答:b10、 * *若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是 (A) 1 (B) 2 (C) 2.0 (D) 2.5 答:c11、*若变量a、i已正确定义,且i已正确赋值,合法的语句是 (A) a=1 (B) +i; (C) a=a+=5; (D) a=int(i); 答:b12、* *以下不是c语言规定保留字的是( )。 (A)float (B)integer (
8、C)signed (D) unsigned 答:b13 *、下列不正确的转义字符是 (A) (B) (C) 074 (D) 0 答:c14、* *若有以下定义: char a; int b; float c; double d; 则表达式a*b+d-c值的类型为 (A) float (B)int (C) char (D) double 答:d15、* *常数的书写格式决定了常数的类型和值, 0x1011 是 ( ) (A) 8 进制整型常量 (B)字符常量 (C) 16 进制整型常数 (D)2 进制整型常数 答:c16、* *在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排
9、列顺序为 A)charint1ongint=floatdouble B)char=int1ongint=floatdouble C)charint1ongint=float=double D)char=int=1ongint=floatdouble 答:A17、*若x,i,j和k都是int型变量,则执行下面表达式后x的值为 x=(i=4,j=16,k=32) A)4B)16C)32D)52 答:C18、*假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是: A)7B)8C)6D)2 答:B19、* *下列四组选项中,均不是C语言关键字的选项是 A)defineB)getcC)
10、includeD)while IFcharscanfgo typeprintfcasepow 答:A 20、*下面四个选项中,均是C语言关键字的选项是 A)autoB)switchC)signedD)if enumtypedefunionstruct includecontinuescanftype 答:B 21、* *下面四个选项中,均是不合法的用户标识符的选项是。 A)AB)floatC)b-aD)一123 P_01a0gototemp do一AintINT 答:C22、*下面不正确的字符串常量是。 A)abcB)1212C)0D) 答:A23、* *若有代数式3ae/bc,则不正确的C语
11、言表达式是: A)a/b/c*e*3B)3*a*e/b/c C)3*a*e/b*cD)a*e/c/b*3 答:c24、* *以下不正确的叙述是 A)在C程序中,逗号运算符的优先级最低 B)在C程序中,APH和aph是两个不同的变量 C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。 D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。 答:D25、* *以下正确的叙述是: A)在C程序中,每行中只能写一条语句 B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 C)在C程序中,无论是整数还是实数,都能被准
12、确无误地表示 D)在C程序中,%是只能用于整数运算的运算符 答:D26 、* *以下符合C语言语法的赋值表达式是 A)d=9+e+f=d+9B)d=9+e,f=d+9 C)d=9十e,e+,d十9D)d=9十e+=d十7 答:B27、* *已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=A十6一3;后,c2中的值为 A)DB)68C)不确定的值D)C 答:A28、* *设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为 A)intB)floatC)doubleD)不确定 答:C29、*设有说明:charw;intx;f1oaty;double
13、z;则表达式w*x+z一y值的数据类型为: A)floatB)charC)intD)double 答:D30、* *若有以下定义,则能使值为3的表达式是: intk=7,x=12; A)x%=(k%=5) B)x%=(k一k%5) C)x%=k-k%5D)(x%=k)一(k%=5) 答:D 第四章 顺序程序设计一、填空(每题2分)1、*在屏幕上输出整型变量a,b值,每个数占5位,输出数据前有说明字符的 printf()函数为( )。 答:printf(“%5d %5d”, a b )2、 *设char c=A,则语句printf(%c,c+32)结果为( ) 。 答:a3、*通过键盘输入整型变
14、量a的scanf()函数为( )。 答:scanf(%d, &a)4、*已知 int a,b,c; a或者b两个中间有一个小于c的表达式是( )。 答: (a=c)|(b=c)5、* *已知 int x; 如果用scanf(“%f”,&x);给x赋值,错误的原因是( )。 答:类型不匹配6、*float a=3.54; printf(% 2.3f ,a);的输出结果是( ) 答:3.5407、* * * 若有定义语句 “ int a=25,b=14,c=19; ” ,以下语句的执行结果是( )。 if(a+=25&b-=2&c+) printf(*a=%d,b=%d,c=%dn,a,b,c);
15、 else printf(#a=%d,b=%d,c=%dn,a,b,c); 答:#a=26,b=13,c=198、* * *以下程序输入1 2 3后的执行结果是( )。 #include main() int a,c; char b; scanf(%d%c%d,&a,&b,&c); printf(a=%d,b=%c,c=%dn,a,b,c); 答:a=1,b= ,c=29、* *以下程序输入123456后的执行结果是( )。 #include main() int a,b; scanf(%2d%3d,&a,&b); printf(a=%d,b=%dn,a,b); 答:a=12,b=34510、
16、* *若有说明int i,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为( )。 答:900二、单项选择题 (每题2分)1、*设变量定义为“int a, b;”,执行下列语句时,输入( ),则a和b的值都是10。 scanf(a=%d, b=%d,&a, &b);(A)10 10 (B)10, 10 (C)a=10 b=10 (D)a=10, b=10 答:B2、*若t为int类型,表达式t=1,t+5,t+的值是( )。(A)1 (B)6 (C)2 (D)1 答:C3、*设x、y均为整型变量,且x=10 ,y=3,则以下语句的输出结果是( ) printf(%d,%dn,x
17、-,-y); (A) 10,3 (B) 9,3 (C) 9,2 (D)10,2 答:c 4、 * 阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果是()main()int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%dn”,x+y+z); (A)x+y+z=48 (B)x+y+z=35 (C)x+z=35 (D)不确定值 答:d5、*已知 int a=5,y; y=a+; 问a,y=? ( ) (A)a=6 , y=5 (B)a=6 , y=6 (C)a=6 , y=7 (D)a=5 , y=6 答:a6、*已知 int a =
18、5; 赋值表达式a+=a*a的值为( ) (A)5; (B)10; (C)30; (D)50; 答:c7、*若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是(A) 0 (B) 0.5 (C) 1 (D) 2 答:a8、*putchar函数可以向终端输出一个: ( )A)整型变量表达式值 B)实型变量值 C)字符串 D)字符或字符型变量值 答:D9、*printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 ( )A)从左起输出该字串,右补空格 B)按原字符长从左向右全部输出 C)右对齐输出该字串
19、,左补空格 D)输出错误信息 答:B 10、*已有定义inta=-2;和输出语句:printf(%8lx,a);以下正确的叙述是: ( )A)整型变量的输出格式符只有%d一种 B)%x是格式符的一种,它可以适用于任何一种类型的数据 C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的 D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度 答:D 11、*若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是: ( )A)scanf(%d%lx,%le,&x,&y,&z); B)scanf(%2d*%d%lf&x,&y,&z); C)sca
20、nf(%x%*d%o,&x,&y); D)scanf(%x%o%6.2f,&x,&y,&z); 答:D 12、*已有如下定义和输入语句,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是 ( )inta1,a2;charc1,c2; scanf(%d%c%d%c,&a1,&c1,&a2,&c2); A)10A20BB)10A20B C)10A20D)10A20B。 答:A 13、*已有定义intx;f1oaty;且执行scanf(%3d%f,&x,&y);语句,若从第一列开始输入数据12345678(回车),则x的值为( ) A)12345B
21、)123。C)45D)345 答:B 14、*已有定义intx;f1oaty;且执行scanf(%3d%f,&x,&y);语句,若从第一列开始输入数据12345678(回车),则y的值为: ( ) A)无定值B)45.0000C)678.000000D)123.00000 答:B 15、*已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是: ( )inta1,a2;charc1,c2; scanf(%d%d,&a1,&a2); scanf(%c%c,&c1,&c2); A)1020ABB)1020AB C)1020A
22、BD)1020AB 答:D 16、*已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为( ) main() inta;floatf; printf(nInputnumber:); 输入语句 printf(nf=%f,a=%dn,f,a); Inputnumber:4.52 A)scanf(%d,%f,&a,&f);B)scanf(%f,%d,&f,&a) C)scanf(%d%f,&a,&f);D)scanf(%f%d,&f,&a); 答:D 17、*以下能正确地定义整型变量a,b和c并为其赋初值5的语句是 ( )A)inta=b=c=5;B)inta,b,c=5; C)a=5,b
23、=5,c=5;D)a=b=c=5; 答:A18、*已知ch是字符型变量,下面不正确的赋值语句是 ( )A)ch=a+b;B)ch=0;C)ch=7+9;D)ch=5+9; 答:A19、已*知ch是字符型变量,下面正确的赋值语句是( )A)ch=123;B)ch=xff;C)ch=08;D)ch=; 答:B20、*若有以下定义,则正确的赋值语句是: inta,b;floatx; A)a=1,b=2,B)b+;C)a=b=5D)b=int(x); 答:B21、*设x、y均为f1oat型变量,则以下不合法的赋值语句是( ) A)+x;B)y=(x%2)/10;C)x*=y+8;D)x=y=0; 答:
24、B 22、*x,y,z均为int型变量,则执行语句x=(y=(z=10)+5)一5;后,x、y和之的值是: ( )A)x=10B)x=10C)x=10 D)x=10 y=15 y=10 y=10 y=5 z=10 z=10 z=15 z=10 答:A 23、*逻辑运算符两侧运算对象的数据类型( )。 A)只能是0或1 B)只能是0或非0正数 C)只能是整型或字符型数据 D)可以是任何类型的数据 答:D24、*下关于运算符优先顺序的描述中正确的是( )。 A)关系运算符算术运算符赋值运算符逻辑与运算符 B)逻辑运算符关系运算符算术运算符赋值运算符 C)赋值运算符逻辑与运算符关系运算符算术运算符
25、D)算术运算符关系运算符赋值运算符逻辑与运算符 答:C 25、*下列运算符中优先级最高的是( )。 A)B)十C)&D)!= 答:B 三、阅读程序,写出程序运行结果(每题4分)1、*main() int a=1,b=2;a=a+b;b=a-b;a=a-b; printf(%d,%d n,a,b); 答:a=2 b=1 2、*main() int x=7,a=2,b=2,c; c=x/a%b; printf(c=%dn”,c); 答:13、*以下程序输入100后的执行结果是( )。 #include main() int n; scanf(%o,&n); printf(n=%dn,n); 答:n
26、=644、*以下程序输入x=1.23,y=50后的执行结果是( )。 #include main() float x,y; scanf(x=%f,y=%f,&x,&y); printf(x=% 7.2f ,y=% 7.2f n,x,y); 答:x= 7.23,y=50.005、*阅读下列程序,写出程序的输出结果。 main() int x=100,a=10,b=20,ok1=5,ok2=0; if (a0;y-) if(y%3=0) printf(%d,-y); continue; 答:852 7、*阅读下列程序: main() int a; char b; float c; printf(i
27、nput a b c:); scanf(%d%c%f,&a,&b,&c); printf(a=%d,b=%c,c=%fn,a,b,c); 程序运行后若输入“1234r1234.567(回车)”,写出程序的输出结果。 答:a=1234,b=r,c=1234.567017 8、*阅读下列程序: main() int a; float b,c; printf(input a b c:); scanf(%2d% 3f % 4f ,&a,&b,&c); printf(a=%d,b=%f,c=%f,a,b,c); 答:a=12,b=345.000000,c=6789.000000 9、*阅读下列程序: m
28、ain() int a; float b,c; scanf(%d%f%f,&a,&b,&c); printf(a=%d,b=%f,c=%f,a,b,c); 程序运行后若输入“12 345 6789 87654321(回车)”,写出程序的输出结果。 答:a=12,b=345.000000,c=6789.000000 第五章 选择结构程序设计一、填空 1、*能正确表示“当ch为小写字母为真,否则为假”的表达式是( )。 答: cha&chz2、 *设y是int型变量,请写出判断y为5的倍数的关系表达式( ) 。 答:y%5=03、 *已知int a=1,b=2;表达式 (ab ? a:b)的值是(
29、 )。 答:14、 *在switch语句中出现的break语句的功能是( )。 答:跳出switch语句5、*能正确表示“当A=5时布尔量BL为真,否则为假”的表达式是( )。 答: a=5 ?(BL=1):(BL=0)6、*已知 int a,b; a、b中有一个小于0的表达式是( )。 答: a*by和x=y的逻辑值分别为( )和( )。 答:0、19、* C语言中的逻辑运算符按优先级别是( )、( ) 、( )。 答:!,&,|10、*C语言中逻辑运算符( )的优先级高于算术运算符。 答:!11、*将下列数学式(A) a=b 或 a4改写成C语言的关系表达式或逻辑表达式( )和( ) 答:
30、(a=b)|(a4)|(x100) printf(“%dn”,a100); else printf(“%dn”,ac) b=a;a=c; c=b; 答:3 2 2二、单项选择题 (每题2分)1、*已知整型变量k的值为3,下面程序段执行的结果是( ) switch(k) case 1:putchar(A);break; case 2:putchar(B);break; case 3:putchar(C); case 4:putchar(D); default:putchar(E); (A) CDE (B) C (C) ABC (D) ABCD 答:a2、*以下程序段正确的是( ) (A)if(a
31、b) c=1 (B) if(ab) c=1; else c=2; else c=2 (C) if(ab) c=1; (D) if(ab); c=1; else c=2; else c=2; 答:c3、*以下程序运行的结果是( ) main() int x=12,y; y=x12 ? x+10 : x-12; printf(“y=%dn”,y); (A)y=0 (B) y=22 (C)y=12 (D)y=10 答:a4、*表示关系x=y=z的c语言表达式为 (A) (X=Y)&(Y=Z) (B)(X=Y)AND(Y=Z) (C) (X=Y=Z) (D) (X=Y)&(Y=Z) 答:a 5、*假定所有变量均已正确说明,下列程序段运行后x的值是 a=b=c=0;x=35; if(!a)x-; else if(b); if(c)x=3; else x=4; (A)34 (B)4 (C) 35 (D) 3 答:d6、*当a=1,b=3,c=5,d=4,执行完下面一段程序后x的值是: if(ab) if(cd)x=1; else if(ac) if(bd)x=2; elsex=3; elsex=6; elsex=7; A)18 B)2C)3D)6 答:B 7、*以下程序的输出结果是: main() inta=100,x=10,y=20,ok
限制150内