C语言.docx

上传人:b****8 文档编号:30155441 上传时间:2023-08-05 格式:DOCX 页数:12 大小:22.59KB
下载 相关 举报
C语言.docx_第1页
第1页 / 共12页
C语言.docx_第2页
第2页 / 共12页
C语言.docx_第3页
第3页 / 共12页
C语言.docx_第4页
第4页 / 共12页
C语言.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

C语言.docx

《C语言.docx》由会员分享,可在线阅读,更多相关《C语言.docx(12页珍藏版)》请在冰豆网上搜索。

C语言.docx

C语言

广东工业大学考试试卷(A)

课程名称:

C语言程序设计试卷满分100分

考试时间:

2008年12月30日(第18周星期二)

题号

总分

评卷得分

评卷签名

复核得分

复核签名

一、单选题(每题2分,共60分)

1.以下描述正确的是

A)C程序的执行是从main()函数开始,到本程序的最后一个函数结束

B)编译程序对C源程序编译时不检查语法

C)C程序中没有输入输出语句

D)在一个C程序中main()函数必须出现在所有函数之前

2.结构化程序设计不应该使用

A)自顶向下,逐步细化的方法

B)灵活、简洁的goto结构

C)模块化设计

D)三种基本结构:

顺序结构、选择结构、循环结构的编码方法

3.将C源程序进行可得到目标文件。

A)编辑B)编译C)连接D)运行

4.在C语言中,变量所分配的内存空间大小

A)均为两个字节B)由用户自己定义

C)由变量的类型决定D)是随意的

5.以下不能定义为用户标识符是

A)minB)_01C)_intD)3a

6.以下选项中可作为C语言合法常量的是

A)3e2.0B)081C)e3D)123L

7.若有语句charc;,并要将字符a赋给变量c,则下列赋值表达式正确的是。

A)c=aB)c=’a’C)c=”a”D)c=’97’

8.有程序段:

inta,b;scanf(“%d,%d”,&a,&b);请为之选择运行时正确的输入方法________

A)12↙B)1,2↙C)1↙2↙D)1;2↙

9.若有语句intx=5;则执行语句x+=x*=10;后,a的值是。

A)100B)55C)60D)105

10.下列语句合法的是。

A)4+a=b=0;B)a=++b;C)a=2=b=6;D)a=4++;

11.执行以下语句,输出结果是。

intx=2;

printf(“%d”,((x=4*5,x*5),x+20));

A)120B)100C)40D)20

12.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为___

A)由实参传给形参,再由形参传回给实参

B)地址传递

C)单向值传递

D)由用户指定传递方式

13.以下选项中非法的表达式是。

A)7.5%2/2B)x=y=0C)(char)(66+1)D)’c’+1

 

14.下列程序的输出结果是。

voidmain()

{floata=3.2;

intb,c;

b=1.2;

c=(b+3.8)/5.0;

printf(“%d\n”,a*c);

}

A)3B)3.2C)3.07D)0

15.C语言中用于结构化程序设计的三种基本结构是。

A)顺序结构、选择结构、循环结构B)if,switch,break

C)for,while,do-whileD)if,for,continue

16.执行以下程序,输出结果是。

intx,y=3,z=2;

x=(--y==z++)?

--y:

++z;

printf(“x=%dy=%dz=%d”,x,y,z);

A)x=4y=2z=4B)x=3y=2z=3

C)x=4y=1z=4D)x=1y=1z=3

17.已有定义:

chara[]="abc",b[]={'a','b','c'};以下叙述中正确的是

A)数组a和b的长度相同B)a数组长度小于b数组长度

C)a数组长度大于b数组长度D)上述说法都不对

18.执行以下程序,输出结果是。

voidmain()

{intx=3,y=4,z=2,i;

i=x

y&&(z=10)>y;

printf(“i=%dz=%d”,i,z);

}

A)i=0z=10B)i=1z=10C)i=0z=2D)i=1z=2

19.用数组名作为函数调用时的实参,实际上传送给形参的是

A)数组首地址B)数组的第一个元素值

C)数组中全部元素的值D)数组元素的个数

 

20.执行如下语句,输出c的值是。

intc=1,x=3;

switch(x+1)

{case4:

c++;

case6:

c++;

break;

default:

c++;

}

printf(“%d”,c);

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

21.若有定义:

inta[2][3];则对a数组的第i行j列元素的正确引用为

A)*(a[i]+j)  B)*(a+i)+j  C)*(a+i+j)  D)a[i]+j

22.若有如下程序:

voidmain()

{intx=1,a=0;

do

{a++;}while(x,x--);

}

则语句a++;执行的次数是。

A)0B)1C)2D)无限次

23.以下程序中,while循环的循环次数是。

voidmain()

{inti=0;

while(i<10)

{if(i<1)continue;

if(i==5)break;

i++;

}

……}

A)1B)10C)6D)死循环,不能确定次数

24.下面能正确定义一维数组的选项是。

A)intnum[];B)#defineN10

intnum[N];

C)intnum[0..10];D)intN=10;

intnum[N];

25.在C语言中,函数的隐含存储类别是。

A)autoB)staticC)externD)无存储类别

26.以下程序的输出结果是。

voidmain()

{charstr[20]=”hell\0o\t”;

printf(“%d%d\n”,strlen(str),sizeof(str));}

A)97B)720C)420D)2020

27.下列选项中不正确的语句组是。

A)chars[10];s=“Beijing”;B)chars[]=“Beijing”;

C)char*s=“Beijing”;D)char*s;s=“Beijing”;

28.有如下程序,执行后输出的结果是。

voidf(intx,inty)

{intt;

if(x

}

voidmain()

{inta=1,b=3,c=2;

f(a,b);f(a,c);f(b,c);

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

}

A)3,2,1B)1,2,3C)1,3,2D)2,3,1

29.执行如下程序段后,a的值为。

int*p,a=1,b=2;

p=&a;a=*p+b;

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

30.下列关于C语言数据文件的叙述中正确的是。

A)文件由ASCII码字符序列组成,C语言只能读写文本文件

B)文件由二进制数据序列组成,C语言只能读写二进制文件

C)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件

D)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件

二、填空题(每空2分,共40分)

1.若输入字符串:

abcde<回车>,则以下while循环体将执行0次。

while((ch=getchar())==’d’)putchar(ch);

2.设有下列定义语句intx[3]={3,4,5},*p1=x,**p2=&p1;则表达式**p2的值是3,表达式*(*p2+1)的值是4。

3.以下函数的功能是:

求x的y次方,请填空。

doublefun(doublex,inty)

{inti;

doublez;

for(i=1,z=x;i

z=z*x;

returnz;}

4.若有以下程序段,请填空。

structstr

{inta;

structstr*next;

}*p1;

p1=(structstr*)malloc(sizeof(structstr));

5.设有以下定义:

structs

{intinfo;

structs*next;

}x,y,z;

已建立如下图所示链表结构:

 

请写出删除节点y的赋值语句x.next=y.next;

 

6.以下程序的功能是:

从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字母(字母A的ASCII码为65,字母a的ASCII码为97),输出到文件test.txt中。

#include

voidmain()

{FILE*fp;

charstr[100];inti=0;

if((fp=fopen(“text.txt”,“w”))==NULL)

{printf(“can’topenthisfile.\n”);exit(0);}

printf(“inputastring:

\n”);gets(str);

while(str[i])

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

str[i]=str[i]-32;

fputc(str[i],fp);

i++;

}

fclose(fp);

}

7.下面程序是对10个数排序(由小到大)

#include

voidmain()

{inta[11];

inti,j,t;

printf(″input10numbers:

\n″);

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

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

printf("\n");

for(i=1;i<=9;i++)

for(j=i+1;j<=10;j++)

if(a[i]>a[j])

{t=a[i];

a[i]=a[j];

a[j]=t;

}

printf(″thesortednumbers:

\n″);

for(i=1;i<11;i++)

printf(″%d″,a[i]);

printf(″\n″);

}

8.有3个学生,各学3门课,计算总平均分数。

#include

voidaverage(float*p,intn)

{floatsum=0,aver;

float*p_end;

p_end=;

for(;p<p_end;p++)

;

aver=sum/n;

printf(″average=%5.2f\n″,aver);}

voidmain()

{floatscore[3][3]={{65,67,70},{80,87,90},{90,99,100}};

;/*求9个分数的平均分*/

9.执行以下程序,输出结果是4。

voidmain()

{inta=6,b=5,c=4,d=3;

if(a>b>c)printf(“%d\n”,d);

elseif((c-1>=d)==1)printf(“%d\n”,d+1);

elseprintf(“%d\n”,d+2);

}

 

10.执行以下程序,输出结果是。

voidmain()

{inta[4][4]={{1,2,-3,-4},{0,-5,-6,7},{-8,9,0,-10},{-11,12,-13,0}};

inti,j,s=0;

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

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

{if(a[i][j]<0)continue;

if(a[i][j]==0)break;

s+=a[i][j];

}

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

}

11.执行以下程序,输出结果是125。

voidfun(intx)

{if(x/2>0)fun(x/2);

printf(“%d”,x);

}

voidmain()

{fun(5);}

12.执行以下程序,输出结果是357

voidfun()

{staticinta=1;

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

}

voidmain()

{intc;

for(c=1;c<4;c++)fun();

printf(“\n”);}

13.执行以下程序,输出结果是6。

voidmain()

{intx[8]={1,2,3,4,5,6,0,0},*s;

s=x+3;

printf(“%d\n”,s[2]);

}

 

14.执行以下程序,输出结果是1,2。

voidswap(int*pt1,int*pt2)

{intp;

p=*pt1;*pt1=*pt2;*pt2=p;

}

voidmain()

{inta=1,b=2,*p1,*p2;

p1=&a;p2=&b;

if(*p1<*p2)swap(p1,p2);

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

}

15.执行以下程序,输出结果是4。

voidmain()

{inta[4][4]={{10,2,3,4},{1,6,7,8},{19,10,11,12},{1,14,15,16}};

int(*p)[4],i;

p=a;

printf(“%d”,*(p+2)-*(p+1));

}

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

当前位置:首页 > 小学教育 > 其它课程

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

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