c语言练习题3.pdf

上传人:无*** 文档编号:90887755 上传时间:2023-05-18 格式:PDF 页数:47 大小:5.66MB
返回 下载 相关 举报
c语言练习题3.pdf_第1页
第1页 / 共47页
c语言练习题3.pdf_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《c语言练习题3.pdf》由会员分享,可在线阅读,更多相关《c语言练习题3.pdf(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C 语言练习题一一、填空题。(每空1分,共 10分)1.语句while(e=0):中的条件e=0 等价于;答案:!e2 printf(%4s,beijing);输出为:;答案:beijing3.C 语 言 中 的 字 符 串 以 字 符;答案:答案:04.C 语言可以处理的文件类型是 和;答案:文本文件和二进制文件5.i nt(*P)5;说明p 是:_ _ _ _ _ _ _ _ _ _ _;答案:指向一维整形数组的指针变量6.函数直接或间接地调用自己,被 称 理 I数的;答案:递归7.若有static int x5,x的地址表示是:。答案:&x4或 x+48.有程序段如下:int x=l:w

2、hile(x=lO)x+=3;printf(“d n”,x);贝 lj:函数DrintfO执行次数是 4,循环结束后X 的值是。答案:139.若有以下定义和语句,则 sizeof(a)的值是,答案:1 2,而 sizeof(b)的值是_。答案:4structint day;char month;int year;a,*b;10.若有 static char c10=China”;执行该语句后cl=o 答案:h c5=-答案:0c|6=.答案:0 s t r l e n(c)=。答案:511.若有 Static char cs=a,b,,0(零),c,,d;printf(%sn,c):则输出内容

3、为:。答案:ab12.下面程序把从终端读人的10个整数以二进制方式写到一个名为bi.dat的新文件中。请填空。#includeFILE*fp;mainO(inti,j;i f(f p=f o p e n(,wbw)=NULL)答案:bi.datexit(O):for(i=0;i(b)?(a):(b)main()printf(f,%d,MAX(5+4,l+3);return(l);18.结构化程序设计的基本结构有三种,分别是顺序结构、分 支 结 构 和 循环 结构。二、判断题。(每题1分,共 10分)(x)l.在 C 语言中,continue语句的作用是结束循环语句的执行。break(x)2.2

4、/3*3 的值是 2。0(x)3,52):中s 必执行无穷多次。(x)7.两个指向整型的指针变量可以做减法运算。(x)8.语句 if310 printf(why,);是正确的 C 语句。0(4)9,inti,*P=&i:是正确的C 说明。()10.unsigned和 void在 C 中都是保留字。(x)ll.C语言允许函数的类型:Long类型可以缺省。(x)12.字符型数据和实型数据之间可以通用。(x)13.当从键盘输入数据时,整型变量只能输入整型数,实型变量只能输入实型数。(x)14.语句 inta5=L 2,3,4,5 ,是合法的。;(x)15.逗号表达式是没有值和类型的。(x)16.用数

5、组名作为函数的实参,传递给形参的是数组第一个元素的值。首地址(x)17.若有 inti=O:则执行 while(i=10)printf(“?”);无任何输出。(4)18.任何字都可以用转义序列的方法来表示。W)19.C语言中字符(char)型数在内存中以ASCH码形式存储,而整型(int)数据以补码形式存储。(4)20.return语句中的表达式可以不加括号。三、选择题。(每题2 分,共 10分)1.题 L1 一个C 程序的执行时从 o 答案:(A)A)本程序的main函数开始,到 main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本

6、程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2.题 1.4 C 语言规定:在一个源程序中,main函 数 的 位 置。答案:(C)A)必须在最开始B)必须在系统调用的库函数的后面。可以任意D)必须在后面3.题 2.1在 C 语言中(以16位 PC机为例),5 种基本数据类型的存储空间长度的排列顺序为_o 答案:AA)charintlong int=floatdoubleB)char=intlong int=fioatdoubleC)charintlong int=float=doubleD)char=int=long int=floatdouble4.题

7、2.3假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是。答案:BA)7 B)8 C)6 D)25.题 2.14下面正确的字符常量是 o 答案:CA)“c B),C),W,D)。6.题 2.23以 下 不 正 确 的 叙 述 是。答案:DA)在 C 程序中,逗号运算符的优先级最低B)在 C 程序中,APH和 aph是两个不同的变量C)若 a 和 b 类型相同,在执行了复制表达式a=b后 b 中的值将放入a 中,而 b 中的值不变。D)当从键盘输入数据时,对于整形变量只能输入整形数值,对于实型变量只能输入实型数值。7.题 2.26已知字母A 的ASCII码为十进制数65,且 c

8、2为字符型,则执行语句c2=,A+6,/3,;后,c2中的值为 o 答案:AA)D B)68 C)不确定的值 D)C8.题 2.27在 C 语言中,要求运算数必须是整型的运算符是 o 答案:DA)/B)+C)!=D)%9.题 2.29在 C 语言中,int、char和 short三种类型数据在内存中所占用的字节数。答案:DA)由用户自己定义 B)均为2 个字节 C)是 任 意 的 D)由所用机器的机器字长决定10.题 2.42若有以下定义,则能使值为3 的 表 达 式 是。答案:Cint k=7,x=12;A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5 D)(x%=k)-(

9、k%=5)11.题 3.1putchar函 数 可 以 向 终 端 输 出 一 个。答案:DA)整型变量表达式值B)实型变量值C)字符串 D)字符或字符型变量值12.题 3.9已有如下定义和输入语句,若要求al,a2,cl,c2的值分别为10,20,A 和 B,当从第一列开始输入数据时,正确的数据输入方式是 o 答案:CA)10A 1 1 20B B)10 L-1 A 1 1 20 1 B C)10A20B D)10A20 1 1 B13.题 3.19以下能正确地定义整型变量a,b 和 c 并为其赋初值5 的 语 句 是。答案:AA)int a=b=c=5;B)int a,b,c=5;C)a=

10、5,b=5,c=5;D)a=b=c=5;14.题 3.24设 x、y 和 z 均为int型变量,则执行语句x=(y=(z=10)+5)5;后,x y 和 z 的值是o 答案:AA)x=10 y=15 z=10B)x=10 y=10 z=10C)x=10y=10z=15D)x=10 y=5 z=1015.题 4.1 逻辑运算符两侧运算对象的数据类型。答案:DA)只能是0 和 1B)只能是0 或非0 正数C)只能是整型或字符型数据D)可以是任何类型的数据16.题 4.2以下关于运算符优先顺序的描述中正确的是 o 答案:CA)关系运算符 算术运算符 赋值运算符 逻辑与运算符B)逻辑与运算符 关系运算

11、符 算术运算符 赋值运算符C)赋值运算符 逻辑与运算符 关系运算符 算术运算符D)算术运算符 关系运算符 赋值运算符 逻辑与运算符17.题 4.5表示图中坐标轴上阴影部分的正确表达式是 o 答案:C/I/-Xa b cA)(x=b)&(x=c)B)(x=a)|(b=x=c)C)(x=b)&(x=c)D)(x=a)&(b=xb)&(n=cd)后 n 的值为。答案:BA)1 B)2 C)3 D)419.题 4.25为了避免在嵌套的条件语句ifd se中产生二义性,C 语言规定:else子句总是与配对。答案:BA)缩排位置相同的ifB)其之前最近的ifC)其之后最近的D)同一行上的if20.题 5.

12、3语句whiIe(!E);中的表达式!E 等价于。答案:AA)E=0 B)E!=1 C)E!=0 D)E=l21.题 5.44以下正确的描述是 o 答案:BA)continue语句的作用是结束整个循环的执行B)只能在循环体内和switch语句体内使用break语句C)在循环体内使用break语句或continue语句的作用相同D)从多层循环嵌套中退出时,只能使用goto语句2 2.题 6.1在 C 语言中,引用数组元素时,其数组下标的数据类型允许是 o 答案:CA)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式2 3.题 6.5 以下能对一维数组a 进行正确初始化的语句是

13、0答案:CA)inta10=(0,0,0,0,0);B)int a10=;C)inta=0;D)inta10=10*l;2 4.题 7.9 C 语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。答案:A)地址传递B)单向值传递C)由实参传给形参,再由形参传回给实参D)由用户指定传递方式25.题 7.27凡是函数中未指定存储类别的局部变量,其 隐 含 的 存 储 类 别 为。答案:AA)自动(auto)B)静态(static)C)外部(extern)D)寄存器(register)26.题 8.8 C 语言的编译系统对宏命令的处理是 o 答案:DA)在程序运行时进行的B)在程序连接时进

14、行的C)和 C 程序中的其它语句同时进行编译的D)在对源程序中其它成份正式编译之前进行27.题 9.9变量的指针,其含义是指该变量的 o 答案:BA)值 B)地址 C)名 D)一个标志28.题 10.2当说明一个结构体变量时系统分配给它的内存是 o 答案:AA)各成员所需内存量的总和B)结构中第一个成员所需内存量C)成员中占内存量最大者所需的容量D)结构中最后一个成员所需内存量29.题 11.10若 x=2,y=3则 x&y的 结 果 是。答案:BA)0 B)2 C)3 D)5 例如:9&5可写 算 式 如 下:00001001(9的 二 进 制 补 码)&00000101(5的 二 进制补码

15、)00000001(1的二进制 补 码)可 见9&5=130.题 12.10 fwrite函 数 的 一 般 调 用 形 式 是。答案:DA)fwrite(buffei;count,size,fp);B)fwrite(fp,size,count,buffer);C)fwrite(fp,count,size,buffer);D)fwrite(buffer,size,count,fp);31.表达式(float)(5/2)2.4 的值为(A):5/2 得 2;(float)得2.0;2.02.4 得 false;false 即 0A.0 B.1 C.true D false32.若说明 int a

16、=10,b=15;则表达式 20*ab?a:b;的 值 为(B):A.10 B.15 C.200 D.30033.以下程序运行后,输出结果为(C):#include#includefun(char*w,int n)char t,*sl,*s2;sl=w;s2=vv+n-l;while(sls2)t=*sl-H-;*sl=*s2-;*s2=t;main()char p20=1234567”;fun(p,strlen(p);puts(p);A)123567 B)7654321 C)1711717 D)717717134.若有如下说明,则 strlen(sl)+strlen(s2)的 值 为(A):

17、static char sl5=a,b,n ,,0(零),;static char s2.“string”;A)9 B)8 C)12 D)ll35.若说明int x=0,y=2;则语句if(x=O)y+;执行后y 的值为(B):A)1 B)2 C)3 D)436.i=10;则执行 i&(i=O)&(+i);后 i 的值为(B):A)10 B)0 C)1 D)ll37.若说明inta=L b-2,c=3:表达式a b!=O的值为(B):A)0 B)1 C)2 D)338.有以下程序,其 for语句中循环体执行的次数是(C):#include#define N 2#define M N+l#def

18、ine NUM(M+l)*M/2main()int i,n=0;for(i=l;i=NUM;i+)n+;printf(”d”,n);printf(n);A)5 B)6 C)8 D)939.以下程序执行后,a 的值是为(C):#includemain()int a,k=4,m=6,*pl=&k,*p2=&m;a=pl=&m;printf(M%dnM,a);A)4 B)1 C)0 D)运行时出错,a无定值40.下列变量名中合法的是(A)(A)_6a7b(B)55x6(C)m.*.Tom(D)+ABC41.整型变量x=l,y=3,z=5,有如下几个表达式:(1)x=(x=l+2*2,9)(2)x=y

19、2?9:(10-z)(3)x=y*4/2+z-z%3(4)x=9-(-y)-(-y)上面有(C)个表达式的计算结果相同。(A)1(B)2(C)3(D)442.有单精度变量x 和 y=12.5,表达式:x=3*(int)y+(int)y)%4执行后,x 的值为(D)(A)36.500000(B)37.500000(C)39.500000(D)36.00000043.为表示关系让yNz,正确的C 语言表达式是(A)(A)(x=y)&(y=z)(B)(x=y)AND(y=z)(C)(xyz)(D)(xy)&(yz)44.变量在程序中的应用很灵活,下面的说法中(A)是正确的(A)变量在引用之前要定义其

20、存储的数据类型(B)整型变量和指向整型变量的指针实际上没有太多区别(C)指针不能指向指针变量,否则逻辑出错(D)只有有限的变量可以通过指针来引用,因此要注意指针的用法45.有如下代码:#include“stdio.hmain()int j=l,k=5,m;while(j0)m=k+j;k-;j+;printf(M%dnw,j);根据运行结果,下面说法正确的是(A)。(A).此程序由于j 的起始值为1,循环条件为j 0,在循环体中又有j+语句,因此,此程序为无法休止的循环(B)由于程序中有k语句,这样,k 的值在某个运算时刻会小于0,根据循环条件,此循环将由于k 值变化,运行终止(C)此程序可以

21、正常结束(D)此程序有语法逻辑问题,编译无法通过46.有如下的函数调用语句,则 funl的实际参数的个数是(A)fun 1(fun2(x,y),(x,y),z=x+y);(A)3(B)7(C)4(D)547.下面说法中正确的是(C):(A)宏定义,定义了一个变量,这个变量的值在整个程序的运行过程中是不变的(B)全局变量定义了一个变量,这个变量的值在整个程序的运行过程中是不变的(C)全局变量和宏定义的概念是不一样的,他们之间有质的区别(D)全局变量和宏定义的概念基本是一样的,可以混合使用48.关于结构体,下面说法中正确的是(D):(A)结构体数组的元素只能是整型数(B)如果把一个结构体嵌套到另一

22、个结构体中,那么这个结构体成员除整型、实型数据外,其他的不能使用,尤其不能用字符型数据(C)指针不能指向结构体(D)结构体可以嵌套定义,如把一个结构体嵌套到另一个结构体中49.下面说法正确的是(C)(A)结构体数组与整型数组类似,所有数据的个数就是数组的长度(B)结构体数组中的每个数组元素拥有的成员,其数据类型是一致的(C)结构体数组中的每个数组元素拥有的成员,其数据类型不一定一致(D)由于结构体比较复杂,结构体数组中的每个数组元素拥有的成员的数据类型无法确定50.字符型常量在内存中存放的是(A)(A)ASCII 码(B)BCD 代码(C)内部码(D)十进制码51.单精度变量x=3.0,y=4

23、.0,下列表达式中y 的值为10.0的是(B)(A)y/=x*27/4(B)y+=x+3.0(C)y-=x+8.0(D)y*=x-3.05 2.有一字符型变量s tr,欲判施str是否为一小写字母,下列正确的方法为(D)(A)if(str=65&str=90)(B)if(str=122)(D)if(str=97)5 3.以下说法中不正确的是(A)(A)在 C 语言程序中,main()函数可以根据需要定义多个(B)C 语言程序总是从main()函数开始执行(C)C 语言程序中某些变量可以定义在main()函数之前(D)C语言程序中的main。函数可以出现在任何函数后面5 4.函数fopen()的

24、第一个参数是文件名(可带路径),下面哪一个选项作此参数在格式上完全正 确(B)(A)“e:aaaWfne(B)“c:cccfHe(C)“f:bbbfne”(D)“d:dddfHe55.下面说法中正确的是(A)(A)一个数组只允许存储同种类型的变量。(B)在对数组进行初始化时,若给定的数据元素个数比数组长度值大时,多余的数组元素会被自动初始化为0o(C)由于数组名为常量,因此,不能给数组名赋任何形式的量。(D)当为数组赋值时,数组获得它在系统中的首地址。56.关于函数调用,下面说法正确的是(B)(A)函数的嵌套调用必须有结束嵌套调用的条件判断语句。(B)在函数的调用过程中,能直接或间接调用函数的

25、本身。(C)递归调用就是随便调用一个已经定义的函数。(B)在函数的调用过程中,不能直接或间接调用函数的本身。57.下列说法中正确的是(D)(A)枚举类型中的枚举元素由变量构成。(B)枚举类型的枚举元素只能从0 开始,以 1为步长递增。(C)可以用枚举类型数据定义联合体。(D)一个2 字节的整型数不能直接赋给一个枚举型变量。58.关于联合体,下面说法正确的是(D)(A)联合体可以很方便地嵌套到结构体中,不过嵌套数量只能有3 个。(B)联合体就是联合了大量数据的一种结构体,不过只有联合体中的成员只有第一个初始化的有效。(C)联合体成员个数有一定限制,一般不超过8 个二进制位。(D)以上说法都不对。

26、59.下面说法正确的是(A)(A)如果指针型变量做函数的实参,那么形参也必须是指针型变量。(B)函数的形参,其数据类型要一致,至于形参个数,没有严格限制。(C)形参中如果有不同类型的参数,要按字节数大小排列,如字符型排在前面,其次是整型,然后是实型等,这样便于数据的管理。(D)以上说法都不对。60.在 C 语言中,如果下面的变量都是int类型,则输出的结果是(A)sum=pad=5;pad=sum+,pad+,+pad;printf(u%d n”,pad);A)7 B)6 C)5 D)461.以下程序的输出结果是(B)#includemain()(int i=010,j=10;printf(%

27、d,%dn”,+i,j);A)ll,10 B)9,10 C)010,9 D)10,962.已知在ASCH代码中,字母A 的序号为6 5,以下程序的输出结果是(B)#includemain()charcl=6A C2=6Y5;printf(%d,%dn”,cL c2);A)因输出格式不合法,输出错误信息B)65,90C)A,Y D)10,963.设有说明int(*ptr)M;其中的标识符ptr是(C)A)M个指向整型变量的指针;B)指向M 个整型变量的函数指针;C)一个指向具有M 个整型元素的一维数组的指针;D)具有M 个指针元素的一维指针数组,每个元素都只能指向整型量。64.以下程序的输出结果

28、是(B)。#include mainO printf(“dn”,NULL);)A)不确定的值 B)0 C)-1 D)165.以下函数调用语句中含有(B)个实参。Func(expl,exp2),(exp3,exp4,exp5);A)1 B)2 C)4 D)566.设有以下语句:char a=3,b=6,c;c=aAb 2;则c的二进制值是(A)例如9A5可写成算式如下:00001001A00000101 00001100(十进制为12)A)00011011 B)00010100 C)00011100 D)000110006 7.下面的程序中(C)有错误(每行程序前面的数字是行号)。1#iuclu

29、de2 main()3 4 float a3=0.0;5 int i:6 for(i=0;i3;i+)scanf(”d”,&ai);7 for(i=l;i3;i+)a0=a0+ai;8 printf(fn”,a0);A)没 B)第 4 行 C)第 6 行 D)第 8 行6 8.有如下程序段,其输出结果为(C)struct student int num;long int age;char name20;float score;char abc;a;printf(66%dw,sizeof(a);(A)7(B)30(C)36(D)不确定69.以下程序的输出结果是(D)#include mainO

30、int x=44,y=55;printf(M%d%d if+x,-y);(A)44 54(B)45 55(C)44 55(D)45 5470.下面程序有两个printf语句,如果第一个printf语句输出的结果是194,则第二个printf语句的输出结果是(A)#include main()int a20=1,2,3,4,5,6,7,8,9,0,11 J2,13,14,15,*p;P=a;printf(H%xnH,p);printf(n%xnn9p+5);)(A)208(B)199(C)19e(D)la471.下列程序执行后输出的最后一行的结果是(B)#include int f(int a)

31、static c=3;a=c-H-;printf(nna=%d,c=%dn,a,c);return(a);void main()int a=2,i,k;for(i=0;i50;i+)k=f(a+);printf(nn%d n”,+k);(A)106(B)53(C)52(D)10472.设有如下程序,请问程序运行的结果选项为(A):#include main()typedef union long k;int m2;char c;DATE;struct date int dog;DATE cat;double mouse;zoo;DATE max;printf(n%xn,sizeof(struc

32、t date)+sizeof(max);(A)20(B)18(C)14(D)1673.执行以下程序后,y 的值是(C)#include stdio.hvoid main()inta=2,4,6,8,10;int y=l,x,*p;P=&al;for(x=0;x3;x+)y+=*(p+x);printf(d n”,y);(A)17(B)18(C)19(D)2074.下列程序执行后输出的结果是(B)#include stdio.hint d=15;fun(int p)int d=25;d-=P-;printf(%dnn,d);main()int a=3;fun(a);d-=a+;printf(f,

33、%d n H,d);(A)22 2(B)22 12(C)20 0(D)21 075.有如下程序段,此程序段执行后的输出结果为(D)#include stdio.hmain()union uuint a;float x;struct mmchar*p;union uu y;bl;bl.y.a=10;bl.p=nstudentn;printf(M%dn,2*sizeof(struct mm);(A)12(B)8(C)7(D)1676.有如下程序段,其输出结果是(C)static char str=l,2,3,4”;printf(M%c M,str4);(A)1,2,3,4(B)4(C)3(D)27

34、7.下面程序的运行结果为(B)#includc stdio.hvoid mainOstatic int j=5,i,k;int*p=&j;i fif(*Pj)for(;i3;i+)k=*p+i;i=i*j+2;printf(M%dM,*p+l);(A)7(B)6(C)8(D)3四、阅读程序写出程序的执行结果。共30分。1.#include main()int x=44,y=55;printf(d%d n,+x,-y);结果:45 54X2.读程序include include string.hmain()char*p2 str20=AAAAAAAAAA,;char p120=BBBB;p2=C

35、CCC;printf(%sn,p1);printf(,%sn,p2);strcpy(str+3,strcat(p1+3,p2+3);printF(%sn,str);3.#includc main()typedef union long k;intm2|;char c;DATE;struct date int dog;DATE cat;double mouse;zoo;DATE max;printf(M%xn,sizeof(struct date)+sizeof(max);结果:204.#include stdio.hint d=15;fun(int p)int d=25;d-=p-;print

36、f(n%dnM,d);main()int a=3;fun(a);d-=a+;printf(M%d n fd);结果:22125.下面程序的输出结果为()#include stdio.hvoid main()inta23=15,30,20,14,-32,15;int i=l,j=0,k,tmp;int*p;P=&aij;for(k=l;k3;k+)for(j=0;j2;j+)if(ai|jaiU+l)tmp=*(p+j);*(P+j)=*(P+j+l);*(P+j+l)=tmp;for(i=0;i2;i+)for(j=0;j3;j+)printf(%d”间i|j|);printf(HnM);)结

37、果:15 30 2015 14-326.#include“stdio.hvoid main()static int j=5,i,k;int*p=&j;i-;if(*Pj)for(;i输入为1 时,输出的结果是:答案:1234输入为4 时,输出的结果是:答案:49.int xl=30,x2=40;void mainO int x3=10,x4=20;void sub(int9int);sub(x3,x4);sub(x2,xl);printf(n%d,%d,%d,%dnH,x3,x4,xl,x2);void sub(int x9int y)xl=x;x=y;y=xi;答案:10,20,40,401

38、 0.输出结果是void main()(int i,j;for(i=l;i5;i+)(for(j=l;j10-i;j+)printf(for(j=l;j F ile sK ic r onnnniPress any key to continue11.输 出 结 果 是。int g(int i,int j)if(i=j)return(i);elsewhile(ij)i-=j;return(g(j,i);)void main()(printf(dn”,g(144,132);答案:1212.#define M 5void mainO(int i,j,k;for(i=0;iM;i+)fora=M-i;

39、j;j-)printfC*);for(k=0;k=i;k+)printf(%c”,i+A);printf(nn);for(i=M-l;i;i-)(printfC*);for(j=0;j FileslicroABBCCCDDDDEEEEEeeeeedddddcccccbbbbbPress any key to continue14.main()(int x=l,y=0,a=0,b=0;switch(x)case l:switch(y)case 0:a+=l;break;case l:b+=l;break;case 2:a+=l;b+=l;break;case 3:a+=l;b+=l;printf

40、(na=%d,b=%dnn,a,b);答案:a=2,b=l17.#includemain()int findm(int,int);int a|10=10,2,-5,0,7,31,41,8,17,132;int mv,(*fp)(int,int);fp=findm;mv=(*fp)(a,10);printf(Mmv=%dnn,mv);int findm(int x,int n)int i,m;m=xO;for(i=0;i10;i+)if(mxi)m=xi;return(m);答案:mv=13218.main(int argc9 char*argv|)(iht i;for(i=l;iargc;i+

41、)(printf(”s”,argv|i|);if(iargc-l)printfC巧;elseprintf(M n);)命令行为:how do you do答案:how do you do19.题 4.61若运行时输入:16 回车,则 以 下 程 序 的 运 行 结 果 是。答案:your$3.0yuan/hour#includevoid main(void)(int year;printf(uInput your year:);scanf(u%d,9,&year);if(year=18)printf(your$4.5 yuan/hourw);elseprintfCtyour$3.0 yuan/

42、hour);20.题 7.37以下程序的运行结果是 o 答案:max is 2#includevoid main()int a=l,b=2,c;c=max(a,b);printf(Hmax is%dnfc);max(int xjnt y)int z;z=(xy)?x:y;return(z);2 1.题7.56下面程序的运行结果是 o答案:15#include stdio.hvoid mainQint i=5;printfC%dn,sub);)sub(int n)(int a;if(n=l)return 1;a=n+sub(n-l);return(a);2 2.题7.7 7以下程序的运行结果是

43、o答案:8#include int a=3,b=5;max(a,b)(int c;c=ab?a:b;return(c);void main()(int a=8;printf(,%d,max(a,b);2 3.题5.5 4下面程序的运行结果是 o答案:x=8#includevoid main()int i,j,x=O;for(i=0;i2;i-H-)x+;for(j=0;j=3;j+)(if(i%2)continue;x+;)x+;)printf(,x=%d nn,x);24.下面程序的输出结果是#includevoid main()int i=3 j=2;char*a=DCBA“;printf

44、f9%c%c nu,ai,aj);25.下面程序的输出结果是#includeVoid invert(int s9int i9int j);int main()int a6=10,2030,40,509603;invert(a,0,5);for(i=0;i6;i+)printf(u%dreturn 0;Void invert(int s,int i,int j)int t;if(ij)invert(s,i+l,j-l);t=si;si=sj;s|j=t;26.#includevoid sub(int x,int y);int xl=30,x2=40;int main()int x3=10,x4=

45、20;sub(x3,x4);sub(x2,xl);printf(%d,%d,%d,%dn”,x3,x4,xl,x2);return 0;Void sub(int x,int y)xl=x;x=y;y=xl;产出结果是一 E:淮 言3班Debu.IF3 I 回 131 0,2 0,4 0,4 0P ress any key to continue|“!J,27.下面程序输出结果是#includeint g(int i,int j);int g(int i9 int j)if(i=j)return(i);elsewhile(ij)i-=j;return(g(j,i);void main()prin

46、tf(d n”,g(144,132);-二/一 册D-M j I。I 回12Press any key to continue4|川 I28.下面程序输出结果是#includevoid mainO(int x=1,y=0,a=0,b=0;switch(x)(case l:switch(y)(case 0:a+=l;break;case l:b+=l;break;case 2:a+=l;b+=l;break;case 3:a+=l;b+=l;)printf(,a=%d,b=%dn,a,b);五、程序填空。根据程序功能,完善下列程序。(每空2 分,共 20分)1.程序功能:将 n(设n 为 10)

47、个整数进行降序排序(冒泡法)。程序清单:#include#define N 10mainOint aN,i,*p;for(p=a;(1);p+)scanf(%d,p);(2):sort(p,10);for(i=0;iN:i+)printf(u%d”,ai);printfC n);sort(int*q,int n)int*j,i,t;(3);for(i=0:in-l;i+)for(q=j;qj+n-i-l;q+)i f(4)t=*q;*q=*(q+l);(5);答案:/答案:(l)pa+IO(2)p=a(3)j=q(4)*q*(q+l)(5)*(q+1)=t2.程序功能:建立一个链表程序清单:#

48、include#include#define NULL 0#define LEN sizeof(struct student)struct studentlong num;float score;struct student*next;卜int n:main()(struct student*head,*pl,*p2;n=(l);pl=p2=(struct student*)malloc(LEN);/*开辟一个新单元*/scanf(M%ld,%r&pl-num,&pl-score);he ad=(2);while(pl-num!=0)(n+=l;if(n=l)(3);else p2-next=

49、pl;p2=pl;pl=(struct student*)ma!loc(LEN);(4);(5);答案:2、(1)0(2)NULL(3)head=pl(4)scanf(“d%P,&P1num,&plscore)(5)p2next=NULL3、下面的程序是对数组元素中的偶数进行从大到小的顺序输出。请在指定位置填上合适的内容。#include stdio.hvoid main()static int a10=l,3,2,4,8,6,5,12,18,3;int i,(1),tmp;for(i=l;i(2);i+)fora=0;jJ3L;j+)if(ajaU+l)(tmp=aj;_(4L=aj+l;a

50、j+l|=tmp;for(i=0;i10;i+)if(ai%(5)=0)printf(%d,ai);答案:3(1)j(2)10(3)10-i(4)a(j(5)2/3,下面的程序是对数组元素中的偶数进行从大到小的顺序输出。请在指定位置填上合适的内容。Itin c lu d e s td io -h,u o id n a ln()s t a t ic i n t a 1 0=;i n t i j vtm p;F o r(i=1;i 1 0;i+)F o r(j=0;j 1 0-i;j+*)F o r(i=0;i 答 案:3 j (2)1B(3)1 0-i S)a j (5)2六、编程题:(20分)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁