C程序设计试卷7试卷及答案_第1页
C程序设计试卷7试卷及答案_第2页
C程序设计试卷7试卷及答案_第3页
C程序设计试卷7试卷及答案_第4页
C程序设计试卷7试卷及答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、A. ap-5C. pi9.若用数组名作为函数调用的实参,传递给形参的是、单项选择题(20题,每题2分,共40分)1 . 一个C语言程序是由 组成的。A.主程序B.子程序C .函数D .过程2 .判断char型变量cl是否为小写字母的最简单且正确的表达式为 。A.'a'<=c1<='z'B. (c1>=a)&&(c1<=z)C. ('a'<=c1)|('z'>=c1)D. (c1>='a')&&(c1<='z')3 .为

2、了判断两个字符串 si和s2是否相等,应当使用 。A. if (s1=s2)B. if (s1=s2)C. if (strcpy(s1 , s2)D. if( strcmp(s1,s2) = 0 )4 .设a,b都是int型变量,则表达式:(a=2,b=5,a>b? a+ : b+ ,a+b) 的值为。A. 7B. 8C.D. 25 .设x、y和t均为int型变量,则以下语句:t=x; x=y; y=t ;的功能是 A.把x和y按从大到小排列B.把x和y按从小到大排列C.无确定结果D.交换x和y中的值6 .下面标识符中,合法的用户标识符为。A. P#Ad7 .循环语句while (!E)

3、;中的表达式 丘等价于。A. E! =0B. E! = 1C. E =D. E = 18 .设有以下语句,则 不是对a数组元素的正确引用,其中00i<10inta10 = 0,1,2,3,4,5,6,7,8,9;int*p = a ;供选择的答案是:B. *(&ai)D. *(a+i)A.数组的首地址B.数组第一个元素的值D.数组元素的个数C.数组中全部元素的值10 .下面四段程序中,不是死循环的程序段是A. int i=100 ;k=0 ;while (1)do +k ; i=i%100+1; while (k>=0);if (i>100)break ;s=3379

4、 ;while (s);s+ ;(;);11 .在一个文件中定义的全局变量的作用域为 。A.本程序的全部范围;B.本文件的全部范围;C.函数内的全部范围;D.从定义该变量的位置开始到文件结束。12 .下面的程序执行后,文件 test . t中的内容是 o#include <>#include<string . h>void fun (char *fname , char *st ) FILE *myf ;int i ;myf=fopen (fname, "w");for (i=0 ; i<strlen (st) ; i+ )fputc (sti

5、 , myf);fclose (myf);main () fun ("test . t" , "new world");fun ("test . t" , "hello ,");A) hello ,B) new worldhello ,C) new worldD) hello,world13 .若有以下定义和语句int a=3,b=4, *q,*w,*p;p=&a;q=&b ;q=NULL;则以下选项中错误的语句是A *p=a ; B w=p ;C *q=0 ;14.以下语句中,指针s所指字符串的长

6、度为char*s= "n ;A. 13B. 12C . 1415 .若调用一个函数,且此函数中没有A.没有返回值C.能返回一个用户所希望的函数值16 .有以下程序main() int m3=1,4,7,2,5,8,3,6,9;int i,j,k=2;for(i=0 ; i<3 ; i+) printf("d ,mki);执行后输出结果是A. 4 5 6 B.2 5 8 C.17 .下列程序的输出结果为#defineSQR(x)x*xD *p=*w;D. 10return语句,则正确的说法是:该函数 。B.返回若干个系统默认值D.返回一个不确定的值3 6 9 D. 7

7、8 9main()int a=10, k=2, m=1;a/=SQR(k+m);printf("d n , a);A. 12D. 918.设有以下程序段:char a = " study ", *p ;p=a;B. 8C.printf ( " %d , * (p+5);执行后的结果为:A 111B、0C、 104D、不确定19.设有下列程序段,则 scanf函数调用语句中对结构体变量成员的不正确引用为 。 struct student char name20;int age;char sex;stu5, *p;p=stu;A. scanf("%

8、s", );B. scanf("%d”, p->age);C. scanf("%c”, &(p->sex);D. scanf("%d”, &stu0.age);20.已知 static int a =5, 4, 3, 2, 1, *p =a+3 , a+2, a+1, a,*q=p ;则表达式:*(p0+1)+ *(q +2 ) 的值是 oA. 5B . 4C.6D.7二、程序填空题(每空 2分,共20分)1、 求 1 + 1/2 +1/4 + 1/6 + + 1/100 的值。#include ”main(

9、) int i =2 ;float sum ;while ( i <=100) sum =; printf (" sum = %f ”, sum);2、 以下程序的功能是:从键盘输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。main() float x1000, sum = , ave, a ;int n=0, i;printf( "Entern );scanf( "%f',&a);while(a>= && n<1000)sum =sum+a;xn=;n+; scanf(

10、" % f ",); ave= ;printf(“Output:n” );printf(“ave=%f n” ,ave);for(i=0; i<n; i+) if()n” ,xi);4、将输入的百分制成绩转换成相应的等级。10090分为A, 8980分为B60分以下为Emain() int score,temp;char grade;scanf("%d",&score); if(score =100) temp=9; elsetemp= ;switch( )case9 :grade='A' break;case8:grade

11、='B' break;case7:grade='C' break;case6:grade='D' break;printf ("Score=%dGrade=%cn", score, grade);三、程序阅读题(每题 4 分,共 20 分)1、以下程序运行后,输出结果是#include ""main( ) char ch='A'int x=8;while (ch<='H') printf("%c,",ch);ch+=2;printf("n&

12、quot;);do x-;if (x%3=0) continue;printf("%d,",x); while (x>0);2、以下程序运行后,输出结果是int func(int a, int b) static int m=0,i=2;i+=m+1;m=i+a+b;return(m);main() int k=4,m=1,n;n=func(k, m);printf(“%d,” , n);n=func(k, m);printf(“%d ” , n);3、下面程序的运行结果是: 。void swap(int *a,int *b) int *t;t=a; a=b; b=t

13、;main() int x=3,y=5,*p=&x,*q=&y;swap(p,q);printf( "d n ,*p,*q);4、下面程序的运行结果是: 。#include ""main() int i,j;char ch;for(i=1;i<5;i+) for(j=1;j<20-i;j+) printf("");ch='A'for(j=1;j<=2*i;j+) printf("%2c”,ch+);printf("n");5、以下程序运行后的输出结果是int fun

14、c(int a,int b) return (a+b);main() int x=2,y=5,z=8,r;r=func(func(x,y),z);printf("%dn",r);四、编程题(二题中任选两题,每题 10分,共20分)1、用递归方法求n!2、从键盘输入十个数,按升序排列后输出排序的结果,请按以下要求完成,要求:1)、必须用主、子函数调用完成程序。2)、其中十个数的输入及排序后的结果输出在主函数中实现。3)、排序功能在子函数中实现。3、从键盘输入一串字符,对其中的的字母,数字及其他字符的数目进行统计,并输出统计结果, 方法不限。A卷参考答案一.单项选择题(20题,

15、每题2分,共40分)1. C 2. D 3. D 4. B 5. D 6. D 7. C 8. A 9. A 10. C12. A 13. C 14. A 15. D 16. C 18. D 19. B 20. A二、程序填空题(每空 2分,共20分)1、sum或 sum=1; sum + / i , i = i + 2;2、a、&a> sum/n、xi卜ave3、(score-score%10)/10; 或 score/10 , temp , default : grade='E'三、程序阅读题(每空 2分,共20分)1、A,C,E,G,7,5,4,2,1,2、

16、8, 173、3, 54、A BA B C DA B C D E FA B C D E F G H5、15四、编程题(20分,任选2题,每题10分)1、main()结构正确1分 int n , t;变量及函数说明正确2分long fact(int);scanf("%d",&n);确 1 分t=fact(n);printf("n%d",t);long fact(int n) long s;if (n=1)s=1;elses=n*fact(n-1);return s;确 1 分2、 main()分 int a10, i ;void sort(int

17、b);for(i=0;i<10;i+)正确1 分scanf( “%d” ,&ai);sort(a);printf("n");for(i=0;i<10;i+)printf("%d, ",ai);void sort( int b )输入正调用语句正确 1 分函数类型及形参正确1 分递归公式 1 正确1 分递归公式 2 正确2 分返值正结构正确1变量定义及函数说明正确2 分函数调用及参数传递正确1 分输出正确1 分输入结构正确1 int i,jfor(i=0;i<9;i+)排序正确3分for(j=9;j>i;j-)if(aj<aj-1)t=aj,aj=aj-1,aj-1=t;3、 #include ""main()确1 分char str100,*st;int d,x,s,q;zm=sz=qt=0;gets(str);确1 分for(st=str;*st!='0'

温馨提示

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

最新文档

评论

0/150

提交评论