C语言程序设计期末考试试题_第1页
C语言程序设计期末考试试题_第2页
C语言程序设计期末考试试题_第3页
C语言程序设计期末考试试题_第4页
C语言程序设计期末考试试题_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、)A)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

4、;while(!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)

7、;A) 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 *

10、fp; 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】 ) str2k

11、str1k; 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(

12、i=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分,共2

14、0分) 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;static 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)

温馨提示

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

评论

0/150

提交评论