《二级C语言模拟试题.pdf》由会员分享,可在线阅读,更多相关《二级C语言模拟试题.pdf(107页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、二级C 语言模拟试题一、填空题1、C语言中基本的数据类型有:、。2、C语 言 中 普 通 整 型 变 量 的 类 型 说 明 符 为,在内存中占 字节,有符号普通整型的数据范围是。3、整数-3 5在 机 内 的 补 码 表 示 为。4,执行下列语句i n t a=8;a+=a-=a*a:后,a的值是 5、有如口 语句:char A|am a s t u d en t );该 字 符 串 的 长 度 是 A 3 =-6、符号a”和W的区别是。7、所谓“指针”就是.“&”运 算 符 的 作 用 是“*”运 算 符的 作 用 是。8、有如下输入语句:5 2”(=%1=%1=%(1”,&2,&15,&
2、3?2:l2、为了避免嵌套的条件分支语句if-else的二义性,C 语言规定:C 程序中的else总是与()组成配对关系。A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是()。int x=10,y=10;printf(44%d%dn,x y);A.10 10B.9 9C.9 10D.10 94、设 A 为存放(短)整型的维数组,如果A 的首地址为P,那么A 中第i 个元素的地址为()。A.P+i*2B.P+(i-l)*2C.P+(i-l)D.P+i5、选出下列标识符中不是合法的标识符的是()oA.hot_doB.cat!C.
3、_priD.2ab6、以下程序的输出结果是()。int a=5;float x=3.14;a*=x*(,E,-A);printf(t*%fn,(float)a);A.62.000000B.62.800000C.63.000000D.627、设有说明double(*pl)N;其中标识符p l是()。A.N个指向double型变量的指针。B.指向N个double型变量的函数指针。C.个指向由N个double型元素组成的一维数组的指针。D.具有N个指针元素的维指针数组,每个元素都只能指向double型量。8、在C程序中有如下语句:char*func(int x.int y);它是()。A.对函数fu
4、nc的定义。B.对函数ftinc的调用。C.对函数func的原型说明。D.不合法的。9、以下程序的输出结果是()。char strU5=helb!;printf(u%dn,strlen(str);A.15B.14C.7D.610、分析以下程序的输出结果是()。m ai n()i n t a=5,b=-l,c;c=ad d s(a,b);pr i m f(d”,c);c=ad d s(a,b);pr i n t f(u%d n,c);)i n t ad d s(i n t x,i n t y)s t at i c i n t m=0,n=3;n*=+m;m=n%x+y+;r et u r n(m
5、);A.2,3B.2,2C.3,2D.2,411、下列描述中不正确的是()。A.字符型数组中可能存放字符串。B.可以对字符型数组进行整体输入、输出。C.可以对整型数组进行整体输入、输出。D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。12、以下程序的输出结果是()。#define f(x)x*xmain()(int a=6,b=2,c;c=f(a)/f(b);printf(dn”,c);)A.9B.6C.36D.1813、设有如下定义:int x=10,y=3,z;则语句 printf(dn”,z=(x%y,x/y);的输出结果是()。A.1B.0C.4D.314、定义如下变
6、量和数组:i n t i;i n t x 3 3 =12 3,4,5,6,7,8,9;则语句%r(i=0;i v 3;i+)pr i n t f(M%d M,x i 2-i );的输出结果是(A.1 5 9B.1 4 7C.3 5 7D.3 6 91 5、以下对二维数组a进行正确初始化的是()A.i n t 明 3 =1,2,3,4,5,6;B.i n t a 3 =1,2 3,4,5,6);C.i n t a 2 =1,2,3,4,5,6;D.i n t a 2 =1,2,3,4);1 6、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是()0i n t x;s can f(%d
7、 ,&x);i f(x+5)pr i n t f(%d ,x);el s e pr i n t f(%d n ,x-);A.7 和 5B.6 和 3C.7 和 4D.6 和 417、设有如下定义:char *aa 2 =(abcd ,ABCD J;则以下说法中正确的是()。A)a a数组成元素的值分别是 abed 和A B C D B)a a是指针变量,它指向含有两个数组元素的字符型一维数组C)a a数组的两个元素分别存放的是含有4个字符的维字符数组的首地址D)a a数组的两个元素中各自存放了字符区和A的地址18、下列程序的输出结果是()。char *pl=abcd ,*p 2=A B C D
8、 ,s t r 5 0=xyz;s t r cpy(s t r+2,s l r cat(p 1+2,p2+1);pr i n t f(n%s ,s t r);A.xyabcABB.abcABzC.ABabczD.xycdBCD19、下列程序的输出结果是()oint a5=2,4,6,8,10,*P,*k;p=a;k=&p;printf(%d,*(p+);printf(%dn,*k);A.4 4B.2 2C.2 4D.4 620、不能把字符串:Hello!赋给数组b 的语句是()oA.char bB.char b10;b=Hello!;C.char b|10;strcpy(b,Hello!);D
9、.char b10=Hello!n;三、读程序题1、f l oat f=3.14 15 9 2 7;pr i n t f(f,%5.4 f,%3.3 r ,f,f,f);则程序的输出结果是2、i n t x=6,y=7;pr i n t f(u%d/x+);pr i n t f(d n”,+y);程 序 的 输 出 结 果 是 o3、a=3;a+=(a l)?a:l;pr i m f(d”,a);结果是 o4、f or (a=1,b=1;a=2 0)br eak;i f(b%3=l)b+=3;co n t i n u e;)b-=5;程序的输出结果a的值为 o5、i n t y=l,x,*p,
10、a =2,4,6,8,10;p=&a l ;fo r(x=0;x 3;x+)y +=*(p +x);p r i m f(d n”,y);程序的输出结果y的值是 o四、程序填空题1、从键盘上输入1 0个数,求其平均值。m ai n()(i n t i;fl o at f,s u m;fo r(i=l,s u m=0.0;i am ax)am ax=x;i f()am i n=x;s can f(%f,&x);)p r i n t f(n am ax=%f n am i n=%f n,am ax5am i n);)五、编程题1.三个整数a、b、c,由键盘输入,输出其中最大的一个数。2.输出19 0
11、0 2000年中所有的闰年。每输出3个年号换一行。(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。或者能被400整除。)3.请编一个函数i n t fu n(i n t a),它的功能是:判断a是否是素数,若a是素数,返回1;若不是素数,返回0。A的值由主函数从键盘读入。4.有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。参考答案-、填空题 整型、实型、字符型。i n t ,2,-3 27 68-+3 27 67(3)1111111111011101(4)-112(5)1
12、4,m(6)“a”是字符串常量,而3是字符常量。(7)存放地址值的变量或常量,或者答地址。取运算对象的地址。取指针变量所指的内容。(8)a=l,b=3,c=2二、选择题1、C 2、C 3、D 4、B 5、D6、A 7、C 8、C 9、D 10、A11、C 12、C 13、D 14、C 15、B16、C 17、D 18、D 19、C 20、B三、阅读程序题(1)3.141593,3.1416,3.142(2)6,8(3)4(4)22(5)19四、程序填空题1 scanf(u%f&f);sum+=f;2 fopen(myfile”,w)fclose(fp);3、x=0.0 x=amin五、编程题1
13、 main()int a,b,c;p r i n t f(“请输入三个整数:”);s can f(d,%d,%d,&a,&b,&c);i f(ai f(bel s e p r i n t f(44m a x=%d n,b);el s e i f(ael s e p r i n t f(um a x=%d n,a);)2、#i n cl u d e,s t d i o.hMm ai n()i n t I,n;fo r(n=0,I=l 9 00:I=2000;I+)i f l%4=0&l 0!=0|I 0=0)(p r i n t fC4%d”,I);n+;i f(n%3=0)p r i n l
14、f(n);)3、#i n cl u d e”s t d i o.hi n t fu n(i n t a)i n t I;i f(a=2)r et u r n 1;1=2;w hi l e(a%I)!=0&l =s q r t(fl o at)a)I+;if(a%I=O)printf(u%d is not a prime!*,a);return 0;)printf(M%d is a prime!M,a);return 1;main()(int x;printf(44n please enter a number:?);scanf(d”,&x);printf(%dn,fun(x);4、#inclu
15、denstdio.h#define N 3struct studentlong stu_num;char sex;char name 15;int score4;float average;main()int I,j,index;float sum,max;struct student stuarrNJ;for(I=0;I printf(please input%d student information:nH,I+1);scanf(%ld,%cT%s&stuaiTI.stu_num,&stuarrI.sex,stuarrI.namc);for(j=0;j4;j+)scanf(%d,&stua
16、rrI.scorej);for(I=0;I sum=0.0;for(j=0;jmax)max=stuair I.average;index=I;)primf(总平均成绩最高的学生信息是学号=%ld,性别二%c,姓名=%s,平均成绩=%4.1fn”,stuarrindex.sni_num,stuarr|index.sexstuarr|index).name,stuarr|index.average);)一、填空题I、c语言中普通整型变量的类型说明符为,在内存中占 字节,有符号普通整型的数据范围是.2、C语言中基本的数据类型有;、。3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值
17、是。4、共用体和结构体的定义格式类似,不 同 点 是。5、有如下输入语句:$211长匕=%(1由=%1=%,&5)pr i n tf(d”,x);e l se pr i n tf(%d n”.x-);A.7 和 5B.6 和 3C.7 和 4D.6 和 410、设有如下定义:char*aa2=“abcd”,“ABCD”;则以下说法中正确的是()。A)aa数组成元素的值分别是“abed”和 ABCDB)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4 个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符才和A 的地址11、以下语句的输出
18、结果是()。int a=-1 ,b=4,k;k=(+a0)&!(b-=0);printf(u%d,%d,%dn,k,a,b);A.1,0,4B.1,0,3C.0,0,3D.0,0,412、下列程序的输出结果是()。char*pl=abcd*p2=ABCD,str50=,xyzM;strcpy(str+2,strcat(p 1 +2,p2+1);printf(,%s,str);A.xyabcABB.abcABzC.ABabczD.xycdBCD13、执行下面的程序后,a的值是()o#define SQR(X)X*Xmain()(int a=10,k=2,m=1;a/=SQR(k+m)/SQR(k
19、+m);printf(u%dn,a);)A.10B.1C.9D.014、设A 为存放(短)整型的一维数组,如果A 的首地址为P,那么A 中第i 个元素的地址为()。A.P+i*2B.P+(i-l)*2C.P+(i-l)D.P+i15、下列程序执行后输出的结果是()。int d=l;fun(int p)int d=5;d+=p+;printf(,%d,d);main()int a=3;fun(a);d+=a+;printf(%dn,d);)A.8,4B.9,6C.9,4D.8,51 6、表达式:1 0!=9的值是()。A.tr ueB.非零值C.0D.11 7、若有说明:i n t i,j=7,
20、*p=&i;,则与i=j;等价的语句是()oA.i=*p;B.*p=*&j;C.i=&j;D.i=*p;1 8、不能把字符串:H e l l o!赋给数组b的语句是()oA.c h a r b 1 0 =H;e ,T o ,!;B.c h a r b 1 0 ;b=H e l l o!;C.c h a r b(1 0 ;str c py(b,H e l l o!)D.c h a r b 1 0 =H e l l o!”;1 9、在C程序中有如下语句:c h a r *f un c(i n t x,i n t y);它是()。A.对函数f u n c的定义。B.对函数f u n c的调用。C.对
21、函数f u n c的原型说明。D.不合法的。2 0、以下程序的输出结果是()oc h a r str 1 5 =h e H o!;pr i n l f(d n”,sl r l e n(sl r);A.1 5B.1 4C.7D.6三、阅读程序题1 i n t x=6,y=7;pr i n tf(u%d,x+);pr i n tf(%d n ,+y);程序的输出结果是 o2、float f=3.1415927;primf(%f,%5.4f,%3.3f,f,f,f);则程序的输出结果是 13、a=3;a+=(aI)?a:1;printf(%d,a);结果是 o4、m ain()int a5=2,4,
22、6,8,10,*P,*k;p=a;k=&p;printf(%d,*(p+);printf(%dn,*k);程序的输出结果是 o5、main()int a,b;for(a=1 ,b=1;a=20)break;if(b%3=l)b+=3;continue;)b-=5;程序的输出结果a 的值为四、程序填空题1、求主次对角线之和。main()static int a 3=9,7,5,1,2,4,6.8);int I,j,sl=0,s2=0;for(I=0;l3;I+)for(j=0;j3;j+)if()sl=sl+aIj;if()s2=s2+aIj;Iprintf(%dn%dn,s l,s2);)2、
23、从键盘上输入10个数,求其平均值。main()(int i;float f,sum;for(i=l,sum=0.0;il l;i+)printf(t4average=%fn,sum/10);I3、以下程序是建立 个 名 为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。#i ncludemain()FILE*fp:char c;fp=;doIc=getchar();fputs(c,fp);while(c!=EOF);五、编程题1、三个整数a、b、c,由键盘输入,输出其中最大的数。2、从键盘输入的10个整数中,找出第个能被7 整除的数。若找到,打印此数后退出循环
24、;若未找到,打印“not exist”。3、有一个维数组,内放 10个学生成绩,写一个函数,求出平均分。4,有 N 个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N 个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。参考答案一、填空题1、int,2 个字节,-32768-+32767。2、整型、实型、字符型。3、-4o4、结构体的成员占有各自不同的空间,而共用体的各成员放到同一存储空间。5、a=l,b=3,c=27、是字符串常量,而H是字符常量。8、7,1 。二、选择题1、B 2、C 3、D 4、C 5、C6、D 7、C 8、D 9、C 1
25、0、D11、D 12、D 13、B 14、B 15、A16、D 17、B 18、B 19、C 20、D三、阅读程序题(1)6,8(2)3.141593,3.1416,3.142(3)4(4)2,4(5)8四、程序填空题1、I=j I+j=2 2、scanf(u%f&f);sum+=f;3、fopcn(t4myfile,w)fclose(fp);五、编程题1、main()int a,b,c;printf(“请输入三个整数:);scanf(%d,%d,%d,&a,&b,&c);if(aif(belsc pnntf(i*max=%dn,b);else if(aelse printf(umax=%dn
26、,a);2、#include,stdio.hMmain()int I,a;for(I=l;I=10;I+)(scanf(d”,&a);if(a%7=0)printf(u%d,a);break;if(I=ll)printf(44not existv);3、float average(float array,int n)int I;float aver,sum=arrayO;for(I=l;Isum=sum+arrayI;aver=sum/n;return(aver);)niain()float ave,score10;int I;for(I=0;I10;I+)scanf(%f&scoreI);a
27、ve=average(score,10);printf(%fn,ave);4、#includestdio.h#define N 3struct student long stu_num;char sex;char namc|15;int score4;float average;);main()int Lj,index;float sumjnax;struct student stuarrNJ;for(I=0;I printf(nplease input%d student information:n,I+l);scanf(,%ld,%c,%s,&stuarrI.stu_num,&stuarr
28、I|.sex,stuarrI.namc);for(j=0;j4;j+)scanf(%d 1 ,&stuarrI.scorelj);for(I=0;I)sum=0.0:for(j=0;jmax)(max=stu arrI.av erage;index=I;printf(总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1外 产8 3 1 1 4 1 1(1 乂 6 0 1 _nu m,stu arrindex.sex,stu aiT index.name,stu arrindex.av erage);一.单项选择题1 .设ini 乂=1,丫=1;表达式(以+I I
29、y-)的值是A.0B.1C.2D.-12.main()int n;(n=6*4,n+6),n*2;printf(t4n=%dn,n);此 程 序 的 输 出 结 果 是.A.3 0B.2 4C.6 0D.483.若有如下定义,则 是对数组元素的正确的引用。int a10,*p;p=a;p=a;p=a;p=a;A.*&a10B.allC.*(p+10)D.*p4.设整型变量n的值为2,执行语句“n+=n=n*n;后,n的值是A.0B.4C.-4D.25.以下不能正确定义二维数组的语句是A.ini a22=l,2);B.int a2=1,2,3,41;C.int a22=1),23);D.int
30、a2=1,2)43,4);6.程序段 的功能是将变量u、s中的最大值赋给变量t。A.if(us)t=u;t=s;B.t=u;if(t)t=s;C.if(us)t=s;else t=u;D.t=s;if(u)t=u;7.下 列 程 序 段 的 输 出 结 果 是。void main()int k;for(k=l;k=0llb=0)&(a0 llb=0&b=0)&(a0&b0)&(a+b0IO C语言中,合法的字符型常数是 oAJAB.“A”C.65D.A1 1.设有数组定义:char an*ayFC hina”;则数组所占的空间是.A.4个字节B.5个字节C.6个字节D.7个字节1 2.若变量c
31、为char类型,能正确判断出c为小写字母的表达式是A.,a,=c =a)II(cv=z )C.(a v=c)and(z =c)D.(c=a)&(cv=z )1 3.设有定义:long x=-1 2 3 4 5 6 L;则以下能够正确输出变量x值的语句是一A.printf(ux=%dn,x)B .printf(ux=%ldn x)C.printf(4x=lnM,x)D.printf(tyz,应使用C 语言表达式A.(x=y)&(y=z)B.(x=y)AND(y=z)C.(x=y=z)D.(x=z)&(y=z)20.以下可以作为C 语 言 合 法 整 数 的 是。A.1010BB.0368C.OX
32、ffaD.x2a221.在函数中默认存储类型说明符的变量应该是 存储类型。A.内部静态B.外部C.自动D.寄存器二.判断题1.C语言源程序文件通过了编译、连接之后,生成一个后缀为.EX E的文件。()2.在C程序中,函数既可以嵌套定义,也可以嵌套调用。()3.在C程序中,A PH和ap h代表不同的变量。()4.表达式0195是一个八进制整数。()5.表达式_ya是不合法的C语言标识符。()6.C程序总是从m ain()函数的第 条语句开始执行的。()7.A-=7 等价于 a=a-7。()8.利用fclose函数关闭已打开的文件。()9.数组名可以作为参数进行传递。()10.执行 printf
33、(%x”,12345);,输出 12345。()三、填空1.C语言的预处理语句以 开头。2.表达式7+82&25%5的结果是。3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。int n=0,ch;ch=getchar();while()if()n+;c=getchar();4.C 语言中putchar(c)函数的功能是。5.i ni*p 的含义是 o6.定义fp为文件型指针变量的定义方法为。7.数组int a34;共定义了 个数组元素。四、读出程序。1.改正下列程序中不正确的语句。main()int a=8,b=l;a=a+b;b=a*b;printf(%d,%d,a,
34、b);2.写出下列程序的运行结果。fun(int a,int b)if(ab)return(a);Else return(b);)main()int x=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf(u%dn,r);)3.改正下列程序中不正确的语句。main()int n;float s=1.0;for(n=10;nl;n-)s=s+l/n;printf(%6.1fn”,s);)4.写出下列程序的运行结果。main()int n;For(n=3;n=10;n+)if(n%5=0)break;Printf(%d”,n);)5.写出下列程序的运行结果。#includ
35、e“sldio.hmain()int=123,-4,5;int m,n,*p;p=&aO;p=&aO;m=*(p+2);n=*(p+4);printf(u%d%d%d M,*p,m,n);)五.编程序1.编程计算下列表达式:s=l!+2!+3!+4!+10!2.从键盘I:输入a 与 n 的值,计算sum=a+aa+aaa+aaaa+.(共 n 项)的和。例 a=2,n=4,贝 ij sum=2+22+222+2222o3.求3X3矩阵的主对角线元素之和。4.从键盘上输入10个数存入维数组中,求这10数中的最大值与最小值并输出。5.从键盘上输入若干个字符存入文件write.txl中,遇到回车键输
36、入结束。(用“n”表示回车键)参考答案.单项选择题1 B 2B 3D 4C 5D6C 7A 8C 9D 10A11C 12D 13B 14D 15A16B I7D 18B 19A 20C 21C二.判断题N 2X 3=,0,&chv=94 将变量c 中的字符显示到屏幕ko5 指针变量p 为整型6 FILE*fp7 12四、读出程序。1 printf(%d,%d,&a,&b);2 123 s=s+1.0/n4.3 45 13 5五.编程序1.#include stdio.hmain()long s=O,t=l;int i;for(i=l;i=10;i+)t=t*i;s=s+t;printf(n%
37、ld,s);2#include stdio.hmain()int a,n count=l,sn=0,tn=0;scanf(%d%d;&a,&n);while(count=n)(tn=tn+a;sn=sn+tn;a=a*10;+count;printf(”d”,sn);)3.#include stdio.hmain()int a33,ij,s=O;for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);for(i=0;i3;i+)for(j=0;j3;j+)if(i=j)s=s+aij;printf(n%d,s);4.#includc stdio.hmain()in
38、t a 10,max,min;for(i=0;i10;i+)scanf(%d,&ai);max=a0;for(i=l;imax)max=ai;min=aO;for(i=l;i10;i+)min=ai;printf(%d%dn,max,min):)5.#include stdio.hmain()(int c;FILE*fp;fp=open(”write.txt,w);c=getchar();while(c!=,n,)fputc(c,fp);c=gctchar():fclose();)一.单项选择题1.运算符 的优先级最高。A.B.+=C.?:D.+2.main()int n;(n=6*4,n+6
39、),n*2;printf(12?15:67?8:9)的值为.A 9B 8C 15D.18.若 x=5,y=3 则 y*=x+5;y 的值为.A.10B.20C.15D.309.能正确发示a和b同时为正或同时为负的逻辑表达式是A.a=0llb=0)&(a0 llb=0&b=0)&(a0&b0)&(a+b010.C语言中,合法的字符型常数是 oA.AB.A”C.65D.A11.已有定义 int x=3,y=4,z=5;则表达式“!(x+y)+z-l&y+z/2”的值是一A.6B.OC.2D.l12.若变量c 为 char类型,能正确判断出c 为小写字母的表达式是A.,a,=c=a)II(cv=z)
40、C.(av二 c)and(z=c)D.(c=a)&(c2&25%5的结果是。3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。Int n=0,ch;Ch=getchar();While()if()n+;c=getchar();)4.C语言中getchar()函数的功能是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _5.i nt*p的含义是.6.定义fp为文件型指针变量的定义方法为。7.数组int a33;共定义了 个数组元素。四、读程序。1.改正下列程序中不正确的语句。main()int a;
41、scanf(u%d,a);if(a=1)printf(t);)2.写出下列程序的运行结果。fun(int a,int b)(if(ab)return(a);Else return(b);main()int x=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf(%dn,r);)3.改正下列程序中不正确的语句。main()int n;float s=1.0;for(n=10;nl;n-)s=s+l/n;printf(u%6.1 fnn,s);4.写出下列程序的运行结果。main()int n;For(n=3;n=10;n+)if(n%6=0)break;Printf(%
42、d”,n);5.写出下列程序的运行结果。#include stdio.hMain()int 叫=1,2,3,45);int m,n,*p;p=&aO;m=*(p+l);n=*(p+4);printf(u%d%d%d”,*p,m,n);)五.编程1.编程计算下列表达式:s=n!(n从键盘上输入)2.输出1 100之间不能被12整除的数。3.从键盘上输出10个整数存入维数组中,按由大到小的顺序输出。4.从键盘上输入9个数,按3行3列的格式输出。5.编程将文件read.txt中的字符读出显示到屏幕上。参考答案一.单项选择题1 A 2B 3D 4C 5C6C 7C 8D 9D 10AHD 12D 13
43、B 14A 15C16C 17A 18A 19C 20A二.判断题Z 2X 37 4X 576 7 =O&c h v=9 4从键盘上输入一个字符。5指针变量p为整型6 F I L E *f p7 9四、读出程序。1 p r i m f(“d,”,&a);i f (a=l)2 1 23 s=s+1.0/n4 .3 4 55 12 5五.编程序1.#includc stdio.hmain()long t=l;int i;for(i=l;i=10;i+)t=t*i;printf(%ld,t);2#include stdio.hniain()int i;for(i=l;i=100;i+)if(i=0)
44、continue;printf(%d”,i);3.#includc stdio.hmain()int i,j,a10;for(i=l;i=10;i+)scanf(H%d,&ai);for(i=0;ii;j-)if(a|j-l t=a|j-l;aj-l=aj;aj=t;for(i=0;i10;i+)printf(n%d,ai);4.#include stdio.hmain()int a33,ij,s=O;for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);for(i=0;i3;i+)for(j=0;j3;j+)printf(t2&25%5的结果是。3.下列程序段
45、是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。Int n=0,ch;Ch=getchar();While()if()n+;4.putchar(c)函数的功能是是是。5int*p 的含义是是是是 o6.C语言中数组的下标下限为 o7.定义fp为文件型指针变量的定义方法为。8.数组int a34;共定义了 个数组元素。二、单项选择题1、下列属于整型常量的是 oA、12B、12.0C、-12.0D、10E102、不属 于 字 符 型 常 量 的 是。AJAB、WC、“A”D、b3、下 列 表 达 式 为 关 系 表 达 式 的 为。(其中a为一整型变量)A.3+4*5B、a=10C a0
46、?a:-aD、a=l4、下 面 不 正 确 的 赋 值 语 句 是。A.a=a+1B、a=bC、a+=bD、a=l5、下 列 对 数 组 定 义 不 正 确 的 语 句 是。A.in t m 5 ;B、ch ar b =C、in i a 1 0=l,6,M ;D、ch ar p ;6、若有以下定义,则 和 是对数组元素的正确引用。in t a 5 ,*p=aA.*&a 6B、*p+8C、*(a+2)D、*p7、执行下列语句后,a的值是。in t a=8;a+=a-=a*a;A.-2 4 0B、64C、1 1 2D、-1 1 28.指出下面正确的输入语句()oA.s can f(t 4a=b=%
47、d,&a.&b);B.s can f(d,%d”,&a,&b);C.s can f(%c”,c);D.s can f(%fn ,&f);9.下面的变量说明中正确的是A.in t:a,b,c;B.in t a;b;c;C.in t a,b,cD.in t a,b,c;1 0.C语言用()表示逻辑“真”值。A.TrueB.t 或 yC.非零整型值D.整型值0IL 若 x=5,y=4 则 y*=x+5;y 的值为().A.40B.20C.15D.3013.C语言中以追加方式打开一个文件应选择 参数。A.r”B.w”C.“rb”D.“a”14.Break语句的正确的用法是()。A.无论在任何情况下,都
48、中断程序的执行,退出到系统下一层。B.在多重循环中,只能退出最靠近的那层循环语句。C.跳出多重循环。D.只能修改控制变量。15.两个指针变量的值相等时,表明两个指针变量是。A.占据同一内存单元。B.指向同呐存单元地址或者都为空。C.是两个空指针。D.都没有指向。16.字 符 串 指 针 变 量 中 存 入 的 是.A.字符串的首地址。B.字符串C.第一个字符D.字符串变量。17.以 个是不正确的描述。A.不论在主函数还是自定义函数中,只要说明了变量,就可为其分配存贮单元。B.在定义函数时,必须指定形参的类型。C.形参和实参之间可以是值传递。D.数组名可以作为参数进行传递。18表达式力?(0?3
49、:2):(10?1:0)”的值为.A.3B.2C.1D.019.为表示关系xNyNz,应使用C语言表达式A.(x=y)&(y=z)B.(x=y)AND(y=z)C.(x=y=z)D.(x=z)&(y=z)2 0.以下说法中正确的是。A.C语言程序总是从第一个定义的函数开始执行。B.在C语言程序中,要调用的函数必须有main()函数中定义。C.C语言程序总是从main()函数开始执行。D.C语言程序中的main()函数必须放在程序的开始部分。21.设有数组定义:char array=China”;则数组所占的存贮空间为A.4个字节B.5个字节C.6个字节D.7个字节22.根据C语言的语法规则,下
50、列 个是不合法标识符。A.WhilcB.NameC.Rern5D._exam三、读出下列程序,写出程序的运行结果。1.main()(int a=8,b=l;a=a+b;b=a*b;printf(na=%d,b=%d,a,b);该程序的运行结果是 o2.main()int i,num5;for(i=0;i5;i+)numi=i*10-2;printf(,%d,num3);该程序的运行结果是_3.main()float c,f;c=30.0;f=(6*c)/5+32;printf(nf=%f,f);该程序的运行结果是_4.main()int a=6095,b;b=a 00;printf(d,b);