C语言程序设计A(

上传人:仙*** 文档编号:134640749 上传时间:2022-08-13 格式:DOC 页数:25 大小:134KB
收藏 版权申诉 举报 下载
C语言程序设计A(_第1页
第1页 / 共25页
C语言程序设计A(_第2页
第2页 / 共25页
C语言程序设计A(_第3页
第3页 / 共25页
资源描述:

《C语言程序设计A(》由会员分享,可在线阅读,更多相关《C语言程序设计A((25页珍藏版)》请在装配图网上搜索。

1、63271C语言程序设计A模拟试题 2011年06月12日 文章浏览次数:29 资源来源:四川广播电视大学 一、选择题 1. 由C语言源程序文件编译而成的目标文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. C 2. C语言程序的基本模块为( )。 A. 表达式 B. 标识符 C. 语句 D. 函数 3. x0 | y=5的相反表达式为( )。 A. x=0 | y!=5 B. x0 | y!=5 D. x0 & y=5 4. 枚举类型中的每个枚举常量的值都是一个( )。 A. 整数 B. 浮点数 C. 字符 D. 逻辑值 5. 循环语句“for(int i=0; i

2、A. 1 B. n-1 C. n D. n+1 6. 在下面的while循环语句中,其循环体被执行的次数为( )。 int i=0,s=0; while(sname等价的表达式是_。 C语言程序设计A 形成性作业(1-1) 四川电大 2011年04月26日 文章浏览次数:57 资源来源:四川广播电视大学 一、选择题 1. 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。 Amain BMAIN Cname Dfuntion 2C语言原程序文件的缺省扩展名为(A)。 Acpp Bexe Cobj DC 3由C语言目标文件连接而成的可执行的缺省扩展名为(B)。 Acpp Bex

3、e Cobj DC 4程序运行中需要从键盘输入多于一个数据时,各数据之间应使用(D)符号作为分隔符。 A空格或逗号 B逗号或回车 C回车或分号 D空格或回车 5每个C语言程序的编译错误分为(B)类。 A1 B2 C3 D4 6设x 和y 均为逻辑值,则x & y为真的条件是(A)。 A它们均为真 B其中一个为真 C它们均为假 D其中一个为假 7设有语句“int a=12;a+=a*a;”,则执行结束后,a 的值为(C)。 A12 B144 C156 D288 8x0 & x=10的相反表达式为(A)。 Ax10 Bx10 Cx=0 | x0 & x10 9字符串“a+b=12n”的长度为(B)

4、。 A6 B7 C8 D9 10在下列符号常量定义中。错误的定义语句格式为(C)。 Aconst M1=10; Bconst int M2=20; Cconst M3 10 Dconst char mark=3; 11带有随机函数的表达式rand()%20的值在(C)区间内, A119 B120 C019 D020 12当处理特定问题时的循环次数已知时,通常采用(A)循环来解决。 Afor Bwhile Cdo-while Dswitch 13在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(B)语句。 Afor Bif Cdo Dwhil

5、e 14for语句能够被改写为(D)语句。 A复合 Bif Cswitch Dwhile 15下面循环语句执行结束后输出的i值为(B)。 for(int i=0;in/2)coutIAn/2 Bn/2+1 Cn/2-1 Dn-1 16在下面循环w语句中内层循环体S语句的执行次数为(D)。 for(int i=0;ifor(int j=i;jAn2 B(n+1)/2 Cn(n-1)/2 Dn(n+1)/2 17在下面的do循环语句中,其循环体被执行的次数为(A )。 int i=0;do i+;while(i*i5的相反表达式为_x+yb | b=5的相反表达式为_a5 | by逻辑值为_fal

6、se_。 35若x=5,y=10,则x=y逻辑值为_true_。 36假定x=5,则执行“a=(x?10:20);”语句后a的值为_10_。 37执行“typedef int DataType;”语句后,在使用int定义整型变量的地方都可以使用_DataType_来定义整型变量。 38在switch语句中,每个语句标号所含保留字case后面的表达式必须是_整型_。 39作为语句标号使用的C保留字case和default只能用于_switch_语句的定义体中。 40在switch语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时(停止/不停止)_不停止

7、_执行。 41若do循环的“尾”为“while(+i10)”,并且i的初值为0,同时在循环体不会修改i的值,由循环体将被重复执行_10_次后正常结束。 42当在程序执行到_break_语句时,将结束本层循环语句或switch语句的执行。 43在程序中执行到_return_语句时,将结束所在函数的执行过程,返回到调用该函数的位置。 44在程序执行完_主(main)_函数调用后,将结束整个程序的执行过程,返回到操作系统或C语句集成开发环境界面窗口。C语言程序设计A 形成性作业(1-2) 电大 2011年04月26日 文章浏览次数:50 资源来源:四川广播电视大学 一、选择题 1. 在下面的一维数组

8、定义中,(C)语句有语法错误。 Aint a=1,2,3; Bint a10=0; Cint a; Dint a5;n 2在下面的二维数组定义中,(C)语句是正确的。 Aint a5; Bint a5; Cint a3=1,3,5,2; Dint a(10) 3假定一个二维数组的定义语句为“int a34=3,4,2,8,6;”,则元素a12的值为(C)。 A2 B4 C6 D8 4假定一个二维数组的定义语句为“int a34=3,4,2,8,6;”,则元素a21的值为(A)。 A0 B4 C8 D6 5将两个字符串连接起来组成一个字符串时,选用(C)函数。 Astrlen() Bstrcap

9、() Cstrcat() Dstrcmp() 二、填空题 1假定一维数组的定义为“char * a8;”,则该数组所含元素的个数为_8_。 2假定一维数组的定义为“char * a8;”,则该数组所占存储空间的字节数为_32_。 3假定二维数组的定义为“int a35”,则该数组所占存储空间的字节数为_60_。 4假定二维数组的定义为“char aMN;”,则该数组所所含元素的个数为_M*N_。 5假定二维数组的定义为“double aMN;”,则每个数组元素的行下标取值范围在_0M-1_之间。 6假定二维数组的定义为“double aMN;”,则每个数组元素的列下标取值范围在_0N-1_之间

10、。 7使用“typedef char BB1050;”语句定义_BB_为含有10行50列的二维字符数组类型。 8存储字符a需要占用存储器的_1_个字节空间。 9空字符串的长度为_0_。 10存储一个空字符串需要占用_1_个字节。 11字符串”a:xxk数据”的长度为_11_。 12用于存储一个长度为n的字符串的字符数组的长度至少为_n+1_。 13strcmp函数用于进行两个字符串之间的_大小比较_。 14Strcpy函数用于把一个字符串_复制到_另一个字符数组空间中。 15一个二维字符数组a1020能够存储_ 10_个字符串。 16一个二维字符数组a1020能够存储的每个字符串的长度至多为_

11、19_. C语言程序设计A形成性作业(2-1) 电大 2011年04月26日 文章浏览次数:28 资源来源:四川广播电视大学 三、写出下列每个程序运行后的输出结果 1. #include void main() int a10=12,39,26,41,55,63,72,40,83,95; int i,i1=0,i2=0; for(i=0;i10;i+) if(ai%2=1)i1+;else i2+; printf(%d %dn,i1,i2); 输出结果为: 6 4 Press any key to continue 2. #include #include void main() int i;

12、 char *a5=student,worker,cadre,soldier,peasant; char *p1,*p2; p1=p2=a0; for(i=0;i0)p1=ai; if(strcmp(ai,p2)0)p2=ai; printf(%s %sn,p1,p2); 输出结果为: worker cadre Press any key to continue 3. #include int a10=4,5,6,15,20,13,12,7,8,9; void main() int i,s0,s1,s2; s0=s1=s2=0; for(i=0;i10;i+) switch(ai%3) cas

13、e 0:s0+=ai;break; case 1:s1+=ai;break; case 2:s2+=ai;break; printf(%d %d %dn,s0,s1,s2); 输出结果为: 42 24 33 Press any key to continue 4. #include void main() char a=abcdbfbgacd; int i1=0,i2=0,i=0; while(ai) if(ai=a)i1+; if(ai=b)i2+; i+; printf(%d %d %dn,i1,i2,i); 输出结果为: 2 3 11 Press any key to continue

14、5. #include void main() int a34=1,2,7,8,5,6,10,6,9,12,3,4; int m=a00; int ii=0,jj=0; int i,j; for(i=0;i3;i+) for(j=0;jm)m=aij;ii=i;jj=j; printf(%d %d %dn,ii,jj,aiijj); 输出结果为: 2 1 12 Press any key to continue 6. #include void main() int a,b; for(a=1,b=2;bb)return 1; else if(a=b)return 0; else return

15、-1; 函数功能为: 根据实参a大于、等于或小于实参b,返回1,0或-1 2. #include int SC(int a,int b,int c) if(a=b & a=c)return a; if(b=a & b=c)return b; return c; 函数功能为: 返回实参a、 b、c中的最大数 3.double SF(double x,int n) /n为大于等于0的整数 double p=1,s=1; for(i=1;i=n;i+) p*=x; s+=p/(i+1); return s; 函数功能为: 计算x+x2/2+x3/3+xn/(n+1)的值 4. #include in

16、t SC(int x) int a=(int)sqrt(x); int i=2; while(i=a) if(x%i=0)break; i+; if(i=0)return 0;else return 1; 函数功能为: 判断一个整数是否是素数 5. #include void trans(int x) char a10; int i=0,rem; do rem=x%16; x=x/16; if(rem0)printf(%c,a-i); printf(n); 函数功能为: 将一个整数化成十六进制数 C语言程序设计A 形成性作业(2-3) 电大 2011年04月26日 文章浏览次数:160 资源来

17、源:四川广播电视大学 五、根据下列每个题目要求编写程序 1.编写一个函数,函数头格式为“void fun4(char *a , int b)”,分别求出由字符指针a所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b的相应元素。 #include void fun4(char* a,int b) do if(*a=0 & *a5的最小n值。 #include void main() double sum=0; int n=1; while(true) if(sum + 1/(double)n 5)break; else sum += 1/(double)n; n+; prin

18、tf(%d, %lfn,n,sum); 5. 编写一个主函数,求满足不等式22+42+n2=1000)break; else i+=2; while(true); printf(i=%d,s=%d,i,s); 6. 编写一个主函数,计算并输出n 的值,其中n值由键盘输入。 #include void main() int s=0,n; printf(请输入n的值:); scanf(%d,&n); for(int i=1;i=0;j-)/为x顺序向前寻找合适的插入位置 if(xaj)aj+1=aj; else break; aj+1=x; void main() int i; int a6=20

19、,15,32,47,36,28; InsertSort(a,6); for(i=0;i6;i+)printf(%d ,ai); printf(n); 输出结果为: 47 36 32 28 20 15 Press any key to continue C语言程序设计A 形成性作业(3-3) 电大 2011年04月26日 文章浏览次数:28 资源来源:四川广播电视大学 6. #include void main() int a8=3,5,7,9,11,13,15,17; int i,*p=a; for(i=0;i=k)c+; return c; 函数功能为: 返回数组中前n个其值大于等于k的元素

20、之和 3. #include #include #include const int N=10; int ff(int x,int y) int z; printf(%d + %d = ,x,y); scanf(%d,&z); if(x+y=z)return 1;else return 0; void main() int i,a,b,c=0; srand(time(0); /初始化随机数系列 for(i=0;ia=rand()%20+1; /rand90函数产生0-32767之间的一个随机数 b=rand()%20+1; c+=ff(a,b); printf(得分:%dn,c*10); 函数

21、功能为: 函数ff让两个数相加,要求输入其和,判断结果是否正确。在主函数中用随机函数产生两个20以内的随机整数,通过10次调用这个函数,算对一次得10分,计算所得分 4. int fun6(int m,int n,int b=2) if(melse if(m%b=0 & n%b=0)return b*fun6(m/b,n/b,b); else return fun6(m,n,+b); 函数功能为: 此函数带有一个默认参数,若使用默认值,则通过递归调用,返回前2参数的最小公倍数; 不使用默认值时,若最后一个参数不小于前2个参数,则返回前2参数之乘积; 否则,通过递归调用,返回前2参数最小公倍数的

22、n倍数。 5. #include #include void LI(int n) int * a=(int *) malloc(n*sizeof(int); int i; for(i=0;ifor(i=n-1;i=0;i-)printf(%d ,*(a+i); printf(n); free(a); 函数功能为: 将从键盘输入的n个整数逆序输出 6. #include int LK(double a,int n) double s=0;int i,m=0; for(i=0;is/=n; for(i=0;i=s)m+; return m; 函数功能为: 求不小于数组元素之平均值的各元素之和(前n

23、个) _ 应加入此4字,否则D亦对 必须强制类型转换!否则提示cannot convert from void * to int * C语言程序设计A 形成性作业(4) 电大 2011年04月26日 文章浏览次数:42 资源来源:四川广播电视大学 三、写出下列每个程序运行后的输出结果 1. #include struct Worker char name15; /姓名 int age; /年龄 float pay; /工资 ; void main() struct Worker x=wanghua,52,23.50; struct Worker y,*p; y=x;p=&x; printf(%

24、s %d %6.2fn,y.name,y.age,y.pay); printf(%s %d %6.2fn,p-name,p-age,p-pay); 输出结果为: wanghua 52 23.50 wanghua 52 23.50 Press any key to continue 2. #include #include struct Worker char name15; /姓名 int age; /年龄 float pay; /工资 ; void main() struct Worker x; char *t=louting; int d=38;float f=493; strcpy(x.

25、name,t); x.age=d;x.pay=f; x.age+;x.pay*=2; printf(%s %d %6.2fn,x.name,x.age,x.pay); 输出结果为: louting 39 986.00 Press any key to continue 3. #include #include struct Worker char name15; /姓名 int age; /年龄 float pay; /工资 ; int Less(struct Worker r1,struct Worker r2) if(r1.ageelse return 0; void main() str

26、uct Worker a4=abc,25,420,def,58,638,ghi,49,560,jkl,36,375; struct Worker x=a0; int i; for(i=1;iname); p=f; while(-n) p=p-next=(StrNode*)malloc(sizeof(struct StrNode); scanf(%s,p-name); p-next=NULL; return f; 假定结构struct StrNode的定义如下: struct StrNode char name5; struct StrNode *next; ; 函数功能为: 建立一个具有n个结

27、点,每个结点的类型是StrNode的链表 3. struct IntNode* FindMax(struct IntNode *f) struct IntNode *p=f; if(!f)return NULL; f=f-next; while(f) if(f-data data)p=f; f=f-next; return p; 假定结构struct StrNode的定义如下: struct IntNode int data; struct IntNode * next; ; 函数功能为: 在一个具有n个结点,每个结点的类型是IntNode的链表中寻找data值最大的结点 4. int Cou

28、nt(struct IntNode *f) int c=0;while(f) c+; f=f-next; return c; 假定结构struct StrNode的定义如下: struct IntNode int data; struct IntNode * next; ; 函数功能为: 计算一个具有n个结点,每个结点的类型是IntNode的链表的结点数 5. struct IntNode* Input(int n) struct IntNode *f,*p; f=(IntNode*)malloc(sizeof(struct IntNode); if(n=0)return NULL; f-next=NULL; printf(从键盘输入 %d 个整数:,n); while(n-) scanf(%d,&(f-data); p=f; f=(IntNode*)malloc(sizeof(struct IntNode); f-next=p; ret

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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