往年山东工商学院C语言专升本样卷(八套试卷)及答案.pdf
山东工商学院C语言专升本样卷(一)(考试时间90分钟,总分100分)题号*二三总分得分 题目包括三大部分,单项选择题,填空题,编程题,请按要求作答。答卷必须用蓝色或者黑色钢笔、圆珠笔,不许用铅笔或者红笔作答。考试中途不能无端离场,否则视为放弃。考试过程中如遇问题请及时向监考老师反馈。得分评卷人一、单项选择题(共20题,每题2分,共计40分)()1、已知int a,b;用语句scanf&a,&b);输入a,b的值时,不能作为输入数据分隔符的是A、,B、.空格C、回车D、Tab键【答案】A【解析】C语言规定在使用scanf输入时可以用作数据分隔符的有空格,回车和Tab键。用户如果要从键盘输入空格字符,则需要使用其他的输入方式。()2、若x是整型变量,pb是类型为整型的指针变量,则正确的赋值表达式是 oA、pb=&x;B、pb=x;C、*pb=&x;D、*pb=*x【答案】A()3、设变量a、b、e、d和y都已正确定义并赋值。若有以下if 语句:if(aV b)if(c=d)y=0;else y=l;该 语 句 所 表 示 的 含 义 是。A、y=0,aB、y=0,ay=l,a,b y一1,a 2 b 且c#d第1/93页C、y=0,aD、y=0,ay=l,a V B 且C W D y=1,c W d【答案】C()4、在下列选项中,没有构成死循环的程序段是A、i n t i=1 0 0;f o r(;)i=i%1 0+l;i f(i 1 0)b r e a k;)B、w h i le(l);C、i n t k=0;d o(+k;)w h i le(k 1 0 时,结束循环;选项D)中,w h i le(s);后面没有任何表达式而是直接加了一个分号,会一直执行,形成死循环。()5、下面函数定义形式正确的是 oA i n t f(i n t x;i n t y)B、i n t f (i n t x,y)C、i n t f (i n t ,i n t y)D、i n t f(x,y:i n t)【答案】C()6、二进制数1 0 1 0 0 1 转换成十进制整数是一A、4 1第2/93页B、4 3C、4 5D、3 9【答案】A【解析】二进制数转换成十进制数的方法是将二进制数按权展开:(1 0 1 0 0 1)2=1 X 2 5+0 X 2 4+1 X 2 3+0 X 2 2+0 X 2 1 +1 X 2 0=4 1()7、下列选项中合法的数组定义是 oA、i n t a =s t r i n g”;B、i n t a 5 =0,1,2,3,4,5 ;C、ch a r a=s t i n g”;D ch a r a =0,1,2,3,4【答案】A()8、若希望当a 的值为奇数时,表达式的值为真。a 的值为偶数时,表达式的值为假不 能 能 满 足 要 求 的 表 达 式 是。A、!(A%2)B、!(A%2=0)C、A%2=1D、A%2【答案】A()9、在下列各项中,运 算 级 别 最 低 的 为。A、算术运算符B、关系运算符C、逻辑运算符D、圆括号()【答案】C【解析】如果在同一个表达式中出现不同的运算符,其优先顺序为:先执行算术运算、字符串运算和日期时间运算,其次执行关系运算,最后执行逻辑运算。如果在表达式中包含圆括号,首先应该计算出圆括号中的结果,其优先级最高。()1 0、下面程序输出的结果是则以下第3/93 页S i n cl u d e v o i d m a i n()(i n t i,j,x=0;s t a t i c i n t a 6 =l,2,3,4,5,6);f o r (i=0,j=l;i 5;+i,j+)x+=a i *a j ;p r i n t f x);)A、数 组 a中首尾的对应元素的乘积B、数 组 a中首尾的对应元素的乘积之和C、数 组 a中相邻各元素的乘积D、数 组 a中相邻各元素的乘积之和【答案】D()11、以下正确的叙述是A、C 语言允许main函数带形数,且形参个数和形参名均可由用户指定B、C 语言允许main函数带形参,形参名只能是argc 和 a r g vC、当 main函数带有形参时,传给形参的值只能从命令行中得到D、有 说 明:m a i n (i n t a r g c,ch a r *a r g v ),则 形 参 a r g c 的值必须大于1【答案】C()1 2、设x 和y 均为i n t 型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是。A、把x 和y 按从大到小排列B、把x 和y 按从小到大排列C、无确定结果D、交换x 和y 中的值【答案】D【解析】先将两个数的和赋给变量x,即*=*+丫;再执行y=x-y,相当于y=(x+y)-y=x,x 的值已经换给了y;最后执行*=*-丫,相当于x=(x+y)-x=y,这样不通过第3 个变量就可以将两个变量的值互换。()13、以下不能正确进行字符串赋初值的语句是 oA、ch a r s t r 5 =g o o d!;B、ch a r s t r =g o o d!C、ch a r *s t r=g o o d!”;D、ch a r s t r 5 =g,o,o,d ;【答案】A第4/93 页()14、设有如下枚举类型定义:e n u m l a n g u a g e(ba s i c=3 ,a s s e m bl y ,a d a=1 0 0 ,co bo l ,f o r t r a n);枚 举 量 f o r t r a n 的 值 为。A、4B、7C、1 0 2D、1 0 3【答案】c()1 5、以下程序运行后的输出结果是.#i n cl u d e v o i d m a i n ()(i n t i=1 0,j=0;d o(j=j+l;i ;)w h i l e(i 2);p r i n t f(%d n ,j);)A、5 0B、5 2C、5 1D、8【答案】D()16 若变量已正确定义:f o r(x=0,y=0;(y!=99&x 4);x+)则以上 f o r 循环()A、执 行 3次B、执 行 4 次C、执行无限次D、执行次数不定【答案】B【解析】本题重点考查f o r 语句的循环次数,for(x=0,y=0;(y !=9 9&x 1 0,2 0,3 0,40);s t ru ct s t aa4=50,6 0,7 0,&dt 2,8 0,&dt 3 ;v oid main()(p=aa;print f(z/%d”,+p-x);print f(/7%d”,(+p)-x);print f C%d”,+(*p-y);)A、1 0 2 0 2 0B、50 6 0 2 1C、51 6 0 2 1D、6 0 7 0 3 1【答案】c【解析】初始化后,aa0.x 赋值为50,aa0.y 指向dt O;aal.x 赋值为6 0,aal.y 指向aa2.x 赋值为7 0,aa2.y 指向dt 2 ;aa3.x 赋值为8 0,aa3.y 指向dt 3。+p-x 是将aa0.x 自增 1,返回51;(+p)-x 返回aal.x 的值,即6 0;+(*p-y)将aal.y 指向的dt l的值自增1,返回2 1。()1 8、有以下程序main()(char al=,m,a2=m;print f(al,a2);以 下 叙 述 中 正 确 的 是。A、程序输出大写字母MB、程序输出小写字母mC、格式说明符不足,编译出错D、程序运行时产生出错信息第6/93页【答案】B()19、以下对二维数组a进行正确初始化的是 oA、int a2 3 =l,2 ,3,4,5,6 ;B、int a 3 =1,2,3,4,5,6 ;C、int a2 =1,2,3,4,5,6 ;D、int a2 =1,2 ,3,4 ;【答案】B()2 0、以下结构体类型说明和变量定义中正确的是A、t y pedef s t ru ctint n;char c;R E C;R E C t l,t 2;B、s t ru et R E C;int n;char c;R E C t l,t 2;C、t y pedef s t ru ct R E C;int n=O;char c=A;t l,t 2;R E C t l,t 2;D、s t ru ctint n;char c;R E C;【答案】A【解析】s t ru ct 结构体名后不能加“;”号,所以选项B、C 错误,选项D中应为s t ru ct t l,t 2;选项A 为正确的定义形式。-二、填 空 题(共 10题,每题2分,共计20分)1、字母a的as cii码值为多少()【答案】652、已知char s t r=happy!”,则s t rlen(s t r)的值为。【答案】63、c语言变量按其作用域分为全局变量和局部变量。按其生存期分为 存 储 和存 储。第7/9 3 页I合 荣J动态,静态4、一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:【答案】#inclu de(或#inclu dez,s t dio.h)5、执行下列程序段后,输出的a的值是 omain()(int m=0;s wit ch(m)(cas e 0:m=2*m+l;break;cas e 1:m=m-l;break;cas e 2:m=m+5;break)print f(%d,m);)【答案】16、请将下列程序中的函数声明语句补充完整。#inclu de int ;main()(int x,y,(*p)();s canf&x,&y);p=max;print f(%dn”,(*p)(x,y);)int max(int a,int b)(ret u rn(a b?a:b);【答案】max (int a,int b)第8/93页7、读取文件的函数名是【1】o【答 案】fread8、在s canf函数中,用符号表示变量的地址。【答 案】&9、以下程序运行后的输出结果是main()int i,m=0,n=0,k=0;for(i=9;i =l l;i+)s wit ch(i/1 0)cas e 0:m+;n+;break;cas e 1 0:n+;break;defau lt:k+;n+;print f(z,%d%d%dn,m,n,k);)【答 案】1 3 2 1 0、设有以下程序:main()int nl,n2;s canf(%d,&n2);while(n2!=0)nl=n2 ;n2=n2/1 0;print f(,z%d ,nl);)程序运行后,如果从键盘上输入1 2 9 8;则 输 出 结 果 为。【答 案】8 9 2 1第9/9 3页得分评卷人编程题(共3题,每题分值不等,共计40分)1、编写程序:一个5 位数,判断它是不是回文数。即1 2 3 2 1 是回文数,个位与万位相同,十位与千位相同。(本题1 0 分)【答案】i n clu de i n t ma i n()(lo n g ge,s h i,q i a n,w a n,x;pr i n t f(请输入5位数字:”);sc anf&x);w a n=x/1 0 0 0 0;/*分解出万位*/q i a n=x%1 0 0 0 0/1 0 0 0;/*分解出千位*/s h i=x%1 0 0/1 0;/*分解出十位*/ge=x%1 0;/*分解出个位*/i f(ge=w a n&s h i=q i a n)/*个位等于万位并且十位等于千位*/pr i n t f(这是回文数n );e ls e pr i n t f(这不是回文数n );)【解析】学会分解出每一位数。2、编写程序:输 出 2 0 0 3 0 0 之间的所有素数,要求每行输出8个素数。(本题1 4 分)【答案】t t i n clu de i n clu de ma i n ()(i n t m,j,n=0,k;fo r (m=2 0 0;m=3 0 0;m+)(k=s q r t (m);fo r(j=2;j k)(i f(n%8=0)pr i n t f Cn );/*fo u n d*/第10/93页pr i n t f(%d,m);n+;3、题 描 述,逆序输出成绩表输 组 学 的 成 绩,将输内容 逆 序 输 出。输输 格 式 为 每 两 个 数 值,学号N为1 0位数字,成绩S取值为整数(0 W S W 1 0 0)读 取 输 直 到 输 结 束(数据总量不超过5 0 )输出输出格式为每两个数值,学号N之 后 有 个 空 格,成绩值的输出宽度占3个位置样例输2 0 1 7 0 1 0 4 0 5 7 82 0 1 7 0 1 0 4 2 6 8 02 0 1 7 0 1 0 4 0 2 6 12 0 1 7 0 1 0 3 7 7 9 5样例输出2 0 1 7 0 1 0 3 7 7 9 52 0 1 7 0 1 0 4 0 2 6 12 0 1 7 0 1 0 4 2 6 8 02 0 1 7 0 1 0 4 0 5 7 8 (本题 1 6 分)【答案】#i n clu de#i n clu de co n s t i n t N=5 0+5;t y pe de f s t r u ct s t u de n t ch a r n o 1 5;i n t s co r e;)STU:i n t ma i n()STU s t u N;i n t n =0;w h i le(s ca n f(%s%d”,s t u n.n o,&s t u n.s co r e)!=EOF)n+;fo r(i n t i =n -1;i =0;i )pr i n t f(%s%3 dn”,s t u i.n o,s t u i.s co r e);r e t u r n O;第1 1/9 3页山东工商学院C语言专升本样卷(二)(考试时间90分钟,总分100分)题目包括三大部分,单项选择题,填空题,编程题,请按要求作答。答卷必须用蓝色或者黑色钢笔、圆珠笔,不许用铅笔或者红笔作答。考试中途不能无端离场,否则视为放弃。考试过程中如遇问题请及时向监考老师反馈。评卷人一、单项选择题(共20题,每题2分,共计40分)()1、以下字符中不是转义字符的是 OA、a B、bC、cD、【答案】c()2、设有定义:i n t n=0,*p=&n,*q=&p;则以下选项中,正确的赋值语句是A、p=l;B、*q=2;C、q=p;D*p=5;【答案】D()3、c 语言中下面哪个不是条件语句?A、i fB、i f e l s eC、N S L o gD s w i t c h【答案】C()4、下面程序段的输出结果是第12/93页x=3;d o(y=x ;i f (!y)(p r i n t f (*);c o n t i n u e;)printf;)w h i l e(x=2);A、期B、#*C、死循环D、输出错误信息【答案】C()5、若有以下函数调用语句:皿5+门+丫,(1 1+%2,区丫);在此函数调用语句中实参的个数是A、6B、5C、4D、3【答案】D【解析】参数之间是用逗号分隔的,不要因为参数是表达式而被迷惑。函数的第一个参数是表达式m+n,第三个参数是表达式f(m+n,z,(x,y)o()6、在c 语言中,只有在使用时才占用内存单元的变量,其存储类型是 oA、au t o 和r e gi s t e rB、e x t e r n 和r e gi s t e rC、au t o 和s t at i cD、s t at i c 和r e gi s t e r【答案】A()7、以 下 程 序 的 运 行 结 果 是。i n c l u d e m ai n()第13/93页i n t a =l,2,3,4,5,6,7,8,9,1 0,1 1,1 2);i n t *p=a+5,*q=n u l l;*q=8(p+5);p r i n t f(w%d%d nz/,*p,*q);)A、运行后报错B、6 6C、6 1 1D、5 5【答案】A【解析】本题的考查点是通过指针引用数组元素。程序中没有给q 分配存储单元,只是给它赋了一个N U L L,所以程序的运行结果是:6 1 1 N U L L p o i n t e r as s i gn m e n t,也就是运行后报错。()8、设x,y,z,s 均为i n t 型变量,且初值均为1,则执行语句s=+x|+y&+z 后,则s 的值为:A、不定值B、2C、1D、0【答案】C()9、以下选项中能表示合法常量的是 0A、整数:1,2 00B、实数:1.5 E 2.0C、字符斜杠:D、字符串:007【答案】D()10、以下不能正确定义二维数组的选项是A、i n t a 2 2 =l,2):B、i n t a 2 =1,2,3,4;C、i n t a 2 2 =l,2,3;D、i n t a 2 =l,2,3,4;【答案】D()1 1、p u t c h ar O 函数可以向终端输出一个第14/93页A、整型变量表达式值B、字符C、字符串D、实型变量值【答案】B()12、关于指针概念说法不正确的是A、一个指针变量只能指向同一类型变量B、一个变量的地址称为该变量的指针C、只有同一类型变量的地址才能放到指向该类型变量的指针变量之中D、指针变量可以由整数赋,不能用浮点赋【答案】D()13、对 于 c语言的函数,下列叙述中正确的是_.A、函数的定义不能嵌套,但函数调用可以嵌套B、函数的定义可以嵌套,但函数调用不能嵌套C、函数的定义和调用都不能嵌套D、函数的定义和调用都可以嵌套【答案】A()14、有以下结构体说明和变量的定义,且指针p 指向变量屋 指针q 指向变量b,则不能把结点b 连接到结点a之 后 的 语 句 是。s t r u c t n o d e(c h ar d at a;s t r u c t n o d e*n e x t;)a,b,*p=&a,*q=&b;A、a.n e x t 二 q;B、P.n e x t=&b:C、p-n e x t=&b;D(*p),n e x t=q;【答案】B()1 5、下列程序执行后的输出结果是m ai n()(c h ar x=0 x F F F F;p r i n t f%d”,x 一);第1 5/9 3 页)A、-3 2 7 6 7B、F F F EC、-1D、-3 2 7 6 8【答案】C()1 6、以下描述错误的是 0A、b r e ak 语句可用于s w i t c h 语句和循环语句B、b r e ak 语句和c o n t i n u e 语句的作用是一样的,都是提前结束整个循环C、在循环语句中使用br e ak 语句是为了跳出循环,提前结束循环D、在循环语句中使用c onti nu e 语句是为了结束本次循环,而不终止整个循环【答案】B()17、设s tr u c t d ata(i nt a;f loat b;c,*p=&c;,引用正确的是 oA、*p.aB、p.bC、p-aD *p-b【答案】C()1 8、阅读下面的程序mai n()(i nt i,j;s c anf C%3d%2d/,,&i,&j);p r i ntf(i=%d,j=%d r T,i,j);)如果从键盘上输入1 234567V回车,则程序的运行结果是一A、i=1 23,j=4567B、i=1 234,j=567C、i=l,j=2第16/93页D、i=1 23,j=45【答 案】D()1 9、设i nt a 1 0,*p=a;数组元素a 4 的正确引用是A、*(p+4)B、p+4C、*p+4D、a+4【答 案】A()20、相同结构体类型的变量之间,可以A、相加B、赋值C、比较大小D、地址相同【答 案】B得分评卷人二、填 空 题(共 10题,每题2分,共计20分)1、在C语言中,将字符串中小写字母转换成大写字母的函数是 O【答 案】s tr u p r Ss tr u p r ()tts tr u p r (字符串)2、在c 语言中,正确的标识符是由 组成的,且由 开头的。【答 案】字母、数字、下划线,以字母、下划线 3、设a=3,b=2,c=l,则a b c 的值为。【答 案】14、设i nt a;f loat f;d ou ble i;则表达式1 0+a +i*f 值的数据类型是,【答 案】d ou ble (双精度型)5、程序的结果是:#i nc lu d e v oi d mai n()第17/93页i nt i,j,x=0;f or (i=0;i 2;i+)x+;f or(j=0;j=3;J+)(i f(j%2)c onti nu e;x+;x+;p r i ntf(x=%d ,x);)【答案】x=86、以 下 程 序 运 行 结 果 是。i ti nc lu d e v oi d mai n()(i nt x,y=l;i f(y!=0)x=5;p r i ntf(t%d n”,x);i f(y=0)x=4;e ls e x=5;p r i ntf(t%d n”,x);x=l;i f(y 0)x=4;e ls e x=5;p r i ntf(t%d n”,x);)【答案】5 5,1【解析】上程序中第三个i f 语句有嵌套,前两个i f 语句没有嵌套。前两个i f 语句根据y=l便可得知输出结果均为5;最后一个i f 语句,根据条件y 0 便知不成立,后续语句无法执行,只好输出前一赋值语句x=l的值。7、在c 语言中,函数的返回值是由 语句传递的。【答案】r e tu r nttr e tu r n()8、i nt*p的含义是 o第18/93页【答案】指针变量P为整型 9、下面程序的功能是统计正整数的各位数字中零的个数,并求各位数字中的最大者序填空。#i nc lu d e mai n()(i nt n,c ou nt,max,t;c ou nt=max=0;s c anf (9 6 d ,&n);d o(1 ;i f (t=0)+c ou nt;e ls e i f(max t)2;n/=1 0;)w h i le(n);p r i ntf (c ou nt二/d,max=96d ,c ou nt,max);)【答案】1 n%1 0 2 max=t1 0、下面程序段的运行结果是 oi 二 l;a=0;s=l;d o(a=a+s*i;s=-s;i+;)w h i le(i=1 0);p r i ntf (a=%d ,a);【答案】a=-5请分析程得分评卷人三、编 程 题(共3题,每题分值不等,共计40分)1、编写程序:统计一维数组a中素数的个数第19/93页例如:如果数组a的元素为:2,3,5,7,8,9,1 0,1 1,1 2,1 3,则程序的输出应为:p r i me nu mbe r (s)i s (a r e)(本题 1 0分)【答案】#i nc lu d e#i nc lu d e#i nc lu d e p r i nu m(i nt a )i nt c ou nt,i,j,k;c ou nt=0;f or (i=0;i 1 0;i+)(k=a i -l;f or (j=2;j =k+1)c ou nt+;)r e tu r n(c ou nt);)mai n()(i nt a 1 0 =2,3,5,7,8,9,1 0,1 1,1 2,1 3,n;n=p r i nu m(a);p r i ntf (p r i me nu mbe r (s)i s (ar e):%d”,n);)2、求3行3列矩阵a 3 =”,2,3,4,5,6,7,8,9)非对角线上元素之和。(本题1 4分)【答案】#i nc lu d ev oi d mai n()(i nt i,j,s u m=O;i nt a 3 3 =1,2,3,4,5,6,7,8,9;f or(i=0;i 3;i+)f or(j=0;j 3;j+)i f (i !=j&i+j !=2)s u m=s u m+a i j ;p r i ntf(d ,s u m);p r i ntf (n);)3、编写程序:本题为用结构体求学生的平均分和分数最高的学生对应课程以及分数。输入1 0 个学生5 门课的成绩,分别用函数实现以下功能:1、计算每个学生平均分第2 0/93 页2、计算每门课平均分3、找出所有5 0个分数中最高的分数所对应的学生和课程(本题1 6分)【答案】#i n cl u d et y p ed ef s t r u ct s t u(i n t n u m 2 0;fl o at s co r el;fl o at s co r e2;fl o at s co r e3;fl o at s co r e4;fl o at s co r e5;fl o at av er;s t u d en t;fl o at a5;i n t m ai n()s t u d en t s t u 1 0;s t u d en t av er ag eSco r e(s t u d en t s t u 1 0);s t u d en t av er ag es(s t u d en t s t u 1 0);s t u d en t m ax(s t u d en t s t u 1 0 1);i n t i;fo r (i=0;i 1 0;i+)s can f(/%d%f%f%f%f%f,,,s t u i.n u m,&s t u Li.s co r el,&s t u i.s co r e2,&s t u i.s co r e3,&s t u i.s co r e4,&s t u i.s co r e5);av er ag e5 (s t u);av er ag eSco r e(s t u);fo r (i=0;i V5;i+)p r i n t f(,zt he%d s co r es av er ag e i s)m ax(s t u);r et u r n 0;)s t u d en t av er ag es (s t u d en t s t u 1 0)i n t i;fo r(i=0;i 1 0;i+)s t u i.av er=(s t u i s co r el+s t u i.s co r e2+s t u i.s co r e3+s t u i.s co r e4+s t u Ei.s co r e5)/5;p r i n t f(z,t he%d s t u d en t s av er ag e s co r e i s%fnz,,s t u i.n u m,s t u i.av er);)s t u d en t av er ag eSco r e(s t u d en t s t u 1 0)i n t i;fl o at s u m=0;第2 1/93页fo r (i=0;i 1 0;i+)s u m=s u m+s t u i.s co r el;aOl d s u m;s u m=0;fo r(i=0;i 1 0;i+)s u m=s u m+s t u i.s co r e2;)al=s u m;s u m=0;fo r (i=0;i 1 0;i+)s u m=s u m+s t u i.s co r e3;a =s u m;s u m=0;fo r (i=0;i 1 0;i+)s u m=s u m+s t u i.s co r e4;)a3=s u m;s u m=0;fo r (i=0;i 1 0;i+)s u m=s u m+s t u i.s co r e5;a4=s u m;s t u d en t m ax(s t u d en t s t u 1 0)i n t i,j,n,r,d;fl o at s 5 0,m ax 1=0;fo r (i=0;i 5 0;i=i+5)s i=s t u i.s co r el;s i+l=s t u i.s co r e2;s i+2=s t u i.s co r e3;s i+3=s t u i.s co r e4;s i+4=s t u i.s co r e5;)fo r (i=0;i 5 0;i+)fo r(j=i+l;j m ax l)m ax l=s i;n=i;)p r i n t f(%d,n);r=n%5;第22/93页d=n%1 0;p r i n t f(t he m ax s co r e i s%f,t he%d t h s t u d en t s%d t h s co r e”,m ax i,d+1,r);第23/93页山东工商学院C语言专升本样卷(三)(考试时间90分钟,总分100分)题号*二三总分得分 题目包括三大部分,单项选择题,填空题,编程题,请按要求作答。答卷必须用蓝色或者黑色钢笔、圆珠笔,不许用铅笔或者红笔作答。考试中途不能无端离场,否则视为放弃。考试过程中如遇问题请及时向监考老师反馈。B、x =n%2.5;共计40分)C x+n =l;D、x =5=4+l【答案】A()2、若有以下定义,则正确的语句是u n i o n d at a(i n t i;char c;fl o at f;a;i n t n;A、c=5;B、a=2/a,1.2);C、p r i n t f a);D n=a;【答案】C()3、下列程序的运行结果是m ai n()第24/93页i n t a=-5,b=l,c=l;i n t x=0,y=2,z=0;i f(c0)x=x+y;i f(a0)i f(c0)y=x-y;el s e z=y;p r i n t f(%d,%d,%d n”,x,y,z);A、2,2,0B、2,2,2C、0,2,0D、2,0,2【答案】A【解析】本题考查i f el s e语句的使用。先判断第1 个i f语句,因为c=l 0,所以x=x+y=0+2=2。第1 个i f语句,因为a=-5 V0,所以进入下列的复合语句。经判断发现,复合语句中第2 个i f语句的条件均不满足,不执行任何语句退出,在这个过程中y 和z 的值没有发生变化。()4、结构化程序设计方法的结构不包括 oA、顺序结构B、分支结构C、循环结构D、跳转结构【答案】D()5、若定义a=3,b=4,执行p r i n t f(%d,%d”,(a,b),(b,a);的 输 出 结 果 为。A、3,4B、4,3C、3,3D、4,4【答案】B【解析】在调用格式输出函数的语句中,其中每个格式符对应一个输出项,格式符d 要求输出项内容以十进制整数形式输出,第一个输出项(a,b)是一个逗号表达式,该表达式的是b的值,输出4;第二第25/93页个输出项(b,a)的值是a的值,输出3。()6、运行下面程序后,输出是.t t i ncl u de v oi d mai n()(i nt k=-3;i f (k ,成员名的方法来引用结构体成员。()1 5、以下程序的输出结果是:mai n()(i nt a=12,b=12;p r i nt f (级d,%d n”,a,+b);)A、10,10B、12,12C、11,10D、11,13【答案】D()16、有以下程序t t i ncl u de i nt mai n()(i nt 1,4,7,2,5,8,3,6,9);i nt i,j,k=2;f or(i=0;i 3;i+)p r i nt f (%2d”,m k L i );)执行后输出结果是 oA、4 5 6B、2 5 8第28/93页C、3 6 9D、7 8 9【答案】C【解析】变量k 的初值为2,循环执行了3次,分别输出m 2 0、m 和 m ,其值分别为3,6,9o()1 7、设有以下语句t yp e de f s t r u ct s(i nt g;ch ar h;)t:则 下 面 叙 述 中 正 确 的 是。A、可用S 定义结构体变量B、可以用T 定义结构体变量C、S 是s t r u ct 类型的变量D、T 是s t r u ct S 类型的变量【答案】A()1 8、下面程序段的运行结果是 o ch ar c =t v O w i l l n;p r i nt f (%d”,s t r l e n(c);A、3B、6C、9D、14【答案】A()19、设a为存放(短)整型的一维数组,如果a的首地址为p,那么a中第i个元素的地址为(底A、P+i*2B、P+(i-l)*2C、P+(i-l)D、P+i【答案】B()20、有以下程序:s t r u ct s t u第29/93页ch ar nu m 10;f l oat s cor e 3;);mai n()(s t r u ct s t u s 3 =20021”,90,95,85,“20022”,95,80,75,20023”,100,95,90 ,*p=s;i nt i;f l oat s u m=0;f or (i=0;i s cor e i ;)p r i nt f (/z%6.2f n”,s u m);程序运行后的输出结果是A、260B、270C、280D、285【答案】B【解析】给结构体数组赋韧值时,由于数组中的每个元素都是一个结构体,因此要将其成员的值依次放在一对 花括号中,以便区分各元素。s 0 =2 0 0 2 1”,9 0,9 5,8 5 ,s l =“2 0 0 2 2 ,9 5,8 0,7 5 ,s 2 :2 0 0 2 3”,1 0 0,9 5,9 0 ).得分评卷人填空题(共10题,每题2分,共计20分)1、局部变量的作用域是从 的位置起,到函数结束止。【答案】定义2、表达式7+1 0 2&2 5%5的结果是【答案】03、在c语言中,以 开头的常量代表的是十六进制数。【答案】Ox第3 0/9 3页4、在C语言中,以_ _ _ _ _ _ 作为字符串结束标志。【答 案】0 5、语句只能用在循环中,该语句的作用是结束本层本次循环,继续一下次循环,前不跳出循环。【答 案】continue6、以下程序的输出结果是main()(int x=T0,y;if(x0)y=-l;else y=l;printf y);【答 案】-17、函数的返回值是通过函数的 语句获得的。【答 案】return(或返回语句)8、符号a和 a 的区别是。【答 案】a是字符串常量,而 a 是字符常量 9、有以下程序Sinclude m ain()(char chi,ch2;int nl,n2;chl=getchar();ch2=getchar();nl=chl-O;n2=nl*10+(ch2-O);printf(%dn,n2);)程序运行时输入:12回车,执行后输出结果是【答 案】12第31/93页1 0、以下的程序是求矩阵a,b 的和,结果存入矩阵c 中,并按矩阵形式输出。#i n c l u d e v o i d m a i n()(i n t a 3 4 =3,-2,7,5 ,1,0,4,-3 ,6,8,0,2 ;i n t b 3 4 =-2,0,1,4 ,5,-1,7,6 ,6,8,0,2 ;i n t i,j,c 3 4 ;f o r (i=0;i 3;i+)f o r (j=0;j 4;j+)c i j =;f o r (i=0;i 3;i+)(f o r (j=0;j 0;i-)i f(i%1 7=0)b r e a k;p r i n t f (%d n ,i);)2、从键盘输入圆的半径,计算并输出圆面积与周长,要求结果保留两位小数。(本题1 4 分)【答案】#i n c l u d ev o i d m a i n ()(i n t r;f l o a t p i=3.1 4 1 5 9;第3 2/9 3 页f l o a t c,s;p r i n t f(“请输入半径r:);s c a n f (%d ,&r);s 二 p i*r*r;c=2*p i*r;p r i n