新疆大学C试题0809汉本科.docx

上传人:b****5 文档编号:29436298 上传时间:2023-07-23 格式:DOCX 页数:13 大小:19.99KB
下载 相关 举报
新疆大学C试题0809汉本科.docx_第1页
第1页 / 共13页
新疆大学C试题0809汉本科.docx_第2页
第2页 / 共13页
新疆大学C试题0809汉本科.docx_第3页
第3页 / 共13页
新疆大学C试题0809汉本科.docx_第4页
第4页 / 共13页
新疆大学C试题0809汉本科.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

新疆大学C试题0809汉本科.docx

《新疆大学C试题0809汉本科.docx》由会员分享,可在线阅读,更多相关《新疆大学C试题0809汉本科.docx(13页珍藏版)》请在冰豆网上搜索。

新疆大学C试题0809汉本科.docx

新疆大学C试题0809汉本科

课程代码:

座位号:

新疆大学2008—2009学年度第一学期期末考试

 

《C语言程序设计》B试卷(汉本)

姓名:

学号:

专业:

学院:

班级:

2008年01月

题号

总分

得分

第一部分选择题(共20分)

得分

评卷人

一、单项选择题(本大题共20小题,每题只有一个正确答案,答对一题得1分,共20分)

1、以下说法中正确的是【】

    A)C语言程序总是从第一个的函数开始执行

    B)在C语言程序中,要调用的函数必须在main()函数中定义

    C)C语言程序总是从main()函数开始执行

    D)C语言程序中的main()函数必须放在程序的开始部分

1.C语言程序的三种基本结构是()

A.顺序、选择、循环B.递归、循环、转移

C.嵌套、递归、顺序D.循环、转移、顺序

2.已知整型变量a=0和b=2,则a&&b的值是()

A.0B.1C.2D.3

3.C语言表示逻辑“真”值的数据是()

A.trueB.tC.非0整型值D.整型值0

4.下面程序段执行后,a的值是()

inta=1;

intb=a++;

A.0B.1C.2D.-1

5.类型定义chars[]=“programdesign”;char*p;执行语句p=s+7之后,printf(“%s”,p)输出的内容是()

A.dB.designC.programD.programdesign

6.关于switch语句,下述正确的说法是()

A.每一个case的常量表达式的值可以相同

B.各个case的出现次序会影响执行结果

C.每个case后面必须有一组执行语句

D.可以通过break语句终止switch语句的执行

7.在传地址方式的函数调用中,传递给被调用函数形参的是()

A.地址B.数据C.变量D.常量

8.关于C语言函数的叙述,正确的是()

A.C语言程序总是从第一个定义的函数开始执行

B.在C语言程序中,要调用的函数必须在main中定义

C.C语言程序总是从main函数开始执行

D.C语言程序中main函数必须放在程序的开始部分

9.在C语言中,while语句中的条件取()值时,结束循环。

A.0B.1C.非0D.true

10.设a=12,表达式a+=a-=a*=a运算后,a的值为()

A.0B.12C.24D.144

5、表达式:

10!

=9的值是【】

A)trueB)非零值

C)0D)1

6、2、设有inti;则表达式(i=1,i=10)?

i++||++i:

++i的值为()

A.1

B.2

C.3

D.10

.下面运算符优先级最高的是()

A.<=B.=

C.%D.&&

当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是

A)c=b=a;B)(a=c)‖(b=c);

C)(a=c)&&(b=c);C)a=c=b;

若已定义:

inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是

A)p+1B)a+1C)a++D)++p

7、表达式:

10!

=9的值是

    A)trueB)非零值C)0D)1

8、.若数组名作实参而指针变量作形参,函数调用实参传给形参的是()

A.数组的长度B.数组第一个元素的值

C.数组所有元素的值D.数组第一个元素的地址

若有说明:

inti,j=7,*p=&i;,则与i=j;等价的语句是

    A)I=*P;B)*P=*&J;C)i=&j;D)i=**p;

不能把字符串:

Hello!

赋给数组b的语句是

    A)charb[10]={'H','e','l','l','o','!

'};

    B)charb[10];b=“Hello!

”;

    C)charb[10];strcpy(b,“Hello!

”);

    D)charb[10]=“Hello!

11、、设有inta[]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是()

A.10,11,12

B.11,12,12

C.10,12,12

D.11,11,12

12、能正确表示a和b同时为正或同时为负的逻辑表达式是【】

A)(a>=0‖b>=0)&&(a<0‖b<0)B)(a>=0&&b>=0)&&(a<0&&b<0)

C)(a+b>0)&&(a+b<=0)D)a*b>0

13、以下定义语句中,错误的是

A)inta[]={1,2};B)char*a[3];

C)chars[10]="test";D)intn=5,a[n];

15、以下数组定义中不正确的是

A)inta[2][3];

B)intb[][3]={0,1,2,3};

C)intc[100][100]={0};

D)intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

17、当调用函数时,实参是一个数组名,则向函数传递的是【】

 A)数组的长度B)数组每一个元素的地址

C)数组的首地址D)数组每个元素中的值 

18、下列叙述中正确的是()。

A)函数定义不有嵌套,但函数调用可以嵌套

B)函数定义可以嵌套,但函数调用不可以嵌套

C)函数定义和函数调用都不能嵌套

D)函数定义与函数调用都可以嵌套

19、.已知说明语句int(*p)();,则下列叙述正确的是()。

A)p是一个指针变量,它指向一个一维数组

B)p是一个指针变量,它指向一个整型数据

C)p是一个指针变量,它指向一个返回值是整数的函数

D)以上都不对

20、下述对C语言字符数组的描术中错误的是

    A)字符数组可以存放字符串

    B)字符数组中的字符串可以整体输入、输出

    C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值

    D)不可以用关系运算符对字符数组中的字符串进行比较

以下函数调用语句中含有()个实参。

func((exp1,exp2),(exp3,exp4,exp5));

A)1B)2C)4D)5

C语言中()。

A)不能使用do-while语句构成的循环

B)do-while语句构成的循环必须用break语句才能退出

C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环

D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环

设有以下语句,则()不是对a数组元素的正确引用,其中0≤i<10。

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

A)a[p-a]B)*(&a[i])C)p[i]D)*(*(a+i))

 

第二部分非选择题(共80分)

得分

评卷人

二、判断题(本大题共10小题,每题1分,共10分,答A表示说法正确.答B表示说法不正确,本题只需指出正确与错误,不需要修改)

1、一个算法应该具有有零个或多个输出。

( )

2、unsigned和void在C中都是保留的。

()

3、C语言程序总是从第一个定义的函数开始执行。

()

4、函数定义与函数调用都可以嵌套( )

5、switch选择结构中必须有default子句。

( )

6、do-while语句构成的循环,当while语句中的表达式值为非零时结束循环。

( )

7、被main函数调用的函数只能是库函数。

(  )

8、字符型数组中可以存放字符串。

(  )

9、在C语言的复合语句中,只能包含可执行语句,不能有变量定义语句。

(  )

10、数组中的各元素的数据类型可以不一致()

得分

评卷人

 

三、填空题(本大题共5小题,每空1分,共10分。

1、在C语言中,单目运算符的结合方向(运算方向)是_____________;唯一的一个三目运算符是_____________。

3、printf("%5.3f\n",123456.12345);输出为_____________。

4、表达式~3&(2&3^4)的值为_______________。

5、若有说明inti,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为_______________。

4、当执行完以下语句后,变量a的值为__________,b的值为__________,

c的值为__________。

a=6;b=++a;c=--a;

5、已知a=3、b=2,则表达式a*=b+8的值是__________。

得分

评卷人

四、分析以下程序的输出结果(本大题共5小题,每题6分,共30分。

intfunc()

{

staticintx=6;

x++;

printf("%d",x);

}

main()

{

func();

func();

func();

}

运行结果为:

2、inta=1,b=2;

voidfun(intx,inty)

{intz=x;

x=y;

y=z;

}

main()

{inta=10,b=20;

fun(a,b);

printf(“a=%d,b=%d\n”a,b);

}

运行结果为:

3、#defineSQR(x)x*x

main()

{inta=10,k=2,m=1;

a/=SQR(k+m)/SQR(k+m);

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

}

}

运行结果为:

4、#include"stdio.h"

main()

{charb[]="program";

char*a="PROGRAM";

printf("\n%c%s\n",*a,b+1);

printf("%s\n",&b[3]);

}

5、______________。

#include"string.h"

#include"stdio.h"

main()

{

charstrl[]="Howdoyoudo",*p1=strl;

strcpy(strl+strlen(strl)/2,"esshe");

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

}

运行结果为:

 

得分

评卷人

五、程序填空题(本大题共4小题,每空3分,共30分在划线处填上合适的语句)

1.该程序将字符串str中的小写字母变成大写字母

main()

{

charstr[25];

inti;

scanf("%s",str);

i=0;

while(_____________){

if(str[i]>='a'&&str[i]<='z')

str[i]=___________________;

___________________;

}

printf("%s",str);

}

2.该程序交换两个变量的值。

swap(int*x,int*y)

{

inttemp;

temp=*x;

*x=____;

*y=____;

}

main()

{

inta,b;

scanf("%d%d",&a,&b);

swap(____a,____b);

printf("a=%d,b=%d",a,b);

}

 

3、任意输入三条边(a,b,c)后,若能构成三角形且为等腰、等边和直角,则分别输出DY、DB和ZJ,若不能构成三角形则输出NO。

main()

{floata,b,c,a2,b2,c2

scanf("%f%f%f%,&a,&b,&c);

printf("%5.1f,%5.1f,%5.1f",a,b,c);

if(a+b>c&&b+c>a&&a+c>b)

{

if(____________________________________)printf("DY");

if(____________________________________)printf("DB");

a2=a*a;b2=b*b;c2=c*c;

if(____________________________________)printf("ZJ");

printf("\n");

}

elseprintf("NO\n");

}

4、以下程序求a数组中的所有素数的和,函数isprime用来判断自变量是否为素数。

素数是只能被1和本身整除且大于1的自然数。

#include

main()

{

inti,a[10],*p=a,sum=0;

printf("Enter10num:

\n");

for(i=0;i<10;i++)scanf("%d",&a[i]);

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

if(isprime(*(p+____

(1)_____))==1)

{

printf("%d",*(a+i));

sum+=*(a+i);

}

printf("\nThesum=%d\n",sum);

}

isprime(intx)

{

inti;

for(i=2;i<=x/2;i++)

if(x%i==0)

return(0);

______

(2)______;

以下程序的功能是将字符串a中下标值为偶数的元素由小到大排序,其他元素不变.

#include

main()

{

chara[]=”labchmfye”,t;

inti,j;

for(i=0;i<7;i+=2)

for(j=i+2;j<9;____(5)___)

if(____(6)____)

{

t=a[i];

a[i]=a[j];

a[j]=t;

j++;

}

puts(a);

printf(“\n”);

}

  

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

当前位置:首页 > 经管营销 > 经济市场

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

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