C模拟考试题及参考答案1(08级).doc_第1页
C模拟考试题及参考答案1(08级).doc_第2页
C模拟考试题及参考答案1(08级).doc_第3页
C模拟考试题及参考答案1(08级).doc_第4页
C模拟考试题及参考答案1(08级).doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计模拟试题1(08级)一、 单选题(说明:红色选项为答案)1、有以下程序:main( ) ; ; ;程序运行后的结果是( ):A编译时有警告错误B编译时有语法错误C编译没有错误,但是运行时出错D程序正常运行,但是无任何输出2、若有输入语句scanf(%d,%d,%d ,&x,&y,&z) ;,欲使x的值为10,y的值为20,z的值为30,则正确的输入应为( ):A. 10 , 20 ,30回车B. 10 20 30回车C. 10,20,30回车D. 10回车20回车30回车3、x为int型变量,执行以下语句后,x的值为( )。 x=10; x+=x-=x-x;A10B20C30D404、在引用数组元素时,其下标表达式的类型必须是( )。A. 字符型B. 整型C. 整型或字符型D. 整型常量5、对定义int a2; 的正确描述是( )。A. 定义一维数组a,包含a1和a2两个元素B. 定义一维数组a,包含a0和a1两个元素C. 定义一维数组a,包含a0、a1和a2三个元素D. 定义一维数组a,包含a(0)、a(1)和a(2)三个元素6、以下运算符中,优先级最高的是( )。A. !B. C. +D. %7、以下叙述中正确的是( )。A在C语言中静态变量在未赋值时,其值为0B在C语言中任何变量在未赋值时,其值为0C外部变量在程序的任何函数中均有效D函数中任何一个局部变量均无法保留上一次调用时的运行结果8、已经有以下函数定义:fun (char a) printf(“a=%cn”, a); 该函数的返回值类型是( )。AvoidBcharCintD不确定9、以下关于函数调用的描述中错误的是( )。A实参可以是常量、表达式或有确定值的变量B实参和形参共用同一内存单元C实参和形参的类型、个数必须一致D只有发生函数调用时,系统才为形参分别存储空间10、调用fopen函数打开一个文件失败时,函数返回的值是( ):A. -1B. EOFC. NULLD. 111、feof(fp)函数是用来测试fp所指的文件是否结束,如果文件结束,则feof(fp)返回的值是( ):A. 0B. 1C. NULLD. 以上答案都不对12、设a、b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是( )。A. a =bB. !(ab)&!c|1)C. a&bD. a|b+c&b-c13、设有语句char a=72;则变量a( )。A. 包含1个字符B. 包含2个字符C. 包含3个字符D. 说明不合法14、表示关系x=y=z的c语言表达式为( )。A. (X=Y=Z) B. (X=Y)AND(Y=Z)C. (X=Y)&(Y=Z)D. (X=Y)&(Y=Z)15、若变量x和y均为整型,且x=y=1,则表达式y+=x+1的值为( )。A. 3B. 2C. 1D.无正确结果16、设有以下宏定义:#define N 3#define Y(n) (N+1)*n)则执行语句:z=2*(N+Y(5+1);后,z的值为( ):A出错B48C54D4217、以下不正确的if语句是( )。A. if (ab) & (bc) printf(max=%d,a);18、关于if后面一对圆括号中的表达式,叙述正确的是( )。A. 只能用关系表达式B. 只能用逻辑表达式C. 只能用关系表达式或逻辑表达式D. 可以使用任意合法的表达式19、在C程序中,不合法的浮点型常量是( ):A3.4E2.5B.456C0.820000D100.3e520、C程序中,合法的关键字是( ):A. intB. integerC. IntD. Integer21、若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元:int *p;p= ( )malloc(sizeof(int);则应填入()A. int *B. (int *)C. (*int)D. int22、设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是( )AP2=k;BP1=P2;Ck=*P1+*P2;Dk=*P1*(*P2);23、设有如下的程序段: char str=Hello; char *ptr; ptr=str; 执行上面的程序段后,*(ptr+5)的值为( )。A. o B. 0C. 不确定的值D. o的地址 24、执行循环语句for (i=1; i10; i+) a+;后,变量i的值是( )。A. 9B. 10C. 11D. 不确定25、C语言中while和do-while循环的主要区别为( )。A. do-while的循环体至少无条件执行一次B. while的循环控制条件比do-while的循环控制条件严格C. do-while允许从外部转到循环体内D. do-while的循环体不能是复合语句26、有以下程序段: int t=0; while(t=1) t-; while循环执行的次数是( )。A. 一次也不执行B. 只执行一次C. 无限次D. 执行2次27、While 语句中循环结束的条件是while后面表达式的值是( )。A. 0B. 1C. -1D. 非028、在下列结构变量st的定义中,不正确的是( )。A. struct student int num; float score; st; B. struct student int num; float score; ; student st; C. struct int num; float score; st; D. struct int num; float score; student; student st; 29、在VC 6.0中,若有以下共用体说明:union uu float x;double y;char z; luck;luck所占存储单元字节数为( ):A. 8B. 4C. 13D. 130、在VC 6.0中,若有以下说明:(注意是在VC6.0中)struct st int x;float y;union unchar a10;double b2;则:sizeof(struct st) 的值为( ):A. 34B. 22C. 42D. 2445、下面的程序可以实现从10个数中找出最大值和最小值功能,请填空。 #include int max,min; find(int *p, int n) int *q; max=min=*p;for(q=p;q*q) min=*q; void main ( ) int I,num10;printf(Input 10 numbers:n);for(i=0;i10;i+) scanf(%d,&numi);find(num, 10);printf(max=%d,min=%dn,max,min); 46、统计学生成绩中不及格的学生名单。#includestruct studentlong num;char name20;float score;stu6=9910110,”wangling”,85,9910111,”liming”,90.5,9910112,”fengyong”,90.5,9910113,”fangjun”,56,9910114,”sunping”,77.5,9910115,”kongxiao”,50.5;void main()struct student *p;int count=0;printf(“不及格名单:n”);for(p=stu; pscorenum, p-name, p-score);printf(“不及格人数:%dn”,count);47、下面程序是实现1+1/2+1/4+1/6+1/50的值,请填空:void main() int i=2;float sum=1;while (i=50)sum= sum +1/(float)i;i=i+; i+ +;printf(“sum=%fn”,sum)48、下面程序输入一个字符串,输出其中所出现过的大写英文字母如输入字符串 “UKSDYckjsjsjJSJJD”;应输出“UKSDYJ”。按程序功能填空。#include void main() char a80, b26;int i,j,k=0; gets(a);for(i=0;ai!=0;i+)if(ai=A&ai=Z) for(j=0;jk;j+)if (bj=ai) break; if(j=k) bk=ai; k+; bk = 0;for(i=0; istrlen(b) ;i+) printf(%c ,bi);printf(n); 49、下面的程序将浮点数写到文件test中,然后读出并显示。#includevoid main() FILE *fp;float f=12.34;if( fopen(“test”,“wb”)=NULL) printf(Cannotopen file. );exit(l);fwrite(&f,sizeof(float),1,fp);rewind(fp) ;fread(&f,sizeof(float),1,fp);printf(“%fn”,f);fclose(fp); 二、 编程题50、打开C:CAADATA50中的源程序文件pg307.cpp,按要求补充程序并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分),要求为:编写判断一个年份是否为闰年的函数leapyear(),并在主函数调用该函数输出19002100年之间的所有闰年。闰年的条件是:能被4整除但不能被100整除,或者能被400整除。#include void main() int leapyear (int year); int year; printf(19002100年之间的所有闰年是:n);for(year=1900;year=2100;year+)if(leapyear(year)=1) printf(%8d,year); int leapyear (int year) int leap;if(year%4=0&year%100!=0|year%400=0) leap=1;else leap=0;return(leap);51、打开C:CAADATA51中的源程序文件pg106.cpp,补充程序使得程序运行时完成以下功能:从键盘输入3个数,并按由大到小的顺序输出。并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。#includevoid main() int a,b,c,t; scanf(%d,%d,%d,&a,&b,&c); if(ab) t=a;a=b;b=t; if(ac) t=a;a=c;c=t; if(bc) t=b;b=c;c=t; printf(%d,%d,%dn,a,b,c);52、打开C:CAADATA52中的源程序文件pg207.cpp,补充程序并以原文件名保存(不得删除原文件中的注释内容,否则

温馨提示

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

评论

0/150

提交评论