《2019年《C语言程序设计》大学期末考试题库500题(含答案).pdf》由会员分享,可在线阅读,更多相关《2019年《C语言程序设计》大学期末考试题库500题(含答案).pdf(95页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2019年大学C语言期末考试题库500题含答案一、选择题1.以下程序中,while循环的循环次数是 D。main()int i=0;while(i10)(if(il)continue;if(i=5)break;i+;)A、1 B、10 C、6 D、死循环,不能确定次数2.以 下 程 序 运 行 后 的 了 输 出 结 果 是。main()int a=l,b=2,c=3;if(c=a)printf(%d n,c);else printf(%d n,b);答案:13.若有定义:inta=10,b=9,c=8;接着顺序执行下列语句后,变量b 中的值是c=(a-=(b-5);c=(a%ll)+(b=3
2、);答案:34.以下叙述中正确的是_ A_。A、C 程序中注释部分可以出现在程序中任意合适的地方B、花括号 和 只能作为函数体的定界符C、构成C 程序的基本单位是函数,所有函数名都可以由用户命名D、分号是C 语言之间的分隔符,不是语句的一部分填空复习题5.B2,A3.D4.C5.D6.B7.C二、填空题6.下面的程序运行结果为 Domain()(int x=3,y=0,z=0;if(x=y+z)printf(*);else printf(#);A、有语法错误不能通过编译 B、输出*,C、可以通过编译,但是不能通过连接,因而不能运行。D、输出#。7.408.VeryGoodGoodVeryGoo
3、dFailPassPass三、阅读程序,写出运行结果9.有以下程序main()int a=l,b;for(b=l;b=8)break;if(a%2=l)a+=5;continue;a-=3;)printf(%d n,b);程序运行后的输出结果是_B。A、3 B、4 C、5 D、6知识点:程序分析10.有以下程序main()intnum44=L2,3,4,5,6,7,8,9,10,ll,12,13,14,:L5,16,i,j;for(i=0;i4;i+)for(j=l;j=i;j+)printfC%/);fo r(j=;j 4;j+)printf(4d”,numij);printf(n);)若要
4、按以下形式输出数组右上半三角1234678111216则在程序下划线处应填入的是 B oA、i-1 B、I C、i+1 D、4-i11.SUM=2468四、程序改错12.main()int i=200,n=0;/*n用来记录每行已打印数的个数*/while(i=300)if(i%7=0)/b reak;printf(”5d”,i);n=n+l;if(n=5)/*满 5 个换行*/printf(n);n=0;i+;)2).main()int i,s=Ozt=l;for(i=l;i=7;i+)t=t*i;s=s+t;printf(sum=%d n,s);)五、程序设计题13.main()int x
5、,g,s,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(/z%d nw,x);2.main()int izs=Ozf=l;for(i=2;i80;i+)s=s+f*(i-l)/i;f=-f;printf(s=%fn,/s);)六、选做题14.阅读下列程序:main()int n3zij,k;for(i=0;i3;i+)ni=O;k=2;for(i=0;ik;i+)for(j=0;jk;j+)nj=ni+l;printf(%d nznl);)下述程序运行后输出结果是 D。A、2 B、1
6、C、0 D、315.设 intx=l,y=l;表达式(以|y-)的值是_ B_。A、0 B、1 C、2 D、-11 6.以下程序的输出结果是 B omain()int i,k,a10zp3;k=5;for(i=0;i10;i+)ai=i;for(i=0;i3;i+)pi=ai*(i+l);for(i=0;i3;i+)k+=pi*2;printf(%d nzk);A、20 B、21 C、22 D、2317.设有定义:inta=2,b=3,c=4;,则以下选项中值为0 的表达式是 AA、(!a=l)&(!b=0)B、(a a&b D、a|(b+b)&(c-a)18.C 语言源程序的基本单位是()。
7、A 过程B 函数C 子程序D 标识符19.以下程序的功能是计算:1+12+123+1234+12345,请填空。Main()int t=0,s=0J;for(l=l;l=5;l+)t=l+;s=s+t;printf(z/s=%d n,;s);)答案:t*1010*t知识点:程序分析20.以 下 程 序 运 行 后 的 输 出 结 果 是。main()int x,a=l/b=2/c=3,d=4;x=(ab)?a:b;x=(xx)?x:d;printf(H%dn,x);答案:121.以下程序段中与语句k=ab?(b c?l:0):0;功能等价的是 A_oA、if(ab)&(b c)k=l;else
8、 k=0;B、if(ab)11 (bc)k=l;else k=0;C、if(a=b)k=0;else if(b b)k=l;else if(b c)k=l;else k=0;22.有以下程序main()(int i,n=0;for(i=2;i n=3 D、n=423.若有以下程序main()int p,a=5;if(p=l!=O)printf(%d n,p);elseprintf(%d n,p+2);)执行后输出结果是 o答案:124.要求通过while循环不断读入字符,当读入字母N 时结束循环。若变量已正确定义,以下正确的程序段是 A。A、while(ch=getchar()!=N prin
9、tf(%c,ch);B、while(ch=getchar()!=N printf(%c,ch);C while(ch=getchar()=N printf(%c,ch);D、while(ch=getchar()=N printf(%c,ch);25.设 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,2026.设变量已正确定义,则以下能正确计算f=n!的程序段是 D。A f=0;for(i=l;i=n;i+)f*i;B、f=
10、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;27.若有如下程序段,其 中 s、a、b、c 均已定义为整型变量,且 a、c 均已赋值(c 大于0)s=a;for(b=l;b=c;b+)s=s+l;B则上述程序段功能等价的赋值语句是 OA s=a+b;B、s=a+c;C s=s+c;D、s=b+c;28.若 i,j 已定义为int类型,则以下程序段中内循环体的总的执行次数是 A。for(i=5;i;i-)for(j=0;j5|x-532.以下程序的输出结果为()。d efine ADD(x)x*xmain()int a=4
11、,b=6,c=7,d=ADD(a+b)*c;printf(d=%d,d);)Ad=70Bd=80 Cd=140 Dd=70033.以 下 程 序 段 的 输 出 结 果 是。int i=9;printf(%on,i);答案:1134.A)ab c(B)123(C)ab cl23(D)123ab c35.C 语言中的文件类型只有()。A 索引文件和文本文件两种B 文本文件一种C 二进制文件一种D ASCII码文件和二进制文件两种36.D)b irth.d ay=25;b irth.month=10;birth.year=1993;37.设 a 为整型变量,初值为12,执行完语句a+=a-=a*a
12、后,a 的 值 是()。A 552 B 144 C 264 D-26438.已知函数fread 的调用形式为fread (b uffer,size,count,f p),其 中 b uffer代表的是()oA 存放读入数据项的存储区B 存放读入数据的地址或指向此地址的指针C 一个指向所读文件的文件指针D 一个整形变量,代表要读入的数据项总数39.在 C 语言中,if语句后的一对圆括号中,用以决定分支流程的表达式为()。A 只能是逻辑表达式B 只能是关系表达式C 只能是逻辑表达式或关系表达式D 可以是任意表达式40.以下程序的输出结果是 B。#includ e main()(int a,b,d=
13、241;a=d/100%9;b=(-l)&(-l);printf(%d,%d n,a,b);?A,6,1 B、2,1 C、6,0 D,2,0知识点:赋值表达式41.设有以下定义,则以下对变量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;42.若有下面的变量定义,以下语句中合法的是()。inti,a10,*p;A p=a+2;B p=a5;C p=a2+2;D p=&(i+2);43.要打开一个已存在的非空文件file用于修改,选择正确
14、的语句()。Afp=fopen(filezr);B fp=fopen(file/w);C fp=fopen(file,;r+);D fp=fopen(file/w+n);44.C 语言源程序的基本单位是()。A 过 程 B 函数C 子程序D 标识符45.下列程序的输出结果是()。main()int a=7,b=5;printf(%d n,b=b/a);A5 B l C O D 不确定值46.以下函数调用语句中含有()个实参.func(el,e2),(e3,e4,e5);A 2 B 3 C 5 D 语法错误47.已知职工记录描述如下,在 Turb oC中,系统为变量w 分 配()字节的空间。st
15、ruct worker int no;char name20;char sex;union int day;int month;int year;b irth;)w;A 29 B 20 C 25 D 648.A)a*b/a*b=l(B)a/b*b/a=l49.下面的程序的运行结果是 B。main()(int x=3;do(printf(%d n,x-=2);)while(!(-x);)A、输出的是1 B、输出的是1 和-2 C、输出的是3 和 0 D、是死循环50.要打开一个已存在的非空文件 file 用于修改,选择正确的语句()。Afp=fopen(file,r);B fp=fopen(fi
16、le,w);C fp=fopen(Hfile,r+);D fp=fopen(file;,w+);int m,k,i,n=O;四写出下列程序的运行结果。(28分)51.main()int a6=10,6,23,-90,0,3,i;invert(a,0,5);for(i=0;i6;i+)printf(/z%d/,ai);printf(Ann);invert(int*s,int i,int j)int t;invert(sj+lj-l);t=*(s+i);*(s+i)=*(s+j);*(s+j)=t;52.fl(inta)int b=0;static int c=3;b+=l;C+;return(a
17、+b+c);)main()int a=l,i;char sl10=z/java,/s210=/b asic,s10;for(i=0;i3;i+)printf(%d ,fl(a);printf(n);if(strcmp(sl,s2)strcpy(s,sl);puts(s);printf(%d,%sn”,strlen(s2),strcat(s2,sl);53.以下程序的输出结果为()。main()int i=010,j=10;printf(%d,%d n/i+/j-);A 11,9 B 9,10 C 8,10 D 9,954.对数组按值从大到小的顺序排序后输出,请填空。#includ e void
18、 main()float a7=2,6,3,8,3,12,9;int i;void sort(float*,int);for(i=0;i7;i+)printf(%f,ai);printf(n);)void sort()(int i,j,k;float t;for(i=0;in-l;i+)(k=i;for(j=i+l;jn;j+)if()k=j;t=*(p+i);*(p+i)=*(p+k);*(p+k)=t;sort(a,7)float*p,int n*(p+k)*(p+j)if(k!=i)(2)下列函数在n 个元素的一维数组中,找出最大值、最小值并传送到调用函数,请填空。#includ e v
19、oid find(float*p,int max,int min,int n)(int k;*max=*p;for(k=l;kn;k+)(t=*(p+k);if()*max=t;if(t*min)*min=t;)float t;*min=*p;*maxt5 5.若有下面的变量定义,以下语句中合法的是()。inti,a10,*p;A p=a+2;B p=a5;C p=a2+2;D p=&(i+2);)o56.以下程序的输出结果是(main()int a=011;printf(d n,+a);)A 12 B 11 C 10 D 957.A)过程(B)函数(C)子程序(D)标识符58.以下函数调用语
20、句中含有()个实参。func(el,e2),(e3,e4,e5);59.C)循环次数不定(D)是无限循环60.以下程序的输出结果为()。#d efine N 2#d efine M N+2#d efine CUBE(x)(x*x*x)includ e stdio.hmain()int i=M;i=CUBE(i);printf(%d nzi);61.A)17(B)64(C)125(D)5362.在下列程序段中,枚举变量c l,c 2的值依次是(),()。enum color red,yellow,b lue=4,green,white cl,c2;cl=yellow;c2=white;print
21、f(”d,%d n”,cLc2);63.已知职工记录描述如下,设变量w 中的 生日 是1993年 1 0 月 2 5 日”,下列对 生日”的正确赋值方式是()。struct worker int no;char name20;char sex;struct b irth int day;int month;int year;a;);struct worker w;A d ay=25;month=10;year=1993;B w.b irth.d ay=25;w.b irth.month=10;w.b irth.year=1993;C w.d ay=25;w.month=10;w.year=19
22、93;D w.a.d ay=25;w.a.month=10;w.a.year=1993;64.若 t 为 d oub le类型,表达式t=l,t+5,t+的值是_ D_。A、1 B、6.0 C,2.0 D、1.065.函数中的形参和调用时的实参都是数组名时,传 递 方 式 为,都是变量时,传递方式为。址传递,值传递66.在 C 语言中,合法的长整型常数是一 A。A、0L B、4962710 C、324562&D、216D知识点:整型数据67.C 语言中运算对象必须是整型的运算符是_A。A、%=B、/C、=D、=知识点:整型数据68.以下程序输出的结果是(C)。A、32 B、16 C、8 D、2
23、4typed ef unionlong x2;int y4;char z8;MY TY PE;MY TY PE them;void main()(printf(%d n,sizeof(them);)69.以下程序输出的是C。void main()int i=3,j=2;char*a=D C B A;printf(%c%cn,ai,aj);70.在(1)的基础上,通过指针p 给变量c h赋字符W的语句是*p=N;71.C 语言中,数组的各元素必须具有相同的,元素的下标下限为,下标必须是正整数、0、或 者。但在程序执行过程中,不检查元素下标是否。数据类型。符号常量,越界72.若已定义char*p;
24、,使指针p 指向变量c h 的赋值语句是p=&ch;。73.设有定义:fl。ata=2,b=4,h=3;,以下C 语言表达式与代数式皿(a+b)h)计算结果不相符的是 B。A、(a+b)*h/2 B、(”2)*(a+b)*h C、(a+b)*h*l/2 D、h/2*(a+b)知识点:算术表达式74.以下程序的输出结果是(B)。A、运行出错B、100 a 的地址D、b 的地址#includ evoid main()int*k,*a,b=100;a=&b;k=&a;printf(d n,*k);)75.以下叙述中正确的是_B oA、全局变量的作用域一定比局部变量的作用域范围大B、静态(static
25、)类别变量的生存期贯穿于整个程序的运行期间C、函数的形参都属于全局变量D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值76.图一)77.以下程序的输出结果是(B)A、5,2,3B、-5,-12,-7C、-5,-12,-17 D、5,-2,-7#includ evoid sub(int x,int y,int*z)*z=y-x;void main()(int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf(%d,%d,%d n”,a,b,c);78.有如下程序main()int a=l,b=2,m=0,n=0,k;k=(
26、n=ba)|(m=a 10 D、150#d efine MIN(x,y)(x)(y)?(x):(y)void main()(int IJk;i=10;j=15;k=10*MIN(ij);printf(d n,k);)80.#includ e long sum(int ajnt b);long factorial(int n);main()(int nl,n2;long a;scanf(%d/%d,&nl/&n2);a=sum(nl,n2);printf(a=%ld za);)long sum(int ajnt b)(long cl,c2;cl=factorial(a);c2=factorial
27、(b);return(cl+c2);)long factorial(int n)long rtn=l;int i;for(i=l;i=n;i+)rtn*=i;retum(rtn);)运行时若输入:2,3 则输出:8运行时若输入:0,5 则输出:_ _ _ 1218 1.若 x 和 y 都是int型变量,x=100、y=200,且有下面的程序片段printf(%d,(x,y);上面程序片段的输出结果是_ A_。A、200 B、100 C、100 200 D、输则格式符不够,输出不确定的值82.以下符合C 语言语法的实型常量是_ C。A、1.2E0.5 B、3.14159E C、.5E-3 D、E
28、15知识点:实型数据83.V)(9)C 语言规定,实参应与其对应的形参类型一致。84.V)所有函数定义都是并行的,相互独立的。85.若变量a、i 已正确定义,且 i 已正确赋值,合法的语句是 B。A a=l B、+i;C、a=a+=5;D a=int(i);知识点:赋值表达式86.以下函数调用语句中,含有实参的个数为。Cfun(2,3),(4,5+6,7);A.1 B.2 C.5 D.687.设变量x 为 float型且己赋值,则以下语句中能将x 中的数值保留到小数点后两位,并将第三位四舍五入的是_C。A、x=x*100+0.S/100.0 B、x=(x*100+0.5)/100.0C、x=(
29、int)(x*100+0.5)/100.0?D、x=(x/100+0.5)*100.0知识点:赋值表达式88.#includ e/include void main()char s80;int i;for(i=0;i80;i+)(si=getchar();if(si=n)break;)si=O;i=0;while(si)putchar(si+);putchar(n);从键盘输入一个字符串,并逐一输出#includ e#includ e void main()(char str1080,c80;int i;for(i=0;i10;i+)gets(stri);strcpy(cz strO);for
30、(i=l;i10;i+)if(strlen(c)strlen(stri)strcpy(c,stri);printf(%sn,c);printf(d n”,strlen(c);)从键盘输入若干字符串,找到其中最长的一个输出及它的长度(3)#includ e#includ e void main()(char a1080,c80;int i,j,k;for(i=0;i10;i+)gets(ai);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(aiz ak);strcpy(
31、ak,c);字符串交换for(i=0;i10;i+)puts(ai);)从键盘输入若干字符串,并将它们按大到小顺序排好再输出阅读程序,写出运行结果#includ e void main()(inta6=12z4,17,25,27,16/b 6=27/13/4,25,23,16,ij;for(i=0;i6;i+)(for(j=0;j6;j+)if(ai=b j)b reak;if(j6)printf(%d,ai);)printf(n);4 25 27 16阅读程序,写出运行结果。#includ e void main()(char a8,temp;int j,k;for(j=0;j7;j+)aj
32、=a+j;a7=0;for(j=0;j0;k-)ak=ak-l;a0=temp;printf(%sn,a);)gab cd effgabcdeefgabcd 阅 读下列程序,写出程序运行的输出结果。includ e#includ e void main()(char strl=*;for(int i=0;i4;i+)(printf(%snzstrl);strli=strlstrlen(strl)-l=O;)*该 程序的运行结果是:min=zm=,n=void main()(float array3=3.4-5.6,56.7,56.8,999.厂.0123,0.45,-5.77,123.5,43
33、.4,0,111.2;int ij;int min;int m,n;min=array00;m=0;n=0;for(i=0;i3;i+)for(j=0;j arrayij)(min=arrayij;m=i;n=j;)printf(,min=%d/m=%d/n=%d n,min,m,n);)-5.77 2 1(8)写出下面这个程序的输出结果:void main()(charstr=ABCDEFGHIJKL;printf(,%sn,str);屏幕上显示printf(%snz&str4);屏幕上显示str2=str5;printf(%sn,str);屏幕上显示str9=0;printf(%sn,st
34、r);屏幕上显示)ABCDEFGHIJKLEFGHIJKLABFDEFGHIJKLABFDEFGHI(9)读懂下面的程序并填空。void main()(char str80;int i=0;gets(str);while(stri!=O)(if(stri=,a,&str a=-32768 D、a=-l知识点:整型数据90.x)(5)定义s 为 5x6(5 行 6 列)的数组可写成float a5,6;91.若有定义:intx/pb;则以下正确的表达式是(A)A、pb=&xB、pb=xC、*pb=&xD、*pb=*x92.表达式3.6-敦+1.2+5%2的值是_D。A、4.3 B、4.8 C、3
35、.3 D、3.8知识点:算术表达式93.以下4 组用户定义标识符中,全部合法的一组是_A。A、_main enclud e sin B、If-max turb oC、txt REAL 3C0M D、int k_2 _001?知识点:常量、变量和标识符94.以下定义语句中正确的是_C oA、char a=Ab=B;B、float a=b=10.0;(正解 a=10Q b=10.0)C、int a=10,*b=&a;D、float*a,b=&a;?知识点:常量、变量和标识符95.V)在 对全部数组元素赋初值时,可以不指定数组长度。96.x)字符数组不要求它的最后一个字符为,0,甚至可以不包含97.
36、若有以下整型的a 数组,数组元素和它们得值如下所示:数组元素:a0 al a2 a3 a4 a5 a6 a7 a8 a9元素的值:9 4 12 8 2 10 7 5 13请写出对该数组的说明,并赋以上初值。该数组的最小下标值为一 最大下标值为一。写出下面各式的值:aa9的值为;aa4+a8的值为。int a10=9,4,12,8,2,10,7,5,l,3;098898.C 语言中,数组在内存中占一片的存储区,由代表它的首地址。数组名是一个常量,不能对它进行赋值运算。连续,数组名,地址99.x)数组定义int a10;表示数组名为a,此数组有1 0 个元素,第 1 0 个元素为a10o100.合
37、法的数组定义是()。AA.char a=string;B.int a5=0,1,2,3,45;C.char a=string ;D.char a 卜0,1,234,5101.下列各语句定义了数组,其中哪一个是不正确的()。CA.char a310=China,American,Asia);B.int x22=l,2,3,4;C.float x2=l,2,4,6,8,10;D.int m3=l,2,3,4,5,6;102.下面的程序中哪一行有错误()。D#includ e main()(float array5=0.0;第 A 行int i;for(i=0;i5;i+)scanf(%f,&arr
38、ayi);for(i=l;i5;i+)array0=array0+arrayi;第 B 行printf(%fn”,arrayO);第 C 行)A.第 A 行 B.第 B 行 C.第 C 行 D.没有103.有以下程序main()(int i;for(i=l;i40;i+)(if(i+%5=0)if(+i%8=0)printf(%d J);)printf(nH);执行后的输出结果是_ C _oA、5 B、24 C、32 D、40104.以下程序的输出结果是 Amain()int a=4zb=5,c=0/d;d=!a&!b|!c;printf(%d nzd);)A、1 B、0 C、非 0 的数 D
39、、-11 0 5.下列定义的字符数组中,输出printf(%sn,str2);的输出是()。Cstatic str320=b asic,foxpro,windows;A.basic B.foxpro C.wind ows D.输出语句出错106.下列语句中,正确的是()。DA.char a3=ab cz1;B.char a3=ab cz 1;C.char a3=az 1;D.char a3=a,1;107.设 a 为 int型变量,执行下列赋值语句后,a 的取值分别是()。a=125.534;a=(int)125.521%4;a=52;A 125,31,1 B 125,1,20 C 125,3
40、1,20 D 125.534,2,20108.已知字母A 的 ASCII码为十进制的6 5,下面程序的输出是_ A _ _。main()(char chl,ch2;c hl=7V+5-3;ch2=7V+63;printf(”d,%cn,chl,ch2);)A、67,D B、B,C C、C,D D、不确定的值109.strlen(s)为求字符串s 的长度的函数)chars12=a book!;printf(“d”,strlen);A.12 B.8 C.7 D.11110.以下程序的输出结果是 D。includ e main()int a=2,c=5;printf(a=%d,b=%d n,a,c)
41、;A、a=%2,b=%5 B、a=2,b=5 C、a=%d,b=%d D、a=%d,b=%d111.设有定 义:chars12=string;则 printf(n%d n z sizeof(s);的输出是()。DA.6 B.7 C.11 D.12112.以下程序的输出结果为()。#d efine ADD(x)x*xmain()int a=4zb=6,c=7,d=ADD(a+b)*c;printf(d=%d,d);)Ad=70 Bd=80Cd=140 Dd=700113.以下程序的输出结果为()。int i;void prt()for(i=5;i8;i+)printfC%,*);printf(n
42、tn);main()for(i=5;i=8;i+)prt();)A*B*Q*Q*114.有以下程序main()(int m,n,p;scanf(m=%d n=%d p=%d,&m,&n,&p);printf(%d%d%d n,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 789115.以下函数调用语句中含有()个实参。func(el,e2),(e3,e4,e5);A 2 B 3
43、C 5 D 语法错误116.在 C 语言程序中,以下说法正确的是()。A 函数的定义可以嵌套,但函数的调用不可以嵌套B 函数的定义不可以嵌套,但函数的调用可以嵌套C 函数的定义和函数的调用都不可以嵌套D 函数的定义和函数的调用都可以嵌套117.合法的数组定义是()。DA.int a3=0,1,2,3A5;B.int a 3=0,1,2,3,4;C.int a23=0,l,2,3,4,5,6;D.int a23=0,1,2,3,4,5,;118.静态型局部变量的作用域是,生存期是。它所在的局部,整个程序119.以下程序的输出结果是 A。main()(inta33=l,2H3,4,5,6,i,j,
44、s=0;for(i=l;i3;i+)for(j=0;j=i;j+)s+=aij;printf(%d n,s);A、18 B、19 C、20 D、21120.以下程序的输出结果是_C omain()int i,x33=l,2,3,4,5,6,7,8,9;for(i=0;i doub le myad d(d oub le b,d oub le a);D d oub le myad d(d oub le x,d oub le y);122.被调函数通过语句,将值返回给主调函数。DA.if B.for C.while D.return123.有一个函数原型如下所示,则该函数的返回类型为()。Cab c
45、(float x,float y);A.void B.doub le C.int D.float二、填空题124.若有以下程序includ e void f(int n)main()(void f(int n);f(5);void f(int n);printfC%d nn);则以下叙述不正确的是 COA、若只在主函数中对函数f 进行说明,则只能在主函数中正确调用函数fB、若在主函数前对函数f 进行说明,则在主函数和其它函数中都可以正确调用函数fC、对于以上程序,编译时系统会出提示出错信息:提示对f 函数重复说明D、函数f 无返回值,所以可用void 将其类型定义为无值型125.C 语言可执行
46、程序从什么地方开始执行()。CA.程序中第一条可执行语句B.程序中第一个函数C.程序中的main函数D,包含文件中的第一个函数126.设有以下程序段,则值为6 的表达式是()。struct st int n;struct st*next;static struct st a3=5,&al,7/&a2,9/0,*p;P=&a0;A p+-n B+p-n C p-n+D(*p).n+127.正确的程序为main()int a,b,sj;scanf(“d,%d”,&a,&b);s=a*b;l=2*(a+b);printf(l=%d,s=%d n,1 ,s);)三、写出程序运行结果128.void m
47、ain()float a,b,temp;printf(input a and b:);scanf(d,%d”,&a,&b);temp=a;a=b;b=temp;printf(a=%d,b=%d n/a,b);)选择结构答案129.5 54554334130.下列说法不正确的是()。A 主函数main中定义的变量在整个文件或程序中有效B 不同函数中,可以使用相同名字的变量C 形式参数是局部变量D 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效131.以下程序的输出结果为()。main()char sl40=,country/s220=,side;int i=0,j=0;w
48、hile(sli!=0,)i+;while(s2j!=0)sli+=s2j+;sli=0;printf(%snzsl);A side B country C sid etry D countrysid e132.函数调用语句:fseek(fp,-10L,2);的含义是()。A 将文件位置指针从文件末尾处向文件头的方向移动10个字节B 将文件位置指针从当前位置向文件头的方向移动10个字节C 将文件位置指针从当前位置向文件末尾方向移动10个字节D 将文件位置指针移到距离文件头10个字节处133.下面的选项中正确的赋值语句是(chara5,*p;a;)()。A p=abed;B a=/ab cd/,
49、;C*p=ab cd ;D*a=ab cd ;134.main()float s=0,m=2.0,n=1.0zp;int i;for(i=l;i=20;i+)s=s+m/n;p=m;m=m+n;n=p;printf(s=%fn,/s);2.#includ e main()int ij,k,s=l;for(i=l;i=20;i+)for(j=l;j=0)printf(%2d%2d%2d,iJ,k);s=s+l;if(s%5=0)printf(n);)135.以下程序的输出结果是 omain()int a=5,b=4,c=3,d;d=(ab c);printf(%d nzd);)答案:0知识点:关
50、系运算和逻辑运算136.若从键盘输入5 8,则以下程序输出的结果是main()int a;scanf(%d,&a);if(a50)printf(%d,a);if(a40)printf(%d,a);if(a30)printf(%d,a);)答案:5858581 3 7.在数组中,数组名表示()。AA.数组第1 个元素的首地址B.数组第2 个元素的首地址C.数组所有元素的首地址D.数组最后1 个元素的首地址138.inta4=5,3,8,9;其中 a3的值为()。DA.5 B.3 C.8 D.9139.5140.xl xl/2-2141.10,4,3;-13611 4 2.已知函数fread 的调