华中科技大学计算机学院2015年C语言程序设计试卷
2015年计算机二级C语言测试题及答案解析(一)
![2015年计算机二级C语言测试题及答案解析(一)](https://img.taocdn.com/s3/m/b0e51b12c281e53a5802ffc1.png)
1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从 ( C ) 开始执行。
A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数3、以下说法中正确的是( C )。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是( B )。
A、 C程序的工作过程是编辑、编译、连接、运行B、 C语言不区分大小写。
C、 C程序的三种基本结构是顺序、选择、循环D、C程序从main函数开始执行5.下列正确的标识符是(C )。
A、-a1B、a[i]C、a2_iD、int t5~8题为相同类型题考点:标识符的命名规则只能由字母、数字、下划线构成数字不能作为标识符的开头关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B )。
A、3axB、xC、caseD、-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是( C )。
A、 %xB、a+bC、a123D、123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是( A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while 为关键字,不满足(3)9.C语言中的简单数据类型包括(D )。
华中科技大学级C语言程序设计考试经典试卷复习资料
![华中科技大学级C语言程序设计考试经典试卷复习资料](https://img.taocdn.com/s3/m/f51952dad05abe23482fb4daa58da0116c171fca.png)
华中科技大学10级《C语言程序设计》考试试卷课程性质:必修使用范围:本科考试时间:年月日考试方式:闭卷学号______________专业_______班级____姓名___________成绩____一、选择题(每小题2分,共20分)( A )(1)若x、y、j和k都是int型变量,则计算表达式x=( k=32,j=6, i=4)后,x的值为。
A)4 B)16 C)32 D)52( B )(2)C语言中标识符只能由字母、数字和下划线组成,且第一个字符。
A)必须为字母 B)必须为字母或下划线C)必须为下划线 D)可以是字母、数字和下划线中任一种字符( D )(3)下面四个选项中,均是正确的数值常量或字符常量的选项是。
A)0.0 0f 8.9e '&' B)"a" 3.9e-2.5 1e1 '\"'C)'3' 011 0xFF00 0a D)+001 0xabcd 2e2 50( B )(4)已知各变量的类型说明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是。
A)a=a*3=2 B)a+=a-=(b=4)*(a=3)C)x+y=-3*a D)y=float(i)( A )(5)若以下变量均是整型,且num=sum=5;则计算表达式num++,sum++,++num后num的值为。
A)7 B)8 C)9 D)10( B )(6)在C语言中,引用数组元素时,其数组下标的数据类型允许是。
A)整型常量 B)整型常量或整型表达式C)整型表达式 D)任何类型的表达式( C )(7)以下能对一维数组a进行正确初始化的语句是。
A)int a[10]={0,0,0,0,0} B)int a[10]={ };C)int a[ ]={0}; D)int a[10]={10*1};/*各元素值为1*/( B )(8)下面程序(注:每行程序前面的数字表示行号)。
2015年《全国计算机二级C语言》考试真题
![2015年《全国计算机二级C语言》考试真题](https://img.taocdn.com/s3/m/bdd3131a76c66137ee061930.png)
2015年《全国计算机二级C语言》考试真题1、对于一个正常运行的C程序,以下叙述中确的是A)程序的执行总是从main 涵数开始B)程序的执行总是从程序的笫一个函数开始,在程序的最后一个函数中结束C)程序的执行总是从main函数幵始,在程序的最后一个函数中结束D)程序的执行总是从程序的笫一个函数开始,在main函数结束3、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是A)x+1=yB) x=x+10=x+yC)double (x)/10D)++x,y=x--4、以下选项中能表示合法常量的是A)’\’B)1,200C)1.5E2.0D)”\007”5、以下定义语句中正确的是A) double a=0.0;b=1.1;B) float a=1,*b=&a,*c=&b;C) int a=b=0;D) char A=65+1,b=’b’7、若变量已正确定义为int型,要通过语句scanf(“%d,%d,%d”,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:□代表一个空格符)A) □□□1,2,3<回车>B)1,2,3<回车>C)1, □□□2, □□□3<回车>D)1 □2 □3<回车>8、当变量c的值不为2、4、6时,值也为“真”的表达式是()A (c>=2&&c<=6)&&(c%2!=1)B) (c>=2&&c<=6)&&!(c%2) )C) (c==2)‖(c==4)‖(c==6)D) (c>=2&&c<=6)‖(c!=3)‖(c!=5)9、以下选项中,值为1的表达式是A) ‘\0’-‘0’B)’1’-0C)1-‘0’D)1-‘\0’30、以下选项中,不合法的C语言用户标识符是A a——bB AaBcC _1D a_b31. 以下选项中关于C语言常量的叙述错误的是A经常被使用的变量可以定义成常量B 所谓常量,是指在程序运行过程中,其值不能被改变的量C常量可分为数值型常量和非数值型常量D常量分为整型常置、实型常量、字符常量和字符串常量34、以下叙述中正确的是A C语句必须在一行内写完B C语言程序中的注释必须与语句写在同一行C C程序中的每一行只能写一条语句D 简单C语句必须以分号结束37、以下选项中不能作为C语言合法常量的是A ’cd’B’\011’ C 0.le+6 D "\a"58、以下选项中不能用作C程序合法常量的是A."\x7D"B.1,234C.123D.'\123'60、C语言源程序名的后缀是A) . cpB) .objC) .exeD) .C61、阅读以下程序#include <stdio .h>main (){ int case ;float printF;printf ("请输入2个数:");scanf ( "%d %f",&case, &printF );printf("%d %f\n",case,printF );}该程序在编译时产生错误,其出错原因是A.定义语句出错,case是关键字,不能用作用户自定义标识符B.定义语句无错,printf不能输出case的值C.定义语句无错,scanf不能作为输入函数使用D.定义语句出错,printF不能用作用户自定义标识符62.若有定义语句:int x=12,y=8, z;在其后执行语句z= 0.9+x/y;则z的值为A.2.4B.1C.2D.1.963. 表达式a+=a-= a=9的值是A.-9B.0C.9D.1868. 以下选项中非法的c语言字符常量是A.'\b'B.'\xaa'C.'\007'D.'aa'72. 以下叙述中正确的是A.英文大写字母X和荚文小写字母x都可以作为二进制数字的开头字符B.八进制数的开头要使用英文字母o,否则不能与十进制区分开C. 在C程序中的八进制和十六进制,可以是浮点数D.整型变量可以分为int型、short型、long型和unsigned型四种79. 以下选项中,当x为大于1奇数时,值为0的表达式是A.x%2==0B.x%2==lC.x%2!=0D.x/2101. 以下选项中不能作为c语言合法常量的是A.'cd'B.'\011'C.0.le+6D."\a"104. 以下选项中不能用作C程序合法常量的是A"\x7D"B.1,234C.123D.'\123'134. 若有定义语句:char a='\82 ';则变量aA.包含3个字符B.说明不合法C.包含1个字符D.包含2个字符135. 有以下程序#include <stdio.h>main (){char cl='A',c2='Y';printf ("%d,%d\n", cl,c2 );}程序的输4结果是A.输出格式不合法,输出出错信息B.65.89C.A,YD.65.90154. 以下选项中,能用作数据常量的是A.115LB.0118C.0115D.1.5el.5155. 设变量已正确定义并赋值,以下正确的表达式是A.x=y*5=x+zB.int(15.8%5)C.x-25%5.0D.x=y+z+5,++y185. 有以下程序#include <stdio.h>main(){ char a='H';a = ( a>='A' && a<= 'Z' ) ? (a+32) : a;printf("%c\n",a );}程序运行后的输出结果是A) AB) aC) hD) H194. 以下叙述中正确的是A)程序可以包含多个主函数,但总是从第一个主函数处开始执行B)书写源程序时,必须注意缩进格式,否则程序会有编译错误C)程序的主函数名除main外,也可以使用Mainl或_mainD)在C程序中,模块化主要是通过函数来实现的199. 以下叙述中正确的是A)字符变量在定义时不能赋初值B)同一英文字母的大写和小写形式代表的是同一个字符常量C)转义字符用@符号开头D)字符常量可以参与任何整数运算200. 以下叙述中正确的是A)"a"表示一个字符常量B)"\"是非法的C)'\0'表示字符0D)表达式:'a'>'b'的结果是"假"202. 以下叙述中正确的是A)由&&构成的逻辑表达式与由||构成的逻辑表达式都有"短路"现象B)C语言的关系表达式:0<x<10完全等价于:(0<x)&& (x<10)C)逻辑"或"(即运算符||)的运算级别比算术运算要高D)逻辑"非〃〈即运算符!)的运算级别是最低的219. c源程序中不能表示的数制是A) 八进制B)十六进制C)十进制D) 二进制221. 以下四个程序中,完全正确的是A) # include<stdio .h>main (){/* programming */printf("programming!\n"); }B)include<stdio. h>main (){/* programming */printf("programming!\n"); }C) #include <stdio.h>main ();{/* programming /*/printf("programming!\n"}; }D) # include<stdio .h>main (){/*/* programming */*/printf("programming!\n"); }222. 若有定义语句:int x=10;则表达式x-=x+x的值为A) 10B) -10C) -20D) 0224. 己知大写字母A的ASCII码是65’小写字母a的ASCII码是97。
2015年全国计算机二级C语言考试真题
![2015年全国计算机二级C语言考试真题](https://img.taocdn.com/s3/m/bf64ddd2f705cc17552709e7.png)
C) int a=b=0;
D) char A=65+1,b=’b’
7、若变量已正确定义为int型,要通过语句
scanf(“%d,%d,%d”,&a,&b,&c);
给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:□代表一个空格符)
A)□□□1,2,3<回车>
A)第6行
B)笫4行
C)第7行
D)第5行
257.若有以下程序
#include <stdio.h>
main ()
{ int b=10, a=-11;
a %= b %= 4;
printf("%d %d\n", a, b);
}
则程序的输出结果是
A)12
B)1-1
C)-12
D)-1-2
258.有以下程序
#include <stdio.h>
C)逻辑"或"(即运算符||)的运算级别比算术运算要高
D)逻辑"非〃〈即运算符!)的运算级别是最低的
219. c源程序中不能表示的数制是
A)八进制
B)十六进制
C)十进制
D)二进制
221.以下四个程序中,完全正确的是
A)# include<stdio .h>
main ()
{/* programming */
134.若有定义语句:
char a='\82 ';
则变量a
A.包含3个字符
B.说明不合法
C.包含1个字符
D.包含2个字符
C语言考试题库及答案2015(完整资料).doc
![C语言考试题库及答案2015(完整资料).doc](https://img.taocdn.com/s3/m/619fb899ee06eff9aff80702.png)
【最新整理,下载后即可编辑】C语言(共200题)1、下面程序的输出是___D______#include<stdio.h>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是__D______.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是______A____.A) '\t' B) "A" C) 65D) A4、表达式: 10!=9的值是________D____.A) true B) 非零值C)0 D) 15、C语言提供的合法的数据类型关键字是_____B____.A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC码D) ASCII码7、C语言程序的基本单位是_____C______.A) 程序行B) 语句C) 函数D) 字符8、设int a=12,则执行完语句a+=a-=a*a后,a的值是____D____ A) 552 B) 264 C) 144D) -2649、执行下面程序中的输出语句后,输出结果是____B__.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15D) 1010、下面程序的输出是____B______.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);【最新整理,下载后即可编辑】}A) 17 B) 18 C) 23D) 2411、下面程序的输出的是_____C____.#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3D) 不确定的值12、已知字母A的ASCII码为十进制的65,下面程序的输出是______A_____.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,DD) 不确定的值13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__.A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____D_____.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10D) 10 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是_____D_____.A) 1 B) 0 C) 4D) 316、为表示关系x≥y≥z,应使用C语言表达式___A___.A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)C) (x>=y>=z) D) (x>=y) & (y>=z)17、C语言中非空的基本数据类型包括____B____.A) 整型,实型,逻辑型B) 整型,实型,字符型C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段: printf("%d",(x,y));上面程序片段的输出结果是____A___.A) 200 B) 100【最新整理,下载后即可编辑】C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<stdio.h>void main(){char ch;scanf("%3c",&ch);printf("%c",ch);}如果从键盘上输入abc<回车>则程序的运行结果是__A_____.A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是____D____. A) 1,19 B) -1,19 C) 1,17D) -1,1721、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是______C____.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1122、已知a=12,则表达式a+=a-=a*=a 的结果是_____A__.A) 0 B) 144 C) 12D) -26423、若已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是____D____.【最新整理,下载后即可编辑】#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2D) 0,0,326、下面程序的输出结果是____A____.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1D) 0,027、执行下面程序段后,输出结果是____A____.int a;int b=65536;a=b;printf("%d\n",a);A) 65536 B) 0 C) -1D) 128、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是____B_____.A) 10,10,10 B) 8,16,10 C) 8,10,10D) 8,8,1029、已知有double型变量x=2.5,y=4.7,整型变量a=7,则表达式x+a%3*(int)(x+y)%2/4 的值是_____B____.A) 2.4 B) 2.5 C) 2.75D) 030、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是____C____.A) 5.5 B) 5 C) 3D) 4.031、以下程序的输出结果是____D____.#include<stdio.h>void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10D) 11,1332、设有以下语句:int x=10;x+=3+x%(3),则x的值是.____A_____A) 14 B) 15 C) 11 D) 12【最新整理,下载后即可编辑】33、若d为double型变量,则表达式d=1,d+5,d++的值是_____D__.A) 1 B) 6.0 C) 2.0D) 1.034、表达式5!=3的值是____D____.A) T B) 非零值C) 0D) 135、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.A) 0 B) 1 C) 12D) 636、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是__D__.A) 0 B) 2 C) 1.5D) 137、在C语言中,以下叙述不正确的是_____A____.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____. A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是___D____.A) float B) char C) intD) double40、一个C语言的执行是从_____A______.A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是____A____.A) 10<a<15 B) a==11||a==12||a==13||a==14C) a>10&&a<15D) !(a<=10)&&!(a>=15)42、下列程序执行后的输出结果是_____C____.#include <stdio.h>void main( )【最新整理,下载后即可编辑】{ int a=5,b=60,c;if (a<b){c=a*b;printf("%d*%d=%d\n",b,a,c);} else{c=b/a;printf("%d/%d=%d\n",b,a,c);} }A) 60/5=12 B) 300 C) 60*5=300 D) 1243、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32) C) if(c=='\40') D) if(c==' ')44、运行下面程序时,若从键盘输入"3,5<CR>",则程序的输出结果是____D____.#include <stdio.h>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y)printf("x==y");else if (x>y)printf("x>y");elseprintf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45、运行下面程序时,若从键盘输入数据为"6,5,7<CR>",则输出结果是____C___.#include <stdio.h>void main( ){ int a,b,c;scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c)printf("%d\n",a);elseprintf("%d\n",c);elseif (b>c)printf("%d\n",b);elseprintf("%d\n",c);}A) 5 B) 6 C) 7D) 不定值46、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是____A____.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;【最新整理,下载后即可编辑】printf("%d\n",k);}A) 2 B) 4 C) 1D) 1047、运行下面程序时,从键盘输入"2.0<CR>",则输出结果是___B_____. #include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b);}A) 0.000000 B) 0.500000C) 1.000000 D) 0.25000048、执行下面程序后,运行结果是____A____.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是___A___.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!【最新整理,下载后即可编辑】Good morning!Bye_Bye!Bye_Bye!51、执行下列程序段后的输出结果是_____A____.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1D) 452、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是__B___. A) Z B) a C) zD) A53、下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9D) 054、运行下面程序时,若从键盘输入"5 <CR>",则程序的输出结果是_____B___.#include <stdio.h>void main( ){ int a ;scanf("%d",&a);if (a++>5)printf("%d\n",a);else printf("%d\n",a--) ;}A) 7 B) 6 C) 5D) 455、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是____B___.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18D) 2056、下列程序的执行结果是_____D____.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1【最新整理,下载后即可编辑】D) 3,157、假定等级和分数有以下对应关系:等级:A 分数:85~100等级:B 分数:60~84等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____.A) switch (grade){case 'A':printf("85--100\n");case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf("等级错误!\n");}B) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf(" 等级错误!\n");}C) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");default:printf("等级错误!\n");}D) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");break;default:printf("等级错误!\n");}58、能够完成如下函数计算的程序段是__B____.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;59、有如下程序#include <stdio.h>void main( ){ float x=5.0,y;if(x<0.0) y=0.0;else if (x<10.0) y=1.0/x;else y=1.0;printf("%f\n",y);}该程序的输出结果是____C_____. A) 0.000000 B) 0.50000C) 0.200000 D) 1.00000060、以下程序的执行结果是【最新整理,下载后即可编辑】___B_____.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case0:printf("first\n");break;case1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird 61、以下程序的执行结果是____A____.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15D) 2562、有如下程序:#include <stdio.h>void main( ){ int a=2,b=-1,c=2;if (a<b)if (b<0) c=0;else c++;printf("%d\n",c);}该程序的输出结果是___C_____.A) 0 B) 1 C) 2D) 363、下列程序执行后的输出结果是____B____.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0D) 出错信息64、有如下程序#include <stdio.h>void main( )【最新整理,下载后即可编辑】{ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是______A____. A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=265、下面程序的输出结果是____C_____.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0D) 0 066、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序段执行后,m的值是____D_____.A) 4 B) 3 C) 2 D) 1 67、以下程序的输出结果是___D______.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0D) 168、若执行下面的程序从键盘上输入9,则输出结果是.______B________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9D) 869、以下程序输出结果是_____D_____.#include <stdio.h>void main( ){ int m=4;if (++m>5) printf("%d\n",m--);else printf("%d\n",--m);}A) 7 B) 6 C) 5D) 470、若执行下面的程序从键盘上输入【最新整理,下载后即可编辑】5,则输出结果是.#include <stdio.h>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A) 7 B) 6 C) 5D) 471、以下程序段运行结果是____A____.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4D) 不确定的值72、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是____A____.A) 2,1 B) 3,2 C) 4,3D) 2,-173、运行下面程序时,若从键盘输入数据为"123",则输出结果是___C____.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321D) 3,2,174、执行下列程序后的输出结果是___D____.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 1【最新整理,下载后即可编辑】75、以下条件表达式中能完全等价于条件表达式x的是____B___.A) (x==0) B) (x!=0) C) (x==1)D) (x!=1)76、若运行下面程序时,给变量a输入15,则输出结果是___A___.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15D) 1077、运行下面程序后,输出是___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####79、为了避免嵌套的if-else语句的二义性,C语言规定else总是与___C___组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if80、设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为____C_____.x=y=z=1;t=++x || ++y && ++z;A) 不定值B) 4 C) 1D) 081、以下程序段____C______.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误【最新整理,下载后即可编辑】82、对下面程序段描述正确的是___B____.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____C____.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D)输出错误信息84、下面程序的运行结果是____B____.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,9 85、下面程序段的运行结果是____B______.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234D) 错误信息86、下面程序段的运行结果是___D_____.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8D)8,2087、下面程序的运行结果是___B_____.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5D) 688、函数pi的功能是根据以下近似公式求π值:____C______(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)请填空,完成求π的功能。
华中科技大学网络类C语言程序设计综合试题2
![华中科技大学网络类C语言程序设计综合试题2](https://img.taocdn.com/s3/m/e943b7ca4028915f804dc284.png)
多项选择(至少两个正确答案)(1月2日前提交该作业)1. 以下选项是C语言关键字的是(ABC )。
A.mainB.autoC.breakD.INT2. 以下选项可作为C语言合法整数的是( AC )。
A.234LB.0xabgC.0672D.x3f03. 对于下面关于数组声明,正确的是(BD )。
A.int x[][5];B.int y[]={0};C.int z[2,3];D.char s[11]=“abc\ndef\n”;4. 设有说明int a=0,b=1,c=2;下面表达式的值为1(对于逻辑表达式代表非0)的有(BD )。
A.a && bB.++aC.!a && b>cD.c||a5. 引用数组元素时,其数组下标表达式允许是(AB )。
A.整型常量B.整型表达式C.任何类型的表达式D.任何类型的函数调用6. 代数式ae/(bc) 的正确C语言表达式是( ABD )。
A.a/b/c*eB.a*e/b/cC.a*e/b*cD.a*e/c/b7. 设有说明:int a,b[3]={1,2,3},*p;下面能够正确执行的语句有( CD )。
A.p = *b;B.a = p;C.p = b+1;D.a = *p;8. 已知ch是字符型变量,以下正确的赋值语句是(BC )。
A.ch= 'a+b'B.ch='\0'C.ch='\08'D.ch=5+99. 以下选项可作为C语言合法常量的是(ACD )。
A.1UB.0678C.0XABCD12LD.2005F10. 以下不能定义为用户标识符的是(CD )。
A.b.cB.DOC.3comD.char。
2015高考C语言题(2020年整理).doc
![2015高考C语言题(2020年整理).doc](https://img.taocdn.com/s3/m/79cefe289b6648d7c1c7466e.png)
试卷编号:8258所属语言:计算机基础试卷方案:111试卷总分:400分共有题型:3种一、程序填空共5题(共计100分)第1题(20.0分)题号:650 难度:中第1章/*-------------------------------------------------------【程序填空】---------------------------------------------------------函数int change(char s[])将s中的数字字符串转换成整数,并返回该数。
例如s[]中为"123",转换后为123。
函数int multi(char s[],char t[])将s字符串转换的整数乘以t字符串转换的整数,并返回乘积。
---------------------------------------------------------注意:请勿改动程序中的其他内容。
-------------------------------------------------------*/#include<stdio.h>int change(char s[]){int i,sum;sum=0;for(i=0;s[i];i++)/**************************SPACE*************************/sum=sum*10+【?】-'0';return sum;}int multi(char s[],char t[]){int mul;/**************************SPACE*************************/mul=【?】;return mul;}int main(){char s1[]="123",s2[]="56";int mst;mst=multi(s1,s2);printf("%d\n",mst);return 0;}答案:=======(答案1)=======s[i]=========或=========*(s+i)=======(答案2)=======change(s)*change(t)=========或=========change(t)*change(s)第2题(20.0分)题号:651 难度:中第1章/*-------------------------------------------------------【程序填空】---------------------------------------------------------函数void check(long n, int c[])检测长整型正整数n是几位数,同时找出最小的数字。
华中科技大学C语言课程设计——汉字点阵字库的建立
![华中科技大学C语言课程设计——汉字点阵字库的建立](https://img.taocdn.com/s3/m/ba492309cc7931b765ce154d.png)
(2014——2015 年度第 2 学期)
名 题 院 班
称:
软件课程设计
目: 汉字点阵字库的建立与提取 系: 级: 光学与电子信息学院 ******** ******* 10 周 Crainax ****** ******
指导教师: 设计周数: 成员:
日期
quweima[chinesec]=(byte)((quweima[chinesec]|768)>>>1); } 此段代码是将区位码装换为机内码(code)。Java中的code用一个长度为 2的byte数组表示的。将区码和位码分别加32,再通过java中的位操作通过左 移,右移等位操作将最高位置为1,最终将区位码转为机内码。进而通过java 中String类的构造方法 String(byte[] code, String charsetName)将编码转换为指定的字符编码 所对应的字符。
二.软件界面
三.软件的框架
获取系统字体 GraphicsEnvironment enironment; enironment =GraphicsEnvironment.getLocalGraphicsEnvironment(); fontname=enironment.getAvailableFontFamilyNames();
开辟一个图像缓冲区,在缓冲区写字,并获得缓冲区像素 BufferedImage image = new BufferedImage(getsize(),getsize(),BufferedImage.TYPE_INT_RGB); Graphics g = image.createGraphics(); g.drawString(a,0,f.getAscent()-1); int[] p = image.getRGB(0,0,image.getWidth(),image.getHeight(),null,0,image.getWidth() );
C语言程序设计试卷(含答案)
![C语言程序设计试卷(含答案)](https://img.taocdn.com/s3/m/ccf6415c777f5acfa1c7aa00b52acfc789eb9fa2.png)
C语⾔程序设计试卷(含答案).2015年春季学期《C 语⾔程序设计》试卷A⼀.选择(每道⼩题2分,合计30分)1、以下选项中合法的标识符是( )。
A)1_1B)1-1C)_11D)1_ _2、若函数中有定义语句:int k;,则( )。
A)系统将⾃动给k 赋初值0 B)这时k 中的值⽆定义 C)系统将⾃动给k 赋初值-1D)这时k 中⽆任何值3、以下选项中,能⽤作数据常量的是( ) 。
A)o115B)0118C)1.5e1.5D)115L4、设有定义:int x=2;,以下表达式中,值不为6的是( )。
A)x*=x+1 B)X++,2*x C)x*=(1+x)D)2*x,x+=25、程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果是( )。
A)123.141593 B)12 3.141593C)12,3.141593D)123.14159306、把2进制数10000111101转化为⼗进制数为( )。
A)1083B)1084 C)1085D)10867、以下是if 语句的基本形式: if(表达式) 语句其中"表达式"( )。
A)必须是逻辑表达式B)必须是关系表达式 C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式8、有以下程序#include main(){ int x; scanf("%d",&x);if(x!=10) printf("%d\n",x);}程序运⾏时,输⼊的值在哪个范围才会有输出结果( )。
A)不等于10的整数 B)⼤于3且不等于10的整数 C)⼤于3或等于10的整数D)⼩于3的整数9、有以下程序#include main(){ int a=1,b=2,c=3,d=0; if (a==1 && b++==2)if (b!=2||c--!=3) printf("%d,%d,%d\n",a,b,c);else printf("%d,%d,%d\n",a,b,c); else printf("%d,%d,%d\n",a,b,c);} 程序运⾏后输出结果是( )。
华中科技大学c程序设计考试题
![华中科技大学c程序设计考试题](https://img.taocdn.com/s3/m/a7a81e806c175f0e7cd137b3.png)
1.c++系统预定了4个用于标准数据流的对象,下;正确答案:【D】分值:【1】;2.设有说明:charw;intx;floaty;正确答案:【D】分值:【1】;3.下列对析构函数的描述中,正确的是(____);C.析构函数的定义只能在类体内D.析构函数可以有;正确答案:【A】分值:【1】;4.下列定义数组的语句中正确CPP程序设计模拟考试 1--第2套试卷1.c++系统预定了4个用于标准数据流的对象,下列选项中不属于此类对象的是(____) A.cout B.cin C.cerr D.cset正确答案:【D】2.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型为(____) A.float B.char C.int D.double正确答案:【D】分值:【1】3.下列对析构函数的描述中,正确的是(____) A.一个类中只能定义一个析构函数 B.析构函数名与类名不同C.析构函数的定义只能在类体内D.析构函数可以有一个或多个参数正确答案:【A】分值:【1】4.下列定义数组的语句中正确的是(____)A.#define size 10 char str1[size],str2[size+2];B.char str[];C.i nt num['10'];D.int n=5; int a[n][n+2];正确答案:【A】分值:【1】5.关于this指针使用说法正确的是(____)A.保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B.保证基类私有成员在子类中可以被访问。
C.保证基类保护成员在子类中可以被访问。
D.保证基类公有成员在子类中可以被访问。
正确答案:【A】分值:【1】6.所谓多态性是指(____)A.不同的对象调用不同名称的函数B.不同的对象调用相同名称的函数C.一个对象调用不同名称的函数D.一个对象调用不同名称的对象正确答案:【B】分值:【1】7.派生类构造函数的执行顺序是先执行________ 的构造函数,然后执行成员对象的构造函数,最后执行________ 的构造函数。
2015C语言程序设计省考试题及其参考答案
![2015C语言程序设计省考试题及其参考答案](https://img.taocdn.com/s3/m/56d4825059eef8c75ebfb301.png)
A)0.4 B)1 C)2.0 D)0
14.若有代数式 ,则不正确的C语言表达式是____________。
A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*3
A)4 B)8 C)16 D)32
40.已知:FILE *fP;,则以下选项中以只读方式打开一个已经存在的文件”result.txt”的语句是_____________。
A)fp=fopen(“result.txt”,”a”); B)fp=fopen(“result.txt”,”w”);
C)fp=fopen(“result.txt”,”r”); D)fp=fopen(“result.txt”,”r+”);
A)student.age B)(*p).age C)p->age D)p.age
38.已知:
union
{
char c[2];
float f;
}a;则sizeof(a)的值是______________。
A)2 B)4 C)5 D)6
39.表达式”64>>2”的值”等于_______________。
#include<stdio.h>
main()
{
char c;
29.以下正确的说法是______________。
A)实参与其对应的形参各占用独立的存储单元
B)实参与其对应的形参共占用一个存储单元
C)只有当实参和其对应的形参同名时才共占用存储单元
D)形参是虚拟的,不占用存储单元
30.C语言中函数返回值的类型是由____________决定。
2015级《计算机程序设计基础(C)》课程习题一附答案
![2015级《计算机程序设计基础(C)》课程习题一附答案](https://img.taocdn.com/s3/m/5d968c066edb6f1aff001fbd.png)
2015级《计算机程序设计基础(C)》课程习题一一、选择题1.一个C程序的执行是从_____。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2.以下叙述不正确的是。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面3.C语言规定:在一个源程序中,main函数的位置。
A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后4.一个C语言程序是由A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成5.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为A)char<int <1ong int<=float<doubleB)char=int<1ong int<=float<doubleC)char< int <1ong int=float=doubleD)char=int =1ong int<=float<double6.若x,i,j和k都是int型变量,则执行下面表达式后x的值为x=(i=4,j=16,k=32)A)4 B)16 C)32 D)527.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:A)7 B)8 C)6 D)28.下面四个选项中,均是不合法的用户标识符的选项是。
A) A B)float C)b-a D)一123P_0 fa0 goto tempdo 一A int INT 9.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字和下划线中任一种字符10.下面四个选项中,均是不合法的浮点数的选项是A) 160. B) 123 C)一.18 D)一e30.12 2e4.2 123e4 .234e3 .e5 0.0 1e311.下面四个选项中,均是合法转义字符的选项是A)'\'' B)'\' C)'\018' D)'\\0''\\' '\017' '\f' '101''\n' '\"' 'xab' 'xlf'12.下面四个选项中,均是不正确的八进制数或十六进制数的选项是。
华中科技大学标准C语言程序设计及应用习题答案
![华中科技大学标准C语言程序设计及应用习题答案](https://img.taocdn.com/s3/m/205edac743323968001c929b.png)
第二章一.选择题1.C2.B D 3。
A 4.A 5. D6。
C 7.D 8.C 9.A 10。
D 11。
B 12.D 13。
C 14.D 15.A 16。
B 17。
A 18。
B 100011 001111 二。
判断题1。
错2.错3.错4.错三。
填空题1. B 662。
n1=%d\nn2=%d\n3. 0四。
计算1(1)x|y = 0x002f(2)x^y = 0x0026(3)x&y = 0x0009;(4)~x+~y = 0xffc6(5)x<〈=3 0x0068(6)y〉〉=4 0x00022(1) 6(2)50(3) 1(4)–16(5) 1(6)203(1)0(2) 1(3) 1(4) 4(5)8(6) 14(1)12(2)0(3) 1(4)27(6) 6(7)24(8)27(9)–295(1)0(2) 1(3) 1(4)–3(5) 2五.程序分析题程序1b=20 a=3600程序2第三章一.填空题1.s=62.963。
(1)scanf(”%c",&c);(2) c-32 更好的答案:c-(’a’-’A’)2。
1main(){int a,b;printf(”please input a &b:");scanf("%d%d”,&a,&b);printf(”\nmax is %d\n",(a>b)?a:b);}2.2int max(int x,int y);main(){int a,b,c,max;printf(”please input a &b & c:”);scanf("%d%d%d",&a,&b,&c);max=a〉b?a:b;max=c〉max?c:max;printf("\nmax is %d\n”,max);}2.3{int i=0,sum=0;while(i〈=100){sum+=i;i++;}printf("1+2+3+.。
华中科技大学标准c语言程序设计上机试题、答案及报告格式
![华中科技大学标准c语言程序设计上机试题、答案及报告格式](https://img.taocdn.com/s3/m/cecac3359b89680202d82520.png)
《标准C语言程序设计》上机报告实验七指针及函数结构体初步程序设计专业:班级:学号:姓名:完成日期:1一、实验目的1.进一步理解指针的概念,掌握指针变量间接地址访问的本质;2.掌握利用指向数组的指针变量表示一维数组元素及元素地址的方法;3.掌握利用指向二维数组的行指针变量表示二维数组元素及其地址的方法;4.掌握字符串的指针和指向字符串的指针变量;5.掌握指针数组和二级指针;6.熟悉通过动态内存分配实现动态数组,并体会指针在其中的作用。
7.理解函数定义、原型和调用,掌握函数参数的传递(传值、传指针和传引用)二、实验内容及要求(鼓励一题多解)1.深入理解《上机实践训练教程》2.6实验六案例示范和有关概念文字描述中的知识点,给出你的理解。
定义指针时一定要给指针分配好应有的类型和内存空间,防止出现野指针,造成程序不能运行甚至系统崩溃。
数组名不能作为左值,它实际上是一个常量指针,不能通过str=“comrade”给字符数组str赋值。
2.输入每个学生的姓名和线性代数、通信原理和C语言课程成绩,统计每人的平均值,并按平均值降序排列,输出排列后的名次、姓名、课程名(成绩)和平均值。
(注:平均值相同者按姓名的字母表顺序排列)(要求用结构体数据类型实现)#include <stdio.h>#include <math.h>#include <stdlib.h>#define N 3struct student{int rank;char name[20];double score[3];double aver;};void input(struct student *p,int n);void sort(struct student *p,int n);double average (struct student *p,int n);void output(struct student *p,int n,double aver);void main(){struct student stu[N];double aver;input(stu,N);sort(stu,N);aver=average(stu,N);output(stu,N,aver);}void input(struct student *p,int n){int i,j;double a;char str[20];for(i=0;i<n;i++,p++){printf("请输入考生姓名:\n");gets(p->name);printf("请依次输入学生线性代数、通信原理、c语言分数:\n");for(a=0,j=0;j<3;j++){gets(str);p->score[j]=atof(str);a+=p->score[j];}p->aver=a/3;}return;}void sort(struct student *p,int n){struct student temp;int i,j;for(i=0;i<n-1;i++){for(j=0;j<n-1-i;j++){if(p[j].aver<p[j+1].aver){temp=p[j];p[j]=p[j+1];p[j+1]=temp;}}}}double average(struct student *p,int n){int i;double temp;for(i=0,temp=0;i<n;i++)temp=temp+p[i].aver;return temp/n;}void output(struct student *p,int n,double aver){int i;printf("姓名线性代数通信原理c语言平均分\n");printf("-----------------------------------------\n");for(i=0;i<n;i++){printf("%-10s%8.2lf%8.2lf%8.2lf%8.2lf\n",p[i].name,p[i].score[0],p[i].score[1],p[i].score[2],p[i].aver);}}运行结果:3.利用指向指针的指针方法对N个整数排序并输出。
武汉科技大学_855 C语言程序设计-2015(A卷)考研真题
![武汉科技大学_855 C语言程序设计-2015(A卷)考研真题](https://img.taocdn.com/s3/m/083cc9d405087632311212a0.png)
一、选择题(共15小题,每小题2分,共30分) 1. C语言的基本单位是( )。 A.函数 B.过程 C.子程序 D.子函数 2. 若变量a、i已正确定义,且i已正确赋值,合法的语句是( )。 A.a==1 B.++i C.a=a++=5 D.a=int(i) 3. 若有int i=8,j=9;则printf(”i=%%d,j=%%d”,i,j);输出的结果是( )。 A.i=8,j=9 B.i=%d,j=%d C.i=%8,j=%9 D.8,9 4. 设int x=2,y=1;则表达式(!x||y--)的值是( )。 A.-1 B.0 C.1 D.2 5. 下列标识符不是关键字的是( )。 A.break B.char C.return D.swithch 6. C语言中运算对象必须是整型的运算符是( )。 A.% B./ C.! D.* 7. 若有以下说明和定义,则不能把结点b连接到结点a之后的语句是( )。 struct node { char data; struct node *next;}a,b,*p=&a, *q=&b; A.a.next=q; B.p.next=&b; C.p->next=&b; D.(*p).next=q; 8. 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是( )。 A.c=b=a; B.(a=c)||(b=c); C.(a=c)&&(b=c); D.a=c=b; 9. 对语句int(*ptr)()的正确理解为ptr是( )。 A.一个返回整数的函数 B.指向函数(返回整型数据)的指针 C.指向整型数据的指针 D.一个函数(返回指向整型数据的指针) 10. 运行下列程序后的输出结果是( )。
2015年全国计算机等级考试二级《C语言程序设计》专家命题卷及答案
![2015年全国计算机等级考试二级《C语言程序设计》专家命题卷及答案](https://img.taocdn.com/s3/m/f32b36274b73f242336c5f60.png)
2015年全国计算机等级考试二级《C语言程序设计》专家命题卷及答案一、选择题1.一个C语言程序是由(D)构成。
A.语句B.行号C.数据D.函数2.下面标识符中正确的是(C)。
A.d&efB.6aC.z4x5cD.a3/b43.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。
型、单精度实型变量所需的空间是()。
AA.1、2、4B.1、1、4C.1、2、8D.2、2、84.为了避免嵌套的条件分支语句 if--else中的else总是与( C )组成成对关系。
A. 缩排位置相同的B. 在其之前未配对的C. 在其之前未配对的最近的ifD. 在同一行上的if5.下列表达式的结果正确的是(B)。
intaa,bb,cc,dd;aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;(aa+1==2)?bb=aa+2:aa+3A.2B.3C. 1D.56.设有int x=11 ;则表达式(x+1/3)的值是( C )。
A.3B. 4C. 11D.127.设有字符串A=“He has 钱!”,则该字符串的长度为(B)。
A. 9B. 10C. 11D. 88.有如下程序段,则正确的执行结果是(B)int m=3;while(m<=5){ printf(“%d ”,m-3); m++;}A. 0 0 0B.0 1 2C.1 2 3D.无结果9.执行语句:printf("%d",(a=2)&&(b= -2);后,输出结果是(D )。
A.无输出B.结果不确定C.-1D. 110.有如下定义类型语句,若从键盘输入数据,正确的输入语句是(D )。
int x; char y; char z[20];A. scanf("%d%c%c",&x,&y,&z);B. scanf("%d%c%s",&x,&y,&z);C. scanf("%d%c%c",&x,&y,z);D. scanf("%d%c%s",&x,&y,z);参考答案:1.D 2. C 3.A 4.C 5.B 6.C 7.B 8.B 9.D 10. D11. struct ex{ int x ; float y; char z ;} example;则下面的叙述中不正确的是(B)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机学院2014-2015学年第2学期C语言程序设计考试试卷A卷(或B卷): A卷闭卷(或开卷):闭卷考试时间:2015年 6 月 25 日专业: 班级: 学号: 姓名:题号一二三四五六七总分核对人题分10 10 10 10 20 20 20 100得分注意:试卷后面附有运算符的优先级和结合性表。
一、单项选择题(在下面每小题的A、B、C、D四个选项中,只有一个选项得分评卷人是正确的,请选择正确的选项并填写到括号内,选择正确得分。
本大题共10小题,每小题1分,共10分。
)1、已知8位补码位是11111110,其原值是。
【】A、-2B、254C、-1D、-1262、下列是标识符。
【】A、B、_IPHONE_6_0C、sum[i]D、sin(x)3、下列逻辑表达式中与其它3个不等价。
其中a为int型变量。
【】A、!aB、a==0C、a==1D、!(a>0||a<0)4、下列是非法常量。
【】A、0xff00B、.1415C、'\a'D、051885、设a和b为整型变量且a值为5,表达式的值不为2。
【】A、b=a/2B、b=6-(--a)C、b=(a-3)%2D、b=a?a-3:16、适用于浮点类型数的运算是。
【】A、 |B、%C、 &D、 <7、执行语句putchar('R'+'6'-'4');的输出结果是。
【】A、RB、SC、TD、 U8、在工程中引用其它文件定义的全局变量,需要使用存储类型。
【】A、autoB、externC、staticD、register9、下列是变量a的定义,sizeof(a)为9的是。
【】A、char a[]=”c:\\file\\”B、char a[]=”123456789”C、int a[9]D、float a[9]10、下列给出的程序片段,其中while循环体执行的次数是。
【】i=1,j=0; while(i+j<=10) if(i>j)j++;else i++;A、5B、9C、 10D、11二、 多项选择题(下面每小题的A 、B 、C 、D 备选项中,有两个或两个以上的选项是正确的,请选择正确的选项并填写到括号内。
本大题共5小题,每小题2分,共10分。
) 1、 合法的转义字符有: 。
【 】A 、'\45'B 、'\0'C 、'\18'D 、'\0xa'2、设有声明: int a[2][3] = {{1,2,3}, {4,5,6}},*p=&a[0][0]; 则表达式的值为5的选项有: 。
【 】A 、*(a[1]+1)B 、*(p+4)C 、*(a+1)[1]D 、p[1][1]3、设有声明: int a[10],*p=a,b=6; 则下列选项为左值表达式(即能用于赋值运算左边的表达式)的有: 。
【 】A 、a[b/2]B 、p[b+3]C 、*(p+5)D 、*a+34、设有声明: char *s1="xyz",*s2="123",t1[10],*t2;则能完成字符串s1和s2的串值交换选项有: 。
【 】A 、t1=s1;s1=s2;s2=t1B 、strcpy(t1,s1); strcpy(s1,s2); strcpy(s2,t1);C 、t2=s1;s1=s2;s2=t2D 、strcpy(t2,s1); strcpy(s1,s2); strcpy(s2,t2); 5、生命周期与程序执行时间相同的变量有: 。
【 】A 、自动变量B 、寄存器变量C 、外部变量D 、静态外部变量三、 填空题(本大题共10小题,每小题1分,共10分。
) 本大题的第1题至第5题请参考下面的说明,请计算出表达式的值并填入各题前面的括号中,各题表达式之间相互无关。
以下程序假设在32位机上运行,写出表达式的值。
unsigned char c1 = 0xD4; char c2 = 0x87; unsigned int i1 = 0xFF; int i2 = 0x1F00;【 】 1、c1=i1 【 】 2、i2>>12<<4 【 】 3、i1 && i2 || c1 【 】 4、~c2 & 0xf 【 】 5、i2>0?1:i2<0?-1:0本大题的第6题至第10题请参考下面的说明,请计算出表达式的值并填入各题前面的括号中,各题的表达式相互无关。
struct T { int a[3]; char s[5];} t[2] = {{{1,2,3}, "HUST"}, {{4,5,6}, "SCST"}}, *p = t;【 】 6、t[1].s[2] 【 】 7、*t[0].a 【 】 8、++p->a[2] 【 】 9、(*++p).s[1] 【 】 10、*((p++)->a+1)得分 评卷人 得分 评卷人四、 判断改错题 (先判断下面各题中是否存在错误;如果存在错误,请改正之;否则不必改。
本大题共5小题,每小题2分,共10分。
)1、下列程序片段实现输入字符串。
char str[20]; scanf("%s",&str);n 1......31211S :2+++++=、以下代码段计算float s=1; int i; for (i=2; i<=n; i++) s += 1/i;3、一字符串以文本文件形式保存在文件a.dat 中,现以只读方式打开。
char *fin;fin = fopen("a.dat", "r"); 4、以下定义的带参的宏实现计算大于或等于整数x 的最小偶数。
#define EVEN(x) (( (x)+2)/2*2) 5、 以下代码输出长整型数a 的最低字节的数。
long a=0x1234ABCD ; char *p=&a;printf("%d" , p[0]);五、简答题(本大题共5小题,每小题4分,共20分)1、请写一个C 表达式,对正浮点数a 的值按四舍五入取整。
2、请写一个C 表达式,判断一个无符号数的奇偶性:如果是偶数表达式的值为0,否则为1。
假设无符号数存储在unsigned int n 中。
3、请写一个C 表达式,如果int 型变量x 和y 的第i 位(最低位为第0位)的值相同,表达式值为0,否则为1。
(假定i 在有效范围)4、a 是有4个元素的数组,数组元素类型是指向函数的指针,所指向的函数具有两个int 类型的形参,其返回值为Int 类型。
请写出相应的声明语句。
得分 评卷人得分 评卷人5、下列函数locate()是实现在数组上查找运算的功能,即:在数组a上查找值x,如果找到返回1,否则返回0。
试改写该函数使得其符合循环单出口的要求。
int locate(int a[],int n,int x){int i=0;while(i<n){if(a[i]==x) return 1;i++;}return 0;}得分评卷人六、阅读程序并写出其运行结果(本大题共5小题,每小题4分,共20分。
)1、请写出下面程序的运行结果。
#include<stdio.h>#define N 5#define Even 0#define Odd 1void main(void){int i=0,s[N]={20,16,31,45,50},status;status=s[i]%2;for(i=1;i<N;i++){switch(status){case Even:if((status=s[i]%2)==Even) printf("1");else {printf("0");status=Odd;}break;case Odd:if((status=s[i]%2)==Odd) printf("1");else {printf("0");status=Even;}break;}}}2、请写出下面程序的运行结果。
#include<stdio.h>void fun(int a,int * b);int c;void main(void){int a=10,b=20;printf("m1:a=%d,b=%d,c=%d\n",a,b,c);fun(a,&b);printf("m1:a=%d,b=%d,c=%d\n",a,b,c);}void fun(int a,int * b){int c;printf("f1:a=%d,b=%d\n",a,*b);c=a,a=*b,*b=c;printf("f2:a=%d,b=%d,c=%d\n",a,*b,c);}3、请写出下面程序的运行结果。
#include<stdio.h>#define N 4int fun(int i);void main(void){int s=0,i;for(i=0;i<N;i++) s+=fun(i+1);printf("sum=%d\n",s);}int fun(int i){static s=0;return (s+=i);}4、请写出下面程序的运行结果。
#include<stdio.h>unsigned fun(unsigned n);void main(void){unsigned m=8,a;a=fun(m);printf("a%u=%u",m,a);}unsigned fun(unsigned n){if(n==0||n==1)return 1;return fun(n-1)+fun(n-2);}5、请写出下面程序的运行结果。
#include<stdio.h>#define N 13int fun(int x[],int n);void main(void){int a[N]={1,0,-1,-3,2,-2,9,-9,4,3,6,-7,8},n,i;n=fun(a,N);printf("%d\n",n);for(i=0;i<N;i++){printf("%d",a[i]);printf("%c",(i<N-1? ',' : '\n'));}}int fun(int x[],int n){int i,j,s=0,t;i=0,j=n-1;while(i<j){while(x[i]<0) if(i<n) i++;while(x[j]>=0) if(j>0)j--;t=x[i],x[i]=x[j],x[j]=t;i++,j--,s++;}return s;}得分评卷人七、完善程序(本大题有,3小题,给出的都是部分程序,通过填空来完善程序。