2013c语言模拟试题库1.doc_第1页
2013c语言模拟试题库1.doc_第2页
2013c语言模拟试题库1.doc_第3页
2013c语言模拟试题库1.doc_第4页
2013c语言模拟试题库1.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

c语言模拟题一填空题1、以下叙述中正确的是()。(1分)a、c语言程序将从源程序中第一个函数开始执行b、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行c、c语言规定必须用main作为主函数名,程序将从此开始执行,在此结束d、main可作为用户标识符,用以命名任意一个函数作为主函数2、利用fseek函数可实现的操作()。(1分)a、fseek(文件类型指针,起始点,位移量);b、fseek(fp,位移量,起始点);c、fseek(位移量,起始点,fp);d、fseek(起始点,位移量,文件类型指针);3、c语言源程序名的后缀是()。(1分)a、.exeb、.cc、.objd、.cp4、若有如下定义变量:intk=7,x=12;则能使值为3的表达式是()。(1分)a、x%=(k%=5)b、x%=(k-k%5)c、x%=k-k%5d、(x%=k)-(k%=5)5、对for(表达式1;表达式3)可理解为()。(1分)a、for(表达式1;0;表达式3)b、for(表达式1;1;表达式3)c、for(表达式1;表达式1;表达式3)d、for(表达式1;表达式3;表达式3)6、把数学表达式-5x10表示成c语言表达式()。(1分)a、-5x10b、x-5&x=-5&x10d、-5=x,x=10ora=0b、a=0c、a=10|a=10&a=08、在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。(1分)a、a0b、!a c、a=0d、a9、以下正确的是()。(1分)a、do-while语句构成的循环不能用其它语句构成的循环来代替b、do-while语句构成的循环只能用break语句退出c、用do-while语句构成循环时,只有在while后的表达式非零时结束循环d、用do-while语句构成循环时,只有在while后的表达式为零时结束循环10、有以下程序段intn,t=1,s=0; scanf(%d,&n); dos=s+t;t=t-2;while(t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是()。 (1分)a、任意正奇数b、任意负偶数c、任意正偶数d、任意负奇数11、c语言中while和do-while循环的主要区别是()。(1分)a、do-while的循环体至少无条件执行一次b、while的循环控制条件比do-while的循环控制条件更严格c、do-while允许从外部转到循环体内d、do-while的循环体不能是复合语句12、c语言中,数组名代表()。 (1分)a、数组全部元素的值b、数组首地址c、数组第一个元素的值 d、数组元素的个数13、在c语言中,引用数组元素时,其数组下标的数据类型允许是()。 (1分)a、整型常量b、整型表达式c、整型常量或整型表达式d、任何类型的表达式14、关于c语言以下说法正确的是()。 (1分)a、只有当实参和与其对应的形参同名时才共占用存储单元b、形参是虚拟的,不占用存储单元c、实参和与其对应的形参各占用独立的存储单元d、实参和与其对应的形参共占用一个存储单元15、返回值为void的函数,其含义是()。(1分)a、调用函数之后,被调用的函数没有返回值b、调用函数之后,被调用的函数不返回c、调用函数之后,被调用的函数的返回值为任意的类型d、以上三种说法都是错误的16、c语言程序由函数组成。以下说法正确的是()。(1分)a、主函数必须在其它函数之前,函数内可以嵌套定义函数b、主函数可以在其它函数之后,函数内不可以嵌套定义函数c、主函数必须在其它函数之前,函数内不可以嵌套定义函数d、主函数必须在其它函数之后,函数内可以定义函数 17、若有定义语句int(*p)m;其中的标识符是()(1分)a、m个指向整型变量的指针b、指向m个整型变量的函数指针c、一个指向具有m个整型元素的一维数组指针d、具有m个指针元素的一维指针数组,每个元素都只能指向整型量18、若有语句:char*line5;,以下叙述中正确的是()。 (1分)a、定义line是一个指针数组,每个数组元素是一个基类型为char的指针变量b、定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组c、定义line是一个指针数组,语句中的*号称为间址运算符d、定义line是一个指向字符型函数的指针19、用c语言编写的代码程序()。 (1分)a、可立即执行b、是一个源程序c、经过编译即可执行d、经过编译解释才能执行20、若执行fopen函数时发生错误,则函数的返回值是()。 (1分)a、地址值b、0c、1d、eof21、计算机能直接执行的程序是()。(1分)a、源程序b、目标程序c、汇编程序d、可执行程序22、以下合法的赋值语句是()。(1分)a、x=y=100b、d-;c、x+yd、c=int(a+b);23、下列叙述中正确的是()。(1分)a、break语句只能用于switch语句b、在switch语句中必须使用defaultc、break语句必须与switch语句中的case配对使用d、在switch语句中,不一定使用break语句24、把数学表达式-5x10表示成c语言表达式()。(1分)a、-5x10b、x-5&x=-5&x10d、-5=x,x1025、对以下for循环:for(x=0,y=0;(y!=123)&(x4);x+,y+;叙述正确的是()。(1分)a、是无限循环b、循环次数不定c、执行了4次d、执行了3次26、在循环结构的循环体中执行break语句,其作用是()。(1分)a、结束本次循环,进行下次循环b、继续执行break语句之后的循环体中各语句c、跳出该循环体,提前结束循环d、终止程序运行27、若已定义数组:floata8;则下列对数组元素引用正确的是()。(1分)a、a0=1;b、a8=a0;c、a=1;d、a3.5=1;28、有以下函数定义:voidfun(intn,doublex),若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()。(1分)a、fun(inty,doublem);b、k=fun(10,12.5);c、fun(x,n);d、voidfun(n,x);29、有如下函数调用语句:fuc(rec1,rec2+rec3,(rec4,rec5);该函数调用语句中,含有的实参个数是()。 (1分)a、3b、4c、5d、有语法错30、以下关于return语句的叙述中正确的是()。 (1分)a、一个自定义函数中必须有一条return语句b、一个自定义函数中可以根据不同情况设置多条return语句c、定义成void类型的函数中可以有带返回值的return语句d、没有return语句的自定义函数在执行结束时不能返回到调用处31、说明语句int(*p)()的含义是()。 (1分)a、p是一个指向一个一维数组的指针变量b、p是指针变量,它指向一个整型数据的指针c、p是一个指向函数的指针,该函数的返回值是一个整型d、以上都不对32、若有定义:inta34;不能表示数组元素a11的是()。 (1分)a、*(a1+1)b、*(&a11)c、(*(a+1)1)d、*(a+5)33、设有以下说明语句 structex intx;floaty;charz;example; 则下面的叙述中不正确的是() (1分)a、struct结构体类型的关键字b、example是结构体类型名c、x,y,z都是结构体成员名d、structex是结构体类型34、当定义一个结构体变量时,系统分配给它的内存空间是()。(1分)a、结构中一个成员所需的内存量b、结构中最后一个成员所需的内存量c、结构体中占内存量最大者所需的容量d、结构体中各成员所需内存量的总和35、 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是( )。 (1分)a、-3 b、9c、-12 d、636、下列叙述中正确的是()。(1分)a、break语句只能用于switch语句 b、在switch语句中必须使用defaultc、break语句必须与switch语句中的case配对使用 d、在switch语句中,不一定使用break语句37、在循环结构的循环体中执行break语句,其作用是( )。(1分)a、结束本次循环,进行下次循环 b、继续执行break语句之后的循环体中各语句c、跳出该循环体,提前结束循环 d、终止程序运行38、对以下for循环:for(x=0,y=0;(y!=123)&(x=10 or a=0 b、a=0c、a=10 | a=10 & a=051、对以下for循环:for(x=0,y=0;(y!=123)&(xb)&(n=cd)后n的值为( )。(1分) a、1 b、2 c、3 d、4 63、若变量c为char类型,能正确判断出c为小写字母的表达式是( )。 (1分) a、a=c=a)|(c=z) c、(a=c) d、(c=a)&(c=z) 64、在c语言中,用户能使用的正确标识符是( )。(1分) a、5f b、_5f c、struct d、_f.5 65、若有以下说明和语句,int c45,(*p)5;p=c;能正确引用c数组元素的是()。 (1分) a、p+1 b、*(p+3) c、*(p+1)+3 d、*(p0+2) 66、若执行fopen函数时发生错误,则函数的返回值是()。 (1分) a、地址值 b、0 c、1 d、eof 67、计算机能直接执行的程序是( )。(1分) a、源程序 b、目标程序 c、汇编程序 d、可执行程序68、以下关于函数的叙述中正确的是()。(1分) a、每个函数都可以被其它函数调用(包括main函数) b、每个函数都可以被单独编译 c、每个函数都可以单独运行 d、在一个函数内部可以定义另一个函数 69、用c语言编写的代码程序()。 (1分)a、可立即执行b、是一个源程序c、经过编译即可执行d、经过编译解释才能执行70、在c语言中,引用数组元素时,其数组下标的数据类型允许是()。 (1分)a、整型常量b、整型表达式c、整型常量或整型表达式d、任何类型的表达式71、关于c语言以下说法正确的是()。 (1分)a、只有当实参和与其对应的形参同名时才共占用存储单元b、形参是虚拟的,不占用存储单元c、实参和与其对应的形参各占用独立的存储单元d、实参和与其对应的形参共占用一个存储单元72、c语言程序由函数组成。以下说法正确的是()。(1分)a、主函数必须在其它函数之前,函数内可以嵌套定义函数b、主函数可以在其它函数之后,函数内不可以嵌套定义函数c、主函数必须在其它函数之前,函数内不可以嵌套定义函数d、主函数必须在其它函数之后,函数内可以定义函数 73、以下定义语句中,错误的是()。 (1分)a、inta=1,2;b、char*a3;c、chars10=test;d、intn=5,an;74、若有定义:intx=0,*p=&x;,则语句printf(%dn,*p);的输出结果是()。 (1分)a、随机值b、0c、x的地址d、p的地址二、填空题(15道小题,共15分)1、是c程序的主要组成部分。(1分)2、在执行fopen函数时,ferror函数的初值是(1分)3、由顺序、选择、循环三种基本结构构成的程序叫程序。(1分)4、若k为int整型变量且赋值7,x为double型变量且赋值8.4,赋值表达式k=x的运算结果是。(1分)5、设y为int型变量,请写出描述y是奇数的表达式。(1分)6、使用sqrt()函数前必须包含头文件。(1分)7、若a=1,b=2则表达式a=0);(1分)9、执行下面程序段后,k的值是。k=1;n=263;dok*=n%10;n=n/10;while(n);(1分)10、如定义语句为chara=计算机,b=程序设计;,语句printf(%s,strcat(a,b);的输出结果为。(1分)11、字符串abn012/的长度为。(1分)12、在主调函数中调用一个函数时,函数名后面括号中的参数称为,简称。(1分)13、如果一个变量值在某一时刻是存在的,则认为这一时刻属于该变量的(1分)14、指针变量可以作为函数的参数,其作用是传递或接受一个变量的。(1分)15、 一个函数在编译时被分配一个入口地址,这个入口地址就称之为函数的。(1分)16、c程序的基本组成单位是。(1分)17、已知:inta=1,b=1,c=1;执行完表达式c=+a&b+后,变量b的值是。(1分)18、若a=1,b=2则表达式ab?a:b+1的值是。(1分)19.以下程序的功能是计算s=1+12+123+1234+12345。请填空。main()intt=0,s=0,i;for(i=1;i=5;i+)t=i+;s=s+t;printf(s=%dn,s);(1分)20.计算sum=1+1/2+1/4+.+1/50的值,并显示出来。#includemain()inti=2;floatsum=1.0;while(i=50)sum+=1/;i+=2;printf(sum=%fn,sum);(1分)21.在采用传值调用时,实参可以是常量、变量或表达式,而形参只能是。(1分)22、在主调函数中调用一个函数时,函数名后面括号中的参数称为,简称。(1分)23、 定义p为指向整型数据的指针变量的指针变量的语句为。(1分)24、赋值语句是由赋值表达式加上构成的。(1分)25、已知:inta=1,b=1,c=1;执行完表达式c=+a&b+后,变量b的值是。(1分)26、当执行以下程序时,输入01234567890,则其中while循环体将执行次。includemain()charch;while(ch=getchar()=0)printf(#);(1分)27、如定义语句为chara=计算机,b=程序设计;,语句printf(%s,strcat(a,b);的输出结果为。(1分)28、用%s输出字符串时,printf函数中的输出项是,不是数组元素名(1分)29、在函数内部定义的只在本函数内有效的变量叫。在函数以外定义的变量叫。(1分)30、有intx=2,y=3;且y+=(x+),则x=。(1分)31、以下程序的功能是求10个数中的正整数之和,请补全程序。#includestdio.hmain()ints=0,i,j;for(i=0;i=10;i+)scanf(%d,&j);if(j=0);s+=j;printf(和=%4d,s);(1分)32、以下findmax返回数组s中最大元素的下标,数组中元素的个数由t传入,请填空。findmax(ints,intt)intk,p;for(p=0,k=p;psk);returnk;(1分)33、字符串abn012/的长度为。(1分)34、函数可以相互调用,但不能调用函数。(1分)35、 可以通过字符数组名或字对一个字符串进行整体的输入输出。(1分)36、有int x=2,y=3;且y+=(x+),则x=。37、在变量说明中给同类变量赋初值时,各变量之间用隔开。 38、下面程序段中循环体的执行次数是次。a=10;b=0;do b=b+2;a-=2+b; while(a=0); 39、以下程序以每行 10个数据的形式输出a数组,请填空。 void main( ) int a50,i; printf(输入50个整数:); for(i=0;i50; i+) scanf( %d,); for(i=1;i=50;i+) if() printf( %3dn ,) ; printf( %3d,ai-1); 40、使用getchar()函数前必须包含头文件。41、在定义函数时函数名后面括号中的变量名称为。42、 c语言中,数组元素的下标下限为。 43、已知:inta=1,b=1,c=1;执行完表达式c=+a&b+后,变量b的值是。(1分)44、有intx,y,z;且x=3.2,y=4.2,z=2,则表达式z=(x+y)/z的值为。(1分)45、若a=1,b=2则表达式ab?a:b+1的值是。(1分)46、计算sum=1+1/2+1/4+.+1/50的值,并显示出来。#include main() inti=2;floatsum=1.0; while(i=50) sum+=1/;i+=2; printf(sum=%fn,sum);(1分)47、下面程序的功能是输出数组s中最大元素的下标,请填空。voidmain()intk,p;ints=1,-9,7,2,-10,3;for(p=0,k=p;psk);printf(%dn,k);(1分)48、c语言中,数组在内存中占一片的存储区。(1分)49、在主调函数中调用一个函数时,函数名后面括号中的参数称为,简称。(1分)50、如果一个变量在某个文件或函数范围内是有效的,就称该范围为该变量的。(1分)三、判断题(10道小题,共10分)1、用fopen(file,r+);打开的文件file可以修改。(1分)正确错误2、c语言中可以把一个字符串赋给一个字符变量(1分)正确错误3、若有以下定义,intm=5,y=2;则执行下面表达式y+=y-=m*=y后,y的值为-6。(1分)正确错误4、getchar函数的功能是接收从键盘输入的一串字符。(1分)正确错误5、for(;);语句相当于while(1);语句。(1分)正确错误6、puts()和gets()函数只能输入或输出一个字符。(1分)正确错误7、为了测定字符串的实际长度,c语言规定了字符串结束标志0。(1分)正确错误8、在定义函数时指定的函数类型一般应和return语句中的表达式类型一致。(1分)正确错误9、语句int*point;中的point是指针变量名。(1分)正确错误10、用结构体变量作实参时,将结构体变量所占的内存单元的内容全部按顺序传递给形参,形参也必须是同类型的结构体变量(1分)正确错误11、在c语言中,%运算符要求参加运算的数必须是整数(1分)正确错误12、在c语言中,要求对所有用到的变量先定义,然后才能使用。(1分)正确错误13、do-while语句构成的循环不能用其他语句构成的循环来代替。(1分)正确错误14、数组定义inta10;也可以写成inta(10);(1分)正确错误15、设已有说明:staticcharc110,c210;后面程序片段是合法的。c1=book;c2=c1;(1分)正确错误16、如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准,即函数类型决定返回值类型。(1分)正确错误17、可以通过指向数组的指针变量来访问一个数组元素,且可以带下标,所以pi与*(p+i)是等价的。(1分)正确错误18、 结构体类型中的成员名不能与程序中的变量名相同。(1分)正确错误19、逻辑运算符的优先级别高于算术运算符。(1分)正确错误20、在printf函数中,转义字符b的作用是退格。(1分)正确错误21、在对全部数组元素赋初值时,可以不指定数组长度。(1分)正确错误22、对静态局部变量是在编译时赋初值,以后每次函数调用时不再重新赋初值而只是保留上次函数调用结束时的值。(1分)正确错误23、指针和指针变量是一个概念(1分)正确错误24、逻辑运算符的优先级别高于算术运算符。(1分)正确错误25、在printf函数中,转义字符b的作用是退格。(1分)正确错误26、在对全部数组元素赋初值时,可以不指定数组长度。(1分)正确错误27、对静态局部变量是在编译时赋初值,以后每次函数调用时不再重新赋初值而只是保留上次函数调用结束时的值。(1分)正确错误28、指针和指针变量是一个概念(1分)正确错误29、c允许对数组的大小作动态定义,即可用变量定义数组的大小。(1分) 正确 错误 30、函数必须有返回值,否则不能使用函数。(1分) 正确 错误 31、假设有语句j=3,jp=&j;,则jp的值为变量j的地址,*jp的值为。(1分) 正确 错误 32、结构体类型中的成员名可以与程序中的变量名相同,二者代表同一对象。(1分) 正确 错误 33、int a=1,b=0,c=1;,则!(a+b)+c-0&b+c/2的值为1(1分) 正确 错误 34、do-while语句构成的循环不能用其他语句构成的循环来代替。(1分) 正确 错误 35、可以对字符型数组元素进行整体输入、输出。(1分) 正确 错误 36、可以通过指向数组的指针变量来访问一个数组元素,且可以带下标,所以pi 与*(p+i) 是等价的。(1分) 正确 错误 37、结构体类型与结构体变量是不同的概念,不能混同。(1分) 正确 错误 38、使用printf函数时,格式控制字符串和各输出项应一一对应。(1分)正确错误39、在c语言中,要求对所有用到的变量先定义,然后才能使用。(1分)正确错误40、staticcharc=abook;与staticcharc=abook;等价。(1分)正确错误41、如果是调用无参函数,则实参表及括号都可以省略。(1分)正确错误42、假设有语句j=3,jp=&j;,则jp的值为变量j的地址,*jp的值为。(1分)正确错误四、程序分析题(9道小题,共36分)1、有以下程序,执行后输出结果是什么?main()inti=0,s=0;doif(i%2)i+;continue;i+;s+=i;while(i7);printf(%dn,s);2、 如下程序的执行结果是什么?main()inti,sum=0;for(i=1;i=3;sum+)sum+=i;printf(%dn,sum);3、 阅读程序,分析程序的功能。#include#includevoidmain()chars80;inti;for(i=0;i80;i+)si=getchar();if(si=n)break;si=0;i=0;while(si)putchar(si+);putchar(n);4、 以下程序的输出结果是什么?main()inti,j,row,col,m;intarr33=100,200,300,28,72,-30,-850,2,6;m=arr00;for(i=0;i3;i+)for(j=0;j3;j+)if(arrijm)m=arrij;row=i;col=j;printf(%d,%d,%dn,m,row,col);5、 以下程序的输出结果是什么?#includeintmain()intmax(floatx,floaty);floata,b;intc;scanf(%f,%f,&a,&b);c=max(a,b);printf(maxis%dn,c);return0;intmax(floatx,floaty)floatz;z=xy?x:y;return(z);6、 以下程序的输出结果是什么?#includeintfunc(inta,intb)intc;c=a+b;returnc;voidmain()intx=6,y=7,z=8,r;r=func(x-,y+,x+y),z-);printf(%dn,r);7、 以下程序的输出结果是什么?main()inta=2,4,6,8,10,y=1,x,*p;p=&a1;for(x=0;x3;x+)y+=*(p+x);printf(%dn,y);p=&a1则p指向元8.以下程序的输出结果是什么?f(intb,intn)inti,r=1;for(i=0;i=n;i+)r=r*bi;returnr;main()intx,a=2,3,4,5,6,7,8,9;x=f(a,3);printf(%dn,x);9、以下程序的运行结果是什么?main()structexamplestructintx;inty;in;inta;intb;e;e.a=1;e.b=2;e.in.x=e.a*e.b;e.in.y=e.a+e.b;printf(%d,%d,e.in.x,e.in.y);10、以下程序的输出结果是什么?#includeintmain()intm=5;if(m+5)printf(%d,m);elseprintf(%d,m-);return0;11、以下程序的输出结果是什么?main()intarr10,i,k=0;for(i=0;i10;i+)arri=i;for(i=0;i4;i+)k+=arri+i;printf(%dn,k);12.以下程序的输出结果是什么?#includeinta=3,b=5;intmain()intmax(inta,intb);inta=8;printf(“max=%dn”,max(a,b);return0;?intmax(inta,intb)intc;c=ab?a:b;return(c);13、以下程序的输出结果是什么?#includeintmain()intf(int);inta=2,i;for(i=0;i3;i+)printf(“%dn”,f(a);return0;intf(inta)autointb=0;staticc=3;b=b+1;c=c+1;return(a+b+c);14、以下程序的输出结果是什么?main()inta=2,4,6,8,*p=a,i;for(i=0;i4;i+)ai=*p+;printf(%dn,a2);15.以下程序的输出结果是什么voidmain()inta,b;for(a=1,b=1;a=10)break;if(b%3=1)b+=3;continue;printf(%dn,a);16、有以下程序,执行后输出结果是什么?main( ) int i; for ( i=0; i3; i+ ) switch ( i ) case 1 : printf(%d , i); case 2 : printf(%d , i); default : printf(%d , i); 17、以下程序运行后,输出结果是什么?void main() int n5=3,3,3,i,k=2;for(i=0;ik;i+) ni=ni+

温馨提示

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

最新文档

评论

0/150

提交评论