华中科技大学C语言学习知识期末考试汇总题库试题及其规范标准答案汇总.doc

收藏

编号:2588657    类型:共享资源    大小:185.50KB    格式:DOC    上传时间:2020-04-22
17
金币
关 键 词:
华中科技大学 语言 学习 知识 期末考试 汇总 题库 试题 及其 规范 标准答案
资源描述:
-` 华中科技大学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
展开阅读全文
提示  淘文阁 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:华中科技大学C语言学习知识期末考试汇总题库试题及其规范标准答案汇总.doc
链接地址:https://www.taowenge.com/p-2588657.html
关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

收起
展开