C语言程序设计期末考试试题(共6页).doc

上传人:飞****2 文档编号:13862257 上传时间:2022-05-01 格式:DOC 页数:6 大小:41.50KB
返回 下载 相关 举报
C语言程序设计期末考试试题(共6页).doc_第1页
第1页 / 共6页
C语言程序设计期末考试试题(共6页).doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《C语言程序设计期末考试试题(共6页).doc》由会员分享,可在线阅读,更多相关《C语言程序设计期末考试试题(共6页).doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上本试题来自年华似水论坛 期末考试如若出现原题,纯属巧合学号: 姓名: 密封线注意:所有试题答案应写在答题纸上,否则本题无分数一二三四五六七八九总分一、选择题(每小题2分,共30分)1、C语言中用于结构化程序设计的三种基本结构是( )A)顺序结构、选择结构、循环结构 B)if、switch、breakC)for、while、do-while D)if、for、continue2、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( )A) 地址传递 B) 单向值传递c)由实参传给形参,再由形参传回实参 D) 传递方式由用户指定3、在一个C程序中 ( )A

2、)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置4、当调用函数时,实参是一个数组名,则向函数传送的是 ( )A) 数组的长度 B) 数组的首地址C)数组每一个元素的地址 D) 数组每个元素中的值5、以下程序的输出结果是( )#include “stdio.h”maini() int x=20,z;z=+x; z+=x;printf(“z1=%dn”,z);z=x-; z+=x;printf(“z2=%dn”,z);A) z1=42z2=41B) z1=41z2=42C) z1=41z2=41D)

3、z1=42z2=426、以下程序运行后,输出结果是( )#include “stdio.h”main() static int a43=1,2,3,4,5,6,7,8,9,10,11,12;int (*ptr)3=a,*p=a0;printf(“%dn”,*(p+5)+*(*(ptr+1)+2);A) 9B) 10 C) 11 D) 127、以下程序输出结果是( )main() int m=5;if(m+5)printf(“%dn”,m);else printf(“%dn”,m-); 学号: 姓名: 密封线A)7 B)6 C)5 D)48、当执行以下程序段时( )x=-1;do x=x*x;w

4、hile(!x);A)循环体将执行一次 B)循环体将执行两次C)循环体将执行无限次 D)系统将提示有语法错误9、s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是( ) A)if(s1s2)S; B)if(strcmp(s1,s2)S; C)if(strcmp(s2,s1)0)S; D)if(strcmp(s1,s2)0)S;10、在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则( )A)称为函数的直接递归调用 B)称为函数的间接递归调用C)称为函数的循环调用 D)C语言中不允许这样的递归

5、调用11、以下程序运行后,输出结果是( )#include “stdio.h”#define PT 5.5#define S(x) PT*x*xmain( ) int a=1,b=2; printf(“%4.1fn”,S(a+b); A)49.5B)9.5 C)22.0 D)45.012、有以下程序 main( ) char *p10=“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”; printf(“%dn”,strlen(p4); 执行后输出结果是( ) A) 2 B) 3 C) 4 D) 513、若有下面的说明和定义,则sizeof(struct aa)的值是( )

6、第2页 共8页学号: 姓名: 密封线struct aa intr1;char i;char k10; s;A) 11 B) 12 C) 13 D) 1414、下面程序的输出结果是( ) main() int a =1,2,3,4,5,6,7,8,9,0,*p; p=a; printf(%dn,*p+9); A) 0 B) 1 C) 10 D) 915、下列程序的运行结果是( )void fun(int *a, int *b) int *k;k=a; a=b; b=k;main() int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf(%d %d, a, b);A

7、) 63 B) 3 6 C) 编译出错 D) 0 0二、填空题(每空1分,共10分)1、在C语言中,变量名必须以【1】 或 【2】 开头,后面可以跟若干个字母、数字或下划线。2、设a=1,b=2,则表达式ab?a:b+1的值是 【3】 。3、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=ab)&(n=cd)运算后,n的值位为 【4】 。4、在格式输入中,内存地址表中必须是 【5】 ,不能是变量名。5、循环的嵌套是指一个循环体内又包含了另一个完整的 【6】 。6、在C语言中,对内存数据的存取有 【7】 和 【8】 两种方法。7、数组

8、是相同数据类型元素的集合,用统一的数组名来表示,每一个元素用【9】 来区分。8、 【10】 是指存储在外存储器上的数据的集合。 第3页 共8页学号: 姓名: 密封线三、写出下列程序运行结果(每题4分,共20分)1、以下程序运行后的输出结果是 【1】 。struct s int x,y; data=10,100; main() struct s p=data; printf(%dn,+(p.x); 2、有以下程序void f( int y,int *x)y=y+*x;*x=*x+y;main( )int x=2,y=4; f(y,&x); printf(“%d,%dn”,x,y); 执行后输出的

9、结果是 【2】 。3、以下程序的输出结果是 【3】 。main()int s,i;for(s=0,i=1;i3;i+,s+=i) ;printf(%dn,s);4、以下程序的输出结果是 【4】 。void f(int *x,int *y) int t;t=*x;*x=*y;*y=t;main() int a8=1,2,3,4,5,6,7,8,i,*p,*q;p=a;q=&a7;while(pa+4)f(p,q);p+;q-; 第4页 共8页学号: 姓名: 密封线for(i=0;i8;i+)printf(%d,a);5、有以下程序#include“stdio.h”main( ) FILE *fp

10、; int i,k=0,n=0; fp=fopen(“d1.dat”,”w”); for(i=1;i4;i+) fprintf(fp,”%d”,i); fclose(fp); fp=fopen(“d1.dat”,”r”); fscanf(fp,”%d%d”,&k,&n); printf(“%d %dn”,k,n); fclose(fp);其输出结果是 【5】 四、完善程序(每空2分,共20分)1、下面程序实现字符串复制以及计算字符串长度功能,请填空。int str_copy(str1,str2) char *str1,*str2; int k; k0; while( 【1】 ) str2kst

11、r1k; kk1; str2k【2】; return(【3】);#include stdioh main() char str120,str220; intk; printf(input str1: ); scanf(%s,str1); printf(str1%sn,str1); kstr_copy(【4】); printf(str2%sn,str2); 第5页 共8页学号: 姓名: 密封线 printf(k%dn,k);2、以下函数的功能是计算s=1+1/2!+1/3!+1/n!,请填空。double fun(int n)double s=0.0,fac;int i; 【5】 ;for(i=

12、1;i=n;i+)fac=【6】; s=s+1/fac;return【7】;3、顺序输出50100之间的素数。 #include”stdio.h” #include”math.h” main() int j=0,n,k,i,flag; for(【8】n100;n=n+2) k=sqrt(double)n); i=2; flag=0; while( 【9】 )&(flag=0) if(n%i=0) 【10】 i=i+1;if ( flag=0 )j=j+1;printf(“%d”,n);五、编程题(每小题10分,共20分)1、从键盘输入10个数,利用选择法对其进行排序并输出结果。(排序按从小到大

13、的顺序)2、从键盘输入两个正整数,求其最大公约数并输出结果。(要求主函数实现数据输入、输出以及调用;另外再写一个函数求最大公约数,并用主函数调用)。答案20042005学年第2学期“高级语言程序设计(C语言)“试题答案及评分标准 A一、 选择题(每小题2分,共30分)1 2 3 4 5 6 7 8A B B B A D B A9 10 11 12 13 14 15 D B B A C C B 二、 填空题(每空1分,共10分)1、 字母 下划线 2、 3 3、 0 4、 变量地址 5、 循环结构 6、 直接存取 、 间接存取 7、 下标 8、 文件 三、写出下列程序运行结果(每题4分,共20分

14、) 1、 11 2、 8, 4 3、 5 4、 1,2,3,4,5,6,7,8, 5、 123 0 四、完善程序(每空2分,共20分)1、 str1k!0 2、 0 3、 k 4、 str1,str2 5、 fac=1.0 6、 fac*i 7、 s或(s) 8、 n=51;或48,49,509、 ( i=k 10、 flag=1; 五、编程题(每一小题10分,共20分) 1、 从键盘输入10个整数,利用选择法对其进行排序(从小到大)并输出结果。(要求用数组实现)“高级语言程序设计(C语言)“试题答案及评分标准A程序1: #include stdio.hmain()int i,j,k,p;st

15、atic int s10;for(i=0;i10;i+) scanf(%d,&s); 2分for(i=0;i=n-2;i+) k=i; 2分 for(j=i+1;jn;j+) if(sjsk)k=j; 2分 if(k!=i) p=s;s=sk;sk=p; 3分 for(i=0;in) k=m;m=n;n=k; 2分 while(m!=0) k=n%m;n=m;m=k; 4分 return(n); 1分 #includestdio.h main() int m,n; doprintf(input m and n:);scanf(%d%d,&m,&n); while(m=0)|(n=0); 1分printf(%dn,fac(m,n); 2分专心-专注-专业

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

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

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

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