《大一C语言题库.pdf》由会员分享,可在线阅读,更多相关《大一C语言题库.pdf(57页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、编程大题1.有一函数:当 x0 时,y=lo编一程序,输入x 的值,输出y 的值。#includeint main()(int x,y;scanf(%d,&x);if(x=0)if(x0)y=l;else y=0;else y=l;printf(x=%d/y=%dn/x/y);return 0;2,输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。#include int main()float a,b,c,t;scanf(%f,%f,%f“,&a,&b,&c);if(ab)printfC嗨 NfZSNfZSNfXn,abc);return 0;t=a;a=b;b=t;)if(
2、ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;3,有三个整数a,b,c,由键盘输入,输出其中最大者。#includeint main()int a,b,c,max;printf(请输入 a,b,cn);scanf(”d,%d,%cT,&a,&b,&c);max=a;if(maxb)max=b;if(maxc)max=c;printf(最大的数为dn,max);return 0;4.编程求圆面积、圆周长。要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字。#include void main()(float r,I,s;float pi=3.1415926;pri
3、ntf(表输入圆半径r:);scanf(%fz&r);l=2*pi*r;s=pi*r*r;printf(圆周长为:l=%6.2fn,1);printf(圆面积为:s=%6.2fn,s);5.有分段函数:当 x10 时,y=sqrt(x)o编一程序,输入x的值,输出y的值。#includeint main()(int x,y;scanf(%d,&x);if(x-10)y=abs(x)+5;else if(x=10)y=4*x-8;else y=sqrt(x);printf(,x=%d/y=%dn/x,y);return 0;6.编写程序,判断某一年是否是闰年。(闰年的条件是:能被4整除,但是不能
4、被100整除,或者可以被400整除。)#include int main()int yearjeap;printf(enter year:1);scanf(d”,&year);if(year%4=0)if(year%100=0)if(year%400=0)leap=l;else leap=0;else leap=l;else leap=0;if(leap)printf(%d is,year);else printf(%d is nottyear);printf(a leap year.n);return 0;7,输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字。公式
5、为c 二的(f32)#include int main()float c,f;printf(请输入一个华氏温度:);scanf(%f,&f);c=(5.0/9.0)*(f-32);printf(摄氏温度为:%5.2fn,c);return 0;)8.有一函数:当x l时,y=|x|;当 l=x=10时,y=3x+l函 编一程序,输入x 的值,输出y 的值。#include#include void main()(int x,y;printf(输入 x:);scanf(%d,&x);if(xl)y=abs(x);else if(x*p2)t=pl;pl=p2;p2=t;if(*pl*p3)t=p
6、l;pl=p3;p3=t;if(*p2*p3)t=p2;p2=p3;p3=t;printf(%d,%d,%dn,*pl,*p2,*p3);)10.输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;如果不是,不转换。然后输出最后得到的字符。#include void main()(char ch;scanf(%cz&ch);ch=(ch=A&ch=Z)?(ch+32):ch;printf(%cn“,ch);)11.编程求圆柱体积,圆柱表面积。要求圆半径,圆柱高由键盘输入,输出时要求有文字说明,取小数点后两位数字。#include void main()(float r,h,v,s;
7、float pi=3.1415926;printf(表输入圆半径r、圆柱高h:”);scanf(l,%f%f/&r,&h);v=pi*r*r*h;s=2*pi*r*r+2*pi*r*h;printf(圆柱体积为:v=%6.2fn,v);printf(“圆柱表面积为:s=%6.2fn”,s);12.编程求圆柱体积,圆柱表面积。要求圆半径,圆柱高由键盘输入,输出时要求有文字说明,取小数点后两位数字。#include void main()(float r,h,v,s;float pi=3.1415926;printf(表输入圆半径r、圆柱高h:);scanf(”%f%f”,&r,&h);v=pi*
8、r*r*h;s=2*pi*r*r+2*pi*r*h;printf(圆柱体积为:v=%6.2fnv);printf(圆柱表面积为:s=%6.2fn”,s);13.有三个整数a,b,c,由键盘输入,输出其中最小者。#includeint main()int a,b,c,max;printf(请输入 a,b,cn);scanf(d,%d%cT,&a,&b,&c);max=a;if(maxb)max=b;if(maxc)max=c;printf(最小的数为 dn,max);return 0;14.输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。
9、#include void main()(char ch;scanf(%c,&ch);ch=(ch=A&ch=Z)?(ch+32):ch;printf(%cn“,ch);15.输入三角形的三边长,求三角形面积。求三角形面积的公式为area=sqrt(s(s-a)(s-b)(sc),其中 s=(a+b+c)/2#include#include void main()(float a,b,c,s,area;scanf(1,%f%f%f,/&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(%fnzarea);)16.编程求2!+4!
10、+6!+8!+10!的值,并输出结果。#include int main()(int n=l,sum=Oj/m=l/i;for(i=l;i=5;i+)m=l;for(j=l;j=2*i;j+)m=m*j;sum=sum+m;)printf(sum=%dn,zsum);return 0;17.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时就剩一个桃子了。求第一天共摘了多少个桃子。#includeint main()(int day,xlzx2;day=9;x
11、2=l;while(day0)xl=(x2+l)*2;x2=xl;day-;printf(total=%dn,xl);return 0;18.输出所有的“水仙花数”,所 谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。#includevoid main()(int i,j,k,n;printf(narcissus numbers are);for(n=100;n1000;n+)(i=n/100;j=n/10-i*10;k=n%10;if(n=i*i*i+j*j*j+k*k*k)printf(%5d,n);)printf(n);19.编程求l100之间的所有素数,并输出结果。incl
12、ude#include int main()(int n,m=0,k,i;for(n=l;n=100;n=n+2)k=sqrt(n);for(i=2;i=k+l)printf(%d,n);m=m+l;)if(m%10=0)printf(nn);)pnntf(nH);return 0;)20.编程求l!+3!+5!+7!+9!的值,并输出结果。#include int main()(int n=l,sum=0,j,m=lJ;for(i=l;i=5;i+)m=l;for(j=l;j=2*i-l;j+)m=m*j;sum=sum+m;)printf(sum=%dnn,sum);return 0;)2
13、1.用p i/l-3+g/7+公式求p i的近似值,直到某一项的绝对值小于10的-6次方为止。#include#include int main()int sign=l;double pi=0,n=l,term=l;while(fabs(term)=le-6)pi=pi+term;n=n+2;sign=-sign;term=sign/n;pi=pi*4;printf(pi=%10.8fn,pi);return 0;22.一个球从100m高度自由落下,每次落地后又反跳回原高度的一半,再落下,再反弹。求它在第10次落地时共经过多少米?#includeint main()(int i;double
14、m=100,sum=0;for(i=0;i10;i+)sum=sum+m;m=m/2;printf(,%fnzsum);return 0;23.输入两个正整数m 和 n,求其最大公约数和最小公倍数。#includevoid main()(int p,r,n,m,temp;printf(请输入 n 和 m:);scanf(”%d,%d,%d,&n,&m);if(nm)temp=n;n=m;m=temp;p=n*m;while(m!=O)(r=n%m;n=m;m=r;printf(:%dn,n);printf(:%dn,p/n);)24.利用循环,编程求l!+2!+3!+10!的值,并输出结果。#
15、include int main()(int n=l,sum=0j,m=lzi;for(i=l;i=10;i+)m=l;for(j=l;j=i;j+)m=m*j;sum=sum+m;)printf(sum=%dn/sum);return 0;)25.有一分数序列:如 切,58昭 1犯 21/13,求出这个数列前20项之和。#includeint main()(int i,n=20;double a=2,b=l,s=0,t;for(i=l;i=n;i+)(s=s+a/b;t=a,a=a+b,b=t;printf(sum=%16.10fn,s);return 0;26.求Fibonacci数列前4
16、0个数。这个数列有以下特点:第 1 和第2 个数为1,从第3 个数开始,该数是其前面两个数之和。#include int main()int fl=l,f2=l,f3;int i;printf(%12dn%12dn,fl,f2);for(i=l;i=38;i+)f3=fl+f2;printf(%12dn,f3);fl=f2;f2=f3;return 0;27.一个数如果恰好等于它的因子之和,这个数就称为完数。例如,6 的因子为1、2、3,而 6=1+2+3,因此6 是完数。编程求1000以内所有完数。include int main()int m,s,i;for(m=2;m1000;m+)s=
17、0;for(i=l;im;i+)if(m%i)=0)s=s+i;if(s=m)printf(%djts factors are”,m);for(i=l;im;i+)if(m%i=0)printf(%d J);printf(nn);return 0;28.求 S=a+aa+aaa+.+aa.a(n 个 a)之值。其中 a 是一个数字,n 代表 a 的位数。例如:2+22+222+2222+22222(此时n 为 5),n 由键盘输入。include int main()(int a,sn=0,tn=0,kj=l/n;printf(a/n=:n);scanf(d,%cT,&a,&n);while(
18、i=n)(tn=tn+a;sn=sn+tn;a=a*10;+i;)printf(a+aa+aaa+.=%dnzsn);return 0;29.编程求100200之间的所有素数,并输出结果。/include#include int main()(int n,m=O,k,i;for(n=101;n=200;n=n+2)k=sqrt(n);for(i=2;i=k+l)printf(%d,n);m=m+l;)if(m%10=0)printf(n);printf(n);return 0;30.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includevoid main()(cha
19、r c;int letters=0,space=0,digit=0,other=0;printfCXn);while(c=getchar()!=n)if(c=9&c=A&c=0&c=,9,)digit+;elseother+;)printf(:%dn:%dn:%dn:%dn,Jetters/space,digit/other);)31.将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,4,3,2,0 o 要求改为0,2,3,4,6,80#include#define N 6void main()int aN,i,temp;printf(enter array a:n);for(i=0;i
20、N;i+)scanf(%d,&ai);printf(array a:n);for(i=0;iN;i+)printf(%4dzai);for(i=0;iN/2;i+)(temp=ai;ai=aN-i-l;aN-i-l=temp;printf(n Now,array a:n);for(i=0;iN;i+)printf(%d”向i);printf(n);)32.编写一个函数,求数列1+团+3+加+必利用主函数调用这个函数并输出结果。#include#includevoid main()(int izs=l;float n,t,a;t=l;a=0;n=l;printf(input n:,n);whil
21、e(i=n)a=a+t;i=i+;t=s/i;printf(a=%10.6fn/a);)33.将一个二维数组inta3的行和列的元素互换,存到另外一个二维数组中。include void main()(inta23=l,2,3,4,5,6;int b32,i,j;printf(array a:n);for(i=O;i=l;i+)(for(j=O;j=2;j+)printf(%5d,aij);bUi=aij;)printf(n);)printf(array b:n);for(i=0;i=2;i+)(for(j=0;j=l;j+)printf(%5d,biU);printf(n);)34.利用循环
22、输出以下图形*/include int main()(int i,j,m;for(i=l;i=5;i+)m=i;for(m=l;mi;m+)printf();for(j=0;j=5-i;j+)printf(*);printf(n);)return 0;35.用冒泡排序法对输入的10个数进行降序排序,并存入数组中。int paixu(x)intx;intfor(j=l;j10;j+)for(i=0;ixi+l)t=xi+l;xi+l=xi;xi=t;main()int y10;int i;for(i=0;i10;i+)scanf(”%d”,&yi);paixu(y);for(i=0;i10;i+
23、)printf(%5d,yi);printf(n);)36.有一个3乘4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。#include void main()(int i,j,row=0,colum=0,max;inta34=L2,3,4,9,8,7,6,-10,10,-5,2;max=a00;for(i=0;i=2;i+)for(j=O;jmax)(max=aij;row=i;colum=j;printf(max=%d,row=%d,colum=%dn,max,row,colum);)37用冒泡排序法对输入的10个数进行升序排序,并存入数组中。int paixu(x
24、)intx;int i,j,t;for(j=l;j10;j+)for(i=0;ixi+l)t=xi+l;xi+l=xi;xi=t;)main()int y10;int i;for(i=0;i10;i+)scanf(%d,&yi);paixu(y);for(i=0;i10;i+)printf(%5d,yi);printf(n);38.利用循环,输出以下图形*#include int main()int i,j,m;for(i=0;i5;i+)(m=i;for(m=0;mi;m+)printf();for(j=0;j5;j+)printf(*);printf(n);return 0;39.输出以下
25、杨辉三角形(要求输出10行)。11 11 2 11 3 3 11 4 6 4 11 15 1010 5 1main()static intb0l=l;for(m=l;mll;m+)for(n=l;n=m;n+)bmn=bm-ln-l+bm-ln;printf(”%-5d“,bmn);printf(,n);)40.利用循环输出以下图形*#include int main()(int i Jm;for(i=l;i=4;i+)(m=i;for(m=l;m=4-i;m+)printf(H);for(j=0;j2*i-l;j+)printf(*);pnntf(Hnn);)return 0;41.利用循环
26、,输出以下图形*#include int main()(int i,j,m;for(i=l;i=4;i+)(m=i;for(m=l;mi;m+)printf();for(j=0;j2*(5-i)-l;j+)printf(*);printf(n);)return 0;42.求一个3 X 3的整型矩阵对角线元素之和。main()int i=0,j=0,a33,sl,s2;for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d;&aiU);sl=a00+all+a22;s2=a02+all+a20;printf(sl=%d,s2=%dn/sl,s2);43.编写程序,将两个字符串连
27、接起来,不要使用strcat函数。main()int i,j;char strl100,str2100,str3201;printf(input a string:);gets(strl);for(i=0;strli!=0;i+)str3i=strli;printf(input a string:);gets(str2);for(j=0;str2j!=0;j+)str3j+i=str2j;str3D+i=0;printf(%sn,str3);44.写一个函数,求两个整数中的较大者,用主函数调用这个函数,并输出结果,两个整数由键盘输入。#include void main()(int max(i
28、nt x,int y);int a,b,c;scanf(”d,%GT,&a,&b);c=max(a,b);printf(max is%dn,c);)int max(int x,int y)(if(xy)return(x);elsereturn(y);45.编写两个函数分别求两个整数的最大公约数和最小公倍数,在主函数中调用这两个函数,并输出结果,两个整数由键盘输入。#includevoid main()(int cm(int x,int y);int cd(int x,int y);int a,b,m,n;printf(输入两个数:);scanf(%d%d,&a,&b);m=cm(a,b);n=
29、cd(a,b);printf(最大公约数是dn最小公倍数dn”,n,m);)int cm(int x,int y)(int k;k=xy?x:y;for(;k+)if(k%x=O&k%y=O)break;return(k);)int cd(int xjnt y)(int i,j,k;k=xy?y:x;for(i=l;i=k;i+)if(x%i=O&y%i=O)j=i;return(j);二、选择题一、选择题1,该变量已正确定义为整型,则表达式n=i=2,+i,i+o己知字母A 的ASCII值为6 5,下列程序运行后的输出结果是main()char a,b;a=A+5-,3,;b=a+,6,-,
30、2;printf(%d%c,a,b);2.下列isprime函数的功能是判断形参a 是否为素数,是素数,函数返回1,否则返回0。请填空。int isprime(int a)int i;for(i=2;i=a/2;i+)if(a%i=0);)3.设有定义:float x=123.4567;,则执行下列语句后的输出结果是printf(%fn,(int)(x*100+0.5)/100.0);4.若有定义:inta=4,b=5,c=6;接着顺序执行下列语句后,变量b 中的值是1习。c=(a-=(b-5);c=(a%3)+(b=l);若 a 的值为1,则表达式!a|+a的值是5.下列程序的功能是:求出数
31、组x 中各相临两个元素的和依次存放到数组a 中,然后输出。请填空。main()int x10,a9,i;for(i=0;i10;i+)scanf(%d,&xi);for(;i10;i+)ai-l=xi+;for(i=0;i9;i+)printf(%d,ai);printf(n);)6.设有定义语句:inta3=0,l,3,则数组元素a田是7.下列程序中的数组a 包括10个整数元素,从 a 中第二个元素起,分别将后项减前项之差存入数组b,并按每行4 个输出,请填空。main()int a10,b10,i;for(i=0;i10;i+)scanf(%d,&ai);for(i=l;i10;i+);f
32、or(i=l;i10;i+)printf(%d,bi-l);if(i%4=0)printf(n);)8.下面程序将二维数组a的行和列互换后存放到一个二维数组b中,请填空。main()inta23=l,2,3,4,5,b32,ij;for(i=0;i2;i+)(for(j=0;j3;j+)1.下列叙述中错误的是()A.算法正确的程序最终一定会结束。B.算法正确的程序可以有零个输出。C.算法正确的程序可以有零个输入。D.算法正确的程序对于相同的输入一定有相同的结果。B2.下列叙述中错误的是()A.C程序必须由一个或一个以上的函数组成。B.函数调用可以作为一个独立的语句存在。C.若函数有返回值,必须
33、通过return语句返回。D.函数形参的值也可以传回给对应的实参。D3.C语言源程序名的后缀是()A.exeB.cC.objD.cpB4.下列叙述中错误的是()A.用户定义的标示符允许使用关键字。B.用户定义的标示符应做到“见名知意”。C.用户定义的标示符必须以字母或下划线开头。D.用户定义的标示符中大、小写字母代表不同标示。A5.下列关于函数的叙述正确的是()A.每个函数都可以被其他的函数调用(包含main函数)。B.每个函数都可以被单独编译。C.每个函数都可以单独运行。D.在一个函数内部可以定义另一个函数。6,下列不合法的用户标示符是()A.j2_keyB.JntC.4dD._8_C7,下
34、列定义变量的语句中错误的是()A.int _int;B.double int_;C.char for;D.float us$;D8.按照C语言规定的用户标示符命名规则,不能出现在标示符中的是()A.大写字母B.连字符C.数字字符D.下划线B9.对于一个正常运行的C程序,下列叙述正确的是()A.程序的执行总是起止于main函数。B.程序的执行总是从第一个函数开始,结束于main函数C.程序的执行总是从m ain函数开始,在最后一个函数结束D.程序的执行总是从第一个函数开始,在最后一个函数结束A10.下列叙述正确的是()A.C语言程序从源程序中第一个函数开始执行B.可以在程序中由用户指定一个函数作
35、为主函数,程序将从此开始执行C.C语言规定必须用main作为主函数名,程序从此开始执行,在次结束D.main可作为用户标示符,可以命名任意一个函数作为主函数-C1 L下列叙述正确的是()A.C程序中的注释只能出现在程序的开始位置B.C程序书写格式严格,要求一行只能写一个语句C.C程序书写格式自由,一行可以写多条语句D.用C语言编写的程序只能放在一个程序文件中-C12.下列不合法的数值常量是()A.011B.lelC.8.0e0.5D.Oxabc-C13.可在C程序中用作用户标识符的一组是()A.and _2007B.date y-m-dC.hi dr.tomD.case bigl14.下列关于
36、long、int和 short类型数据占用内存大小的叙述正确的是()A.均占4 个字节B.根据数据的大小来决定所占内存的字节数C.由用户自己定义D.由C 语言编译系统决定D15,设变量已正确定义并赋值,以下正确的表达式是()A.x=y*5=x+zB.int(15.8%3)C.x=y+z+3,+yD.x=25%5.0C16.设有定义:int k=l;float f=7;则下列选项中错误的表达式是()A.k=k=kB.-k+C.k%int(f)D.k=f=mC17.表达式 3.6-2+1.2+5%2 的值是()A.4.3B.4.8C.3.3D.3.8D18.下列叙述中错误的是()A.C程序中的#访
37、611和#(6而 行均不是C 语句B.除逗号运算符外,赋值运算符的优先级最低C.C程序中,j+;是赋值语句D.C程序中,+、*、是算术运算符,可用于整型数和实型数的运算D19.下列选项中,当x 为大于1 的奇数时,值为0 的表达式是()A.x%2=lB.x/2C.x%2!=0D.x%2=0D20.下列叙述中错误的是()A.C语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式加上分号就构成赋值语句C21,下列正确定义且赋初值的语句是()A.int nl=n2=10;B.char c=32;C.float f=f+l.l;0.double
38、x=12.3E2.522.若变量已正确定义并赋值,下列合法的语句是()A.x=y=5B.x=n%2.5C.x+n=iD.x=5=l+4A23.以下定义正确的是()A.int a=b=0;B.char A=65+l,b=b,;C.float a=lzb=&a,c=&b;0.double a=0.0;b=l.l;B24.有下列程序:*main()*charal=,M,a2=m;*printf(%cn,(al,a2);*)下列叙述正确的是()A.程序输出MB.程序输出mC.格式说明符不足,编译出错D.程序运行时产生出错信息-B25.有下列程序:*main()*int x,y,z;*x=y=l;*z=
39、x+,y+,+y;*printf(%d,%d,%dn,x,y,z);*)*程序运行的结果是()A,2,3,3B.2,3,2C.2,3,1D.2,2,1-C26.设有定义:intk=O;下列选项的4 个表达式中与其他3 个表达式的值不同的是()A.k+B.k=k+1C.+k8.k+lA27.在C 语言中,以下说法不正确的是()A.在 C 程序中,整数和实数都能被准确无误的表示出来B.在 C 程序中,任何一个变量名都代表存储器的一个位置C.静态变量的生存周期与整个程序的运行期相同D.C语言中,任何变量都必须先声明才能进行引用A28.若有以下定义和语句:*int a=010,b=0 xl0,c=10
40、;*printf(%d,%d,%dn,a,b,c);*则输出结果是()A.8,10,10B.10,10,10C.8,8,10D.8,16,10D29.设C语言中,float类型数据占4个字节,则double类型数据占()个字节A.1B.2C.8D.4C30.以下正确的实型常量()A.E3.4B.-12345C.2.2e0.8D.4B31.设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是()A.0255B.065535C.-3276832767D,-256255B32.设a和b均为int型变量,且a=6,b机1,则能使值为3的表达式是()A.b%(a%4)B.b%(
41、a-a%5)C.b%a-a%5D.(b%a)-(a%4)D33.已定义变量a为整型,则不能正确表示9a14的表达式是()A.!(9a&a9&a14D.!(a=14)A34.以下程序运行的结果是()*#include*main()*int a=3,b=4,c=8,d=4,m=l,n=3;*printf(%dn,(m=ab)&(n=cd)*)A.OB.lC.2D.3A35.能正确表示“当x 的取值范围在 1,10 和 100,110 范围内为真,否则为假”的表达式是()A.(x=l)&(x=100)&(x=l)|(x=100)|(x=l)&(x=100)&(x=l)|(x=100)|(x=110)
42、C36.若有定义:int a=4,b=5;floatx=3.4,y=2.1;则下面表达式的值为()*(float)(a+b)/2+(int)x%(int)yA.5.5B.55C.5.500000D.55.00000C37.若a 为 int型变量,则执行以下语句后,a 的值为()*a=5;a+=a-=a*a;A.25B.-40C.40D.-14B38.若已定义x 和y 为整型变量,且 x=7,则表达式y=2.3+x的值是()A.6B.5C.5.0D.6.0B39.有以下程序:*main()*int y=l,x=2zz=3;*printf(,%d,%dn/(+x,y+),z+2);*执行后的输出结
43、果是()A3,5B.2,5C.3,3D.1,5D40.以下程序的输出结果是()*main()*int a=l,b=2;*printf(d%dn”a,+b);*)A.1,2B.1,3C.0,2D.0,3D41.C语言程序的执行是()A.从程序的主函数开始,到程序的主函数结束B.从程序的主函数开始,到程序的最后一个函数结束C.从程序的第一个函数开始,到程序的最后一个函数结束D.从程序的第一个函数开始,到程序的主函数结束A42.下面说法正确的是()A.一个C程序可以有多个函数B.一个C语言的函数中只允许有一对花括号C.C语言一个语句可以写在一行内,也可以写在多行内D.在对C程序进行编译时,可以发现注
44、释行中的拼写错误-C43.以下说法正确的是()A.C程序是以函数为基本单位的,整个程序由函数组成B.C语言程序的一条语句可以写在不同的行上C.C程序的注释行对程序运行不起作用,所以注释应该尽可能少写D.C程序的每个语句都以分号结束-c44.以下标示符不是关键字的是()A.breakB.charC.SwitchD.return-C45.若要求定义具有10个int型元素的一维数组a,则下列定义语句中错误的是()A.#define N 10*int aNB.#define n 5*int a2*nC.int a5+5D.int n=10,anD46.下设有如下程序段*char s20=Beijing
45、,/*p;*P=s;*则执行P=S;语句后,以下叙述正确的是()A.可以用*p表示s0B.s数组中元素的个数和p所指字符串长度相等C.s和p都是指针变量D.数组s中的内容和指针变量p中的内容相同47.下列数组定义中错误的是()A.int x3=0;B.intx23=l,2,3,4,576);C.int X3=1,2,3,4,5,6);D.intx23=l,2,3,4,5,6);B48.有以下程序:*main()*int i,t3=9,8,7,6,5,43,2,1;*for(i=0;i3;i+)printf(%d,t2-ii);*)*程序执行后的输出结果是()A.7 5 3B.3 5 7C.3
46、6 9D.7 5 1-B49.若有定义语句:int a6;,按内存中的存放顺序,a 数组的第10元素是()A.a04B.al3C.a03D.al4B50.以下错误的定义语句是()A.intx3=0,l,l,2,3);B.intx43=l,2,3,l,2,3,l,2,3;C.intx4=l,2,3,l,2,3,l,2,3;D.intx3=l,2,3,4;-C5 L以下不正确的定义语句是()A.double x5=1.0,2.0,3.0,4.0,5.0;B.int y5=0,l,2,3,4,5;C.char c=,l,/,2,3,4/,5,;D.char c2=a,b,c;-B52.若有以下定义,
47、则正确引用数组元素的是()*int a5,*p=a;A.*&aB.*a+2C.*(P+5)D.*(a+2)D53.若有说明:intaH3=0,0;则不正确的叙述是()A.数组a 的每个元素的初值都是0B.数组a 的第一维大小为1C.数组a 的行数为1D.只有元素a和a初值为0,其余元素得不到初值0-D54.下列二维数组初始化语句中,不正确的是()A.intb2=l,2,3,4z5z6,7;B.int b35=0,0,0;Cint b口 4=1,2,3,4,5,6;D,intb2=(1,2),(3,4),(5,6);D55.有以下程序:*main()*intaa55=l,2,3,4,5,6,l,
48、8,5,9,10,2,l,2,5,6;*int s=O,i;*for(i=0;i4;i+)*s+=aai2;printf(%d,s);*)*程序运行后的输出结果是()A.26B.19C.10D.20B56.设已有定义:float x;,则下列对指针变量p 进行定义且赋初值的语句中正确的是()A.float*p=1024;B.int*p=(float)x;C.float p=&x;D.float*p=&x;D57.设有定义语句int(*fint);,则以下叙述正确的是()A.f是基类型为int的指针变量B.f是指向函数的指针变量,该函数具有一个int类型的形参C.f是指向int类型一维数组的指针
49、变量D.f是函数名,该函数的返回值是其类型为int类型的地址B58.设有定义:int nl=0,n2,*p=&n2,*q=&nl;,以下赋值语句中与n2=nl;语句等价的是()A.*p=*qB-P=qC.*p=&nl;D.p=*qA59.在16位编译系统上,若有定义inta=10,20,30,*p=&a;,当执行p+;后,下列说法错误的是(A.p向高地址移了一个字节B.p向高地址移了一个存储单元C.p向高地址移了两个字节D.p与 n+1等价A60.若有定义语句:int k3,*pk;,则下列语句中正确的是()A.pk=k;B.pk0=&kl2;C.pk=kO;D.pkl=k;B61.若有定义:
50、char(*p);则标识符p()A.是一个指向字符型变量的指针B.是一个指针数组名C.是一个指针变量,它指向一个含有6个字符型元素的一维数组D.定义不合法-C62.下面程序段的运行结果是()#includevoid main()char str=,abcz*p=str;printf(%dn/*(p+3);A.67B.OC.字符C的地址D.字符CB63.若有以下定义,则对a数组元素的正确引用是()int a5,*p=a;A.*&a5B.*a+1C.*(P+5)D.*(a+2)-D64.数字字符0的ASC|值为4 8,运行下列程序的输出结果是(main()chara=T,b=2;printf(%c