1、c语言题库模拟题模拟一字符串efg的长度是:(C).A、3B、11C、7D、5设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为(A)。A、doubleB、不确定C、intD、float下列语句的结果是(B)。main() int j; j=3;printf(%d,+j); printf(%d,j+);A、3,3B、4,4C、3,4D、4,3逻辑表达式!(2-1)&x|0的值是(B )A、1B、0C、3D、2int a=1,b=2,c=3; if(ab)a=b; if(ac)a=c; 则a的值为(C)。A、3B、2C、1D、不一定执行语句 for(i=1;i+4;)
2、; 后变量 i 的值是(B)。A、3B、5C、4D、不定以下正确的描述是(A ).A、只能用continue语句来终止本次循环B、switch语句中不能出现continue语句C、在循环中break语句不能独立出现D、goto语句只能用于退出多层循环下面合法的语句定义是( A).A、char a =0,1,2,3,4,5;B、int a =string;C、int a5=0,1,2,3,4,5;D、char a=string;char a10;不能将字符串abc存储在数组中的是(B)。A、int i;for(i=0;i3;i+)ai=i+97;ai=0;B、a=abc;C、strcpy(a,a
3、bc);D、a0=0;strcat(a,abc);在C语言中,一维数组的定义方式为:类型说明符 数组名(B)。A、整型常量或整型表达式B、正整型常量表达式C、整型表达式D、常量表达式在定义全局变量和局部静态变量的同时赋值,变量的初始化在( C)时确定的.A、运行B、编辑C、编译D、调试关于建立函数的目的,以下正确的说法是(A)。A、提高程序的可读性B、减少程序文件所占内存C、减少程序的篇幅D、提高程序的执行效率以下函数调用语句中实参的个数是(D)。 func(e1,e2),(e3,e4,e5);A、3B、5C、语法错误D、2设有宏定义#define SUB(x,y) (x)*y,且a=3,b=
4、4,则 SUB(a+,b+) 的值为(D ).A、13B、16C、20D、12变量p为指针变量,若p=&a,下列写法不正确的是(A)。A、*(p+)=a+B、&*p=&aC、(*p)+=a+D、*&a=a下列程序正确的运行结果为(C ).#includemain()union uchar *name;int age;int income; s;s.name=WANGLING;s.age=28;s.income=1000;printf(%dn, s.age);A、8B、28C、1000D、不确定定义my_file 为文件型指针变量,使用fopen只读方式打开一个已存在的二进制文件,以下正确的调用
5、形式为(C ).A、my_file=fopen(my.dat, r);B、my_file=fopen(my.dat, rb+);C、my_file=fopen(my.dat, rb);D、my_file=fopen(my.dat, r+);若i =3,则printf(%d,-i+);输出的值为 -4。错格式字符%x用来以八进制形式输出整数.错设u=1,v=2,w=3,则逻辑表达式u|v-w&v+w的值为0.错已知a=4,b=2,c=3,d=5,表达式ab?a:cd?c:d的值为3.错break语句能够终止当前进行的多层循环.错break语句不能终止正在进行的多层循环.对若有定义和语句:int
6、a33=3,5,8,9,12,35,i,sum=0;for(i=0;iz&y=z的值为_.【参考答案】0int x=2,y=3,z=4; 则表达式x+y&(x=y)的值为_.【参考答案】1C语言中,二维数组在内存中的存放方式为按_优先存放.【参考答案】行函数调用时的实参和形参之间的数据是单向的_传递.【参考答案】值结构体是不同数据类型的数据集合,作为数据类型, 必须先说明结构体_,再说明结构体变量.【参考答案】类型调用 fopen 函数打开一文本文件,在使用方式这一项中, 为输入而打开需填入_.【参考答案】r+r模拟二以下程序段 char *alp=ABC,DEF,GHI; int j; pu
7、ts(alp1); 的输出结果是(D)。A、DB、AC、BD、DEF下列表达式中,可作为C合法表达式的是(D)。A、3.0%2B、3=2=1=0C、3,2,1,0D、(3,2,1,0)下面程序的 正确输出结果是(A ).(规定用U表示空格)main() float x=5.783,y= -10.2345; printf (x=%-8.2f ,y=%-8.2f n, x,y);A、x=5.78UUUU,y=-10.23UUB、x=5.78,y=-10.23C、5.78,-10.23D、x=UUUU5.78,y=UU-10.23当x为偶数或奇数时(0除外),其值都为0的表达式是:( C)A、(x/
8、2*2-x)=0B、x%2=0C、!x!=0D、!(x%2)下列运算符优先级最低的是(A ).A、=B、+C、!D、&设有如下程序段: int k=10; while(k=0) k-;则下述说明中正确的是(A ).A、循环体一次也不执行B、循环体执行一次C、死循环D、循环体执行10次从循环体内某一层跳出,继续执行循环外的语句是(C )。A、continue语句B、空语句C、break语句D、return语句以下对一维整型数组a的正确说明是(D)。A、int a(10);B、int n; scanf(%d,&n); int an;C、int n=10,an;D、#define SIZE 10 (
9、换行) int aSIZE;以下定义语句中,错误的是(A)。A、int n=5,an;B、int a=1,2;C、char s10=test;D、char *a3;下面叙述中不正确的是(C ).A、可以对字符型数组进行整体输入和输出.B、不可以对浮点型数组进行整体输入和输出.C、可以对整型数组进行整体输入和输出.D、字符型数组可以存放字符串.函数定义时的参数为形参,调用函数时所用的参数为实参,则下列描述正确的是(C ).A、实参与形参是双向传递B、形参可以是表达式C、形参和实参可以同名D、实参类型一定要在调用时指定以下错误的描述是:函数调用可以(D)。A、出现在执行语句中B、做为一个函数的实参
10、C、出现在一个表达式中D、做为一个函数的形参以下不正确的说法是:C语言规定(C)。A、实参可以是常量,变量或表达式B、实参可以为任何类型C、形参可以是常量,变量或表达式D、形参应与其对应的实参类型一致下列形式,不属于编译预处理命令的是(D ).A、#ifdef MB、#undef MC、#if (M1)D、while (M1)下面判断正确的是(D)。A、char c4=abc,d4=abc;等价于 char c4=d4=abc;B、char str10=china;等价于char str10;str=china;C、char *a=china;等价于 char *a;*a=china;D、ch
11、ar *s=china;等价于 char *s;s=china;若有以下结构体定义:struct example int x; int y; v2;则( D)是正确的引用或定义.A、example.x=10;B、struct v2;v2.x=10;C、example v2;v2.x=10;D、struct example v2=10,3;若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为(D)。A、-1B、1C、一个非0值D、0如果有一个字符串,其中第十个字符为n,则此字符串的有效字符为9个。错格式字符%o用来以十六进制形式输出整数.错已知a=3,b=4,c=5
12、,则逻辑表达式!(ab) & !c|1的值为1.对已知x=2,y=2, 执行分支语句 if(x=y) y=1; else y=-1;后,=-1.错continue语句对于while和do-while循环来说,意味着转去计算While表达式.对在do-while循环中,根据情况可以省略while.错对于字符数为n个的字符串,其占用的内存为n+1个字节空间.对puts 函数用来输出一个字符.错引用数组元素时,下标可以是整型表达式或整型常量.对函数调用结束后,静态局部变量所占用的空间被释放.错在一个函数中定义的静态局部变量可以被另一个函数调用.错当全局变量与局部变量同名时,在局部变量的作用域范围之内
13、,全局变量起作用.错计算机编译系统对宏定义在编译时进行语法检查.错若定义 int array5 , *p; 则赋值语句 p=array;是正确的.对共同体变量所占的内存长度等于最长的成员的长度。对C语言中,打开一个文件就意味着产生了一个文件.错设x的值为15,n的值为2,则表达式x%=(n+=3)运算后x的值是_.【参考答案】0已知a=-13,b=6, a%b的十进制数值为_.【参考答案】-1已知a=12,写出表达式 0a&a5)?0:1; 执行后整型变量 a 的值是_.【参考答案】1C语言中,数组名是一个不可变的_常量,不能对它进行加减和赋值运算.【参考答案】指针地址C语言中一个函数由函数首
14、部和_两部分组成.【参考答案】函数体设有以下共用体类型说明和变量定义,则变量c在内存所占字节数是 _。 union stud short int num; char name10; float score5; double ave; c;【参考答案】20在C语言中,关闭文件即是文件指针不再指向该_.【参考答案】文件模拟三sizeof(float)是(C)。A、一个浮点表达式B、一个不合法的表达式C、运算结果是一个整型表达式。D、一种函数调用下列数据中属于字符串常量的是(B )。A、AB、ABCC、ABCD、ABC用下面的scanf函数输入数据,使得i=10,k=15选择正确的键盘输入方法( B
15、).(用CR表示回车,U表示空格)main()int i,k; scanf(i=%d,k=%d,&i,&k);A、i=10CRk=15CRB、i=10,k=15CRC、10U15CRD、10,15CR逻辑表达式33-!0的值为:(A )A、1B、3C、0D、2下列运算符中是C语言关系运算符的是(C)。A、&B、C、!=D、!语句while(!E);中的表达式!E等价于(D)。A、E=1B、E!=0C、E!=1D、E=0以下正确的描述是(A ).A、只能在循环体内和switch语句内使用break语句B、continue语句的作用是终止整个循环的执行C、从多层嵌套的外层循环中退出时,只能使用go
16、to语句D、在循环体内使用break和continue语句的作用相同下面各语句中,能正确进行赋字符串操作的语句是(B ).A、char s15 =ABCDE;B、char s26=A,B,C,D,E;C、char st =ABCDE;D、char s5=A,B,C,D,E;若有说明: int a34=0;则下面正确的叙述是(A)。A、数组a中每个元素均可得到初值0B、只有元素a00可得到初值0C、数组a中各元素都可得到初值,但其值不一定为0D、此说明语句不正确若有说明 int a34;则a数组元素的非法引用是(B)。A、a13B、a04C、a02*1D、a4-20执行下面程序后,输出结果是(D
17、)。main() int a,b,c; a=45,b=27,c=0; c=max(a,b); printf(%dn,c);int max(int x,int y) int z; if(xy) z=x; else z=y; return(z); A、72B、18C、27D、45以下正确的描述是:在C语言程序中(B)。A、函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和函数的调用均可以嵌套D、函数的定义和函数的调用均不可以嵌套在C语言的函数中,下列正确的说法是(B)。A、形参可以是常量和变量B、可以有也可以没有形参C、数组名不能作形参D、必须
18、有形参设有宏定义#define PI 3.14 和#define S(r) PI*r*r,则S(2)的值为(B ).A、6.28B、12.56C、3.14D、9.42int a10=1,2,3,4,5,6,7,8;int *p;p=&a5;p-3的值是(D)。A、4B、2C、不一定D、3若有以下程序段,则使用错误的选项是(C ).struct studentint num;int age;struct student stu3 =1001,20,1002,19,1004,20;main();struct student *p;p=stu;A、(*p).numB、(p+)-numC、p=&stu
19、.ageD、p+若以a+方式打开一个已存在的文件,则以下叙述正确的是(A)。A、文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作B、以上各种说法皆不正确C、文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作D、文件打开时,原有文件内容被删除,只可作写操作#define 和printf 都不是C语句。对格式字符%x用来以十六进制形式输出整数.对语句if(ab) printf(%d,a); else printf(%d,b);可以用条件表达式ab?a:b取代.错逻辑表达式-5&!8的值为1.错循环结构中的continue语句是使整个循环终止执行 错fo
20、r循环语句不能用于循环次数未知的情况下.错引用数组元素时,数组元素下标必须是整型常量.错数组的首地址一定是第一个数组元素的地址. 对 数组整体不参加数据处理(即不参加各种运算),参加数据处理的只能是数组的元素.对数组名作为函数调用时的实参,实际上传递给形参的是数组全部元素的值.错在主函数中,必须要对被调用函数进行类型说明,否则在编译时会出现错误.错在一个函数中定义的静态局部变量不能被另外一个函数所调用.对计算机编译系统对宏定义在编译时进行语法检查.错指向某一变量的指针,就是该变量的内存地址.对对于不同类型的数据,若想合成一个有机的整体,可以引用结构体进行定义。对在打开文件时,必须说明文件的使用
21、方式,r表示以只读方式打开一个文件.对int x=2;z=x+-1; 则x的值为_.【参考答案】3设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为_.【参考答案】2.5设x=62,表达式x=60&x278的值是_.【参考答案】0字符串比较的库函数是_,只写函数名即可. 【参考答案】strcmp从函数的形式上看,函数分为无参函数和_两种类型. 【参考答案】有参函数设有以下共用体类型说明和变量定义,则变量a在内存所占字节数是 _。 union stud char num6; float s4; double ave; a,*p; 【参考答案】16在C语言中
22、,根据要处理的文件存储的编码形式,可以把文件分为ASCII文件和_文件. 【参考答案】二进制模拟四下列数据中,为字符串常量的是( D)。A、AB、How do you do.C、$abcD、house以下所列的C语言常量中,错误的是( B)。A、0xFFB、1.2e0.5C、2LD、72以下程序的输出结果是(D)。main()float x=3.6; int i; i=(int)x; printf(x=%f,i=%dn,x,i);A、x=3.600000,i=4B、x=3 i=3.600000C、x=3,i=3D、x=3.600000,i=3若k是整型,则以下程序段的执行结果是:(B ) k=
23、-3; if(k=0) printf(#) else printf(&);A、#B、有语法错误,无结果C、&D、#&若x=2,y=3则x|y的结果是(C )。A、3B、0C、1D、2针对下列程序段回答问题(B ).for(t=1;t=100;t+) scanf(%d,&x); if(x=0时什么也不输出B、最多允许输出100个非负整数C、printf函数永远也不执行D、当x0时整个循环结束以下程序的执行结果是(B )。 main() int num = 0; while( num = 2 ) num+; printf( %d,num ); A、0,1,2B、1,2,3,C、1,2,3,4,D、
24、1,2,选择正确的输入语句( )。:(其中:char string20;)使得string的内容为I am student.DA、scanf(%s, string);B、scanf(%c, &string);C、scanf(%s, &string);D、gets(string);对以下说明语句 int a10=6,7,8,9,10; 的正确理解是(B)。A、将5个初值依次赋给a6至a10B、将5个初值依次赋给a0至a4C、因为数组长度与初值的个数不相同,所以此语句不正确D、将5个初值依次赋给a1至a5以下标识符中可以作为用户函数名的是( D ).A、structB、intC、unionD、go
25、_to以下叙述错误的是( B ).A、函数调用可以出现在一个表达式中B、函数调用可以作为一个函数的形参C、函数调用可以作为一个函数的实参D、函数允许递归调用若用数组名作为函数的实参,传递给形参的是(B)。A、数组第一个元素的值B、数组的首地址C、数组元素的个数D、数组中全部元素的值在C语言程序中(B)。A、函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和函数调用不可以嵌套D、函数的定义和函数调用均可以嵌套下列说法中正确的是(B ).A、函数调用不占运行时间,只占编译时间.B、宏替换不占运行时间,只占编译时间.C、有参数的宏定义,就是函数.D、在定义宏时,宏名与带参数的括弧之间可以加空格.若有说明:int *p,m=5,n;以下正确的程序段是(D)。A、scanf(%d,&n);*p=n;B、p=&n;scanf(%d,*p)C、p=&n;scanf(%d,&p);D、p=&n;scanf(%d,p);对于下述定义,不正确的叙述是(B ).union dataint i;char c;float f;a,b;A、变量a的地址和它的各成员地址都是相同的B、可以在定义时对a初始化C、变量a所占内存的长度等于成员f的长度D、不能对变量a赋值
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1