本科试题C程序设计0805.docx

上传人:b****7 文档编号:11371732 上传时间:2023-02-28 格式:DOCX 页数:13 大小:28.86KB
下载 相关 举报
本科试题C程序设计0805.docx_第1页
第1页 / 共13页
本科试题C程序设计0805.docx_第2页
第2页 / 共13页
本科试题C程序设计0805.docx_第3页
第3页 / 共13页
本科试题C程序设计0805.docx_第4页
第4页 / 共13页
本科试题C程序设计0805.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

本科试题C程序设计0805.docx

《本科试题C程序设计0805.docx》由会员分享,可在线阅读,更多相关《本科试题C程序设计0805.docx(13页珍藏版)》请在冰豆网上搜索。

本科试题C程序设计0805.docx

本科试题C程序设计0805

哈尔滨工程大学海洋工程专业《C程序设计》期末试卷

班级姓名学号

题号

总分

得分

一、选择题:

(下列各题A、B、C、D四个选项中,只有一个选项是正确的。

请将正确的选项填在题前的括号内。

每小题2分,共30分)

1、下列有关C程序的说法中,正确的是:

A)一个C程序中只能有一个主函数且位置任意;

B)一个C程序中可有多个主函数且位置任意;

C)一个C程序中只能有一个主函数且位置固定;

D)一个C程序中可以没有主函数。

2、以下叙述中不正确的是:

A)在C程序运算符中,逗号运算符优先级最低;

B)C程序中,AHP和ahp代表两个不同的变量;

C)C程序中,整数和实数在内存中存放形式相同;

D)在C程序中,%是只能用于整数运算的运算符。

3、已知ch是字符型变量,下面不正确的赋值语句是:

A)ch=‘\0’B)ch=‘a+b’

C)ch=‘7’+‘9’D)ch=7+9

4、设有如下定义

intx=10,y=5,z;

则语句printf("%d\n",z=(x+=y,x/y));

的输出结果是。

A)1B)0C)4D)3

5、设有如下定义:

charch=’z’,则执行下面语句后变量ch是值为:

ch=(‘A’<=ch&&ch<=‘Z’)?

(ch+32):

ch

A)AB)aC)ZD)z

6、若x和y都为float型变量,且x=3.6,y=5.8执行下列语句后输出结果为:

printf(“%f”,(x,y));

A)3.600000B)5.800000

C)3.600000,5.800000D)输出符号不够,输出不正确值

7、设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后的为:

A)strcpy(str1,str2);

B)strcpy(str1,“China”);

C)strcat(str1,“China”)

D)strcat(“Beijing”,str2);

8、以下对一维整型数组a的正确说明是。

A)inta(10);

B)intn=10,a[n];

C)intn;scanf(“%d”,&n);inta[n];

D)#defineSIZE10inta[SIZE];

9、设有如下程序段,则其执行结果为:

staticinta[]={1,2,3,4},*p;inti;

p=a;(p+3)+=2;printf(“%d”,*(p+3));

A)0B)6C)a[3]地址D)不正确的值

10、若I为整型变量,则下列程序段的运行结果为。

I=322;

if(I%2==0)printf(“#####”)

elseprintf(“*****”);

A)#####B)#####*****

C)*****D)有语法错误,无法输出结果

11、已知intx=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为:

if(x>y||xz)

z=x;x=y;y=z;

A)x=50,y=80,z=80B)x=50,y=30,z=30

C)x=30,y=50,z=80D)x=80,y=30,z=50

12、下面程序段的运行结果是:

x=y=0;while(x<15)y++,x+=++y;

printf(“%d,%d”,y,x);

A)20,7B)6,12

C)20,8D)8,20

13、若有语句int*point,a=45;point=&a;

下面均代表同一变量地址的一组选项是:

A)&apoint*&a

B)&*a&a*point

C)point&point&a

D)&a,&*pointpoint

14、以下程序的运行结果是:

main()

{inta=2,i;

for(i=0;i<3;i++)printf(“%4d”,f(a));}

f(inta)

{intb=0;staticintc=3

b++;c++;return(a+b+c);}

A)71013B)777

C)7911D)789

15、若有如下定义:

inta[3][3]={1,2,3,4,5,6,7,8,9},i;

则下列语句的输出结果是:

for(i=0;i<=2;i++)printf(“%d”,a[i][2-i]);

A)357B)369

C)159D)147

二、判断题:

(正确的填√,错误的填×,每小题1分,共10分)

1、C语言本身没有输入输出语句,输入输出操作都是通过调用库函数来实现的。

()

2、在C语言中,int、char和short三种类型数据在内存中所占用的字节数都是由用户自己定义的。

()

3、在C程序中一行内可以写几个语句,一个语句可以分写在多行上。

因此,并不是每一条C语句都必须有一个分号的。

()

4、在C语言的if语句中,用作条件判断的表达式只能是关系和逻辑表达式。

()

5、在C语言中break和continue都是循环中途退出语句,其中break语句用来跳出一层循环结构;continue语句用来结束一次循环。

()

6、C语言中while和do-while循环的主要区别是while语句的循环体至少会被执行一次,而do-while语句的循环体则可能一次也不执行。

()

7、数组首地址不仅能通过数组中第一个元素的地址表示,也可以通过数组名来表示。

()

8、在C语言中,只有在两个字符串所包含的字符个数相同时,才能比较大小。

如字符串“That”与“The”就不能进行大小比较。

()

9、函数的返回值类型是由函数的类型和return语句中表达式的类型共同决定的,当这两类型不一致时最终起决定作用的是return中表达式的类型。

()

10、定义指针变量时指定的类型称为基类型,基类型是指针变量所指向变量的类型,因此指针变量被定义之后都只能指向某一类型的变量。

()

三、程序填空题(每题2分,共12分)

1、输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母,则变成大写字母;其它字符不变。

请填空:

main()

{charch;

scanf(“%c”,&ch);

if(

(1))ch=ch+32;

elseif(ch>’a’&&ch<‘z’)(

(2));

printf(”%c\n”,ch);}

 

2、以下程序是求矩阵a,b的和,结果存入矩阵c中并按矩阵形式输出。

请填空:

main()

{inta[3][4]={{7,5,-2,3},{1,0,-3,4},{6,8,0,2}};

intb[3][4]={{5,-1,7,6},{-2,0,1,4},{2,0,8,6}};

inti,j,c[3][4];

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

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

c[i][j]=___(3)____;

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

{for(j=0;j<4;j++)

printf(“%3d”,c[i][j]);

____(4)___;}

}

 

3、以下程序使用递归法求n!

请填空:

floatfac(intn)

{floatf;

if(n<0){printf(“n<0”dataerror);f=-1;}

elseif(n==0||n==1)f=1;

elsef=(5);

return(f);}

main()

{intn;floaty;

printf(“inputaintegernumber”);

scanf(“%d”,&n);

y=(6);

printf(“%d!

=%15.0f”,n,y);}

 

四、写出下面程序的执行结果(本大题24分,每小题4分)

1.main()

{floata=3.14,b=3.14159;

printf(“%f,%5.3f\n”,a,b);}

 

2.main()

{chara[5][5],i,j;

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

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

if(i==0||i+j==4)

a[i][j]='*';

elsea[i][j]='';

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

{for(j=0;j<5;j++)

printf("%c",a[i][j]);

printf("\n");}}

 

3.main()

{intx,i;

for(i=1,x=1;i<=50;i++)

{if(x>=10)break;

if(x%2==1){x+=5;continue;}

x-=3;}

printf(“%d\n”,i);}

 

4.func(intx,inty)

{intz;

z=a+b;

return(z);}

main()

{inta=6,b=7,c=8,r;

r=func((a--,b++,a+b),c--)

printf(“%d”,r);}

 

5.#include

voidincrement(void);

voidmain(void)

{

increment();

increment();

}

voidincrement(void)

{

staticintx=8;

x++;

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

}

 

6.#include

voidmain(void)

{staticchara[]="ABCDEFGH",b[]="abCDefGh";

char*p1,*p2;

intk;

p1=a;p2=b;

for(k=0;k<=7;k++)

if(*(p1+k)==*(p2+k))printf("%c",*(p1+k));

printf("\n");

}

 

五、编程题(共10分)

1.有一函数,其函数关系如下,试编程求对应于每一自变量的函数值。

 

x2(x<0)

y=-0.5x+10(0

x<10)

x-

(x

10)

 

2.若有如下公式:

+

+

+。

+

试根据上述公式编程计算

的近似值

(精确到10-6)。

 

3.编一程序,首先将一个包含10个数的数组按照升序排列,然后将从一指定位

置m开始的n个数按照逆序重新排列,并将新生成的相互组输出。

要求使用指

针控制方法实现上述功能。

 

一、选择题(本大题30分,每小题2分)

1~5ACBDD6~10BCDDA

11~15ADDDA

二、判断题(本大题10分,每小题1分)

1.√2.×3.×4.×5.√

6.×7.√8.×9.×10.√

三、程序填空题(本大题12分,每小题2分)

评分标准:

全对的满分,半对半错的给一半分,全错的不得分。

1.

(1)ch>=’A’&&c<=’Z’

(2)ch=ch-32

2.(3)a[i][j]+b[i][j]

(4)printf(“\n”)

3.(5)n*fac(n-1)

(6)ac(n)

四、写出下面程序的执行结果(本大题24分,每小题4分)

评分标准:

全对的满分,半对半错的给一半分,全错的不得分。

1.3.140000,3.141

2.*****

*

*

*

*

3.8

4.21

5.x=9

x=10

6.CDG

五、编程题(本大题24分,第一题7分,第二题8分,第三题9分)

1.#include

main()

{floatx,y;

scanf(“%f”,&x);

if(x<0)y=x*x;

elseif(x>=0&&x<10)y=-0.5*x+10;

elsey=x-sqrt(x);

printf(“y=%f”,y);

}

2.17.main()

{floata=1,b,pi,t=1;

while(t>=1e-6)

{pi=pi+t;

a++;

b=a*a;

t=1/b;

}

pi=pi*6;

printf(“pi=%f”,pi);

}

3.#include

main()

{intdata[10],m,n,j,*p1,*p2,temp;

printf(“\nInput10integer\n”);

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

scanf(“%d”,&data[j]);

printf(“Inputmandn:

\n”);

scanf(“%d%d”,&m,&n);

if(m<1||m>10||n<1||n>10||(m+n)>11)

{printf(“InputError!

\n”);

exit(0);

}

sort(data,10);

printf(“Resultofsortis:

\n”);

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

printf(“%d”,data[j]);

printf(“\n”);

p1=data+m-1;

p2=data+m+n-2;

for(;p1

{temp=*p1;*p1=*p2;*p2=temp;}

printf(“FinalResultis:

\n”);

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

printf(“%d”,data[j]);

}

sort(int*p,intn)

{inti,j,temp;

for(i=0;i

for(j=i+1;j

if(*(p+i)>*(p+j))

{temp=*(p+i);

*(p+i)=*(p+j);

*(p+j)=temp;

}

}

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1