《c语言程序设计作业题(128页).doc》由会员分享,可在线阅读,更多相关《c语言程序设计作业题(128页).doc(130页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-C语言程序设计网上作业题第一章 C语言概述一、填空1. *C语言中任何程序的运行总是从主函数开始,在( )函数中结束。 2. *一个C语言程序总是从( )函数开始执行。 3. *C语言源程序的扩展名为( )。 4*C语言源程序的扩展名为*.C、目标文件的扩展名为( )、可运行文件的扩展名为( )。5*C语言属于面向( )语言。 6. *C语言程序的注释可以出现在程序的任何地方,它总是以( ) 符号作为开始标记,以( )符号作为结束标记。7. *C语言中规定标识符只能由字母、数字、下划线组成,且第一个字符必须是( )或( )。 8. *结构化设计中的三种基本结构是( )、( )和循环结构。 9
2、. * *程序开发的四个步骤是( )、 ( )链接和执行。 二、单项选择题 1*在C程序中所用的变量使用前( ) (A)可以不定义 (B)先定义后使用 (C)随时定义随时用 (D) 其他 2*C语言程序从main()函数开始执行,所以这个函数要写在( )。A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置3. * *下列关于C语言的叙述错误的是( )A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义4. *一个C程
3、序的执行是从( )。 A)本程序的main函数开始,到main函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 5. * *以下叙述正确的是( )。 A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句 C)C语言本身没有输入输出语句 D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 6. * *以下叙述不正确的是( )。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程
4、序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面 7. *一个C语言程序是由( )。A)一个主程序和若干子程序组成B)函数组成 C)若干过程组成D)若干子程序组成 第三章 数据类型、运算符与表达式一、填空1、* *x=2,y=-3,z=3,则表达式x|y+z&y-z的值为 ( )。 2、*在C语言中实型变量分为两种类型,它们是( )和 ( )。 3 * *、十进制11转化为八进制的值为( )。 4、* *十进制数159转换为八进制数是( ) 5、* *已知int x=6; 表达式x%2+(x+1)%2的值是( )。6、*C语言中char型变量在内存中占( ) 个字节的内存
5、单元 7、*C语言的变量名:TEA与tea是( )同的。8、* *设x的值为15,n的值为2,则表达式x%=(n+=3)运算后,x的值为()。9、* *表达式( 53) & (2 | 84的c语言表达式是( )。14、* *若s 是整型变量,则计算表达式 s=22/3%2 后s的值为( ) 。15、*C语言用( )号括起来的单个或多个字符表示字符串常量。 16、*float x, y, z;是将x, y, z; 定义为 ( ) 17、*目前常用C语言的一个整型变量的存储容量为( )个字节。 18、*无符号基本整型的数据类型符为( ),双精度实型数据类型符为( )。 答案:unsigned in
6、t、double19、* *定义变量的完整语句格式是: ( ) ( ) 变量名1=初值1,变量名2=初值2,.;。 20、* *设有下列运算符:、+、+、&、b+3的值是( ) (A)0 (B)1 (C)不确定 ( D)表达式错误 9、* *若变量已正确定义并赋值,下面符合C语言语法的表达式是 (A) a:=b+1 (B) a=b=c+2 (C) int 18.5%3 (D) a=a+7=c+b10、 * *若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是 (A) 1 (B) 2 (C) 2.0 (D) 2.511、*若变量a、i已正确定义,且i已正确赋值,合法的语句是
7、 (A) a=1 (B) +i; (C) a=a+=5; (D) a=int(i);12、* *以下不是c语言规定保留字的是( )。 (A)float (B)integer (C)signed (D) unsigned13 *、下列不正确的转义字符是 (A) (B) (C) 074 (D) 014、* *若有以下定义: char a; int b; float c; double d; 则表达式a*b+d-c值的类型为 (A) float (B)int (C) char (D) double 15、* *常数的书写格式决定了常数的类型和值, 0x1011 是 ( ) (A) 8 进制整型常量
8、(B)字符常量 (C) 16 进制整型常数 (D)2 进制整型常数16、* *在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为 A)charint1ongint=floatdouble B)char=int1ongint=floatdouble C)charint1ongint=float=double D)char=int=1ongint=floatdouble 17、*若x,i,j和k都是int型变量,则执行下面表达式后x的值为 x=(i=4,j=16,k=32) A)4 B)16 C)32 D)52 18、*假设所有变量均为整型,则表达式(a=2,b=5,b+
9、,a+b)的值是: A)7B)8C)6D)2 19、* *下列四组选项中,均不是C语言关键字的选项是 A)defineB)getcC)includeD)while IFcharscanfgo typeprintfcasepow 20、*下面四个选项中,均是C语言关键字的选项是 A)autoB)switchC)signedD)if enumtypedefunionstruct includecontinuescanftype 21、* *下面四个选项中,均是不合法的用户标识符的选项是。 A)AB)floatC)b-aD)一123 P_01a0gototemp do一AintINT 22、*下面不
10、正确的字符串常量是。 A)abc B)1212 C)0D) 23、* *若有代数式3ae/bc,则不正确的C语言表达式是: A)a/b/c*e*3B)3*a*e/b/c C)3*a*e/b*cD)a*e/c/b*3 24、* *以下不正确的叙述是 A)在C程序中,逗号运算符的优先级最低 B)在C程序中,APH和aph是两个不同的变量 C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。 D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。 25、* *以下正确的叙述是: A)在C程序中,每行中只能写一条语句 B)若a是实型变量,C
11、程序中允许赋值a=10,因此实型变量中允许存放整型数 C)在C程序中,无论是整数还是实数,都能被准确无误地表示 D)在C程序中,%是只能用于整数运算的运算符 26 、* *以下符合C语言语法的赋值表达式是 A)d=9+e+f=d+9 B)d=9+e,f=d+9 C)d=9十e,e+,d十9D)d=9十e+=d十7 27、* *已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=A十6一3;后,c2中的值为 A)D B)68 C)不确定的值 D)C 28、* *设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为 A)int B)float C)do
12、uble D)不确定 29、*设有说明:charw;intx;f1oaty;doublez;则表达式w*x+z一y值的数据类型为: A)float B)char C)int D)double 30、* *若有以下定义,则能使值为3的表达式是: intk=7,x=12; A)x%=(k%=5) B)x%=(k一k%5) C)x%=k-k%5D)(x%=k)一(k%=5)第四章 顺序程序设计一、填空1、*在屏幕上输出整型变量a,b值,每个数占5位,输出数据前有说明字符的 printf()函数为( )。 2、 *设char c=A,则语句printf(%c,c+32)结果为( ) 。3、*通过键盘输
13、入整型变量a的scanf()函数为( )。4、*已知 int a,b,c; a或者b两个中间有一个小于c的表达式是( )。5、* *已知 int x; 如果用scanf(“%f”,&x);给x赋值,错误的原因是( )。 6、*float a=3.54; printf(% 2.3f ,a);的输出结果是( )7、* * * 若有定义语句 “ int a=25,b=14,c=19; ” ,以下语句的执行结果是( )。 if(a+=25&b-=2&c+) printf(*a=%d,b=%d,c=%dn,a,b,c); else printf(#a=%d,b=%d,c=%dn,a,b,c); 8、*
14、* *以下程序输入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); 9、* *以下程序输入123456后的执行结果是( )。 #include main() int a,b; scanf(%2d%3d,&a,&b); printf(a=%d,b=%dn,a,b); 10、* *若有说明int i,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为( )。二、单项选择题 1、*设变量定义为“int a, b;”,执行下列语句
15、时,输入( ),则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 2、*若t为int类型,表达式t=1,t+5,t+的值是( )。(A)1 (B)6 (C)2 (D)1 3、*设x、y均为整型变量,且x=10 ,y=3,则以下语句的输出结果是( ) printf(%d,%dn,x-,-y); (A) 10,3 (B) 9,3 (C) 9,2 (D)10,24、 * 阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果是()main()int x,y,z;scanf(
16、“%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)不确定值5、*已知 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 6、*已知 int a =5; 赋值表达式a+=a*a的值为( ) (A)5; (B)10; (C)30; (D)50; 7、*若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是(A) 0 (B) 0.5
17、(C) 1 (D) 2 8、*putchar函数可以向终端输出一个: ( )A)整型变量表达式值 B)实型变量值 C)字符串 D)字符或字符型变量值 9、*printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 ( )A)从左起输出该字串,右补空格 B)按原字符长从左向右全部输出 C)右对齐输出该字串,左补空格 D)输出错误信息 10、*已有定义inta=-2;和输出语句:printf(%8lx,a);以下正确的叙述是: ( )A)整型变量的输出格式符只有%d一种 B)%x是格式符的一种,它可以适用于任何一种类型的数据 C)%x是格式符的一种
18、,其变量的值按十六进制输出,但%8lx是错误的 D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度 11、*若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是: ( )A)scanf(%d%lx,%le,&x,&y,&z); B)scanf(%2d*%d%lf&x,&y,&z); C)scanf(%x%*d%o,&x,&y); D)scanf(%x%o%6.2f,&x,&y,&z); 12、*已有如下定义和输入语句,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是 ( )inta1,a2;cha
19、rc1,c2; scanf(%d%c%d%c,&a1,&c1,&a2,&c2); A)10A20BB)10A20B C)10A20 D)10A20B。 13、*已有定义intx;f1oaty;且执行scanf(%3d%f,&x,&y);语句,若从第一列开始输入数据12345678(回车),则x的值为( ) A)12345B)123。C)45D)345 14、*已有定义intx;f1oaty;且执行scanf(%3d%f,&x,&y);语句,若从第一列开始输入数据12345678(回车),则y的值为: ( ) A)无定值B)45.0000C)678.000000D)123.00000 15、*已
20、有如下定义和输入语句,若要求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)1020ABD)1020AB 16、*已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为( ) main() inta;floatf; printf(nInputnumber:); 输入语句 printf(nf=%f,a=%dn,f,a); Inputnumber:4.52 A)scanf
21、(%d,%f,&a,&f);B)scanf(%f,%d,&f,&a) C)scanf(%d%f,&a,&f);D)scanf(%f%d,&f,&a); 17、*以下能正确地定义整型变量a,b和c并为其赋初值5的语句是 ( )A)inta=b=c=5; B)inta,b,c=5; C)a=5,b=5,c=5;D)a=b=c=5; 18、*已知ch是字符型变量,下面不正确的赋值语句是 ( )A)ch=a+b;B)ch=0;C)ch=7+9;D)ch=5+9; 19、已*知ch是字符型变量,下面正确的赋值语句是( )A)ch=123;B)ch=xff;C)ch=08;D)ch=; 20、*若有以下定
22、义,则正确的赋值语句是: inta,b;floatx; A)a=1,b=2,B)b+;C)a=b=5D)b=int(x); 21、*设x、y均为f1oat型变量,则以下不合法的赋值语句是( ) A)+x;B)y=(x%2)/10;C)x*=y+8;D)x=y=0; 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 23、*逻辑运算符两侧运算对象的数据类型( )。 A)只能是0或1 B)只能是0或非0正数 C
23、)只能是整型或字符型数据 D)可以是任何类型的数据 24、*下关于运算符优先顺序的描述中正确的是( )。 A)关系运算符算术运算符赋值运算符逻辑与运算符 B)逻辑运算符关系运算符算术运算符赋值运算符 C)赋值运算符逻辑与运算符关系运算符算术运算符 D)算术运算符关系运算符赋值运算符逻辑与运算符 25、*下列运算符中优先级最高的是( )。 A)B)十C)&D)!= 三、阅读程序,写出程序运行结果1、*main() int a=1,b=2;a=a+b;b=a-b;a=a-b; printf(%d,%d n,a,b);2、*main() int x=7,a=2,b=2,c; c=x/a%b; pri
24、ntf(c=%dn”,c);3、*以下程序输入100后的执行结果是( )。 #include main() int n; scanf(%o,&n); printf(n=%dn,n); 4、*以下程序输入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); 5、*阅读下列程序,写出程序的输出结果。 main() int x=100,a=10,b=20,ok1=5,ok2=0; if (a0;y-) if(y%3=0) printf(%d
25、,-y); continue; 7、*阅读下列程序: main() int a; char b; float c; printf(input a b c:); scanf(%d%c%f,&a,&b,&c); printf(a=%d,b=%c,c=%fn,a,b,c); 程序运行后若输入“1234r1234.567(回车)”,写出程序的输出结果。 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); 程序运行后若输
26、入“12345678987654321(回车)”,写出程序的输出结果。 9、*阅读下列程序: main() 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(回车)”,写出程序的输出结果。 第五章 选择结构程序设计一、填空1、*能正确表示“当ch为小写字母为真,否则为假”的表达式是( )。2、 *设y是int型变量,请写出判断y为5的倍数的关系表达式( ) 。3、 *已知int a=1,b=2;表达式 (ay和x=y的逻辑值分别为( )和(
27、)。9、* C语言中的逻辑运算符按优先级别是( )、( ) 、( )。10、*C语言中逻辑运算符( )的优先级高于算术运算符。11、*将下列数学式(A) a=b 或 a4改写成C语言的关系表达式或逻辑表达式( )和( )12、* 请写出以下程序的输出结果( )。 main() int a=100; if (a100) printf(“%dn”,a100); else printf(“%dn”,ac) b=a;a=c; c=b;二、单项选择题 1、*已知整型变量k的值为3,下面程序段执行的结果是( ) switch(k) case 1:putchar(A);break; case 2:putch
28、ar(B);break; case 3:putchar(C); case 4:putchar(D); default:putchar(E); (A) CDE (B) C (C) ABC (D) ABCD 2、*以下程序段正确的是( ) (A)if(ab) 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; 3、*以下程序运行的结果是( ) main() int x=12,y; y=x12 ? x+10 : x-12; printf(“y=%dn”,y); (A)y
29、=0 (B) y=22 (C)y=12 (D)y=10 4、*表示关系x=y=z的c语言表达式为 (A) (X=Y)&(Y=Z) (B)(X=Y)AND(Y=Z) (C) (X=Y=Z) (D) (X=Y)&(Y=Z)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) 36、*当a=1,b=3,c=5,d=4,执行完下面一段程序后x的值是: if(ab) if(cd)x=1; else if(ac) if(bd)x=2; elsex=
30、3; elsex=6; elsex=7; A)18 B)2C)3D)6 7、*以下程序的输出结果是: main() inta=100,x=10,y=20,okl=5,ok2=0; if(xy); B)if(x=y)&(x!=0)x+=y; C)if(x!=y)scanf(%d,&x);elsescanf(%d,&y); D)if(xy)x+;y十十; 10、*请阅读以下程序: #include main() floata,b scanf(%f,&a); if(a10.0)b=1.0/x; elseif(a0.5)&(a!=2.0)b=1.0/(a十2.0); elseif(a12?x+10:x一12; printf(%dn,y); A)0B)22 C)120)10 13、*以下程序的运行结果是: main() intk=4,a=3,b=2,c=;