湖南工商大学C语言程序设计专升本.docx

上传人:p** 文档编号:928851 上传时间:2024-04-12 格式:DOCX 页数:56 大小:110.57KB
下载 相关 举报
湖南工商大学C语言程序设计专升本.docx_第1页
第1页 / 共56页
湖南工商大学C语言程序设计专升本.docx_第2页
第2页 / 共56页
湖南工商大学C语言程序设计专升本.docx_第3页
第3页 / 共56页
湖南工商大学C语言程序设计专升本.docx_第4页
第4页 / 共56页
湖南工商大学C语言程序设计专升本.docx_第5页
第5页 / 共56页
湖南工商大学C语言程序设计专升本.docx_第6页
第6页 / 共56页
湖南工商大学C语言程序设计专升本.docx_第7页
第7页 / 共56页
湖南工商大学C语言程序设计专升本.docx_第8页
第8页 / 共56页
湖南工商大学C语言程序设计专升本.docx_第9页
第9页 / 共56页
湖南工商大学C语言程序设计专升本.docx_第10页
第10页 / 共56页
亲,该文档总共56页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《湖南工商大学C语言程序设计专升本.docx》由会员分享,可在线阅读,更多相关《湖南工商大学C语言程序设计专升本.docx(56页珍藏版)》请在第壹文秘上搜索。

1、C语言程序设计专升本(一)一、单项选择题(每小题2分,共40分)1、在C语言中,要求运算数必须是整数的运算符是OA、B、%C、/D、【答案】B2、在C语言中,能表示无符号长整型常数的是OA、OLB、 4962710UC、 912374uD、2UL【答案】D3、有定义intn=789;下列表达式结果为8的是。A、n/10%2B、(n-n%10)100C、n%10D、n%10010【答案】D【解析】/比的优先级要高。注意:n/10%2的结果应是0,n/10结果为78,用78在除以2求余则得0;(n-n%10)100的结果应是7,n%10得9,780/100得7;n%10的结果显而易见是9。4、有如

2、下程序:main()intx=l,a-0,b=0;switch(x)case0:b+;case 1:a+;case 2:a+;b+;printfCa=%d,b=%dn”,a,b);)该程序的输出结果是OA、 a=2,b=lB、 a=l,b=lC、a=Lb=0D、a=2b=2【答案】A5、设i和X都是int类型,则for循环语句。for(i=0,x=0;i=9&x!=876;i+)scanf(%d,&x);A、最多执行10次B、最多执行9次C、是无限循环D、循环体一次也不执行【答案】A6、己有函数max(a,b),为了让函数指针变量p指向函数max,正确的赋值方法是。A、 p=max;B、 *p

3、=max;C、 p=max(a,b);D、 *p=max(a,b);【答案】A7、设x、y和Z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是A、x&yB、x=yC、Xjy+z&yZD、!(XVY)&!Z;1)【答案】D8、若希望下列的程序运行后输出25,程序空白处的正确选项是main()(inti,j=50,a=7,4,10,5,8;for()j+=ai;print(,%dw,j-40);)A、i=l;i4;+iB、i=l;i2;iD、i=2;ic2-cl,c2-iaf+,a,);则输出结果是OA、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定【

4、答案】B10、以下正确的字符串常量是oA、B、abc,C、OlympicGamesD、【答案】D11、以下函数func()的功能是:使具有n个元素的一维数组b的每个元素的值都增加2,划线处应填入.func(intb,intn)(int;for(i=0;in;i+);)Aybi+B、bi+C、bi+=2D、bi+=2【答案】D12、以下叙述中正确的是oA、全局变量的作用域一定比局部变量的作用域范围大B、静态(static)类别变量的生存期贯穿于整个程序的运行期间C、函数的形参都属于全局变量D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值【答案】B13、在64位计算机中,一

5、个字长所占字节数为0A、64B、8C、4D、1【答案】B14、以下叙述正确的是oA、在C程序中,主函数必须位于程序的最前面B、在C程序中,一行只能写一条语句C、C程序的基本结构是程序行D、C语句是完成某种程序功能的最小单位【答案】D15、有以下程序voidsum(inta)(a0=al+a2;)main()(inta10=l,2,3,4,5,6,7,8,9,10;sum(&a2);printf(/%dnz,a2);)程序运行后的输出结果是OA、6B、7C、5D、9【答案】D16、下面程序输出的结果为Oincludeintmain()ints=3;switch(s)(case5:Printf(我

6、);break;case4:Printf(是);case3:Printf(好);case2:Prirrtf(学”);break;default:Printf(生);)A、好B、好学C、好学生D、我是好学生【答案】B17、设有如下定义:structsk(intn;floatx;data,*p;若要使P指向data中的n域,正确的赋值语句是。A、 p=&datn;B、 *p=datn;C、 p=(structsk*)&datn;D、 p=(structsk*)datn;【答案】C【解析】本题主要考查了结构体变量引用成员数据的方法,主要有以下几种:结构体变量名,成员名或结构体指针成员名的方法来引用结

7、构体成员。18下面程序段的运行结果是.chara7=z,abcdefz,;charb4=abc;strcpy(a,b);Printfa5);A、空格B、0C、eD、f【答案】D19、以下叙述中正确的是OA、一条语句只能定义一个数组B、每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元C、数组说明符的一对方括号中只能使用整型常量,而不能使用表达式D、在引用数组元素时,下标表达式可以使用浮点数【答案】B【解析】A选项中,一条语句只能定义一个数组是不准确的,可以通过一条语句定义多个数组;C选项中,数组说明符的一对方括号中可以是整型常量,可以是整型常量表达式;D选项中,在引用数组元

8、素时,下标表达式必须是整型的。因此B选项正确。20、有以下结构体说明和变量的定义,且指针P指向变量a,指针q指向变量bo则不能把结点b连接到结点a之后的语句是structnodechardata;structnode*next;a,b,*p=&a,*q=&b;A、 next=q;B、 next=&b;C、pnext=&b;D、(*p).next=q;【答案】B【解析】要把结点b连接到结点a之后,必须把b的地址给a的next指针,选项A中,指针变量q保存的就是变量b的地址,选项B中的P是指针变量,应该是p-next=&b;在选项D中,用*运算符取出结构体变量,并且保存的就是b的地址,所以正确。二

9、、判断题(每小题2分,共20分)()1、若变量定义为intfahr;,则表达式5*(fahr-32)/9和表达式5/9*(fahr-32)是等价的。【答案】错误()2、C语言中,所有的变量在使用前都必须先声明。【答案】正确()3、内层break语句可以终止嵌套的SWiteh,使最外层的SWitCh结束。【答案】错误()4、COntinUe语句的作用是结束本次循环。【答案】正确()5、比较两个字符串是否相等不能通过条件运算符【答案】正确()6、C语言中不允许嵌套定义函数。【答案】正确()7、在C语言中,引用数组元素时,数组下标的数据类型只能是整型常量。()【答案】错误()8、当函数的实参与形参同

10、名时,它们将共占内存单元。()【答案】错误()9、一个数组是由连续的一块内存单元组成的,指针变量就是这块连续内存单元的首地址【答案】错误()10、全局静态变量的作用域限制在定义它的源文件内,只能为该源文件内的函数公用。【答案】正确三、编程题(每小题分,共40分)1、从键盘输入10个数,统计非负数的个数,并计算非负数的和。(本题10分)【答案】includevoidmain()(inti,n=0,sum=0;inta10;Printf(“请输入10个数个);for(i=0;i10;i+)scanf(a%dff,&ai);for(i=0;i=O)sum=sum+ai;n+;)Printf(非负个数

11、是d,SUm=%dn”,n,sum);)2、编写程序,从输入的一行字符串中抽取一部分(从第n个字符开始,抽取m个字符)构成一个新的字符串,并输出。其中n0且n二字符串的长度,否则打印“起始位置n越界”要求:n和ITI都由用户输入。如果抽取的字符串长度不够,则按照实际长度抽取,例如,字符串为“abcde”,若n=2,m=3,则抽取结果为“bed;若n=3,m=5,则抽取结果为“cde;若n=0,m=4则输出:起始位置0越界;若n=6,m=2则输出:起始位置6越界(本题14分)【答案】#include#includeintmain()(intn,m,i;unsignedlong1;chars80;

12、gets(s);scanf(%d%d”,&n,&m);I=Strlen(s);if(n+m-ll)m=l+l-n;if(n0&n=l)for(i=n-l;in+m-l;i+)printf(,z%c*,si);elsePrintf(起始位置%d越界,n);returnO;3、有以下职工信息,使用结构体数组存储这些信息,从键盘输入5条记录,之后在屏幕上依次输出职工信息。structstuffintStUffID;职工编号floatbonus;工资);【输入形式】5条职工信息,分行输入,数据间空格隔开【输出形式】分行输出5条职工信息和最低工资,每行数据均使用1个空格分隔【输入样例】10018540.

13、5910026345.4510033500.6510044898.8610055345.80【输出样例】每行数据均使用一个空格分割,分五行输出10018540.5910026345.4510033500.6510044898.8610055345.80minBonus=3500.65(本题16分)【答案】includestructstuff(intstuffID;floatbonus;a5;intmain()inti;floatmin;for(i=0;i5;i+)scanf(zz%d%fzx,&,ai.stuffID,&ai.bonus);min=a0.bonus;for(i=1;i=ai.bonus)min=ai.bonus;)for(i=0;i5;i+)printf(,/%d%.2fnz,ai.stuffID,ai.bonus);printf(z,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!