1、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、
2、.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不
3、等于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、任意
4、正奇数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语言以下
5、说法对的的是()。 (1分)A、只有当实参和与其相应的形参同名时才共占用存储单元B、形参是虚拟的,不占用存储单元C、实参和与其相应的形参各占用独立的存储单元D、实参和与其相应的形参共占用一个存储单元15、返回值为void的函数,其含义是()。(1分)A、调用函数之后,被调用的函数没有返回值B、调用函数之后,被调用的函数不返回C、调用函数之后,被调用的函数的返回值为任意的类型D、以上三种说法都是错误的16、C语言程序由函数组成。以下说法对的的是()。(1分)A、主函数必须在其它函数之前,函数内可以嵌套定义函数B、主函数可以在其它函数之后,函数内不可以嵌套定义函数C、主函数必须在其它函数之前,函数
6、内不可以嵌套定义函数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是一个指向字符型
7、函数的指针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语句中的ca
8、se配对使用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;则下列对数组元素引
9、用对的的是()。(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、一个自
10、定义函数中必须有一条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、设有以下说明语句 str
11、uctex 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、下列叙述中对的的是()。(
12、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!=
13、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函数时发生错误,则函数的返回值是()。
14、 (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
15、、任何类型的表达式71、关于C语言以下说法对的的是()。 (1分)A、只有当实参和与其相应的形参同名时才共占用存储单元B、形参是虚拟的,不占用存储单元C、实参和与其相应的形参各占用独立的存储单元D、实参和与其相应的形参共占用一个存储单元72、C语言程序由函数组成。以下说法对的的是()。(1分)A、主函数必须在其它函数之前,函数内可以嵌套定义函数B、主函数可以在其它函数之后,函数内不可以嵌套定义函数C、主函数必须在其它函数之前,函数内不可以嵌套定义函数D、主函数必须在其它函数之后,函数内可以定义函数 73、以下定义语句中,错误的是()。 (1分)A、inta=1,2;B、char*a3;C、ch
16、ars10=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分
17、)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、 一个函数在编译时被分派一个入口地址,这个入
18、口地址就称之为函数的。(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+=
19、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、当执行以下程序时,输入,则其中while循环体将执行次。includemain()charch;while(ch=getchar()=0)printf(#);(1分)27
20、、如定义语句为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、以下
21、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、以下程序以每行
22、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,则表达
23、式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、
24、在主调函数中调用一个函数时,函数名后面括号中的参数称为,简称。(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
25、()函数只能输入或输出一个字符。(1分)对的错误7、为了测定字符串的实际长度,C语言规定了字符串结束标志0。(1分)对的错误8、在定义函数时指定的函数类型一般应和return语句中的表达式类型一致。(1分)对的错误9、语句int*point;中的point是指针变量名。(1分)对的错误10、用结构体变量作实参时,将结构体变量所占的内存单元的内容所有按顺序传递给形参,形参也必须是同类型的结构体变量(1分)对的错误11、在C语言中,%运算符规定参与运算的数必须是整数(1分)对的错误12、在C语言中,规定对所有用到的变量先定义,然后才干使用。(1分)对的错误13、do-while语句构成的循环不能用
26、其他语句构成的循环来代替。(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分)对的错误
27、20、在printf函数中,转义字符b的作用是退格。(1分)对的错误21、在对所有数组元素赋初值时,可以不指定数组长度。(1分)对的错误22、对静态局部变量是在编译时赋初值,以后每次函数调用时不再重新赋初值而只是保存上次函数调用结束时的值。(1分)对的错误23、指针和指针变量是一个概念(1分)对的错误24、逻辑运算符的优先级别高于算术运算符。(1分)对的错误25、在printf函数中,转义字符b的作用是退格。(1分)对的错误26、在对所有数组元素赋初值时,可以不指定数组长度。(1分)对的错误27、对静态局部变量是在编译时赋初值,以后每次函数调用时不再重新赋初值而只是保存上次函数调用结束时的值。
28、(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
29、、可以对字符型数组元素进行整体输入、输出。(1分) 对的 错误 36、可以通过指向数组的指针变量来访问一个数组元素,且可以带下标,所以pi 与*(p+i) 是等价的。(1分) 对的 错误 37、结构体类型与结构体变量是不同的概念,不能混同。(1分) 对的 错误 38、使用printf函数时,格式控制字符串和各输出项应一一相应。(1分)对的错误39、在C语言中,规定对所有用到的变量先定义,然后才干使用。(1分)对的错误40、staticcharc=abook;与staticcharc=abook;等价。(1分)对的错误41、假如是调用无参函数,则实参表及括号都可以省略。(1分)对的错误42、假设
30、有语句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);36、 如下程序的执行结果是什么?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=getc
31、har();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;i
32、ntc;scanf(%f,%f,&a,&b);c=max(a,b);printf(maxis%dn,c);return0;intmax(floatx,floaty)floatz;z=xy?x:y;return(z);43、 以下程序的输出结果是什么?#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);
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100