2010年江苏二级C语言模拟试卷7.doc_第1页
2010年江苏二级C语言模拟试卷7.doc_第2页
2010年江苏二级C语言模拟试卷7.doc_第3页
2010年江苏二级C语言模拟试卷7.doc_第4页
2010年江苏二级C语言模拟试卷7.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

江苏省计算机等级考试 - 学年 第 学期 C语言程序设计试卷题号一 二三四总 分得分一、 选择题(请选择一个最合适的答案填在题前面的括号中,每题2分,15题,计30分) 1、一个C程序的执行是从( )A、main()函数开始,直到main()函数结束B、第一个函数开始,直到最后一个函数结束C、第一个语句开始,直到最后一个语句结束D、main()函数开始,直到最后一个函数结束2、下列符号可以作为变量名的是( )A、+a B、*p C、_DAY D、next day3、若定义int m=7,n=12; 则能得到值为3的表达式是( )A、n%=(m%=5) B、n%=(m-m%5)C、n%=m-m%5 D、(n%=m)- (m%=5)4、为了避免嵌套的if-else语句的二义性,C语言规定else总是与( )组成配对关系A、缩排位置相同的ifB、在其之前未配对的ifC、在其之前最近的未配对的ifD、同一行上的if5、以下叙述中正确的是( )A、函数的定义不可以嵌套,但函数的调用可以嵌套B、函数的定义可以嵌套,但函数的调用不可以嵌套C、函数的定义和调用都可以嵌套D、函数的定义和调用都不可以嵌套6、已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量103是( )A、A B、B C、C D、D7、下列语句段中不是死循环的是( )A、for (i=1;i+) B、 i=100; Sum=sum+1; while(1) i=i%100+1; if (i= =20) break;C、k=0; D、s=3379; do while (s+%2+3%2) s+; +k; while (k=0)8、以下关于字符数组的描述中错误的是( )A、字符数组可以存放字符串B、字符数组中的字符串可以整体输入和输出C、可以在赋值语句中通过运算符“=”对字符数组整体赋值D、不可以用关系运算符对字符数组中的字符进行比较9、在定义了数组int a36;后,第10个元素是A、a24 B、a13 C、a31 D、a4210、有以下程序#include stdio.h#include string.hmain() char s=sbnrb;printf(%d,%dn,sizeof(s),strlen(s);A、8,7 B、8,8 C、7,8 D、7,711、在C语言的程序中,下列叙述错误的是( )A、形参是局部变量B、不同的函数中,可以使用相同名称的变量C、在一个函数的内部,可以在复合语句中定义变量D、main()函数中定义的变量在整个文件或程序中都有效12、C语言中规定函数的返回值的类型是由( )A、return语句中的表达试类型所决定B、调用该函数时的主调用函数类型所决定C、调用该函数时系统临时决定D、在定义该函数时所指定的函数类型所决定13、已知变量a被定义为int型变量,以下定义并初始化指针变量p的语句中正确的是( )A、int p=a; B、int *p=*a; C、int p=&a; D、int *p=&a;14、若有定义char s34;以下对数组元素sij的各种引用形式中错误的是( )A、*(si+j) B、*(s+i)+j C、sij D、*(*(s+i)+j)15、下面提供的一组函数中,用于按“记录”的方式进行输入和输出的是( )A、fread(),fwrite() B、fscanf(),fprintf()C、fgets(),fputs() D、fgetc(),fputc()二、 填空题(每题2分,10题,计20分)1、c语言的语句必须以_结尾,C语言中可以利用_将一个表达式的值转换成指定的类型。2、利用TC或VC+6.0编辑C语言源程序,源程序的后缀为_._,生成的可执行程序后缀为_。3、有定义int a,b,c;则“a是偶数”的表达式是 _,若已经知道a、b、c为正数,则a、b、c构成一个三角形的条件是_。4、C语言中do-while 与while循环的主要区别是:do-while的循环体_,while语句循环体_。5、C语言中,一个自定义函数一般由两个部分组成,它们是_和_。6、C语言中的预处理命令均以_符号开头,可以出现在程序中的 _ 位置。7、C语言中,将一个变量的地址称为 _ ,存放变量地址的变量称为 _ 。8、若定义int (*p)( );则p是 _ ,而定义int * p( ); 则p是 _ 。9、C语言中,定义结构体类型的关键字是_ _ ,文件(FILE)类型由系统在_头文件中的定义10、C语言中,用基本类型变量作为函数参数只能进行 _ 传值,而通过数组(指针、全局变量)等类型变量作为函数参数可以实现 _ 传值。三、 阅读程序,按要求回答问题(每题3分,8题,计24分)1、以下程序的运行结果是_#include main()int i=5,j=6,m=i+j;printf(%d,%d,%dn,i,j,m);2、下面程序的运行结果是_ _#include main() int x=1,y=0,a=0,b=0; switch(x) case 1:switch(y) case 0: a+; break;case 1: b+; break; case 2: a+;b+; break; case 3: a+;b+; printf(na=%d,b=%d,a,b);3、阅读下面程序,设编译后生成的可执行文件名为cfile#include main(int argc,char * argv) while (argc1) +argv; printf(n%s,*argv); -argc; 如果在操作系统状态下,输入cfile computer C_LANGUAGE将显示如下:_ _4、以下程序运行时,当输入Language ProgrammingEnter,其结果是_#include main()char str30;scanf(%s,str);printf(%sn,str);5、下面的自定义函数的功能是_int fun(int n) int f; if(n0) printf(n0,data error!); else if(n= =0|n= =1) f=1; else f=fun(n-1)*n; return(f);6、阅读下面程序,该程序的运行结果是:#include int i=1;other() static int a=2; static int b; int c=10; a=a+2; i=i+32; c=c+5; printf(-OTHER-n); printf(i:%d a:%d b:%d c:%dn,i,a,b,c); b=a;main() static int a; register int b=-10; int c=0; printf(-MAIN-n); printf(i:%d a:%d b:%d c:%dn,i,a,b,c); c=c+8; other(); printf(-MAIN-n); printf(i:%d a:%d b:%d c:%dn,i,a,b,c); i=i+10; other();7、设有定义:则对将stu1变量的出生月份置为12的语句是_ _;struct student int num; char name20; struct date int month; int day; int year; birthday; stu1;8、写出下面程序的运行结果 _ #include stdio.hmain() static int a34=1,2,3,4,5,6,7,8,9,10,11,12; int *arr3=a0,a1,a2; int i,*p; p=arr; for(i=0;ic&a+cb&b+ca 4、 do-while中循环体至少执行一次 while的循环体可能一次也不执行 。5、 函数首部 函数体 。6、 “#” 任何 7、 指针 指针变量 。8、 指针 函数 。9、 struct stdio.h10、 单向 双向 六、 阅读程序,按要求回答问题(每题3分,8题,计24分)部分对酌情给分部分答对酌情给分。1、 6、6、11 2、 a=2,b=1 3、computer C_LANGUAGE4、Language5、递归求n!6、7、stu1.birthday.month=12; 8、 1 2 3 4 四、程序设计(1、2每题8分, 3题10分,3题,计26分)2、 编程实现求一元二次方程ax2+bx+c=0的根。要求:从键盘输入a、b、c的值,并把方程的根(只考虑实根)显示在屏幕上。本答案为参考答案,变量定义及赋值3分,控制与表达式 3分,其余2分。# include float x1,x2,disc,p,q; greater_than_zero(float a, float b) x1=(-b+sqrt(disc)/(2*a);x2=(-b-sqrt(disc)/(2*a); equal_to_zero(float a,float b) x1=x2=(-b)/(2*a); smaller_than_zero(float a,float b) p= -b/(2*a);q=sqrt(disc)/(2*a); main( ) float a,b,c;scanf(“%f,%f,%f”,&a,&b,&c);disc=b*b-4*a*c;if ( disc0) greater_than_zero(a,b); printf(“x1=%5.2ftx2=%5.2fnn”,x1,x2);else if(disc = =0) equal_to_zero( a,b); printf(“x1=%5.2ftx2=%5.2fnn”,x1,x2); else smaller_than_zero( a,b); printf(“x1=%5.2ftx2=%5.2fnn”,x1,x2); 2、编程实现统计文本文件(file.txt)中字符的个数。本答案为参考答案,fopen 3分,循环体3分,其余2分。 #include stdio.h#include stdlib.hmain()FILE *fp;int count=0;if (fp=fopen(c:out

温馨提示

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

评论

0/150

提交评论