华中科技大学C语言学习知识期末考试汇总题库试题及其规范标准答案汇总.doc
-华中科技大学C语言期末考试题库试题及答案汇总1设int a=12,则执行完语句a+=a-=a*a后,a的值是_D_。A、552 B、264 C、144 D、-264知识点:算术表达式2以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是_A_。A、x/y*z B、x*(1/(y*z) C、x/y*1/z D、x/y/z知识点:算术表达式3若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是_B_。A、1.4 B、1 C、2.0 D、2知识点:算术表达式4有如下程序main()int a; char c=10;float f=100.0; double x;a=f/=c*=(x=6.5);printf(%d %d %3.1f%3.1fn,a,c,f,x);程序运行后输出结果是_B_。A、1 65 1 6.5 B、1 65 1.5 6.5 C、1 65 1.0 6.5 D、2 65 1.5 6.5知识点:赋值表达式5若变量a、i已正确定义,且i已正确赋值,合法的语句是_B_。A、a=1 B、+i; C、a=a+=5; D、a=int(i);知识点:赋值表达式6若变量已正确定义并赋值,下面符合C语言语法的表达式是_B_。A、a:=b+1 B、a=b=c+2 C、int 18.5%3 D、a=a+7=c+b知识点:赋值表达式7设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是_C_。A、x=x*100+0.5/100.0 B、x=(x*100+0.5)/100.0C、x=(int)(x*100+0.5)/100.0? D、x=(x/100+0.5)*100.0知识点:赋值表达式8在一个C程序中_B_。A、main函数必须出现在所有函数之前 B、main函数可以在任何地方出现C、main函数必须出现在所有函数之后 D、main函数必须出现在固定位置知识点:简单C语言程序的构成和格式9以下说法中正确的是_D_。A、#define和printf都是C语句 B、#define是C语句,而printf不是C、printf是C语句,但#define不是 D、#define和printf都不是C语句知识点:简单C语言程序的构成和格式10若k是int型变量,且有下面的程序片段k=-3if(k0); D、if(b=0) m=1;n=2;?知识点:简单C语言程序的构成和格式12有以下程序main()int a=0,b=0;a=10; /* 给a赋值 */b=20; /* 给b赋值 */printf(a+b=%dn,a+b);程序运行后的输出结果是_B_。A、a+b=10 B、a+b=30 C、30 D、出错知识点:简单C语言程序的构成和格式13以下选项中,不能作为合法常量的是_B_。A、1.234e04 B、1.234e0.4 C、1.234e+4 D、1.234e0知识点:实型数据14以下符合C语言语法的实型常量是_C_。A、1.2E0.5 B、3.14159E C、.5E-3 D、E15知识点:实型数据15表达式3.6-5/2+1.2+5%2的值是_D_。A、4.3 B、4.8 C、3.3 D、3.8知识点:算术表达式16下列定义变量的语句中错误的是_D_。A、int _int B、double int _C、char For D、float US$ 知识点:常量、变量和标识符17以下不合法的用户标识符是_C_。A、j2_KEY B、Double C、4d D、_8_知识点:常量、变量和标识符18以下4组用户定义标识符中,全部合法的一组是_A_。A、_main enclude sin B、If -max turboC、txt REAL 3COM D、int k_2 _001 ?知识点:常量、变量和标识符19以下定义语句中正确的是_C_。A、char a=A b=B; B、float a=b=10.0;(正解a=10.0 b=10.0)C、int a=10,*b=&a; D、float *a,b=&a;?知识点:常量、变量和标识符20以下不能定义为用户标识符的是_D_。A、scanf B、Void C、_3com_ D、int知识点:常量、变量和标识符21以下有4组用户标识符,其中合法的一组是_C_。A、For -sub Case B、4d DO Size C、f2_G3 IF abc D、WORD Void define知识点:常量、变量和标识符22C语言中最简单的数据类型包括_B_。A、整型、实型、逻辑型 B、整型、实型、字符型C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型知识点:常量、变量和标识符23下列选项中,合法的C语言关键字是_D_。A、VAR B、cher C、integer D、default知识点:常量、变量和标识符24以下不能定义为用户标识符的是_D_。A、Main B、_0 C、_int D、sizeof知识点:常量、变量和标识符25下列叙述中正确的是_D_。A、C语言中既有逻辑类型也有集合类型 B、C语言中没有逻辑类型但有集合类型C、C语言中有逻辑类型但没有集合类型 D、C语言中既没有逻辑类型也没有集合类型知识点:常量、变量和标识符26当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是_C_。A、c=b=a; B、(a=c)(b=c); C、(a=c)&(b=c); D、a=c=b;知识点:赋值表达式27以下选项中非法的表达式是_D_。A、0=x100 B、i=j=0 C、(char)(65+3) D、x+1=x+1知识点:赋值表达式28以下程序的输出结果是_B_。#include 7main()int a,b,d=241;a=d/100%9;b=(-1)&(-1);printf(%d,%dn,a,b);?A、6,1 B、2,1 C、6,0 D、2,0知识点:赋值表达式29以下循环体的执行次数是_C_。main()int i,j;for (i=0,j=1; i=j+1;i+=2,j-)printf(%d n,i);A、3 B、2 C、1 D、0答案:C知识点:赋值表达式30有以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是_C_。A、a=a+b=b+ B、w%(int)a+b) C、(c+w)%(int)a D、w=a=b;知识点:赋值表达式31设int a=12,则执行完语句a+=a-=a*a后,a的值是_D_。A、552 B、264 C、144 D、-264知识点:算术表达式32以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是_A_。A、x/y*z B、x*(1/(y*z) C、x/y*1/z D、x/y/z知识点:算术表达式33若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是_B_。A、1.4 B、1 C、2.0 D、2知识点:算术表达式34设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式 1/2(a+b)h) 计算结果不相符的是_B_。A、(a+b)*h/2 B、(1/2)*(a+b)*h C、(a+b)*h*1/2 D、h/2*(a+b)知识点:算术表达式35假定x和y为double型,表达式x=2,y=x+3/2的值是_D_。A、3.500000 B、3 C、2.000000 D、3.000000知识点:算术表达式36若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是_C_。A、1 B、2 C、2.000000 D、2.500000知识点:算术表达式37若有以下程序段int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是_A_。A、0 B、0.5 C、1 D、2知识点:算术表达式38设有int x=11;则表达式(x+ * 1/3)的值是_A_。?A、3 B、4 C、11 D、12知识点:算术表达式39下列程序的输出结果是_C_。main()double d=3.2; int x,y;x=1.2;y=(x+3.8)/5.0;printf(%d n,d*y);A、3 B、3.2 C、0 D、3.07知识点:算术表达式40请读程序片段:int i=65536;printf(%dn,i);上面程序片段的输出结果是_B_。A、65536 B、0 C、有语法错误,无输出结果 D、-1知识点:整型数据41若有以下定义和语句:int u=010,v=0x10,w=10;printf(%d,%d,%dn,u,v,w);则输出结果是: _A_。A、8,16,10 B、10,10,10 C、8,8,10 D、8,10,10知识点:整型数据42在C语言中,不正确的int类型的常数是_A_。A、32768 B、0 C、037 D、0xAF知识点:整型数据43以下程序的输出结果是_D_。main( )int k=17;printf(%d,%o,%x n,k,k,k);A、17,021,0x11 B、17,17,17 C、17,0x11,021 D、17,21,11知识点:整型数据44下面程序的输出是_C_。main()unsigned a=32768;printf(a=%dn,a);A、a=32768 B、a=32767C、a=-32768 D、a=-1知识点:整型数据45在C语言中,合法的长整型常数是_A_。A、0L B、4962710 C、324562& D、216D知识点:整型数据46C语言中运算对象必须是整型的运算符是_A_。A、%= B、/ C、= D、5) printf(%dn,x);else printf(%dn,x-);则输出是_B_。A、7 B、6 C、5 D、4知识点:自加、自减运算符和逗号运算符50有以下程序main ()char a1=M, a2=m;printf(%cn, (a1,a2);以下叙述中正确的是_B_。A、程序输出大写字母M B、程序输出小写字母mC、格式说明符不足,编译出错 D、程序运行时产生出错信息知识点:自加、自减运算符和逗号运算符51以下程序的输出结果是 _B_。main()int a;printf(%dn,(a=3*5,a*4,a+5);A、65 B、20 C、15 D、10知识点:自加、自减运算符和逗号运算符53设有如下程序段int x=2002,y=2003;printf(%dn,(x,y);则以下叙述中正确的是_D_。A、输出语句中格式说明符的个数少于输出项的个数,不能正确输出B、运行时产生错误信息C、输出值为2002D、输出值为2003知识点:自加、自减运算符和逗号运算符54有以下程序main()int x,y,z;x=y=1;z=x+,y+,+y;printf(%d,%d,%dn,x,y,z);程序运行后的输出结果是_C_。A、2,3,3 B、2,3,2 C、2,3,1 D、2,2,1知识点:自加、自减运算符和逗号运算符55设有以下定义int a=0; double b=1.25;char c=A;#define d 2则下面语句中错误的是_D_。A、a+; B、b+; C、c+; D、d+;知识点:自加、自减运算符和逗号运算符56以下程序的输出结果是_D_。main()int x=10,y=10;printf(%d %dn,x-,-y);A、10 10 B、99 C、9 10 D、10 9知识点:自加、自减运算符和逗号运算符57若x和y都是int型变量,x=100、y=200,且有下面的程序片段printf(%d,(x,y);上面程序片段的输出结果是_A_。A、200 B、100 C、100 200 D、输则格式符不够, 输出不确定的值知识点:自加、自减运算符和逗号运算符58设有如下定义:int x=10,y=3,z;则语句printf(%dn,z=(x%y,x/y);的输出结果是_D_。A、1 B、0 C、4 D、3知识点:自加、自减运算符和逗号运算符59两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是_A_。main( )int x;scanf(%d,&x);if(x+ 5)printf(%d,x);elseprintf(%dn,x-); A、7和5 B、6和3 C、7和 D、6和4知识点:自加、自减运算符和逗号运算符60若t为double类型,表达式t=1,t+5,t+的值是_D_。A、1 B、6.0 C、2.0 D、1.0知识点:自加、自减运算符和逗号运算符61以下程序的输出结果是_A_。#includemain()int i=10,j=10;printf(%d,%dn,+i,j-);A、11,10 B、9,10 C、010,9 D、10,9知识点:自加、自减运算符和逗号运算符62有以下程序main()int y=10;while(y-);printf(y=%dn,y);程序执行后的输出结果是_B_。A、y=0 B、y=-1 C、y=1 D、while构成无限循环知识点:自加、自减运算符和逗号运算符63以下叙述中正确的是_B_。A、全局变量的作用域一定比局部变量的作用域范围大B、静态(static)类别变量的生存期贯穿于整个程序的运行期间C、函数的形参都属于全局变量D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值知识点:局部变量及其作用域和生存期64下面程序的输出是_C_。fun3(int x)static int a=3;a+=x;return(a);main()int k=2, m=1, n;n=fun3(k);n=fun3(m);printf(%dn,n);A、3 B、4 C、6 D、9知识点:局部变量及其作用域和生存期65以下叙述中正确的是_A_。A、局部变量说明为static 存储类,其生存期将得到延长B、全局变量说明为static 存储类,其作用域将被扩大C、任何存储类的变量在未赋初值时,其值都是不确定的D、形参可以使用的存储类说明符与局部变量完全相同知识点:局部变量及其作用域和生存期66有以下程序int fun(int x,int n)static int sum=0,i;for(i=0;in;i+) sum+=xi;return sum;main()int a=1,2,3,4,5,b=6,7,8,9,s=0;s=fun(a,5)+fun(b,4);printf(%dn,s);程序执行后的输出结果是_C_。A、45 B、50 C、60 D、55知识点:局部变量及其作用域和生存期67以下程序执行后sum的值是_C_。main()int i,sum;for(i=1;iy) f(x,y);else if(yz) f(y,z);else f(x,z);printf(%d,%d,%dn,x,y,z);执行后输出结果是_C_。A、1,2,3 B、3,1,2 C、1,3,2 D、2,3,1知识点:调用函数和被调用函数之间的数据传递74有以下程序void f(int x,int y)int t;if(x2) return(fib(n-1)+fib(n-2);else return(2);main() printf(%ldn,fib(3); 该程序的输出结果是_B_。A、2 B、4 C、6 D、8知识点:函数的调用83设函数fun的定义形式为void fun(char ch,float x) 则以下对函数fun的调用语句中,正确的是_D_。A、fun(abc,3.0); B、t=fun(D,16.5); C、fun (65,2.8); D、fun(32,32);知识点:函数的调用84有以下程序char fun(char x,char y)if(xy) return x;return y;main()int a=9,b=8,c=7;printf(%cn,fun(fun(a,b),fun(b,c); 程序的执行结果是_D_。A、函数调用出错 B、8 C、9 D、7知识点:函数的调用85若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是_D_。A、函数调用可以作为独立的语句存在 B、函数调用可以作为一个函数的实参C、函数调用可以出现在表达式中 D、函数调用可以作为一个函数的形参知识点:函数的调用86有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5);该函数调用语句中,含有的实参个数是_A_。A、3 B、4 C、5 D、有语法错知识点:函数的调用92以下函数值的类型是_A_。fun(float x)float y;y=3*x-4;return y;A、int B、不确定 C、void D、float知识点:函数的定义和返回值93在C语言中,形参的缺省存储类是_A_。A、auto B、register C、static D、extern知识点:函数的定义和返回值94有以下程序int f(int a) return a%2; main()int s8=1,3,5,2,4,6,i,d=0;for(i=0;f(si);i+) d+=si;printf(%dn,d);程序运行后的输出结果是_A_。A、9 B、11 C、19 D、21知识点:函数的定义和返回值95在C语言中,函数的隐含存储类别是_C_。A、auto B、static C、extern D、无存储类别知识点:函数的定义和返回值97若程序中定义了以下函数double myadd(double a,double b) return (a+b); 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是_A_。A、double myadd(double a,b); B、double myadd(double,double);C、double myadd(double b,double a); D、double myadd(double x,double y);知识点:函数的定义和返回值98若有以下程序#include void f(int n)main()void f(int n);f(5);void f(int n); printf(%dn,n); 则以下叙述不正确的是_C_。A、若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数fB、若在主函数前对函数f进行说明,则在主函数和其它函数中都可以正确调用函数fC、对于以上程序,编译时系统会出提示出错信息:提示对f函数重复说明D、函数f无返回值,所以可用void将其类型定义为无值型知识点:函数的说明99下列叙述中正确的是_D_。A、C语言编译时不检查语法 B、C语言的子程序有过程和函数两种C、C语言的函数可以嵌套定义 D、C语言所有函数都是外部函数知识点:库函数101以下不能正确定义二维数组的选项是_D_。A、int a22=1,2; B、int a2=1,2,3,4;C、int a22=1,2,3; D、int a2=1,2,3,4;知识点:二维数组的定义和二维数组元素的引用102以下能正确定义二维数组的是_B_。A、int a3; B、int a3=2*3; C、int a3=; D、int a23=1,2,3,4;知识点:二维数组的定义和二维数组元素的引用103以下程序的输出结果是_A_。main()int a33=1,2,3,4,5,6,i,j,s=0;for (i=1;i3;i+)for(j=0;j=i;j+) s+=aij;printf(%dn,s);A、18 B、19 C、20 D、21知识点:二维数组的定义和二维数组元素的引用104以下程序的输出结果是_C_。main() int i,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知识点:二维数组的定义和二维数组元素的引用知识点:二维数组的定义和二维数组元素的引用106以下数组定义中错误的是_B_。A、int x3=0; B、int x23=1,2,3,4,5,6;C、int x3=1,2,3,4,5,6; D、int x23=1,2,3,4,5,6;知识点:二维数组的定义和二维数组元素的引用107以下数组定义中不正确的是_D_。A、int a23; B、int b3=0,1,2,3;C、int c100100=0; D、int d3=1,2,1,2,3,1,2,3,4;知识点:二维数组的定义和二维数组元素的引用108有以下程序main()int m3=1,4,7,2,5,8,3,6,9;int i,j,k=2;for(i=0;i3;i+) printf(%d ,mki); 执行后输出结果是_C_。A、4 5 6 B、2 58 C、3 6 9 D、7 8 9知识点:二维数组的定义和二维数组元素的引用109以下能正确定义数组并正确赋初值的语句是_D_。A、int N=5,bNN; B、int a12=1,3;C、int c2=1,2,3,4; D、int d32=1,2,34;知识点:二维数组的定义和二维数组元素的引用111以下程序的输出结果是_A_。main()int a44=1,3,5,2,4,6,3,5,7;printf(%d%d%d%dn,a03,a12,a21,a30);A、0650 B、1470 C、5430 D、输出值不定知识点:二维数组的定义和二维数组元素的引用112定义如下变量和数组:int i;int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是_C_。for(i=0;i3;i+) printf(%d ,xi2-i);A、1 5 9 B、1 47 C、3 5 7 D、3 6 9知识点:二维数组的定义和二维数组元素的引用113有以下程序main()int x32=0,i;for(i=0;i3;i+) scanf(%d,xi);printf(%3d%3d%3dn,x00,x01,x10);若运行时输入:2 4 6,则输出结果为_B_。A、 2 0 0 B、 2 0 4 C、 2 4 0 D、 2 4 6知识点:二维数组的定义和二维数组元素的引用130当调用函数时,实参是一个数组名,则向函数传送的是_B_。A、数组的长度 B、数组的首地址 C、数组每一个元素的地址 D、数组每个元素中的值知识点:函数之间对一维数组和数组元素的引用132有以下程序void sum(int a) a0=a-1+a1; main() int a10=1,2,3,4,5,6,7,8,9,10;sum (&a2);printf(%dn,a2);程序运行后输出结果是_A_。A、6 B、7 C、5 D、8知识点:函数之间对一维数组和数组元素的引用138有以下程序main() char s=abcde;s+=2;printf(%dn,s0);执行后的结果是_D_。A、输出字符a的ASCII码 B、输出字符c的ASCII码 C、输出字符c D、程序出错知识点:函数之间对一维数组和数组元素的引用139
收藏
- 资源描述:
-
-`
华中科技大学C语言期末考试题库试题及答案汇总
1.设int a=12,则执行完语句a+=a-=a*a后,a的值是__D____。
A、552 B、264 C、144 D、-264
知识点:算术表达式
2.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是___A___。
A、x/y*z B、x*(1/(y*z)) C、x/y*1/z D、x/y/z
知识点:算术表达式
3.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是__B____。
A、1.4 B、1 C、2.0 D、2
知识点:算术表达式
4.有如下程序
main()
{
int a; char c=10;
float f=100.0; double x;
a=f/=c*=(x=6.5);
printf("%d %d %3.1f%3.1f\n",a,c,f,x);
}
程序运行后输出结果是___B___。
A、1 65 1 6.5 B、1 65 1.5 6.5 C、1 65 1.0 6.5 D、2 65 1.5 6.5
知识点:赋值表达式
5.若变量a、i已正确定义,且i已正确赋值,合法的语句是___B___。
A、a==1 B、++i; C、a=a++=5; D、a=int(i);
知识点:赋值表达式
6.若变量已正确定义并赋值,下面符合C语言语法的表达式是__B____。
A、a:=b+1 B、a=b=c+2 C、int 18.5%3 D、a=a+7=c+b
知识点:赋值表达式
7.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是__C____。
A、x=x*100+0.5/100.0 B、x=(x*100+0.5)/100.0
C、x=(int)(x*100+0.5)/100.0??? D、x=(x/100+0.5)*100.0
知识点:赋值表达式
8.在一个C程序中___B___。
A、main函数必须出现在所有函数之前 B、main函数可以在任何地方出现
C、main函数必须出现在所有函数之后 D、main函数必须出现在固定位置
知识点:简单C语言程序的构成和格式
9.以下说法中正确的是__D____。
A、#define和printf都是C语句 B、#define是C语句,而printf不是
C、printf是C语句,但#define不是 D、#define和printf都不是C语句
知识点:简单C语言程序的构成和格式
10.若k是int型变量,且有下面的程序片段
k=-3
if(k<=0) printf("####")
else printf("&&&&");
上面程序片段的输出结果是___D___。
A、#### B、&&&& C、####&&&& D、有语法错误,无输出结果
知识点:简单C语言程序的构成和格式
11.以下4个选项中,不能看作一条语句的是___D___。
A、{;} B、a=0,b=0,c=0; C、if(a>0); D、if(b==0) m=1;n=2;???
知识点:简单C语言程序的构成和格式
12.
有以下程序
main()
{
int a=0,b=0;
a=10; /* 给a赋值 */
b=20; /* 给b赋值 */
printf("a+b=%d\n",a+b);
}
程序运行后的输出结果是___B___。
A、a+b=10 B、a+b=30 C、30 D、出错
知识点:简单C语言程序的构成和格式
13.以下选项中,不能作为合法常量的是__B____。
A、1.234e04 B、1.234e0.4 C、1.234e+4 D、1.234e0
知识点:实型数据
14.以下符合C语言语法的实型常量是___C___。
A、1.2E0.5 B、3.14159E C、.5E-3 D、E15
知识点:实型数据
15.表达式3.6-5/2+1.2+5%2的值是__D____。
A、4.3 B、4.8 C、3.3 D、3.8
知识点:算术表达式
16.下列定义变量的语句中错误的是__D____。
A、int _int B、double int _C、char For D、float US$
知识点:常量、变量和标识符
17.以下不合法的用户标识符是__C____。
A、j2_KEY B、Double C、4d D、_8_
知识点:常量、变量和标识符
18.以下4组用户定义标识符中,全部合法的一组是__A____。
A、_main enclude sin B、If -max turbo
C、txt REAL 3COM D、int k_2 _001 ???
知识点:常量、变量和标识符
19.以下定义语句中正确的是__C____。
A、char a=A b=B; B、float a=b=10.0;(正解a=10.0 b=10.0)
C、int a=10,*b=&a; D、float *a,b=&a;???
知识点:常量、变量和标识符
20.以下不能定义为用户标识符的是__D____。
A、scanf B、Void C、_3com_ D、int
知识点:常量、变量和标识符
21.以下有4组用户标识符,其中合法的一组是___C___。
A、For -sub Case B、4d DO Size C、f2_G3 IF abc D、WORD Void define
知识点:常量、变量和标识符
22.C语言中最简单的数据类型包括_B_____。
A、整型、实型、逻辑型 B、整型、实型、字符型
C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型
知识点:常量、变量和标识符
23.下列选项中,合法的C语言关键字是__D____。
A、VAR B、cher C、integer D、default
知识点:常量、变量和标识符
24.以下不能定义为用户标识符的是__D____。
A、Main B、_0 C、_int D、sizeof
知识点:常量、变量和标识符
25.下列叙述中正确的是_D_____。
A、C语言中既有逻辑类型也有集合类型 B、C语言中没有逻辑类型但有集合类型
C、C语言中有逻辑类型但没有集合类型 D、C语言中既没有逻辑类型也没有集合类型
知识点:常量、变量和标识符
26.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是____C__。
A、c=b=a; B、(a=c)‖(b=c); C、(a=c)&&(b=c); D、a=c=b;
知识点:赋值表达式
27.以下选项中非法的表达式是___D___。
A、0<=x<100 B、i=j==0 C、(char)(65+3) D、x+1=x+1
知识点:赋值表达式
28.以下程序的输出结果是___B___。
#include
7main()
{
int a,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);???
}
A、6,1 B、2,1 C、6,0 D、2,0
知识点:赋值表达式
29.以下循环体的执行次数是___C___。
main()
{
int i,j;
for (i=0,j=1; i<=j+1;i+=2,j--)
printf("%d \n",i);
}
A、3 B、2 C、1 D、0
答案:C
知识点:赋值表达式
30.有以下定义语句
double a,b; int w; long c;
若各变量已正确赋值,则下列选项中正确的表达式是___C___。
A、a=a+b=b++ B、w%((int)a+b) C、(c+w)%(int)a D、w=a=b;
知识点:赋值表达式
31.设int a=12,则执行完语句a+=a-=a*a后,a的值是__D____。
A、552 B、264 C、144 D、-264
知识点:算术表达式
32.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是___A___。
A、x/y*z B、x*(1/(y*z)) C、x/y*1/z D、x/y/z
知识点:算术表达式
33.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是__B____。
A、1.4 B、1 C、2.0 D、2
知识点:算术表达式
34.设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式 1/2((a+b)h) 计算结果不相符的是___B___。
A、(a+b)*h/2 B、(1/2)*(a+b)*h C、(a+b)*h*1/2 D、h/2*(a+b)
知识点:算术表达式
35.假定x和y为double型,表达式x=2,y=x+3/2的值是___D___。
A、3.500000 B、3 C、2.000000 D、3.000000
知识点:算术表达式
36.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是___C___。
A、1 B、2 C、2.000000 D、2.500000
知识点:算术表达式
37.若有以下程序段
int c1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是___A___。
A、0 B、0.5 C、1 D、2
知识点:算术表达式
38.设有int x=11;则表达式(x++ * 1/3)的值是___A___。??
A、3 B、4 C、11 D、12
知识点:算术表达式
39.下列程序的输出结果是___C___。
main()
{
double d=3.2; int x,y;
x=1.2;y=(x+3.8)/5.0;
printf("%d \n",d*y);
}
A、3 B、3.2 C、0 D、3.07
知识点:算术表达式
40.请读程序片段:
int i=65536;
printf("%d\n",i);
上面程序片段的输出结果是___B___。
A、65536 B、0 C、有语法错误,无输出结果 D、-1
知识点:整型数据
41.若有以下定义和语句:
int u=010,v=0x10,w=10;
printf("%d,%d,%d\n",u,v,w);
则输出结果是: __A____。
A、8,16,10 B、10,10,10 C、8,8,10 D、8,10,10
知识点:整型数据
42.在C语言中,不正确的int类型的常数是___A___。
A、32768 B、0 C、037 D、0xAF
知识点:整型数据
43.以下程序的输出结果是__D____。
main( )
{
int k=17;
printf("%d,%o,%x \n",k,k,k);
}
A、17,021,0x11 B、17,17,17 C、17,0x11,021 D、17,21,11
知识点:整型数据
44.下面程序的输出是__C____。
main()
{
unsigned a=32768;
printf("a=%d\n",a);
}
A、a=32768 B、a=32767C、a=-32768 D、a=-1
知识点:整型数据
45.在C语言中,合法的长整型常数是___A___。
A、0L B、4962710 C、324562& D、216D
知识点:整型数据
46.C语言中运算对象必须是整型的运算符是__A____。
A、%= B、/ C、= D、<=
知识点:整型数据
47.以下选项中不属于C语言的类型名称是___D___。
A、signed short int B、unsigned long int C、unsigned int D、long short
知识点:整型数据
48.有以下程序
main()
{
int m=0256,n=256;
printf("%o %o\n",m,n);
}
程序运行后的输出结果是___C___。
A、0256 0400 B、0256 256 C、256 400 D、400 400
知识点:整型数据
49.若执下面程序时从键盘上输入5,
main()
{
int x;
scanf("%d",&x);
if(x++>5) printf("%d\n",x);
else printf("%d\n",x--);
}
则输出是__B____。
A、7 B、6 C、5 D、4
知识点:自加、自减运算符和逗号运算符
50.有以下程序
main ()
{
char a1=M, a2=m;
printf("%c\n", (a1,a2));
}
以下叙述中正确的是___B___。
A、程序输出大写字母M B、程序输出小写字母m
C、格式说明符不足,编译出错 D、程序运行时产生出错信息
知识点:自加、自减运算符和逗号运算符
51.以下程序的输出结果是 __B____。
main()
{
int a;
printf("%d\n",(a=3*5,a*4,a+5));
}
A、65 B、20 C、15 D、10
知识点:自加、自减运算符和逗号运算符
53.设有如下程序段
int x=2002,y=2003;
printf("%d\n",(x,y));
则以下叙述中正确的是__D____。
A、输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B、运行时产生错误信息
C、输出值为2002
D、输出值为2003
知识点:自加、自减运算符和逗号运算符
54.有以下程序
main()
{
int x,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
程序运行后的输出结果是___C___。
A、2,3,3 B、2,3,2 C、2,3,1 D、2,2,1
知识点:自加、自减运算符和逗号运算符
55.设有以下定义
int a=0;
double b=1.25;
char c=A;
#define d 2
则下面语句中错误的是__D____。
A、a++; B、b++; C、c++; D、d++;
知识点:自加、自减运算符和逗号运算符
56.以下程序的输出结果是___D___。
main()
{
int x=10,y=10;
printf("%d %d\n",x--,--y);
}
A、10 10 B、99 C、9 10 D、10 9
知识点:自加、自减运算符和逗号运算符
57.若x和y都是int型变量,x=100、y=200,且有下面的程序片段
printf("%d",(x,y));
上面程序片段的输出结果是___A___。
A、200 B、100 C、100 200 D、输则格式符不够, 输出不确定的值
知识点:自加、自减运算符和逗号运算符
58.设有如下定义:
int x=10,y=3,z;
则语句
printf("%d\n",z=(x%y,x/y));
的输出结果是___D___。
A、1 B、0 C、4 D、3
知识点:自加、自减运算符和逗号运算符
59.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是___A___。
main( )
{
int x;
scanf("%d",&x);
if(x++ > 5)
printf("%d",x);
else
printf("%d\n",x--);
}
A、7和5 B、6和3 C、7和 D、6和4
知识点:自加、自减运算符和逗号运算符
60.若t为double类型,表达式t=1,t+5,t++的值是___D___。
A、1 B、6.0 C、2.0 D、1.0
知识点:自加、自减运算符和逗号运算符
61.以下程序的输出结果是__A____。
#include
main()
{
int i=10,j=10;
printf("%d,%d\n",++i,j--);
}
A、11,10 B、9,10 C、010,9 D、10,9
知识点:自加、自减运算符和逗号运算符
62.有以下程序
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}
程序执行后的输出结果是__B___。
A、y=0 B、y=-1 C、y=1 D、while构成无限循环
知识点:自加、自减运算符和逗号运算符
63.以下叙述中正确的是__B____。
A、全局变量的作用域一定比局部变量的作用域范围大
B、静态(static)类别变量的生存期贯穿于整个程序的运行期间
C、函数的形参都属于全局变量
D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值
知识点:局部变量及其作用域和生存期
64.下面程序的输出是___C___。
fun3(int x)
{
static int a=3;
a+=x;
return(a);
}
main()
{
int k=2, m=1, n;
n=fun3(k);
n=fun3(m);
printf("%d\n",n);
}
A、3 B、4 C、6 D、9
知识点:局部变量及其作用域和生存期
65.以下叙述中正确的是___A___。
A、局部变量说明为static 存储类,其生存期将得到延长
B、全局变量说明为static 存储类,其作用域将被扩大
C、任何存储类的变量在未赋初值时,其值都是不确定的
D、形参可以使用的存储类说明符与局部变量完全相同
知识点:局部变量及其作用域和生存期
66.有以下程序
int fun(int x[],int n)
{
static int sum=0,i;
for(i=0;iy) f(x,y);
else if(y>z) f(y,z);
else f(x,z);
printf("%d,%d,%d\n",x,y,z);
}
执行后输出结果是___C___。
A、1,2,3 B、3,1,2 C、1,3,2 D、2,3,1
知识点:调用函数和被调用函数之间的数据传递
74.有以下程序
void f(int x,int y)
{
int t;
if(x2) return(fib(n-1)+fib(n-2));
else return(2);
}
main()
{ printf("%ld\n",fib(3)); }
该程序的输出结果是___B___。
A、2 B、4 C、6 D、8
知识点:函数的调用
83.设函数fun的定义形式为
void fun(char ch,float x) {……}
则以下对函数fun的调用语句中,正确的是__D____。
A、fun("abc",3.0); B、t=fun(D,16.5); C、fun (65,2.8); D、fun(32,32);
知识点:函数的调用
84.有以下程序
char fun(char x,char y)
{
if(x
void f(int n)
main()
{
void f(int n);
f(5);
}
void f(int n);
{ printf("%d\n",n); }
则以下叙述不正确的是___C___。
A、若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f
B、若在主函数前对函数f进行说明,则在主函数和其它函数中都可以正确调用函数f
C、对于以上程序,编译时系统会出提示出错信息:提示对f函数重复说明
D、函数f无返回值,所以可用void将其类型定义为无值型
知识点:函数的说明
99.下列叙述中正确的是___D___。
A、C语言编译时不检查语法 B、C语言的子程序有过程和函数两种
C、C语言的函数可以嵌套定义 D、C语言所有函数都是外部函数
知识点:库函数
101.以下不能正确定义二维数组的选项是__D____。
A、int a[2][2]={{1},{2}}; B、int a[][2]={1,2,3,4};
C、int a[2][2]={{1},2,3}; D、int a[2][]={{1,2},{3,4}};
知识点:二维数组的定义和二维数组元素的引用
102.以下能正确定义二维数组的是___B___。
A、int a[][3]; B、int a[][3]={2*3}; C、int a[][3]={}; D、int a[2][3]={{1},{2},{3,4}};
知识点:二维数组的定义和二维数组元素的引用
103.以下程序的输出结果是___A___。
main()
{
int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for (i=1;i<3;i++)
for(j=0;j<=i;j++) s+=a[i][j];
printf("%d\n",s);
}
A、18 B、19 C、20 D、21
知识点:二维数组的定义和二维数组元素的引用
104.以下程序的输出结果是__C____。
main()
{ int i,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf("%d,",x[i][2-i]);
}
A、1,5,9 B、1,4,7 C、3,5,7 D、3.6.9
知识点:二维数组的定义和二维数组元素的引用
知识点:二维数组的定义和二维数组元素的引用
106.以下数组定义中错误的是___B___。
A、int x[][3]={0}; B、int x[2][3]={{1,2},{3,4},{5,6}};
C、int x[][3]={{1,2,3},{4,5,6}}; D、int x[2][3]={1,2,3,4,5,6};
知识点:二维数组的定义和二维数组元素的引用
107.以下数组定义中不正确的是___D___。
A、int a[2][3]; B、int b[][3]={0,1,2,3};
C、int c[100][100]={0}; D、int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
知识点:二维数组的定义和二维数组元素的引用
108.有以下程序
main()
{
int m[][3]={1,4,7,2,5,8,3,6,9};
int i,j,k=2;
for(i=0;i<3;i++)
{ printf("%d ",m[k][i]); }
}
执行后输出结果是___C___。
A、4 5 6 B、2 58 C、3 6 9 D、7 8 9
知识点:二维数组的定义和二维数组元素的引用
109.以下能正确定义数组并正确赋初值的语句是___D___。
A、int N=5,b[N][N]; B、int a[1][2]={{1},{3}};
C、int c[2][]={{1,2},{3,4}}; D、int d[3][2]={{1,2},{34}};
知识点:二维数组的定义和二维数组元素的引用
111.以下程序的输出结果是___A___。
main()
{
int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);
}
A、0650 B、1470 C、5430 D、输出值不定
知识点:二维数组的定义和二维数组元素的引用
112.定义如下变量和数组:
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是__C____。
for(i=0;i<3;i++) printf("%d ",x[i][2-i]);
A、1 5 9 B、1 47 C、3 5 7 D、3 6 9
知识点:二维数组的定义和二维数组元素的引用
113.有以下程序
main()
{
int x[3][2]={0},i;
for(i=0;i<3;i++) scanf("%d",x[i]);
printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);
}
若运行时输入:2 4 6<回车>,则输出结果为___B___。
A、 2 0 0 B、 2 0 4 C、 2 4 0 D、 2 4 6
知识点:二维数组的定义和二维数组元素的引用
130.当调用函数时,实参是一个数组名,则向函数传送的是___B___。
A、数组的长度 B、数组的首地址 C、数组每一个元素的地址 D、数组每个元素中的值
知识点:函数之间对一维数组和数组元素的引用
132.有以下程序
void sum(int a[])
{ a[0]=a[-1]+a[1]; }
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10};
sum (&a[2]);
printf("%d\n",a[2]);
}
程序运行后输出结果是__A____。
A、6 B、7 C、5 D、8
知识点:函数之间对一维数组和数组元素的引用
138.有以下程序
main()
{ char s[]="abcde";
s+=2;
printf("%d\n",s[0]);
}
执行后的结果是___D___。
A、输出字符a的ASCII码 B、输出字符c的ASCII码 C、输出字符c D、程序出错
知识点:函数之间对一维数组和数组元素的引用
139
展开阅读全文