C语言程序设计试题.doc

上传人:wux****ua 文档编号:10126986 上传时间:2020-04-10 格式:DOC 页数:8 大小:40.52KB
返回 下载 相关 举报
C语言程序设计试题.doc_第1页
第1页 / 共8页
C语言程序设计试题.doc_第2页
第2页 / 共8页
C语言程序设计试题.doc_第3页
第3页 / 共8页
点击查看更多>>
资源描述
C语言程序设计 试 题(2008 /2009 学年 第 二 学期)一二三四五六七八九十总分 一选择题(满分30分,每题2分)1.若a、b、c都定义为int类型且初值为0,则以下不正确的赋值语句是 D 。 A. a=b=c+8; B. a+=y+3;C. c+; D. a+b+c2. 已知int j,i=1;执行语句“j=i+;”后,变量i的值是 B 。A. 1 B. 2 C. 1 D. -23.执行下面程序:#include stdio.hvoid main() int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3); printf(“%d,%d,%d”,a,b,c); 则输出结果是: A 。 A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,54若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 D 。A. a0 B. !a C. a=0 D. a5. for (j=0;j11;j+);循环结束后,j的值是 B 。A. 12 B. 11 C. 10 D. 96. C语言中函数返回值的类型由 D 决定的。 A. return语句中的表达式类型 B. 调用该函数的主调函数的类型 C. 调用函数时临时决定 D. 定义函数时所指定的函数类型7. 下列说法中正确的是 B 。A 在调用用户自定义函数时,必须对其进行声明。B 函数可以返回一个值,也可以什么值也不返回。C 说明函数时,必须明确参数的类型和返回值。D 在程序设计中空函数没有什么作用。8. 若int i=10;执行下列程序后,变量i的正确结果是 D 。switch ( i ) case 0: i+=1;case 10: i+=1;case 11: i+=1;default: i+=1;A. 10 B. 11 C. 12 D. 139. 下列语句中不正确的字符串赋值或初始化的是 C 。A char str10=strings; B.char str8=s,t,r,i,n ,g,s,0;C. char str10; str= strings; D. char str= strings;10. 有如下程序:#include void main()int a=1,b=0,c=0;if (ab) if (b0) c=0; else c+;printf (“%dn”,c);该程序的运行结果是 D 。A. 3 B. 2 C. 1 D. 011. 在函数调用,对参数传递的说法正确的是 A 。A 实参和形参各占一个独立的存储单元。B 实参和形参始终共用一个相同的存储单元。C 可以由用户指定实参和形参是否共用一个存储单元。D 可以由系统指定实参和形参是否共用一个存储单元12. 以下正确的程序段是 C 。 A. char str1 = 12345, str2 = abcdef; strcpy(str1, str2);B. char str10, *st=abcde; strcat(str, st);C. char str10= , *st=abcde; strcat(str, st);D. char *st1=12345, *st2=abcde; strcat(st1, st2);13. 若有定义:int *p4;则标识符p B 。A. 是一个指向整型变量的指针B. 是一个指针数组名C. 是一个指针,它指向一个含有四个整型元素的一维数组14. 以下程序的运行结果是 C 。typedef union long a1;int b2;char c8; TEST;TEST m;main( ) printf(“%dn”,sizeof(m);A. 32 B. 16 C. 8 D. 2415. 设有以下结构体类型:struct st charname8;intnum;floats4;student50;并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘文件file.txt中,以下不正确的形式是 C 。A.fwrite(student,sizeof(struct st),50,fp);B. fwrite(student,50*sizeof(struct st),1,fp);C. fwrite(student,25*sizeof(struct st),25,fp);D. for(i=0;i50;i+)fwrite(student+i,sizeof(struct st),1,fp); 二、填空题(满分20分,每空2分)1.每个C语言编写的程序必须有一个,并且只能有一个 主 函数。2.设x和y均为int型变量,且x=1,y=2,则表达式3+x/y的值为 3 。3.若有定义:int a =2,4,6,8,10,12,*p=a;则*(p+1)的值是 4 。4.设x=0xAB,若要通过x|y使x低4位置1,高4位不变,则y= 0x0F 。5.测试char型变量m的最高位数据是否为1的表达式是 a&0x80 。6.若x=2,y=-3则x&y的结果是 1 。7.与二进制数101等值的十进制数为 5 。 8.定义int i=1;执行语句 while(i+5); 后,i的值为 6 。9.下面程序的运行结果为 22222 。#include void main()int i=2,j=5,s;s=i;for (;-j;) s=s*10+i;printf (“%d”,s);10.写出程序的执行结果: i=10,j=11 main ( ) int i=0,j=0; while (i10)i+; while (j+10) ; printf(“i=%d, j=%dn”,i,j); 三、读程序写结果(满分16分,每题4分)1. 判断下面程序的运行结果。#includevoid main() int a=0,b=1; int fun(int a,int b); printf(%dn,fun(a,b); printf(%dn,fun(a,b);int fun(int m, int n) static s=1; s+; return(s*(m+n);2程序运行的结果为: 3 。2. 以下程序的输出结果是 3,2 。#includestdio.hstructchainintx;inty;structchain*p;m2;voidmain( )m0.x=1;m0.y=2;m1.x=3;m1.y=4;m0.p=&m1;m1.p=m;printf(%d,%dn,(m0.p)-x,(m1.p)-y);3. 下面程序的运行结果是 7654321 。#include #include voidfun(char *w, int n) char t,*s1,*s2;s1=w;s2=w+n-1;while(s1s2) t=*s1;*s1=*s2;*s2=t;s1+;s2-;voidmain( )char p=1234567;fun(p, strlen(p);puts(p);4. 下面程序的输出结果为 4,2 。#includestdio.hstruct ksint a;int *b;s4,*p;voidmain( ) int n=1,i;printf(n);for(i=0;ia,(p+)-a);四、程序设计(满分34分)1. 编写一个程序,判断某一年是否为闰年。(6分)#include void main()int year;printf(“input year=”);scanf(“%d”,&year);if (year%4=0&year%100!0)|year%400=0) printf(“%4d is a leap year n”,year);elseprintf(“%4d is not a leap year n”,year);2. 用 公式求 的近似值,直到最后一项的绝对值小于 为止,请编程实现。(8分)#include “math.h”void main()int s;float n,t,pi;t=1; pi=0; n=1.0; s=1;while(fabs(t)1E-6) pi=pi+t;n=n+2;s=-s;t=s/n;pi=pi*4;printf(“pi=%10.6fn”,pi);3. 编写程序,利用子函数实现计算字符串的长度。(10分)#include intlength(char *s);voidmain( )chara100;inti;printf(Please input the string:n);gets(a);i=length(a);printf(nThe length of string is %d,i);intlength(char *s)char *p=s;while(*p)p+;return(p-s);4将一个整数字符串转换为一个整数,如-1234转换为-1234。(10分)#include #include intchnum(char *p);voidmain( )char s6;int n;gets(s);if(*s=-)n=-chnum(s+1);elsen=chnum(s);printf(%dn,n);chnum(char *p)int num=0,k,len,j;len=strlen(p);for( ;*p!= 0;p+)k=*p-0;j=(-len);while(j-0)k=k*10;num=num+k;return(num);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


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

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


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