五邑大学历年计算机C语言样卷及答案_第1页
五邑大学历年计算机C语言样卷及答案_第2页
五邑大学历年计算机C语言样卷及答案_第3页
五邑大学历年计算机C语言样卷及答案_第4页
五邑大学历年计算机C语言样卷及答案_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

计算机C语言样卷(总分100分,考试时长90分钟)一、单项选择题(每小题2分,共40分)1、以下选项中,当x为大于1的奇数时,值为0的表达式是________。 A、x%2==1 B、x/2 C、x%2!=0 D、x%2==02、C语言中以下几种运算符的优先次序()的排列是正确的。 A、由高到低为:!,&&,||,算术运算符,赋值运算符 B、由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符 C、由高到低为:算术运算符,关系运算符,赋值运算符,!,&&,|| D、由高到低为:算术运算符,关系运算符,!,&&,||,赋值运算符3、关于结构化程序设计原则和方法的描述错误的是________。 A、选用的结构只准许有一个入口和一个出口 B、复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现 C、不允许使用GOTO语句 D、语言中若没有控制结构,应该采用前后一致的方法来模拟4、以下程序的输出结果是_______。

main()

{

inti=0,s=0;

for(;;)

{

if(i==6)break;

i++;

s+=i;

}

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

} A、10 B、15 C、21 D、死循环5、下面程序输出数组中的最大值,由s指针指向该元素.

voidmain()

{

inta[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s;

for(p=a,s=a;p-a<10;p++)

if(________)s=p;

printf("themax:%d",*s):

}

则在if语句中的判断表达式应该是______。 A、p>s B、*p>*s C、a[p]>a[s] D、p-a>p-s6、与十进制数96等值的二进制是________。 A、01100000 B、10010110 C、01100001 D、011000117、在一个应用程序中有如下定义:inta[]={1,2,3,4,5,6,7,8,9,10},为了打印输出数组a的最后一个元素,下面正确的代码是________。 A、printf("%d",a[10];) B、printf("%d",a[9]); C、printf("%d",a[a.length]); D、printf("%d",a[8]);8、以下字符常量中不合法的一项是________。 A、'b

' B、'' C、' ' D、'Y'9、下列关于boolean类型的叙述中,正确的是________。 A、可以将boolean类型的数值转换为int类型的数值 B、可以将boolean类型的数值转换为字符串 C、可以将boolean类型的数值转换为char类型的数值 D、不能将boolean类型的数值转换为其他基本数据类型10、有语句charstr1[10],str2[10]={"china"};

则能将字符串china赋给数组str1的正确语句是________。 A、str1={"china"}; B、strcpy(str1,str2); C、str1=str2; D、strcpy(str2,str1);11、设有以下函数

f(inta){

intb=0;

staticintc=3;

b++;

c++;

return(a+b+c);

}

如果在下面的程序中调用该函数,则输出结果是______。

main(){

inta=2,i;

for(i=0;i<3;i++)printf("%d\n"f(a));

} A、7

8

9 B、7

9

11 C、7

10

13 D、7

7

712、语句:"printf("%d",(a=2)&&(b=-2));"的输出结果是________。 A、无输出 B、结果是不确定 C、-1 D、113、以下叙述中正确的是()。 A、构成.C程序的基本单位是函数 B、可以在一个函数中定义另一个函数 C、main()函数必须放在其它函数之前 D、所有被调用的函数一定要在调用之前进行定义14、有以下程序:

structstu

{

charnum[10];

floatscore[3];

};

main()

{

structstus[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p=s;

inti;

floatsum=0;

for(i=0;i<3;i++){

sum=sum+p->score[i];

}

printf("%6.2f\n",sum);

}

程序运行后的输出结果是________。 A、260 B、270 C、280 D、28515、以下程序的输出结果是________。

inta=5;

floatx=3.14;

a*=x*(‘e’-‘a’);

printf("%f\n",(float)a); A、62.000000 B、62.800000 C、63.000000 D、6216、有以下程序段intn=0,p;

do

{

scanf("%d",&p);

n++;

}

while(p!=12345&&n<3);

此处do-while循环的结束条件是______。 A、p的值不等于12345并且n的值小于3 B、p的值等于12345并且n的值大于等于3 C、p的值不等于12345或者n的值小于3 D、p的值等于12345或者n的值大于等于317、以下对枚举类型名的定义中正确的是______。 A、enuma={one,two,three}; B、enuma{one=9,two=-1,three}; C、enuma={"one","two","three"}; D、enuma{"one","two","three"};18、下列程序的输出结果是__________.

#include<stdio.h>

voidmain()

{

charb[]="abcdefg";

charp=0;

while(p<7)putchar(b[p++]);

putchar('\n');

} A、GFEDCBA B、BCDEFG C、ABCDEFG D、GFEDCB19、定义如下一维数组:inta[5],*p;则下列描述错误的是________。 A、表达式p=p+l是合法的 B、表达式a=a+l是合法的 C、表达式p-a是合法的 D、表达式a+2是合法的20、有以下结构体说明、变量定义和赋值语句

structstd

{

charname[10];

intage;

charsex;

}

s[5],*ps;

ps=&s[0];

则以下scanf函数调用语句中错误引用结构体变量成员的是________。 A、scanf("%S",S[0].name); B、scanf("%d",&s[0].age); C、scanf("%C",&(ps->sex)); D、scanf("%d",ps->age);二、填空题(每小题2分,共20分)1、在c语言中,如果采用printf函数将整个字符串一次输出,那么对应的格式控制符为"________"。2、C标准库函数中,字符串的处理函数包含在______头文件中,数学函数包含在math.h头文件中。3、开发一个c程序要经过编辑、编译、()和运行4个步骤、4、循环语句for(i=0;i<3;i++)printf("*");

表达式i=0执行【1】________次,表达式i++执行【2】________次。5、在循环的过程中,有时要提前中止循环,通常采用()语句。6、以下程序的运行结果是_____________。

main()

{

intk,s,a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};

s=0;

for(k=0;k<4;k++)s=s+a[k][k];

printf("%d,",s);

}7、在c语言中,假使x为长整型变量,如果我们采用printf("格式控制",x)格式输出x,那么"格式控制"具体表示为"__"。8、"空"指针值用______表示9、下面程序的功能是用―辗转相除法‖求两个正整数的最大公约数。请分析程序填空。

#include<stdio.h>

main()

{

intr,m,n;

scanf("%d%d",&m,&n);

if(m<n)____1___;

r=m%n;

while(r)

{

m=n;

n=r;

r=____2___;

}

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

}10、有以下程序

#include<stdio.h>

main()

{

chara[20]="howareyou?",b[20];

scanf("%s",b);

printf("%s%s\n",a,b);

}

程序运行时从键盘输入:howareyou?<回车>则输出结果为________。三、编程题(每小题分,共40分)1、用起泡法对十个数据排序(数组实现)(本题10分)2、任意输一行字符串(包括空格),求其长度(不用strlen函数)。(本题14分)3、给定N个职员的信息,包括姓名、基本工资、浮动工资和支出,要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出)。

输入格式:

输入在一行中给出正整数N。随后N行,每行给出一位职员的信息,格式为“姓名基本工资浮动工资支出”,中间以空格分隔。其中“姓名”为长度小于10的不包含空白字符的非空字符串,其他输入、输出保证在单精度范围内。

输出格式:

按照输入顺序,每行输出一位职员的姓名和实发工资,间隔一个空格,工资保留2位小数。

输入样例:

3

zhao24040075

qian36012050

zhou56015080

输出样例:

zhao565.00

qian430.00

zhou630.00(本题16分)

参考答案一、单项选择题1、D【解析】因为x的值为大于1的奇数,所以x除以2的余数等于1,因此,选项A)、C)中表达式的结果为真,不为0;对于选项B)来说,x除以2的商不会等于0;选项D)中表达式的结果为假,即等于0。2、B3、C4、C5、B6、A7、B8、A【解析】字符常量是由单引号括起来的一个字符,而'b

'是两个字符'b'和'

',不是字符常量。9、D10、B11、A12、D13、A14、B【解析】给结构体数组赋韧值时,由于数组中的每个元素都是一个结构体,因此要将其成员的值依次放在一对花括号中,以便区分各元素。s[0]={"20021",90,95,85},s[1]={"20022’,95,80,75},s[2]:{"20023",100,95,90}。15、A16、D17、B18、C19、B20、D【解析】在scanf函数中,第二个参数应该表示为地址变量,而选项D)只是一个具体的值,而并不是一个地址值。二、填空题1、%s2、string.h3、连接4、【1】1【2】35、break6、34#34,#34,7、%ld8、null#09、【1】r=m,m=n,n=r【2】m%n10、['howareyouhow']三、编程题1、#include<stdio.h>

main()

{

inti,j,t;

staticinta[10]={5,7,4,2,3,6,1,0,9,8};

for(j=0;j<9;j++)

{

for(i=0;i<9-j;i++)

{

if(a>a)

{

t=a;a=a;a=t;

}

}

}

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

printf("%2d",a);

}2、#include<stdio.h>

intmain()

{

inti,n=0;

chars[80];

gets(s);

for(i=0;s[i]!='\0';i++){}

printf("%d",i);

}3、#include<stdio.h>

structmessage

{

chara[9];

doublebasic;

doublefu;

doubleoutput;

温馨提示

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

评论

0/150

提交评论