




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章概述及算法1下面属于C语言保留字的是 。(A)Int (B)typedef (C)ENUM (D)unien2C语言规定,在一个C程序中,main()函数的位置 。(A)必须在开始 (B)必须在最后(C)可以任意 (D)必须在系统调用库函数之后3下列四个叙述中,正确的是 。(A)C程序中的所有字母都必须小写(B)C程序中的关键字必须小写,其他标识符不区分大小写(C)C程序中的所有字母都不区分大小写(D)C程序中的关键字必须小写4一个C程序由若干个C函数组成,各个函数在文件中的书写位置为 。(A)任意(B)第一个函数必须是主函数,其他函数任意(C)必须完全按调用的顺序排列(D)其他函数必须在前,主函数必须在最后实战试题参考答案1B 2C 3D 4A第三章数据类型、运算符与表达式一、选择题1已知字母A的ASCII码为十进制的65,下面的程序输出是 。main()char ch;ch=B+5-3;printf(“d,cn”,ch,ch);(A)67,D (B)68,D (C)69,D (D)输出错误2在C语言中,设int型占2字节,下列不正确的int型常数为 。(A)-32768 (B)32768 (C)0999 (D)0xfa3在C语言中,合法的字符常数是 。 (A)09l (B)x5c (C)34 (D)”0”4下列不正确的转义字符是 。 (A)065 (B)” (C) (D)05当用#define A=9;定义后,叙述正确的是 。(A)A是整型常数 (B)A是整型变量(C)A是字符型常数 (D)语句有误6有以下定义:char a; int b;float c; double d:则表达式a*b+d-c值的类型为(A)float (B)int (C)char (D)double7设有如下变量定义:int i=8,k,a,b;unsigned long w=5;double x=30,y=50;则以下符合C语言语法的表达式是 。(A)a+=a-= (b=4)*(a=3) (B)x(-3) (C)a=a*3=2 (D)y=float(i)8下列变量定义中合法的是 。(A)short a=l-le-l; (B)double b=l+5e25;(C)long do1=0xfdaL; (D)float 2_and=1-e-3;9设已定义int a=7,b=12;,则运算结果为3的表达式是 。(A)b=(a=5) (B)b=(a-a5)(C)b=a-a5 (D)(b=a)-(a=5)10下列四个叙述中,错误的是 。(A)在C程序中,无论是整数还是实数,都能被准确地表示(B)在C程序中,变量名代表存储器中的一个位置(C)静态变量的生存期与整个程序的运行期相同(D)C语言中变量必须先说明后引用二、填空题1若a,b和c均是int型变量,则执行下面表达式后,a值为 (1 ) ,b值为 (2 ) ,c值为 (3) 。 a=(b=4)+(c=2)2若有定义:int b=7;float a=25,c=47;,则下面表达式的值为 (4) 。 a+(int)(b3*(int)(a+c)2)43若有定义:int e=l,f=4,g=3;float m=l02,n=40,k;,则执行赋值表达式 k=(e+f)g+sqrt(double)n)*12g+m后k的值是 (5) 。4下列程序的输出结果是 (6) 。 main() double d=3.2; int x,y; x=12; y=(x+38)50; printf(“fn”,d*y); )5荇a是int型变量,则下皿表达式的值为 (7) 。 (a=4*5,a*2),a+66若x和a均是int型变量,则执行表达式(1)后的x值为 (8) ,执行表达式(2)后的X值为 (9) 。 (1)x=(a=3,4*5) (2)x=a=3,4*57若有以下定义:int x=-2,y=2;,则执行表达式y+=y-=x*=y后y的值是 (10) 。8已知字母a的ASCII码为十进制数97,字母o的ASCII码为十进制数48,则表达式a+1-1的整型值为 (11) 。9设有以下定义,并已赋予了确定的值:char w;int w;float y;double z:则表达式w*x+z-y所求得值的数据类型为 (12 ) 。10设有int x=11;,则表达式(x+*13)的值为 (13) 。 实战试题参考答案一、选择题 1B 2B 3B 4A 5D 6D 7A 8C 9D 10A二、填空题(1)6 (2) 4 (3)2 (4)55 (5)120(6)0 (7)26 (8)20 (9)3 (10)12(11)145 (12)double (13)3第四章 顺序程序设计一、 选择题1X、Y、Z被定义为int型变量,若从键盘给X、Y、Z输入数据,正确的输入语句是 (A)INPUT x、Y、z; (B)scarlf(“ddd”,x,y,&z);(C)scanf(“ddd”,X,y,z); (D)read(“ddd”,&x,&y,&z);2下述程序片段中,执行 后变量i的值为3。(A)int i=l,j=1; (B)int i=0,i=0; i=j=i=3 ; (i=2,i+(j=2);(C)inti=l,j=l; (D)int i=2,j=l; i+=j+=3; (j=1)?i+=2:i=3;3设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf(“i=d,f=f”,&i,&f);为了将10和654分别赋给i和f正确的输入为(为回车符)(A)10 654 (B)i=10,f=654(C)10654 (D)i=10f=6544若已定义a为整型数据变量,且有以下语句: a=-10L; printf(”dn”,a);则以下说法正确的是 。(A)赋值合法输出格式有误 (B)输出值为-10(C)输出为不确定值 (D)输出值为105下面程序的输出是 。main()int k=16;printf(“k=d,k=o,k=xn”,k,k,k); (A)k=16,k=l 8,k=14 (B)k=16,k=20,k=10(C)k=16,k=020,k=0x10 (D)k=16,k=20,k=f6设已定义X为double类型变量 x=-3223.87654; printf(“一6:2ekn”,x);则以上语句 。(A)输出格式描述符的域宽不够,不能输出(B)输出为-322388(C)输出为-32e+03(D)输出为32e-037执行以下程序的输出结果是 。 main() int a=5,b=6,c; printf(”a=d,b=d,c=dn”,a+,+b,c=a+b); (A)a=5,b=7,c=12 (B)a=5,b=7,c=13(C)a=6,b=7,c=l 1 (D)a=5,b=8,c=12实战试题参考答案1B 2A 3B 4B 5B 6C 7C第五章 选择结构程序设计一、选择题1下述表达式中, 可以正确表示x=1的关系。 (A) (x=1) | (x|x=1ORx=lx=02表示关系xyz的C语言表达式为 。 (A) (x=y)&(y=z) (B) (x=y)AND(y=z)(C) (x=y=z) (D) (x=y)&(y=z)3下述程序的输出结果是 。 #include void main() int x=-4,y=4; int k; k=x+=0&!(y-=0) printf(“d,d,d”,k,x,y);(A) 0,-4,3 (B) 0,-3,2 (C) l,-4,3 (D) 1,-3,34当c的值不为0时,下列选项中能正确将c的值赋给变量a和b的是 。(A) c=b=a (B) (a=c)|(b=c1) (C) (a=c)&(b=c) (D) a = c = b 5以下程序 #include main() int a,b,c=l2345; a=c1009; b=(-1)&(1); pfintf(“%d,dn”,a,b); 的输出结果是 。(A)131 (B)6,1 (C) 13,-1 (D) 6,-16若a、b、Cl、c2、x、y、均是整型变量,正确的switch语句是(A)switch(a+b); case 1:y=a+b;break; case 0:y=a-b;break; (B)switch(a*a+b*b) case 3: case 1:y=a+b; break; case 3:y=b-a; break; (C)switch a case cl:y=a_b;break; case c2:x=a*d:break; default:x=a+b; (D)switch(a-b) default:y=a*b: break; case 3:case 4:x=a+b; break; case 10:case 1 1:y=a-b; break; 二、填空题1设a,b,c,m和n均为int型变量,且a=3,b=6,c=5,d=8,m=0和n=7,则逻辑表达式(m=ab)&(n=cd)运算后,n的值为 (1) 。 2下列程序的输出结果是 (2 ) 。#includevoid main()int a=0,b=l,c=2; if (+a0|+b0) +c; printf(“na=d,b=d,c=d”,a,b,c); 3请读以下程序 #include main() float a,b; scanf(“%f”,&a); if(a0.0) b=0.0; else if(a50)&(a!=40) b=10(a+30); else if(a(b=5)?sizeof(a*4):sizeof(b*4);printf(“d”,x);5用C语言的逻辑表达式描述条件”年龄(用变量n表示)在0到16岁或者高于等于60岁的人”是 (5) 。6下列程序段的输出结果是 (6) 。 int n=”c”; switch(n+) default:printf”error”);break; case a :case A:case b:caseB:printf(”good”);break; case c :caseC:printf(”pass”): cased:caseD:printf(”warn”); 实战试题参考答案一、选择题1A 2D 3D 4C 5B 6D二、填空题(1)7 (2)a=l,b=l,c=3 (3)0250000 (4)0(5)(n=0)&(n=60) (6)passwarn第六章 循环控制实战试题一、选择题1有如下程序 main() int n=9; while(n=6)n-printf(”%d”,n-); 该程序段的输出结果是 。 (A) 86 (B) 876 (C) 75 (D) 7652执行循环语句: for(x=0,y=0;y!=250|x4;x+) y+=50;其循环体共执行 次。(A)5 (B)4 (C)3 (D)23若i和j已定义为int类型,则以下程序段中的内循环体总共被执行 次。 for(i=6;i;i-) for(j=0;j4;j+)(A)25 (B)24 (C)28 (D)304以下程序的输出结果是 。(A)#*#*#* (B)#* (C)* (D)*#*#*main() int i; for(i=l;i5;i+) if(i2)printf(”#”);continue; printf(”*”); break; printf(”n”); 5有如下程序 #include main() int i=0,j=5,k=2,s=0; for(;) i+=k; if (ij) break; s+=i; printf(“i=d,s=d”,i,s);该程序执行时,i,s的值分别是 。 (A) 6,10 (B) 6,8 (c) 6,6 (D )程序是死循环6在下列选项中,没有构成死循环的程序段是 。(A)int i=100; while(1) i=i%100+1; if(i=100)break; (B)int k=-1; do +k; while(k0);(C)for(;);(D)int s=2345; while(s+2+s2) s +;7以下程序的输出结果是 。(A)2 0 (B)31 (C)3 2 l (D)2 1 0main() int n=4; while(n-) printf(”%d”, -n); 8若有以下程序段,w和k都是整型变量: W=k; LB:if(w=0) goto LE; w-;printf(“*”); goto LB; LE:则不能与上面程序段等价的循环语句是 (A)for(w=k;w=0;w-)printf(“*”);(B)w=k; while(w-!=0)printf(“*”); w+;(C)w=k;do w -printf(“*”); while(w!=0);(D)for(w=k;w;-w)printf(“*”);9以下程序的输出结果是 。 main() int x=10,y=10,i; for(i=0;x8;y=+i) printf(”%d%d”,x-,y); (A)10 1 9 2 (B) 9 8 7 6(C)10 9 9 0 (D)10 10 9 l10以下程序的输出结果是 main() int a,b; for(a=l,b=l;a=l0) break; if(b3=l) b+=3; continue; printf(”%dn”,a); (A)11 (B)3 (C)6 (D)4二、填空题1以下循环体的执行次数是 (1) 。 main() int i,j; for(i=0,j=1;i5)printf(”%d”,x); else printf(”%d”,x-); 3以下程序的输出结果是 (3) 。 main() int x,i; for(i=l;i=50;i+) x=i; if(+x%2=0) if(x3=0) if(x7=0) printf(”%d”,i); 4在执行下面的程序时,如果从键盘输入123ABcd,则输出为 (4) 。 #include main() char ch; while(ch=getchar()!=n) if(ch=A&ch=a&ch=z) ch=ch-32; printf(”%c”,ch); printf(”n”); 5以下程序段的输出为 (5) 。int x=4; do printf(”3d”,x-=4); while(!(x-);6以下程序的输出结果是 (6) 。 main() int num=0; while(num=2) num+; printf(”3 d,+num); 7以下程序执行后sum的值是 (7) 。 mainO int i,sum=0; for(i=l;i40) break; while(+iN); printf(”dn”,sum) 10求l0以内2的倍数的和suml及其余各数的积sum2。 main() int sum=0,sum2=0,i; for(i=l;i=10;i+) if( ( 10) ) suml+=i; else (11) ; printf(”d,dn”,suml,sum2); 11下面的程序按公式:sinx=x-x3!+x5 !一x7!+来计算sin(x)的近似值。 #include #define abs(x) (x)0?(x):-(x) #define eps 1.0E-5 void main() float x,xl,yl,y2; int i=0; scanf(“f”,&x); y2=x; (12) ;doi+; yl=y2;xl*= (13) y2=y2+xl;while(abs(y2-y 1)eps);printf(“f”,y2);实战试题参考答案一、选择题1A 2B 3B 4B 5C6B 7A 8A 9D 10D二、填空题(1) l (2)6 (3)41 (4)123abCD(5)0-5 (6)2 4 (7)12 (8)0475(9)4l (10)i2=0 (11)sum2*=i(12)xl=x (13)x*x(2*i)*(2*i+1)*(-1)第七章数组1执行以下程序后,程序的输出结果是 (1) 。main()printf(“dn”,strlen(“ab066xad9”); 2程序 #include main() static int sq33=0,0,0,0,0,0,0,0,0; int i,j,k; i=1;j=0; sqij=1; for(k=2;k=9;k+) i-;j-; if(i0&j=0&j0) j=2; else if(i=0) i=2; else if(i=0&j=0&sqij!=0) i+; j+=2; sqij=k; for(i=0;i3;i+) for(j=0j3;j+) printf(“5”,sqij); printf(“n”); 执行以上程序后,sq02= (2) ,sq11= (3) ,sq20= (4) 。 3完整程序。该程序功能是,有一个已排好序的数组,今输入一个数,要求按原来的顺序规律将它插入到数组中。 #define N 10 main() float aN+1,x; int i,p; for(i=0;iN;i+) scanf(“f”,&ai); scanf(“f”,&x); for(i=0,p=N;iN;i+) if(x=p;i-) (6) ; ap=x; for(i=0;imax) max=x; if (1 0) min=x; scanf(“f”,&x); printf(“n max=f min=fn”,max,min); 5将矩阵中主对角线除外的下三角中个元素加l。main()int a44=1,2,3,4,5,6,7,8,9,10,1l,12,13,14,15,16;int i, j;for(i=0;i4;i+) for(j=0; j4;j +) if( (11) ) (12) for(i=0;i4;i+)for(j=0; j4; j+) printf(“6d”,aij); printf(“n”); 6完整以下程序,该程序功能是统计一个字符串中单词的个数,单词以空格分割。main() int i,num=0,word=0; char str80; (1 3) ;printf(“s”,str);for(i=0;i=0?a:-a;while( (17) ) n+;while(n) sn-= (18) ; a=a10; (19) printf(“s,s); 8完整程序,程序的功能是:将有10个元素的整型数组a中下标值为偶数的元素从大到小排列,其他元素不变。 (20) main() int ak=1,3,5,7,9,2,4,6,8,10,t; int i, j; for(i=0;ik;i+) printf(“6d”,ai); for(i=0;i=k-2; (2 1 ) ) for(j=i+2;jk;j+=2) if( (2 2 ) ) t=ai;ai=aj;aj=t; for(i=0;ik;i+) printf(“6 d”,ai); printf(“n”); 9完整程序,该程序的功能是把从键盘输入的十进制数(long型)以任意给定的二到十六间进制数的形式输出。 #include main() char b16=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F; int c64,d,i=0,base; long n; printf(”Enter a number:n”);scanf(“l d”,&n); printf(”Enter new base:n”); scanf(”d,&base); do ci= (23) ; i+;n= (24) ; while(n!=0);printf(”Transmite new base:n”):for(-i;i=0;-i) d= (25) printf(“%c”,bd); 10完整程序。有一个M*N的矩阵,以下程序的功能是求出其中值最小的那个元素的值,以及相应的行号和列号。 #define M 4 #define N 3 main() int i ,j,row=0,colum=0,min; int aMN=1,12,3,4,25,6,17,8,19,0,11,12; (26) ;for(i=0;i=3;i+) for(j=0;j0 (10)xx(11)ij (1 2)aij+=1或aij+或ailj=aij+l(1 3) gets(str) (14)strlen(str)(15)word=0 (16)a0?+:-(17)al=10 (18)48+a10(1 9)sn+1=0 (20)#define k 10(21)i+,i+或i=i+2或i+=2(22)aiajl或aiai或aj=ai(23)nbase (24)nbase(25)ci (27)aijlaij (26)min=a00 (28)min=aij第八章 函数一、选择题1以下正确的说法是 。 (A)用户若需调用标准库函数,调用前必须重新定义 (B)用户若需调用标准库函数,调用前不必使用预编译命令将函数所在文件包括到用户源文件中,系统自动去调 (C)系统根本不允许用户重新定义标准库函数 (D)用户可以重新定义标准库函数,若如此,该函数将失去原有含义2以下正确的函数定义形式是 。 (A)double fun(int x,int,v) (B)double fun(intx;intv) (C)double fun(int x,int y); (D)double fun(int x,y);3在C语言中,以下正确的说法是 。 (A)实参和与其对应的形参各占用独立的存储单元 (B)实参和与其对应的形参共占用一个存储单元 (C)只有当实参和与其对应的形参同名时才共占用存储单元 (D)形参是虚拟的,不占用存储单元4C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 。 (A)float型 (B)int型 (C)long型 (D)double型5C语言规定,函数返回值的类型是由 。 (A) retrn语句中的表达式类型所决定 (B) 在定义该函数时所指定的函数类型所决定 (C) 调用该函数时系统临时决定 (D) 调用该函数时的主调函数类型所决定6下面函数调用语句含有实参的个数为 。 func( (expl,exp2),(exp3,exp4,exp5) ); (A) l (B) 2 (C) 4 (D) 57在C语言程序中,以下正确的描叙是 。 (A)函数的定义可以嵌套,但函数的调用不可以嵌套 (B)函数的定义和函数的调用均不可以嵌套 (C)函数的定义不可以嵌套,但函数的调用可以嵌套 (D)函数的定义和函数的调用均可以嵌套8若用数组名作为函数调用的实参,传递给形参的是 。 (A)数组的首地址 (B)数组第一个元素的值 (C)数组中全部元素的值 (D)数组元素的个数9以下不正确的说法为 。 (A)在不同函数中可以使用相同名字的变量(B)形式参数是局部变量(C)在函数内定义的变量只在本函数范围内有效(D)在函数内的复合语句中定义的变量在本函数范围内有效10以下程序的正确运行结果是 。main() int a=2,i; for(i=0;i3;i+) printf(“4d”,f(a);f(int a) int b=0;static int c=3;b+;c+;return(a+b+c);(A) 7 8 9 (B) 7 10 13 (C) 7 9 11 (D) 7 7 711以下程序的正确运行结果是 。#includemain() int k=4,m=l,p;p=func(k,m);printf(“d”,p);P=func(k,m);printf(“dn”,p);func (int a,int b) static int m=0,i=2;i+=m+l;m=i+a+b;return(m);(A) 8,16 (B) 8,17 (C) 8,20 (D) 8,8二、填空题1C语言规定,可执行程序的开始执行点是 (1) 。2下面add函数的功能是求两个参数的和,并将和值返回调用函数。函数中错误的部分是 (2) ;改正后为 (3) 。 void add (float a,float b) float c;c=a+b;return c; 3以下程序的运行结果是 (4) 。mian() int i=2,x=5,j=7;fun(j,6);printf(“i=d;j=d;x=dn”,i,j,x);fun(inti,intj) int x=7;printf(“i=d;j=d;x=dna”,i,j,x);4以下程序的运行结果是 (5) 。main() increment();increment();increment();increment() int x=0;x+=1;printf(“d”,x);5下面是一个计算阶乘的程序。程序中的错误语句是 (6) , 应改为 (7) 。#include”stdioh”double factorial (int);main() int n;printf(“Enter an integer:”);scanf(“d”,&n);printf(haknd!=lgnn”,n,factorial(n);double factorial (int n) double result=10;while(nl | n1)age ( int n ) int c;if(n=1)c=l0; else c= (8) ;retum(c);main() int n=5;printf(“age=dn”, (9) );7下面程序的功能是 (10) ,运行结果是 (11) 。long fib ( in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 如何设计燃煤锅炉设备项目可行性研究报告技术工艺+设备选型+财务概算
- 中国二节玻璃柜行业市场前景预测及投资价值评估分析报告
- 2025年花岗岩矿可行性研究报告
- 人工智能驱动的智能安防系统的技术突破与应用场景拓展报告
- 教师心理健康问题研究论文
- 压铸机制造加工维修项目可行性研究报告完整立项报告
- 边坡整治建设项目可行性研究报告
- 家庭教育研究期刊
- 中国热水型循环泵行业市场前景预测及投资价值评估分析报告
- 氧氮项目投资可行性研究分析报告(2024-2030版)
- 初级保健按摩师(脊柱按摩师)资格理论必背考试题(附答案)
- 2025届新高考历史押题模拟试卷 3套(含答案解析)
- 2025年银行从业资格证考试题库获取试题及答案
- 十一学校小升初入学测试数学真题及详细解答
- 4-02-02-01 国家职业标准客运车辆驾驶员 (2025年版)
- 2024北京西城区四年级(下)期末语文试题及答案
- 【航线补贴绩效评估实证研究-以华夏航空公司为例19000字(论文)】
- 电梯五方对讲设计方案
- 24 唐诗三首 《茅屋为秋风所破歌》课件
- 2025年初一下册语文-课内现代文复习23课.《蛟龙探海》(解析版)
- 小升初英语作文写作专题训练题100题(含范文详解)
评论
0/150
提交评论