一、填空题
1、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。
a+=_______;b=a-_______;a-=_______;
2、C语言的源程序必须通过【 】和【 】后,才能被计算机执行。 3、一个C语言源程序由若干函数组成,其中至少应含有一个________
4、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为_______,n的值为_______。
5、C语言所提供的基本数据类型包括:单精度型、双精度型、_______、_______和_______。
6、请读以下函数:
getbits(unsigned x,unsigned p,unsigned n)' {x=((x<<(p+1-n))&((unsigned)~0>>n)); return(x); }
假设机器的无符号整数字长为16位。若调用此函数时x=0115032,p=7,n=4,则函数返回值的八进制数是_______。
7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。请填空。
for(x=0;x<=30;x++) {y=30一x;
if(_______)printf(\"%d,%d\\n\",x,y);
}
8、假设M为已经声明的符号常量,则定义一个具有M×M个元素的双精度型数组a,且所有元素初值为0的形式是_______。 9、下面程序段将输出computer。请填空。
char c[]=\"It is a computer\"; for(i=0;_______;i++) {_______;printf(\"%c\",c[j]);}
10、下面程序可求出图中方括号内的元素之积,请填空。 # include { int x[3][3]={7,2,1,3,4,8,9,2,6}; int s,*p; p=_______; s=*p*_______; printf(\"product=%d\ return(0); } 二、选择题 11、下面4个选项中,是不合法的转义字符的选项是( ) A.'\\\"' B.'\\1011 ' C.'\\0ll' D.'\\abe' \\\\ '\\' '\\f' '\\0ll' \\xf' ' \\a' '\\]' 'xlf' 12、下面4个选项中,是C语言关键字的选项是( )。 A.auto B. switch C. signed D. if Enum typedef union struct include continue scanf type 13、C语言规定:在一个源程序中,main函数的位置( ) A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 14、以下叙述正确的是 A.在C程序中,main函数必须位于程序的最前面 B.C程序的每行中只能写一条语句 C.C语言本身没有输入输出语句 D.在对一个C程序进行编译的过程中,可以发现注释中的拼写错误15、以下对二维数组a的正确说明是( )。 A.inta[3][];B.float a(3,4);C.double a[ ][4];D.float a(3)(16、设有如下程序: 4); #include {char ch1='A',ch2='a'; printf(\"%c\\n\",(chl,ch2)); return 0; } 则以下叙述中正确的是( )。 A.程序的输出结果为大写字母A B.程序的输出结果为小写字母a C.运行时产生错误信息 D.格式说明符的个数少于输出项的个数,编译出错 17、设有以下程序段: char str[4][10]={first\",\"second\",\"third\",\"fourth\"), *strp[4];int n; for(n=0;n<4;n++) strp[n]=str[n]; 若k为int型变量且0≤k<4,则对字符串的不正确引用是( )。 A.strp B.str[k] C.strp[k] D.*strp 18、以下程序有语法性错误,有关错误原因的正确说法是( )。 #include int main() {int G=5,k; void prt_char(); ----- k=prt_char(G); --- } A.语句void prt_char();有错,它是函数调用语句,不能用void说明 B.变量名不能使用大写字母 C.函数说明和函数调用语句之间有矛盾 D.函数名不能使用下划线 19、若i为整型变量,则以下循环执行次数是( )。 for(i=2;i==0;)printf(\"%d\",i--); A.无限次 B.0次 C.1次 D.2次 20、下面有关for循环的正确描述是( )。 A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break 语句跳出循环体 D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 21、以下程序的运行结果是( )。 #include int main() {int a,b,d=241; a=d/100%9; b=(-1)8&.8&(-1); printf(\"%d,%d\",a,B.; return0; } A.6,1 B.2,1 C.6,0 D.2,0 22、对两个数组a和b进行如下初始化: char a[]=\"ABCDEF\";charb[]={'A','B','C','D','E','F'};则以下叙述正确的是( )。 A.a与b数组完全相同 B.a与b长度相同 C.a和b中都存放字符串 D.a的长度比b长 23、当运行以下程序时,从键盘输入:AhaMA Aha<回车>,则下面程序的运行结果是( ) #include {char s[80],c='a';int i=0; scanf(\"%s\ while(s[i]!= '\\0') {if(s[i]==c) s[i]=s[i]-32; else if(s[i]==c-32) s[i]=s[i]+32: i++; } puts(s); return 0; } A)ahAMa B)AhAMa C)AhAMa ahA D)ahAMa ahA 24、以下程序可选出能被3整除且至少有一位是5的两位数,打印出所有这样的数及其个数。请选择填空( )。 #include if((k%3==0&&a2==5)|l(k%3==0&&al==5)) {printf(\"%d\",k); n++; return n; } else return-1; } int main(){int i,k,n,m; for(k=10 ;k<=99;k++) {m=sub(k,n); if(m!=-1)n=m; } printf(\"\\nn=%d\",n); return(O); } A.a2*10 B.a2 C.a2/10 D.a2%10 25、下面程序的功能是计算1~10之间的奇数之和及偶数之和。请选择填空(#include {int a=0,b,c=0,i; for(i=0;i<=10;i+=2) {a+=i; b=i+1; c+=b; printf(\"The sum of even=%d\\n\",A.; printf(\"The sun of odd=%d\\n\",【】): return 0; } A.c-10 B.c C.c-11 D.c-b 三、读程序填空 )。 26、已有定义float d1=3.5,d2=-3.5;执行以下语句后的输出结果是_______。 printf(\"*d(1)=%e*d(2)=%.4e*d(3)=%10.4e*\\n\",dl,dl,d1); printf(\"*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\\n\",d2,d2,d2); 27、有以下程序: #include scanf(\"%d%c%c”,&k,&c1,&c2); printf(\"%d,%c,%c\\n\",k,c1,c2); return 0; } 若运行时从键盘输入:55AB<回车>,则输出结果是_______。 28、下面程序的功能是:从键盘输入一个整数m(4≤m≤20),输出如下的整数方阵(存入二维数组aa)。例如,若输入4和5,则分别输出: 请改正程序中的错误语句,使它能得出正确的结果。改正后的语句是_______和_______。(注意:不得增行或删行,也不得更改程序的结构。) #include void aMatrix(int n,int xx[][M]) {int i,j;for(j=0;j int main() {int aa[M][M],i,j,m; printf(\"\\nPlease enter an integer number between 4 and 20:\"); scanf(\"%d\",8&.m); aMatrix(m,aa); printf(\"\\nThe%d*%d matrix generated:\",m,m); for(i=0;i return(0); } } 29、下面函数pi的功能是:根据以下公式,返回满足精度(0.0005)要求的x的值。 请填空。 𝜋112123 =1++∗+∗∗+⋯ 2335357# include return(_______); } int main() { double x=0.0005; printf(\"\\ neps=% lf, 𝜋 =% If\ return(0); } 30、有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,下面的程序统计卖完所需的天数。请填空。 #include {int day=0,x1=1020,x2; while(_______){x2=_______;x1=x2;day++;} printf(\"day=%d\\n\",day); return 0; } 31、下面程序的运行结果是_______。 #include {int i=0;char a[]=\"abm\",b[]=\"aqid\",c[10]; while(a[i]!='\\o'&&b[i]!='\\o') {if(a[i]>=b[i])c[i]=a[i]-32; else c[i]=b[i]-32; ++i; } c[i]= '\\o'; puts(c); return 0; } 32、以下程序的功能是:根据输入的三角形的三条边,判断是否能组成三角形,若可以则输出它的面积和三角形的类型。请填空。 #include {float a,b,c;float s,area; scanf(\"%f%f%f”,8&.a,8&b,8.c); if(_______) {s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c)): printf(\"%f,area); if(_______) printf(“等边三角形”); else if(_______) printf(\"等腰三角形”); else if((a*a+b*b==c*c)||(a*a+cxc==b*b)||(b*b+c*c==a*a)) printf(\"直角三角形”); else printf(“一般三角形”): else printf(“不能组成三角形”); return 0; } 33、若有定义:int m[10][6];则在程序中引用数组元素m[i][j]的4种形式是:_______、_______、_______和*(*(m+i)+j)。(假设i、j已正确说明并赋值。) 四、编程题 34、编写程序,将字符串中的第m个字符开始的全部字符复制成另一个字符串。要求在主函数中输入字符串及m的值并输出复制结果,在被调用函数中完成复制。 35、以下程序的功能是应用下面的近似公式计算e的n次方。函数fl用来计算每项分子的值,函数f2用来计算每项分母的值。请编写f1和f2函数。 𝑥 ex=1+x+ 2 2! +…(前20项的和) 3! 𝑥3 #include float fl(int x,int n) { } int main() {float exp=1.0;int n,x; printf(\"Input a number:\"); scanf(\"%d',&x); printf(\"%d\\n\",x); exp=exp+x; for(n=2;n<=19;n++) exp=exp+f1(x,n)/f2(n); printf(\"\\nThe is exp(%d)=%8.4f\\n\",x,exp); return(0); } 运行结果: Input a number:3 The is exp(3)=20.0855 参 一、填空题 1、【1】b【2】b【3】b 2、【1】编译【2】连接 3、主函数(或main函数) 4、【1】10【2】6 5、【1】整型【2】字符型【3】枚举型 6、0120000或120000 7、2*x+4*y==90 8、double a[M][M]={0}; 9、【1】i<=7【2】j=i+8 10、【1】&x[0][0]【2】(*(p+4))*(*(p+8)) 二、选择题 11、B 12、B 13、C 14、C 15、C 16、B 17、A 18、C 19、B 20、D 21、B 22、D 23、A 24、A 25、C 三、读程序填空 26、*d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=囗3.500e+00* *d(4)=一3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00囗x (注:答案中的囗代表空格) 27、55,,A 28、【1】for(j=0;j 33、【1】(*(m+i))[j]【2】*(m[i]+j)【3】*(&m[0][0]+6*i+j) 四、编程题 34、#include void cipystr(char*pl,char*p2,int m); int main() {int m,1; char strl[80],str2[80]; printf(\"Input a string:\\n\"); gets(str2); printf(\"Input m:\\n\"); scanf(\"%d\",&.m); 1=strlen(str2) if(1 void copystr(char*pl.char*p2,int m) {int n=0;while(n float f1(int x,int n) {int i;float j=1; for(i=1;i<=n;i++) j=j*x; return j; } 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务