




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
三、单项选择题(在每小题的四个备选答案中选出一个正确的。)注:题目之前打上字母A的为基础题,B为中等难度,C为难度较大的题目1、一个C程序的执行是从 。A、本程序的main函数开始,到main函数结柬B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束2、以下叙述正确的是 。A、在C程序中main函数必须位于程序的最前面B、C程序的每行中只能写一条语句C、C语言本身没有输入输出语句D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误3、以下叙述不正确的是 。A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面4、C语言规定:在一个源程序中,main函数的位置 。A、必须在最开始B、必须在系统调用的库函数的后面C、可以任意D、必须在最后5、一个C程序是由 。A、一个主程序和若干子程序组成 B)、函数组成C、若干过程组成 D)、若干子程序组成6、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为 。A)、charint=long int=floatdoubleB、charintlong intfloatdoubleC、charintlong int=float=doubleD、charintlong int=float=double7、若x、i、j和k都是int型变量,则计算下面表达式后,x的值为 。 x=(i=4,j=16,k=32)A、 4 B、 16 C、 32 D、 528、假设所有变量均为整型,则表达式(a=2,b=5,b,ab)的值是 。A、 7 B、 8 C、 6 D、 29、在C语言中,char型数据在内存中的存储形式是 。A、补码 B、反码 C、原码 D、 ASCll码10、设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是 。A、n=(n*100+0.5)/100.0 B、 m=n*100十05, n=m100.0C、nn*1000.5100.0 D、n=(n1000.5)/100.011、表达式 184*sqrt(4.0)/8值的数据类型为 。A)、 int B)、 float C)、 double D)、不确定12、设C语言中,一个int型数据在内存中占2个字节,则unsigned nit型数据的取值范围为 。A、0255 B、 032767 C、065535 D、 0214748364713、设有说明;char w;int x;float y;double z;则表达式w-xz-y值的数据类型为 。A、 float B、char C、 int D、 double14、若有以下定义,则能使值为3的表达式是 。Int k=7,X=12;A、 X=(k=5) B、 X=(k-k5)C、 X=k-k5 D、(X=k)-(k=5)15、putchar函数可以向终端输出一个 。A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值16、逻辑运算符两侧的的运算对象的数据类型 。A、 只能是或1 B、只能是0或非0正数C、只能是整型或是字符型数据 D、可以是任意类型数据17、下列运算符中优先级最高的是 。A、=1)&(x=200)&(x=1)&(x=200)&(x=1)|(x=200)|(x=1)&(x=200)|(x=210)19、判断char型变量CH是否为大写字母的正确表达式 。A、A=CH=A)&(CH=A)&(CH=Z) D、(A=CH)20、设x,y和z是int变量,且x=3,y=4,z=5,则下面表达式中值为0的是 。A、x&yB、x=yC、x|y+z&y-zD、!((x=y&chy)z=x;x=y;y=z;A、x=10,y=20,z=30B、x=20,y=30,z=30C、x=20,y=30,z=10D、x=20,y=30,z=2024、当a=1,b=3,c=5,d=4时。执行完下面一段程序后x 的值是 。if(ab)if(cd)x=1;elseif(ac)if(bd) x=2;else x=3;else x=6;else x=7;A、1B、2C、3D、625、以下程序的运行结果是 。main()int k=4,a=3,b=2,c=1;printf(“n%dn”,ka?k:cb?c:a);A、4B、3C、2D、126、执行以下程序后,变量a,b,c的值分别为 。int x=10,y=9;int a,b,c;a=(-x=y+)?-x:+y;b=x+;c=y;A、a=9,b=9,c=9B、a=8,b=8,c=10C、a=9,b=10,c=9D、a =1,b=11,c=1027、设有程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是 。A、 while循环10次B、循环是无限循环C、循环体一次也不执行D、循环体只执行一次28、语句while(!E);中的表达式!E等价于 。A、E=0B、E!=1C、E!=0D、E=129、下面程序段的运行结果是 。int n=0;while(n+=2);printf(“%d”,n);A、2B、3C、4D、有语法错误30、下面程序段的运行结果是 。 x=y=0; while(xs2)B、if(a=b)C、if(strcpy(s2,s1)0)D、if(stcmp(s1s2)0)43、以下有关建立函数的目的说法中正确性的是 。 A、提高程序的执行效率B、提高程序的可能性C、减少程序的篇幅D、减少程序文件所占用的内存44、以下正确的函数定义是 。 A、double fun(int x,int y)B、double fun(int x;int y)C、double fun(int x,int y);D、double fun(int x,y);45、以下有关函数的形参和实参的说法中正确的是 。A、实参和与其对应的形参各占用独立的存储单元B、实参和与其对应的形参各占用一个的存储单元C、只有当实参和与其对应的形参同名时才占用一个的存储单元D、形参是虚拟的,不占用存储单元46、以下说法正确的是 。A、定义函数时,形参的类型说明可以放在函数内部B、return语句后的值不能为表达式C、如果函数值的类型与返回值的类型不一致函数类型为准D、如果形参与实参的类型不一致,以实参的类型为准47、C语言中,简单变量做实参时,它和对应的形参之间的数据传递方式是 。 A、地址传递B、单向值传递C、由实参传给形参,再由形参传递给实参D、同用户指定传递方式48、C语言中,函数返回值的类型是由 。A、return语句中的表达式类型所决定B、调用该函数时的主调函数类型所决定C、调用该函数时系统临时决定D、在定义该函数时所指的函数类型所决定49、若用数组名作为函数调用的实参,传递给形参的是 。A、数组的首地址B、数给的第一个元数C、数组中全部元素的值D、数组元素的个数50、以下有关宏替换的叙述不正确的是 。A、宏替换不占用运行时间B、宏名无类型C、宏替换只是字符替换D、宏名必须用大写字母表示51、C语言的编译系统对宏的处理是 。 A、在程序运行时B、在程序连接时C、和C程序中的其他语句同时进行编译D、在对源程序中其它成份正式编译之前进行的52、若有语句int *point,a=4;和point=&a;则下面均代表地址的一组是 。 A、a,point,*&AB、&*a,*point,&a C、&a,*&point,*pointD、&a,&*point,point53、下面判断正确的是 。A、char *a=”china”;等介于char *a;*a=”china”;B、char str10=”china”;等介于char str10;str=”china”;C、char *s=”china”;等介于char *s;s=”china”;D、char *s=”china”;等介于char s10;*s=”china”;54、设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行赋值语句的是 。 A、c=*p1+*p2B、p2=cC、p1=p2D、c=*p1*(*p2)55、下面程序段的运行结果是 。chsr str=”ABC”p+=3;printf(“%dn”,strlen(strcpy(p,”ABCD”);A、8B、12C、4D、756、若有以下定义,则对a数组元素的正确引用是 。 int a5,*p=a;A、*a+1B、p+5C、&a+1D、&a056、若有以下定义,则对a数组元素的正确引用是 。 int a5,*p=a;A、*&a5B、a+2C、*(p+5)D、*( a +2)57、若有定义int a23;则对a数组第I行第j列元素的正确引用为 。 A、*(aI+j)B、(a+I)C、*aI+jD、aI+j58、以下正确的定义语句和赋值语句是 。A、 int b35,(*q)5,(*p)3;p=b;q=b;B、 float b35,*p3;0=b0;p2=*b+4;C、 double b35,s53,*q;q=b;s=q;D、 int b10,*q;char *s;q=b;s=b;59、用C语言编写的源文件经过编译,若没有产生编译错误,则系统将 。 A、生成可执行目标文件 B、生成目标文件 C、输出运行结果 D、自动保存源文件60、在C集成环境执行菜单命令“运行”,若运行结束且没有系统提示信息,说明 。 A、源程序有语法错误 B、源程序正确无误 C、源程序有运行错误 D、源程序无编译、运行错误,但仅此无法确定其正确性61、 程序运行输出了错误的结果,可以排除下列哪一个因素 。 A、算法错误 B、运行时输入数据错误 C、未通过编译 D、系统资源配置不当62、下列各个错误中,属于编译错误的是 。 A、数组下标超界 B、“=”误写为“!=” C、死循环 D、括号不配对63、 若int类型数据字长为4,其最大值为 。 A、231 B、231-1 C、232-1 D、23264、常数的书写格式决定了常数的类型和值,03322是 。 A、16进制int类型常数 B、8进制int类型常数 C、10进制int类型常数 D、10进制long int类型常数65、“e2”是 。A、实型常数100 B、值为100的整型常数 C、非法标识符 D、合法标识符66、要为字符型变量a赋初值,下列语句中哪一个是正确的 。A、char a=3; B、char a=3; C、char a=%; D、char a=*;67、要为float类型变量x、y、z赋同一初值3.14,下列说明语句哪一个是正确的 。 A、float x,y,z=3.14; B、float x,y,z=3*3.14; C、float x=3.14,y=3.14,z=3.14; D、float x=y=z=3.14;68、语句“float pi=3.1415926535;”将 。 A、导致编译错误 B、说明pi为初值3.1415926535的单精度实型常数 C、导致运行时的溢出错误 D、说明pi为初值3.141593的单精度实型常数69、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为 。 A、算术运算、赋值运算、关系运算 B、算术运算、关系运算、赋值运算 C、关系运算、赋值运算、算术运算 D、关系运算、算术运算、赋值运算70、关系运算符中优先级最低的运算符是 。A、“=”和“”和“” C、“=”和“!=” D、“=”和“b) printf(%dn,a); printf(%dn,b); B、printf(%dn,b); if(ab) printf(%dn,a); C、if(ab) printf(%dn,a); else printf(%dn,b); D、if(as)t=u; t=s; B、t=s; if(us)t=u; C、if(us)t=s; else t=u; D、t=u; if(us)t=s;81、下列各语句中,能够输出整型变量a、b中最大值的是 。 A、printf(%dn,(ab)?a,b); B、(ab)? printf(%d,a):printf(%d,b); C、printf(%d,if(ab)a else b); D、printf(%dn,(ab)?a:b);82、下列语句应将小写字母转换为大写字母,其中正确的是 。 A、if(ch=a&ch=a&ch=a&cha&chz)?ch-32:ch;83、求整数1至10的和并存入变量s,下列语句中错误的是( )。 A、s=0;for(i=1;i=10;i+) s+=i; B、s=0;i=1;for(;i=10;i+) s=s+i; C、for(i=1,s=0;i=10;s+=i,i=i+1); D、for(i=1;s=0;i=10;i+) s=s+i;84、若sizeof(int)为2,计算1至10的乘积,下列语句序列中正确的是 。 A、int jc=1; for(int i=2;i=10;i+) jc*=i; B、for(float jc=1,int i=2;i=10;i+,jc*=i); C、float jc=1; for(int i=2;i=10;jc*=i,i=i+1); D、for(float jc=1;i=2;i=10;i+) jc*=i;85、下列语句中,哪一个可以输出26个大写英文字母 。 A、 for(a=A;a=Z;printf(%c,+a); B、for(a=A;aZ;a+)printf(%c,a); C、for(a=A;a=Z;printf(%c,a+); D、for(a=A;a=0&i=0&i=0&i=0&i=10;i+) if(i!=5) printf(%fn,1.0/(i-5); else break; D、for(;i=10;i+) if(i!=5) printf(%fn,1.0/(i-5);87、下列语句中与语句 while(1)if(i=100)break;s+=i;i+; 功能相同的是 。 A、for(;i100;i+) s=s+i; B、for(;i100;i+;s=s+i); C、for(;i=100;i+;s=s+i);88、下列各语句定义了数组,其中哪一个是不正确的 。 A、char a310=China,American,Asia; B、int x22=1,2,3,4; C、float x2=1,2,4,6,8,10; D、int m3=1,2,3,4,5,6;89、下列各语句定义了数组,其中哪一个是正确的 。 A、char a10,*p=a0 B、int d2=1,2,3,4,5,6; C、float x3=1,2,4,6,8,10; D、int m=no_1,no_2,no_3;90、数组定义为 int a32=1,2,3,4,5,6,下列表述中正确的是 。 A、数组元素a32的值为6 B、数组元素a6的值为6 C、数组元素a0的值为1 D、a0不是int类型的数组元素91、用宏名定义一个字符串,下列表述中哪一个是正确的 。 A、#define pi=3.14159; B、define pi=3.14159 C、#define pi 3.14159 D、#define pi(3.14159);92、定义带参数的宏计算两式乘积(如x2+3x-5与x-6),下列定义中哪个是正确的 。 A、#define muit(u,v) u*v B、#define muit(u,v) u*v; C、#define muit(u,v) (u)*(v) D、#define muit(u,v)=(u)*(v)93、宏定义 #define div(a,b) a/b 的引用 div(x+5,y-5) 替换展开后是 。 A、x+5/y-5 B、x+5/y-5; C、(x+5)/(y-5) D、(x+5)/(y-5);94、定义带参数的宏“#define jh(a,b,t) t=a;a=b;b=t”,使两个参数a、b的值交换,下列表述中哪个是正确的 。 A、不定义参数a和b将导致编译错误 B、不定义参数a、b、t将导致编译错误 B、不定义参数t将导致运行错误 D、不必定义参数a、b、t类型95、下列语句定义p为指向float类型变量d的指针,其中哪一个是正确的 。 A、float d,*p=d; B、float d,*p=&d; C、float *p=&d,d; D、float d,p=d;96、对语句“int a10,*p=a;”,下列表述中哪一个是正确的 。 A、*p被赋初值为a数组的首地址 B、*p被赋初值为数组元素a0的地址 C、p被赋初值为数组元素a1的地址 D、p被赋初值为数组元素a0的地址97、p1指向某个整型变量,要使指针p2也指向同一变量,哪一个语句是正确的 。 A、p2=*&p1; B、p2=*p1; C、p2=&p1; D、p2=*p1;98、假如指针p已经指向变量x,则&*p相当于 。 A、x B、*p C、&x D、*p99、假如指针p已经指向某个整型变量x,则(*p)+相当于 。 A、p+ B、x+ C、*(p+) D、&x+100、数组定义为“int a45;”,引用“a+3”表示 。 A、a数组第4列的首地址 B、a数组第1行第4列元素的值 C、a数组第4行的首地址 D、a数组第1列第4行元素的值101、数组定义为“int a45;”,引用“a1+3”表示 。 A、a数组第2行第4列元素的地址 B、a数组第2行第4列元素的值 C、a数组第4行的首地址 D、a数组第1行第4列的首地址102、数组定义为“int a45;”,引用“*(*a+1)+2”表示 。 A、a10+2 B、a数组第1行第2列元素的地址 C、a01+2 D、a数组第1行第2列元素的值103、数组定义为“int a45;”,下列哪一个引用是错误的 。 A、*a B、*(*(a+2)+3) C、&a23 D、+a104、共用体定义为“union data char ch;int x; a;”,下列哪一个是正确的 。 A、a.ch=x;a=10; B、a=x,10; C、a.x=10;a.ch=x; D、a=x;105、共用体定义为“union data char ch;int x; a;”,下列哪一个是不正确的 。 A、a=x,10; B、a.x=10;a.x+; C、a.ch=x;a.ch+; D、a.x=10;a.ch=x;106、按位与运算:int a=7,b=12,c=a&b; 变量c的值是 。 A、19 B、4 C、5 D、9107、按位或运算:int a=6,b=8,c=a|b; 变量c的值是 。 A、2 B、14 C、48 D、-2108、按位异或运算:int a=14,b=15,c=ab; 变量c的值是 。 A、1 B、15 C、-1 D、29109、按位取反运算:int a=16,c=a;,变量c的值是 。 A、17 B、7 C、84 D、-17110、左移运算:int a=16,c=a2; 变量c的值是 。 A、8 B、1 C、4 D、64112、以“只读”方式打开文本文件a:aa.dat,下列语句中哪一个是正确的 。 A、fp=fopen(a:aa.dat,ab); B、fp=fopen(a:aa.dat,a); C、fp=fopen(a:aa.dat,wb); D、fp=fopen(a:aa.dat,r);113、以“追加”方式打开文本文件a:aa.dat,下列语句中哪一个是正确的 。 A、fp=fopen(a:aa.dat,ab); B、fp=fopen(a:aa.dat,a); C、fp=fopen(a:aa.dat,r+); D、fp=fopen(a:aa.dat,w);114、为读写建立一个新的文本文件a:aa.dat,下列语句中哪一个是正确的 。 A、fp=fopen(a:aa.dat,ab); B、fp=fopen(a:aa.dat,w+); C、fp=fopen(a:aa.dat,wb); D、fp=fopen(a:aa.dat,rb+);115、C语言中最简单的数据类型包括 。A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型116、C语言中,运算对象必须是整型数的运算符是 。A、% B、 C、%和 D、* *117、为表示关系xyz,应使用C语言表达式 。 A、(x=y)&(y=z) B、(x=y)AND(y=z)C、(x=y=z) D、(x=y)&(y=z)118、下述对C语言字符数组的描述中错误的是 。A、 字符数组可以存放字符串 B、字符数组中的字符串可以整体输入、输出C、可以在赋值语句中通过赋值运算符=对字符数组整体赋值 D、不可以用关系运算符对字符数组中的字符串进行比较119、 int x=10,y=3,z; 则语句 printf(%dn,z=(x%y,x/y); 的输出结果是 。 A、1 B、0 C、4 D、3120、以下程序的输出结果是 。 main() int x=10,y=10; printf(%d %dn,x-,-y); A、10 10 B、9 9 C、9 10 D、10 9121、定义如下变量和数组: int i; int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是 。for(i=0;i3;i+) printf(%d,xi2-i);A、1 5 9 B、1 4 7 C、3 5 7 D、3 6 9 122、若要求在if后一对圆括号中表示a不等于0的关系,则正确表示这一关系的表达式为 。A、a0 B、!a C、a=0 D、a123、main() int a10=1,2,3,4,5,6,7,8,9,0,*p; p=a; printf(%xn,p); printf(%xn,p+9); 该程序有两个printf 语句, 如果第一个printf 语句输出的是194, 则第二个printf语句的输出结果是 。A、203 B、204 C、1a4 D、1a6124、设有如下函数定义: int f(char *s) char *p=s; while(*p!=0) p+; return(p-s); 如果在主程序中用下面的语句调用上述函数,则输出结果为 。 printf(%dn,f(goodbey!);A、3 B、6 C、8 D、0125、以下说法中正确的是 。A、C语言程序总是从第一个函数开始执行 B、在C语言程序中,要调用的函数必须在main()函数中定义 C、C语言程序总是从main()函数开始执行 D、C语言程序中的main()函数必须放在程序的开始部分126、执行下面的程序后,a的值为 。 main() int a,b; for (a=1,b=1;a=20)break; if(b%3=1) b+=3; continue; b-=5; A、7 B、8 C、9 D、10127、以下程序段的输出结果是 。 int x=3; do printf(%3d,x-=2);while(!(-x); A、1 B、3 0 C、1-2 D、死循环128、定义如下变量: int n=10; 则下列循环的输出结果是 while(n7) n-;printf(%dn,n); A、10 B、9 C、10 D、9 9 8 9 8 8 7 8 7 7 6129、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。 main( ) int x; scanf(%d,&x); if(x + + 5)printf(%d,x); else printf(%dn,x - -); A、7和5 B、6和3 C、7和4 D、6和4130、char *aa2=abcd,ABCD; 则以下就法中正确的是 。A、aa数组元素的值分别是abcd和ABCD B、aa是指针变量,它指向含有两个数组元素的字符型一维数组 C、aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D、aa数组的两个元素中各自存放了字符a和A的地址131、以下程序的输出结果是 。 main( ) int a=-1,b=4,k; k=(+ +a0&!(b - -=0;printf(%d%d%dn,k,a,b); A、104 B、103 C、003 D、004132、int a43=1,2,3,4,5,6,7,8,9,10,11,12; int (*prt)3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省嵊州市崇仁中学2026届化学高三第一学期期中教学质量检测试题含解析
- 甘肃省夏河县夏河中学2026届高二化学第一学期期末质量检测试题含答案
- 2026届山西省晋中市榆社县化学高三上期中学业水平测试模拟试题含解析
- 江苏省南通市启东中学创新班2026届化学高二上期中综合测试试题含解析
- 安徽马鞍山中加双语学校2026届高一化学第一学期期中统考试题含解析
- 陕西宝鸡金台区2026届化学高二第一学期期末联考模拟试题含答案
- 四川省成都嘉祥外国语学校2026届高一化学第一学期期末学业水平测试模拟试题含解析
- 2026届安徽省蚌埠市化学高二第一学期期中考试试题含解析
- 合同的考试试题及答案
- 厂房租赁协议
- 2025中国医药集团有限公司二级子公司及重点三级子公司高管岗位选聘笔试历年参考题库附带答案详解
- 幼儿园开学食品安全厨房培训
- 学堂在线 积极心理学(上)厚德载物篇 章节测试答案
- 地面工程基础知识概要课件
- 王本陆课程与教学论课件
- 陪诊培训课件
- QGDW11008-2013低压计量箱技术规范
- 村两委内部管理制度
- 工业管道的定期检查与维护措施
- 林业发展“十五五”发展规划
- 中间人垫付合同协议书
评论
0/150
提交评论