资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
南京信息工程大学试卷2009 2010 学年第1学期程序设计基础/C语言程序设计课程试卷(A卷)本试卷共2页;考试时间分钟;任课教师;出卷时间2010年丄月学院专业 2009年级班 学号姓名得分一、单项选择题 (每小题 1分,共 12分)1. 一个C程序的执行是从A. 本程序的main函数开始,到main函数结束B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C. 本程序的main函数开始,到本程序文件的最后一个函数结束D. 本程序文件的第一个函数开始,到本程序main函数结束2. 下面四个选项中,均是不合法的用户标识符的选项的是A. A p_o do B. float lao_AC. b-a whileint D. _123 temp INT3. 表达式18/4*sqrt(4.0)/8值的数据类型为A.floatB. charC. doubleD.不确定4设有如下定义struct ss char name10;int age;char sex;std3,*p=std;下面各输入语句中错误的。A. scanf(%d,&(*p).age);B. scanf(%s,&std.name);Cscanf(%c,&std0.sex);Dscanf(%c,&(p-sex);5. 有如下定义:int a34=l,3,5,7,9,ll,13,15,17,19,21,23, (*p) 4;下面表示正确的是A.p=a0;B.p=*a;C.p=&a00;D.p=a;6. 能正确表示“当x的取值在1,10和200,210范围内为真,否则为假”的表达式 。A. (x=1) & (x=200) & (x=1) | | (x=200) | | (x=1) & (x=200) & (x=1) | | (x=200) | | (x=210)7. 以下程序段的循环次数是。for (i=2; i=0; ) printf(“d”,i-);A.无限次B. 0次C1 次D2 次8 下面程序执行的输出结果 。#includeint main ( ) int x=-1,y=4,k; k=x+=0 & !(y-=0); printf(“%d,%d,%d”,k,x,y); return 0;A. 0,0,3B. 0,1,2C. 1,0,3D. 1,1,29. 若程序中定义了以下函数double myadd(double a,double b) return (a+b);并将其放在调用语句之后 , 则在调用之前应该对函数进行说明 , 以下选项中错误的说 明是。A.double myadd(double a, b);B.double myadd(double,double);C.double myadd(double b,double a);D.double myadd(double x,double y);10. 以下不能正确定义二维数组的选项。A.int a22=1,2;B.int a 2=1,2,3,4;C.int a22=1,2,3;D.int a2 =1,2,3,4;11. 以下可作为函数fopen中第一个参数的正确格式是。A. c:usertext.textB.c:usertext.txtC. ”c:usertext.txt”D.”c:usertext.txt”12. 若运行以下程序时,输入2473/,则程序的运行结果是。#include int main ( ) int c; while (c=getchar( ) !=n) switch (c-2) case 0 :case 1 : putchar (c+4) ; case 2 : putchar (c+4) ; break ;case 3 : putchar (c+3) ; default : putchar (c+2) ; break ; printf(“n”); return 0;B. 668966D. 6688766A. 668977C. 66778777二、基础知识填空(每空 2 分,共 20 分)1. 结构化程序设计的基本结构有顺序结构、分支结构和结构。2. 若a是int型变量,则表达式(a=4*5, a*2), a+6的值为。丨x y3数学表达式的C语言表达式是。abc4. C语言中,数组名是一个不可改变的,不能对它进行赋值运算。5. 设有数组定义:char array =China;则数组array所占的空间为6. 若有定义#define ADD(x)x+x int m=1,n=2,k=3,sum ;则执行语句sum = ADD(m+n)*k后,sum的值为。7. 若有定义语句:int a4 = 0,l,2,3,*p;p=&al;则+(*p)的值是。8. 若有函数声明“int sub(int (*x1)() , int *x2);”,则形式参数x1是指向的指针变量。9. 函数返回值的类型是由决定的。10. 有以下程序,其运行结果是 void main( ) char *s =one,two,three,*p; p=s1;printf(%sn,p+1); 三、程序阅读题(每题 3 分,共 24 分)1. 输入100,200回车后,下面程序执行结果是#includevoid swap(int *,int *);int main()int a, b, *pa=&a, *pb=&b; scanf(“%d,%d”,&a,&b);swap (pa,pb); printf(“*pa=%d,*pb=%dn”,*pa,*pb);printf(“a=%d,b=%dn”,a,b)return 0;void swap (int *p1,int *p2)int p;p=*p1; *p1=*p2;*p2=p;2. 下面程序的运行结果#includevoid inv(int x, int n);int main() int i,a10=1,2,3,4,5,6,7,8,9,10;inv(a,10);for(i=0;i10;i+) printf(%d ,ai);printf(n); return 0;void inv(int x, int n) int t,i,j,m=(n-1)/2; for(i=0;i=m;i+) j=n-1-i; t=xi; xi=xj; xj=t;3. 以下程序运行后的输出结果 #includeint fun(int);int main()int i,a=5; for(i=0;i3;i+) printf(%3d,fun(a);printf(n); return 0;int fun(int a) int b=0;static int c=3; b+;c+; return(a+b+c);4. 下面程序运行的结果是。#includeint getsum(int );int main()int m=9,sum; sum=getsum(m); printf(sum=%dn,sum); return 0;int getsum(int k)if(k=1)return 1;elsereturn k+getsum(k-1);5. 下列程序的输出结果的第一行 ,第二行 。#include int main()char a80, b80, *p=”aAbBcdDefgGH”;int i=0, j=0;while(*p!=0)if (*p=a&*p=z)ai=*p;i+;elsebj=*p;j+;p+;ai=bj=0;puts(a);puts(b);return 0;6下面程序执行后输出结果的#include#include struct studentchar name10;long sno;float score; ;int main( )struct student a=Zhangsan ,1001,95 ,b=Shangxian,1002,90,c=Anhua ,1003,95,d, *p=&d;d=a;if(strcmp(a.name , b.name)0) d=b;if(strcmp(c.name , d.name)0) d=c;printf(%ld ,%sn,d.sno,p-name);return 0;7以下程序运行后输入:3,abcde回车,则输出结果是。#include #include void move(char *,int);int main( ) char s50; int n, i, z; scanf(%d,%s,&n,s); z=strlen(s); for(i=1;i0;i-) stri=stri-1; str0=temp;8输入25,下面程序执行的结果#include#includeint main()int m,i,k; scanf(%d,&m); k=sqrt(m);for(i=2;ik) printf(%d is a prime numbern,m);elseprintf(%d is not a prime numbern,m); return 0;四、程序填空题(每空 2 分,共 24 分)1.以下程序输出x,y,z三个数中的最小值,补足所缺语句。 #include int main ( )int
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号