《2019年大学《C语言程序设计》期末考试题库500题(含答案).pdf》由会员分享,可在线阅读,更多相关《2019年大学《C语言程序设计》期末考试题库500题(含答案).pdf(102页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2019年大学C语言期末考试题库500题含答案一、选择题1.设 a 为 int型变量,执行下列赋值语句后,a 的取值分别是()。a=125.534;a=(int)125.521%4;a=52;A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,202.main()int i=200,n=0;/*n用来记录每行已打印数的个数*/while(i=300)if(i%7=0)/break;printf(H%5d,i);n=n+l;if(n=5)/*满 5 个换行*/printf(n);n=0;)i+;2).main()int i,s=0,t=l;for(i=l;
2、i=7;i+)t=t*i;s=s+t;printf(sum=%dn/s);)五、程序设计题3.有以下程序main()int a=l,b;for(b=l;b=8)break;if(a%2=l)a+=5;continue;a-=3;printf(%dnzb);)程序运行后的输出结果是B。A、3 B 4 C、5 D、6知识点:程序分析4.有以下程序main()intnum4 4=lz2z3,4)45,6,7,8,9,10,11,12,13,14,15,16,iJ;for(i=0;i4;i+)for(j=l;j=i;j+)printf(%4c;);fo r(j=;j 4;j+)printf(“%4d”
3、,numi皿);printf(nH);)若要按以下形式输出数组右上半三角1234678111216则在程序下划线处应填入的是 B oA、i-1 B、I C、i+1 D、4-i5.main()int xgs,b;for(x=100;x1000;x+)b=x/100;s=x%100/10;g=x%10;if(g*g*g+s*s*s+b*b*b)=x)printf(dn,x);)2.main()int i,s=0,f=l;for(i=2;i5|x-59.有以下程序main()(int izn=0;for(i=2;i5;i+)(do(if(i%3)continue;n+;)while(!i);n+;p
4、rintf(n=%dnzn);)程序执行后的输出结果是_ D _ oA n=5 B、n=2 C、n=3 D、n=410.以下程序运行后的输出结果是 omain()(int x,a=l,b=2,c=3,d=4;x=(ab)?a:b;x=(xx)?x:d;printf(%dn”,x);答案:111.有以下程序段int k=0;while(k=l)k+;while循环执行的次数是_ A_oA、无 限 次 B、有语法错,不 能 执 行 C、一闪也不执行D、执 行 1 次12.以下程序中,while循环的循环次数是 D。main()int i=0;while(i10)(if(il)continue;if
5、(i=5)break;i+;A、1 B、10 C、6 D、死循环,不能确定次数13.A)abc(B)123(C)abcl23(D)123abc14.下面的程序中哪一行有错误()。Dinclude main()(float array5=0.0;第 A 行int i;for(i=0;i5;i+)scanf(%f,&arrayi);for(i=l;i5;i+)arrayO=arrayO+arrayi;/1 B 行printf(fn,array);第 C 行)A.第 A 行 B.第 B 行 C.第 C 行 D.没有15.C 语言源程序的基本单位是()。A 过 程 B 函数C 子程序D 标识符16.下
6、面的程序运行结果为 Dmain()int x=3,y=0,z=0;if(x=y+z)printf(*);else printf(#);)A、有语法错误不能通过编译 B、输出*,C、可以通过编译,但是不能通过连接,因而不能运行。D、输出#。17.以下程序的输出结果为()。int i;void prt()for(i=5;i8;i+)printf(%c;*);printf(t);main()for(i=5;ib?(bc?l:0):0;功能等价的是 A_A if(ab)&(bc)k=l;else k=0;B、if(ab)|(bc)k=l;else k=0;C if(a=b)k=0;else if(bb
7、)k=l;else if(bc)k=l;else k=0;20.以下函数调用语句中含有()个实参。func(el,e2),(e3,e4,e5);A 2 B 3 C 5 D 语法错误21.以下程序的输出结果为()。#define ADD(x)x*xmain()int a=4zb=6,c=7,d=ADD(a+b)*c;printf(d=%d,d);Ad=70Bd=80 Cd=140 Dd=70022.能正确表示a 和 b 同时为正或同时为负的逻辑表达式是 D。A、(a=0 II b=0)&(a0 II b=0&b=0)&(a0&b0)&(a+b0知识点:条件表达式构成的选择结构23.有如下程序ma
8、in()(int a=l,b=2,m=0,n=0;k;k=(n=ba)|(m=ab);printf(%d,%dn,k,m);)程序运行后的输出结果是 C。A、0,0 B、0,1 C、1,0 D、1,124.合法的数组定义是()。DA.int a3 =0,l,2,3,4,5;B.int a 3 =0,1,2,3,4);C.int a2 3=0,1,2,3,4,5,6;D.int a2 3=0,l,2,3,4,5,;25.以下程序的输出结果是 A omain()int a=4,b=5,c=0,d;d=!a&!b|!c;printf(%dn,cl);)A、1 B、0 C、非 0 的数 D、-126.
9、下列语句中,正确的是()。DA.char a Rabc”;B.char a 3 =ab J 1;C.char a3 =az 1;D.char a 3 =a,1;27.下列定义的字符数组中,输出printf(sn”,str);的输出是()。Cstatic str3 20 =basic,foxpro,windows;A.basic B.foxpro C.windows D.输出语句出错2 8.下列各语句定义了数组,其中哪一个是不正确的()。CA.char a3 10=China,American,Asia;B.int x2 2=l,2/3,4);C.float x2 K 1,2,4,6,8,10;
10、D.int m 3=l,2,3,4,5,6;29.设变量已正确定义,则以下能正确计算f二 n!的程序段是 D。A、f=0;for(i=l;i=n;i+)f*i;B f=l;for(i=l;i f=l;for(i=n;il;i+)f*i;D f=l;for(i=n;i=2;i-)f*=i;30.A)a*b/a*b=l(B)a/b*b/a=l31.设有以下定义,值为5 的枚举常量是()。enum weeksun,mon=4,tue,wed,thu,fri,sat w;A tue B sat C fri D thu32.以下程序的输出结果为()。#define ADD(x)x*xmain()int
11、a=4,b=6,c=7,d=ADD(a+b)*c;pnntf(d=%dzd);)Ad=70Bd=80Cd=140 Dd=70033.以下函数调用语句中含有()个实参。func(elze2),(e3,e4,e5);A 2 B 3 C 5 D 语法错误34.设有如下程序段,下面描述中正确的是()。int k=10;while(k=0)k=k-l;A 循环执行一次B 循环是无限循环C 循环体语句一次也不执行D 循环体语句执行一次35.设 a 为 int型变量,执行下列赋值语句后,a 的取值分别是()。a=125.534;a=(int)125.521%4;a=52;A 125,31,1 B 125,1
12、,20 C 125,31,20 D 125.534,2,2036.C 语言源程序的基本单位是()。A 过程B 函数C 子程序D 标识符37.若有下面的变量定义,以下语句中合法的是()。inti,a10,*p:A p=a+2;B p=a5;C p=a2+2;D p=&(i+2);38.设有以下定义,则以下对变量w 的 赋 值()是错误的。enum weeksun,mon=4,tue,wed,thu,fri,satw;A w=sun;B w=(enum week)4;C w=san;D w=(enum week)9;39.D)birth.day=25;birth.month=10;birth.ye
13、ar=1993;40.以下程序的输出结果是 B。#include main()(int a,b,d=241;a=d/100%9;b=(-l)&(-l);printf(“%d,%dn”,a,b);?)A、6,1 B、2,1 C、6,0 D、2,0知识点:赋值表达式41.在下列程序段中,枚举变量cl,C2的值依次是(),()。enum color red,yellow,blue=4,green/white cl,c2;cl=yellow;c2=white;printf(”%d,%dn”,cl,c2);42.A)10,10(B)8,10(C)010,10(D)8,843.要求以下程序的功能是计算:s
14、=l+l/2+V3+.+V10main()int n;float s;s=1.0;for(n=10;nl;n-)s=s+l/n;printf(%6.4fnzs);)程序运行后输出结果错误,导致错误结果的程序运行是A s=1.0;B、for(n=10;nl;n-);C s=s+l/n;D、printf(6.4fn,s);44.A)过程(B)函数(C)子程序(D)标识符45.SUM=2468四、程序改错46.关于return语句,下列正确的说法是()。A 可以在同一函数中出现多次B 必须在每个函数中出现C 只能在除主函数之外的函数中出现一次D 在主函数中不能出现47.main()int a6=10
15、,6,23,-90,0,3,i;invert(az0,5);for(i=0;i6;i+)printf(d,”,ai);printf(nw);)invert(int*s,int i,int j)int t;if(in B p-n+C(*p).n+D+p-n49.两个指针变量不可以()。A.相加B 比较C 相减D 指向同一地址50.以下程序的输出结果是()。main()int a=011;printf(/%dn,+a);A12B11C10D951.有以下程序/include main()char chl,ch2;int nl,n2;chl=getchar();ch2=getchar();nl=ch
16、l-O;n2=nl*10+(ch2-0);printf(%dn”,n2);)程序运行时输入:12 回车),执 行 后 输 出 结 果 是。答案:12知识点:数据输入52.以下程序运行后的了输出结果是 omain()int a=l,b=2,c=3;if(c=a)printf(%dn,c);else printf(%dn,b);)答案:153.若有定义:inta=10,b=9,c=8;接着顺序执行下列语句后,变量b 中的值是c=(a-=(b-5);c=(a%ll)+(b=3);答案:354.以下叙述中正确的是_ A_。A、C 程序中注释部分可以出现在程序中任意合适的地方B、花括号 和 只能作为函数
17、体的定界符C、构成C 程序的基本单位是函数,所有函数名都可以由用户命名D、分号是C 语言之间的分隔符,不是语句的一部分填空复习题55.56.892157.若执行以下程序时从键盘上输入9,则输出结果是B_main()int n;scanf(%d,&n);if(n+10)printf(%dn,n);else printf(%dn,n-);A、11 B、10 C、9 D、858.若 i,j 已定义为int类型,则以下程序段中内循环体的总的执行次数是 Afor(i=5;i;i-)for(j=0;jdata.a D)p.data.a2、根据以下定义,能输出字母M 的语句是(D)。A printf(%cn
18、,class3.name);B、printf(%cn”,class3.namel);C printf(/%cn,zclass2.namel);D、printf(%cn,class2.name);struct personchar name9;int age;struct person dass10=Johrrj7,Paul,19,Mary”,18,Adam,16,;62.下面程序的输出是_C omain()unsigned a=32768;printf(,a=%dn/a);A、a=32768 B、a=32767C、a=-32768 D、a=-l知识点:整型数据63.在 C 语言中,合法的长整型
19、常数是 A oA、OL B、4962710 C、324562&D、216D知识点:整型数据64.以下选项中不属于C 语言的类型名称是 D。A、signed short int B、unsigned long int C、unsigned int D、long short知识点:整型数据65.要求通过while循环不断读入字符,当读入字母N 时结束循环。若变量已正确定义,以下正确的程序段是 AoA、while(ch=getchar()!=N printf(%c,ch);B、while(ch=getchar()!=N printf(%c”,ch);C、while(ch=getchar()=N pr
20、intf(%c,ch);D、while(ch=getchar()=N printf(%c,ch);66.C 语言中,数组在内存中占一片的存储区,由代表它的首地址。数组名是一个常量,不能对它进行赋值运算。连续,数组名,地址67.若执下面程序时从键盘上输入5,main()(int x;scanf(%d,&x);if(x+5)printf(%dn,x);else printf(%dn,x-);)则输出是_ B _ oA、7 B、6 C、5 D、46 8.若有以下整型的a 数组,数组元素和它们得值如下所示:数组元素:a0 al a2 a3 a4 a5 a6 a7 a8 a9元素的值:9 4 12 8
21、2 10 7 5 13请写出对该数组的说明,并赋以上初值。该数组的最小下标值为一 最大下标值为写出下面各式的值:aa9 的值为;aa+a 的值为。int a10=9,4,12,8,2,10,7,5,l,3;098869.以下有4 组用户标识符,其中合法的一组是 CoA、For-sub Case B、4d DO Size C、f2_G3 IF abc D、WORD Void define知识点:常量、变量和标识符70.两次运行下面的程序,如果从键盘上分别输入6 和 4,则输出结果是_ A_。main()(int x;scanf(”%d”,&x);if(x+5)printf(“%d”,x);els
22、eprintf(%dn”,x-);A、7 和 5 B、6 和 3 C、7 和 D、6 和 471.有以下程序main()(int m=0256,n=256;printf(%o%on,m,n);)程序运行后的输出结果是_ C _。A、0256 0400 B、0256 256 C、256 400 D、400 400知识点:整型数据72.若有以下说明及语句,则值为6 的表达式是(D)。A、p+-nB、p-n+C(*p).n+D、+p-nstruct stint n;struct st*next;struct st a3,*p;a0.n=5;a0.next=&al;al.n=7;al.next=&a2
23、;a2.n=9;a2.next=,0,;p=&a0;73.有以下程序int fun(int x,int n)(static int sum=0J;for(i=0;in;i+)sum+=xi;return sum;main()(inta=l,2,3,4,5,b=6,7,8,9,s=0;s=fun(a,5)+fun(b,4);printf(%dn,s);)程序执行后的输出结果是_c _。A、45 B、50 C、60 D、557 4.以下程序的输出结果是_ A_。main()(int k=4/m=l,p;p=func(k,m);printf(dj,p);p=func(k,m);printf(%dnz
24、p);)func(int a,int b)(static int m=0,i=2;i+=m+l;m=i+a+b;return(m);)A、8,17 B、8,16 C、8,20 D、8,875.strlen(s)为求字符串s 的长度的函数)char s12=a book!;printf(%dzstrlen(s);A.12 B.8C.7 D.1176.V)(2)形参只有在被调用时才分配存储空间。77.x)数组定义int a10;表示数组名为a,此数组有1 0 个元素,第 1 0 个元素为a10 o78.有以下程序main()int a=Ozb=O;a=10;/*给 a 赋值*/b=20;/*给 b
25、 赋值*/printf(a+b=%dn,a+b);)程序运行后的输出结果是 B oA、a+b=10 B、a+b=30 C、30 D、出错知识点:简单C 语言程序的构成和格式79.下列选项中,合法的C 语言关键字是_ DA、VAR B、cher C、integer D、default知识点:常量、变量和标识符80.#include include void main()(char s80;int i;for(i=0;i80;i+)(si=getchar();if(si=n)break;)si=0;i=0;while(si)putchar(si+);putchar(/n,);)从键盘输入一个字符串
26、,并逐一输出(2)include#include void main()(char str10 80z c80;int i;for(i=0;i10;i+)gets(stri);strcpy(cz strO);for(i=l;i10;i+)if(strlen(c)strlen(stri)strcpy(c,stri);printf(%sn,c);printf(%dn,strlen(c);)从键盘输入若干字符串,找到其中最长的一个输出及它的长度(3)include#include void main()(char a10 80,c80;int i,j,k;for(i=0;i10;i+)gets(ai
27、);for(i=0;i9;i+)(k=i;for(j=i+l;j10;j+)if(strcmp(a j,ak)0)k=j;if(k!=i)strcpy(c,ai);strcpy(ai,ak);strcpy(akzc);字符串交换for(i=0;i10;i+)puts(ai);)从键盘输入若干字符串,并将它们按大到小顺序排好再输出阅读程序,写出运行结果include void main()(inta6=12z4/17z25/27/16/b6=27z13A25/23/16/ij;for(i=0;i6;i+)(for(j=0;j6;j+)if(ai=bj)break;if(j6)printf(%d,
28、ai);)printf(Hn);4 25 27 16阅读程序,写出运行结果。include void main()char a8,temp;int j,k;for(j=0;j7;j+)aO-a+j;a7=0;for(j=0;j0;k-)ak=ak-l;a0=temp;printf(%snza);gabcdeffgabcdeefgabcd阅读下列程序,写出程序运行的输出结果。#include#include void main()char strl =*;for(int i=0;i4;i+)printf(%sn,strl);strli=strlstrlen(strl)-l=O;*该程序的运行结果
29、是:min=,m=,n=ovoid main()float array4 3=3.4,-5.6,56.7,56.8,999.,-.0123,0.45,-5.77,123.5,43.4,0,111.2;int ij;int min;int m,n;min=array0 0;m=0;n=0;for(i=0;i3;i+)for(j=0;j arrayi j)(min=arrayi j;m=i;n=j;)printf(min=%d/m=%d/n=%dn,minzm,n);)-5.77 2 1(8)写出下面这个程序的输出结果:void main()(char str=ABCDEFGHIJKL;print
30、f(%sn,str);屏幕上显示printf(%sn,&str);屏幕上显示str2=str5;printf(%sn,/str);屏幕上显示str9=0;primf(%sn”,str);屏幕上显示ABCDEFGHIJKLEFGHIJKLABFDEFGHIJKLABFDEFGHI(9)读懂下面的程序并填空。void main()char str80;int i=0;gets(str);while(stri!=O)if(stri=a&str 8D、24typedef unionlong x2;int y4;char z8;MYTYPE;MYTYPE them;void main()(printf(
31、w%dnw,sizeof(them);85.以下变量x、y、z 均 为 double类型且已正确赋值,不能正确表示数字式子x/(y*z)的 C语言表达式是 A。A、x/y*z B、x*(l/(y*z)C x/y*1/z D、x/y/z知识点:算术表达式86.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c 的值是_B_。A,1.4 B、1 C、2.0 D、2知识点:算术表达式87.V)(4)在对全部数组元素赋初值时,可以不指定数组长度。88.V)所有函数定义都是并行的,相互独立的。89.字符串abn012的长度为 10三.判断题90.设有intx=ll;则表达式(x+
32、*汨)的值是 A。?A 3 B、4 C、11 D、12知识点:算术表达式91.以下函数,真正地没有返回值。BA.int a()int a=2;return(a);B.void b()printf(c);C.int a()int a=2;return a;D.以上都是92.静态型局部变量的作用域是,生存期是。它所在的局部,整个程序93.以下程序的输出结果是(B)A、因变量无定义输出不定值B、0C、-ID、1#includevoid main()printf(%dn”,NULL);94.为了建立结构体(含有两个成员,data是数据成员,next是指向自身结构体的指针成员),请填空:Struct l
33、ink(char data;struct link*next;)95.若有定义:intx,*pb;则以下正确的表达式是(A)A pb;&x B、pb=x C*pb=&x D、*pb=*x96.以下程序的输出结果是(C)。A、15 B、100 C、10 D、150#define MIN(x,y)(x)(y)?(x):(y)void main()int IJ,k;i=10;j=15;k=10*MIN(ij);printf(dn,k);)97.include int s();int x,y;main()(int n;x=l;y=2;n=s();printf(x=%d,y=%d,n=%d,x,y,n)
34、;int s()(int z;x=3;y=4;z=x+y;return(z);)程序运行后输出:3,4,7(9)以下程序的输出结果是a=,b=,c=include int func(int ajnt*p);void main()(int a=l,b=2,c;c=func(a,&b);b=func(c,&a);a=func(b,&c);printf(a=%d/b=%d/c=%d,za,b,c);)int func(int a,int*p)a+;*p=a+2;return(*p+a);)36 16 19第九章预处理A 部 分(本、专科必做)98.若自定义函数要求返回一个值,则应在该函数体中有一条
35、语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符。return,void99.以下程序的输出结果是_ C _ omain()int i,a10;for(i=9;i=0;i-)ai=10-i;printf(%d%d%d/a2,a5,a8);)A、258 B、741 C、852 D、369100.以下程序输出的是C。void main()int i=3,j=2;char*a=D C B A;printf(%c%cn,ai,aj);)101.函数的形式参数的作用域为,全局的外部变量和函数体内定义的局部变量重名时,变量优先。该函数中,局部102.以下程序的输出结果是C。main(
36、)int i,x3 3=l,2,3,4,5,6,7,8,9);for(i=0;i3;i+)printf(“%dxi 2i);A、1,5,9 B、1,4,7 C、3,5,7 D、3.6.9103.说明变量时,若省略存储类型符,系统默认其为 存储类别,该存储类别的类型符为:。动态,auto1 0 4.以下对C 语言函数的有关描述中,正确的是。AA.在 C 中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B.C 函数既可以嵌套定义又可递归调用C.函数必须有返回值,否则不能使用函数D.C 程序中有调用关系的所有函数必须放在同一个源程序文件中1 0 5.被调函数调用结束后,返回到。DA.
37、主调函数中该被调函数调用语句处B.主函数中该被调函数调用语句处C.主调函数中该被调函数调用语句的前一语句D.主调函数中该被调函数调用语句的后一语句106.有以下程序main()(int m,n,p;scanf(m=%dn=%dp=%d,&m,&n,&p);printf(%d%d%dn,m,n,p);)若想从键盘上输入数据,使变量m 中的值为123,n 中的数值为456,p 中的值为7 8 9,则正确的输入是 A。A、m=123n=456p=789 B、m=123 n456 P=789C、m=123,n=456,p=789 D、123 456 789107.被调函数通过语句,将值返回给主调函数。
38、DA.if B.for C.while D.return1 0 8.,可以不进行函数类型说明。DA.被调函数的返回值是整型或字符型时B.被调函数的定义在主调函数定义之前时C.在所有函数定义前,已在函数外预先说明了被调函数类型D.以上都是109.请读程序:#include#includemain()float x,y,z;scanf(%f%f/&x/&y);z=x/y;while(z)if(fabs(z)1.0)x=y;y=z;z=x/y;else break;)printf(%fn,y);)若运行时从键盘上输入3.6 2.4(表示回车),则输出的结果是 B。A、1.500000 B、1.600
39、000 C、2.000000 D、2.400000110.执行下面的程序段后,变量k 中的值为 A。int k=3,s2;s0=k;k=sl*10;A、不定值 B、32 C、30 D、10111.以下程序的输出结果是(B)A、5,2,3B、-5,-12,-7C-5,-12,-17 D.5,-2,-7#includevoid sub(int xjnt yjnt*z)*z=y-x;void main()(int a,b,c;sub(10,5,&a);sub(7,az&b);sub(a,b,&c);printf(%d,%d,%dn,a,b,c);)112.在(1)的 基 础 上,通 过 指 针 p
40、给 变 量 c h 读 入 字 符 的 scan f调用语句是scanf(%c,p);o113.以下程序的输出结果是(D)。A、23 B、24 C、25 D、26#includevoid prtv(int*x)printf(/%dn,;+*x);void main()int a=25;prtv(&a);114.已知指针p 的 指 向(图一)的 a l,则表达式+*p的 值 是(C)。A、20 B、30 C、21 D、31115.以下不能正确定义二维数组的选项是_ D。A、inta2 2=l,2;B、int a 2=l,2,3,4;C.int a2 2=l,2,3;D int a2 =l,2,3
41、,4;116.在(1)的基础上,通过指针p 给变量ch赋字符言的语句是*p=g,;。117.以下函数值的类型是 A _ fun(float x)float y;y=3*x-4;return y;A int B、不确定 C void D float118.下列叙述中正确的是 D oA、C 语言编译时不检查语法 B、C 语言的子程序有过程和函数两种C、C 语言的函数可以嵌套定义 D、C 语言所有函数都是外部函数119.在下列程序段中,枚举变量c l 的 值 是()。enum color red,yellow,blue=4/green,whitecl;cl=yellow;cl=white;A 1 B
42、 3 C 5 D 6120.x=4y=ll四、编程题121.68122.正确的程序为main()int a,b,sj;scanf(%d,%d”,&a,&b);s=a*b;l=2*(a+b);printf(l=%d/s=%dnz I,s);三、写出程序运行结果123.5 54554334124.以下程序的输出结果为()。main()char sl40=country/s220=side;int i=OJ=O;while(sli!=O)i+;while(s2j!=0*)sli+=s2j+;sli=O;printf(%snzsl);)A side B country C sidetry D coun
43、tryside125.函数调用语句:fseek(fp,-10L,2);的含义是()。A 将文件位置指针从文件末尾处向文件头的方向移动10个字节B 将文件位置指针从当前位置向文件头的方向移动10个字节C 将文件位置指针从当前位置向文件末尾方向移动10个字节D 将文件位置指针移到距离文件头10个字节处126.以下程序的输出结果为()。main()char c;int i;for(i=65;i=0;i-)t*=i;printf(%dn,t);)执行后输出结果是 o答案:0知识点:for语句和用for语句构成的循环结构130.表示条件:10 x100或 x10&x100|x50)printf(“%d”
44、,a);if(a40)printf(“%d”,a);if(a30)printf(“%d”,a);)答案:585858132.在数组中,数组名表示()。AA.数组第1 个元素的首地址B.数组第2 个元素的首地址C.数组所有元素的首地址D.数组最后1 个元素的首地址133.main()int a,b,c,sum;float ave;scanf(%d%d%d,&a,&b,&c);sum=a+b+c;ave=sum/3.0;printf(/sum=%d/ave=%.2fn/,sum/ave);五、选做题1 3 4.下面选项中正确的赋值语句是(设char a,*p=a;)()。A p=abcd;B a=
45、abcd;C*p=abcdu;D*a=abcd;135.5136.s=s+t*i t=-t三、阅读下列程序,写出程序运行的输出结果137.ch=getchar()ch=,A,&ch=,Z,138.xl xl/2-2139.B 2.A 3.A 4.C 5.A 6.B 7.A 8.C 9.D 10.D二、填空题140.10,4,3;-1361141.A)2(B)3(C)5(D)语法错误142.A)fp=fopen(file;,r);(B)fp=fopen(file/,w);143.C)fp=fopen(file/r+);(D)fp=fopen(filezw+);144.C 语言中函数调用的方式有(
46、)。A 函数调用作为语句1 种 B 函数调用作为函数表达式1 种C 函数调用作为语句或函数表达式2 种 D 函数调用作为语句、函数表达式或函数参数3 种1 4 5.以下程序的输出结果是()。main()char sl20=/China,/,s220=/for,/s10;if(strcmp(sl,s2)printf(%sn,strcat(s2,sl);else printf(dn,strlen(sl);A Chinafor BSC forChina D 3146.若有代数式,则错误的C 语言表达式是()。A a*e/c/b B a*e/b/c C a*e/b*c D a/b/c*e147.数组名
47、作为实参传递给形参时,数组名被处理为()。A 该数组的长度B 该数组的元素个数C 该数组的首地址D 该数组中各元素的值148.x)(10)定义函数时,形参的类型说明可以放在函数体内。四.判断题149.C)a/b*b+a%b=a(D)a/b*b=a150.以下程序的输出结果为()。main()char c;int i;for(i=65;i68;i+)c=i+32;switch(c)case a:printf(“%c,”,c);break;case b:case e:printf(”okj);default:printfCend);)A a,ok,end B a,ok,endend C a,ok,
48、end,end D a,ok,ok151.以下程序的输出结果为()。int i;void prt()for(i=5;i8;i+)printfCc/*);printf(t);)main()for(i=5;i=8;i+)prt();A*B*c*Q*152.A)1(B)3(C)5(D)6153.执行以下程序后,输出印号的个数是 o#include main()int ij;for(i=l;i5;i+)for(j=2;j0)printf(%sn,sl);else printf(%sn,s2);)157.以下程序的输出结果为()。#define A 3#define B(a)(A+l)*amain()i
49、nt x;x=3*A+B(7);printf(x=%dn/x);)A x=93 B x=37 C x=60 D x=90158.如定义语句为 char a =windows,b =9 5;,语句 printf(“%s”,strcat(a,b);的输出结果为 o Windows95159.x)数 组定义inta10;也可以写成inta(10);。160.x)(1)C 允许对数组的大小作动态定义,即可用变量定义数组的大小。161.x)(9)static char c=a;,b,o,o,k,0%与 static char c=a;/b/o/o/k;等价。162.根据以下说明,写出正确的说明语句:me
50、n是一个有10个整型元素的数组。step是一个有4 个实型元素的数组,元素值分别为1.9,-2.33,0,20.6,grid是一个二维数组,共有4 行,10列整型元素。int mesh10;float step4 =1.9,-2.33,0,20.6;int grid4 10;163.x)(10)设己有说明:static char cl10,c210;下面程序片段是合法的。cl=book;c2=cl;四.判断题164.以下程序的运行结果是2002Shangxian。#include typedef struct studentchar name10;long sno;float score;ST