浙江财经大学往年C语言程序设计专升本复习题及答案_第1页
浙江财经大学往年C语言程序设计专升本复习题及答案_第2页
浙江财经大学往年C语言程序设计专升本复习题及答案_第3页
浙江财经大学往年C语言程序设计专升本复习题及答案_第4页
浙江财经大学往年C语言程序设计专升本复习题及答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2/2C语言程序设计专升本复习题(总分100分,考试时长90分钟)一、单项选择题(每小题2分,共40分)1、以下不合法的用户自定义标识符是________。 A、max B、3_min C、al D、_1102、若变量c定义为float型变量,能给变量c正确赋值的语句是________。 A、scanf("%f",c) B、scanf("%8.4f",&c) C、scanf("%d",&c) D、scanf("%f",&c)3、数值型数据包括()两种。 A、整型和长整型 B、整型和浮点型 C、单精度型和双精度型 D、整型实型和货币型4、if语句的基本形式是:if(表达式)语句,以下关于"表达式"值的叙述中正确的是________。 A、必须是逻辑值 B、必须是整数值 C、必须是正数 D、可以是任意合法的数值5、若变量已正确定义,对以下while循环结束条件的准确描述是________。 A、item的绝对值小于0.0001 B、item的绝对值大于0.0001 C、item的绝对值等于0.0001 D、item的绝对值不等于0.00016、下面正确的字符串常量是________。 A、'a' B、'376' C、"\n" D、3767、语句while(!e);中的条件!e等价于________。 A、e==0 B、e!=1 C、e!=0 D、~e8、下列二维数组的说明中,不正确的是________。 A、floata[][4]=0,1,8,5,9; B、inta[3][4] C、#defineN5

floata[N][3] D、inta[2][9.5];9、c语言中,double类型数据占________。 A、1个字节 B、2个字节 C、4个字节 D、8个字节10、若有定义:charstr1[10]="aaaaaaa";

charstr2[10]="bbbbb";

将字符串str2连接到str1,则下列描述中正确的是________。 A、strcat(str1,str2)可以将字符串str2连接到str1中 B、strncat(str1,str2,strlen(str2))可以将字符串str2连接到str1中 C、strncat(str1,str2,2)可以将字符串str2的前两个字符连接到str1中 D、strncat(str1,str2,4)可以将字符串str2的前四个字符连接到str1中11、下列数组的定义中,错误的是________。 A、charca1[]='c','m','n'; B、charca2[6]="name"; C、charca3[4]="your"; D、intarray[]=1,2,3,4;12、下列叙述中错误的是________。 A、在C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值 B、在C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容 C、在C语言中,外部变量的隐含类型是自动存储类别 D、在C语言中,函数形参的存储类型是自动(auto)类型的变量13、执行下面程序段,给x、y赋值时,不能作为数据分隔符的是________。intx,y;scanf("%d%d",&x,&y); A、空格 B、Tab键 C、回车 D、逗号14、下列叙述中,错误的是________。 A、一个函数中可以有多条return语句 B、调用函数必须在一条独立的语句中完成 C、函数可通过return语句返回其函数值 D、主函数名main()也可以带形参15、有如下程序

main()

{

inta[3][3]={{1,2,3},{3,4,5},{5,6,7}},i,j,s=0;

for(i=0;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j]];

printf("%d\n",s);

}

该程序的输出结果是______。 A、18 B、19 C、36 D、2616、以下for循环是________。for(x=0,y=0;(y!=123)&&(x<4);x++) A、无限循环 B、循环次数不定 C、执行4次 D、执行3次17、有以下程序

structstu

{

charname[10];

intnum;

intscore;

}

;

main()

{

structstus[5]={{"yangsan",20041,703},{"lisiguo",20042,580,{"wangyin",20043,680},{"sundan",20044,550},{"penghua",20045,537}},*p[5],*t;

inti,j;

for(i=0;i<5;i++)p[i]=&s[i];

for(i=0;i<4;i++)for(j=i+1;j<5;j++)if(p[i]->score>p[j]->score)

{

t=p[i];

p[i]=p[j];

p[j]=t;

}

printf("5d%d\n",s[1].score,p[1]->score);

}

执行后输出结果是________。 A、550550 B、680680 C、580550 D、58068018、以下程序段的输出结果是________。

intmain(

void)

{

intnum=0,s=0;

while(num<=2)

{

num++;

s+=num;

}

printf("%d\n",s);

return0;

} A、10 B、6 C、3 D、119、若有以下定义和语句,且0≤i<10则对数组元素的错误引用是______。inta[10]={1,2,3,4,5,6,7,8,9,10},*p,i;p=a; A、*(a+i) B、a[p-a] C、p+i D、*(&a[i])20、结构体类型的定义允许嵌套是指()。 A、成员是已经或正在定义的结构体型 B、成员可以重名 C、结构体型可以派生 D、定义多个结构体型二、判断题(每小题2分,共20分)()1、模运算符%,仅用于整型变量或整型常量。()2、c语言中的注释有两种类型:单行注释和多行注释。()3、在标准c中,没有逻辑型数据,故不能使用逻辑表达式。()4、break语句只能用在循环语句中。()5、符号"a"和’a’的区别是

"a"是字符串常量,占2个字节;而’a’是字符常量,占1个字节。()6、c程序函数体是由左右方括号[]括起来的部分。()7、一个c源程序可由一个或多个函数组成。()()8、在调用一个函数的过程中又出现直接或间接地调用该函数本身,这称为函数的嵌套调用()9、在c程序中,函数既可以嵌套定义,也可以嵌套调用。()()10、随机操作只适用于二进制文件。三、编程题(每小题分,共40分)1、编写程序:求元素个数为10的一维数组元素中的最大值和最小值。(本题10分)2、编写一个函数,从传人的m个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标志)。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。试题程序:

char*proc(char(*a)[81],intnum)

{

}

voidmain()

{

charss[l0][81],*max;

intn,i=0;

printf("输入若干个字符串:");

gets(ss[i]);

puts(ss[i]);

while(!strcmp(ss[i],"****")==0)

{

i++;

gets(ssei]);

puts(ss[i]);

}

n=i;

max=proe(ss,n);

printf("\nmax=%s\n",max);

}(本题14分)3、编写程序:编写input()和output()函数输入,输出5个学生的数据记录。(本题16分)

参考答案一、单项选择题1、B2、D3、B4、D5、A6、C7、A8、D【解析】C语言规定,对于二维数组,只可以省略第一个方括号中的常量表达式,而不能省略第二个方括号中的常量表达式:二维数组的一般定义格式是:类型说明符数组名[常量表达式][常量表达式]。9、D10、C【解析】连接字符串要考虑内存溢出问题11、C【解析】本题主要考查的知识点为数组。

[要点透析]字符数组不能超过数组长度,双引号括起来的字符串,最后有一个结束标志'\0',也占一个字符空间,所以C选项错误。12、A13、D14、B【解析】本题考核函数的基本知识点。当函数有返回值时,调用函数可以作为一个表达式的子表达式,而不是作为一条独立的语句存在。故选项B的说法是错误的。15、D16、C17、C18、B19、C20、A二、判断题1、正确2、正确3、错误4、错误5、正确6、错误7、正确8、错误9、错误10、错误三、编程题1、#include"stdio.h"

main()

{

intterm[10];

inti,max,min;

printf("请输入10个整数:");

for(i=0;i<10;i++)

{

scanf("%d",&term[i]);

max=term[0];

min=term[0];

}

for(i=0;i<10;i++)

{

if(term[i]<min)min=term[i];

if(term[i]>max)max=term[i];

}

printf("max=%d,min=%d",max,min);

}2、char*proc(char(*a)[81],intm)

{

char*max;

inti=0:max=a[0]:for(i=0;i<m;i++)if(strlen(max)<strlen(a[i]))//找出最长的字符串max=a[i];

returnmax;

//返回最长字符串的地址

}3、#include<stdio.h>

#include<stdlib.h>

typedefstruct{

charname[20];

charsex[5];

intage;

}Stu;

voidinput(Stu*stu);

voidoutput(Stu*stu);

intmain()

{

Stustu[5];

printf("请输入5个学生的信息:姓名性别年龄:\n");

input(stu);

printf("5个学生的信息如下:\n姓名性别年龄\n");

output(stu);

system("pause")

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论