C语言程序设计A卷.docx

上传人:b****3 文档编号:11678196 上传时间:2023-06-02 格式:DOCX 页数:9 大小:18.75KB
下载 相关 举报
C语言程序设计A卷.docx_第1页
第1页 / 共9页
C语言程序设计A卷.docx_第2页
第2页 / 共9页
C语言程序设计A卷.docx_第3页
第3页 / 共9页
C语言程序设计A卷.docx_第4页
第4页 / 共9页
C语言程序设计A卷.docx_第5页
第5页 / 共9页
C语言程序设计A卷.docx_第6页
第6页 / 共9页
C语言程序设计A卷.docx_第7页
第7页 / 共9页
C语言程序设计A卷.docx_第8页
第8页 / 共9页
C语言程序设计A卷.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计A卷.docx

《C语言程序设计A卷.docx》由会员分享,可在线阅读,更多相关《C语言程序设计A卷.docx(9页珍藏版)》请在冰点文库上搜索。

C语言程序设计A卷.docx

C语言程序设计A卷

………………………………………………………………………………………………………………

课程名称(含档次)C语言程序设计课程代号D081200065

专业非计算机专业层次(本部、城南)本部考试方式(开、闭卷)闭卷

一.选择题(本题总分50分,每小题2分)

1.下面说法正确的是(C)

A)C程序由符号构成B)C程序由C的指令构成

C)C程序由函数构成D)C程序由C语句构成

2.在C语言中,如果下面的变量都是int型,则输出的结果是(D)

sum=pad=5;

pad=sum++;

pad++;

++pad;

printf(“%d\n”,pad);

A)4B)5C)6D)7

3.表达式3.6-5/2+1.2+5%2的值是(D)

A)4.3B)4.8C)3.3D)3.8

4.以下选项中不是C语句的是(C)

A){inti=5;i++;printf(“%d\n”,i);}B);

C)a=5,c=10D){;}

5.下述程序的输出结果是(B)

main()

{intx=023;

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

}

A)17B)18

C)23D)24

6.有如下定义:

floatx;unsignedy;则以下合法的输入语句是(B)

A)scanf(“%5.2f%d”,&x,&y);B)scanf(“%f%3o”,&x,&y);

C)scanf(“%f%n”,&x,&y);D)scanf(“%f%f”,&x,&y);

7.判断char型变量ch是否为小写字母的正确表达式是(D)

A)‘a’<=ch<=’z’B)(ch>=a)&&(ch<=z)

C)(‘a’>=ch)||(‘z’<=ch)D)(ch>=’a’)&&(ch<=’z’)

8.以下程序的输出结果是(B)

main()

{intx=2,y=-1,z=2;

if(x

if(y<0)z=0;

elsez+=1;

printf(“%d\n”,z);

}

A)3B)2

C)1D)0

9.以下程序的运行结果是(D)

main()

{intk=4,a=3,b=2,c=1;

printf(“\n%d\n”,k

k:

c

c:

a);

}

A)4B)3

C)2D)1

10.在C语言中,下述正确的是(D)

A)do-while语句构成的循环不能用其他语句构成的循环来代替。

B)do-while语句构成的循环只能用break语句退出。

C)do-while语句构成的循环,在while后的表达式为非0时结束循环。

D)do-while语句构成的循环,在while后的表达式为0时结束循环。

11.对于下述while循环语句,说法正确的是(B)

inti=1;

while(i++)

printf(“***”);

A)判断循环结束的条件非法B)是无限循环

C)是有限循环D)只循环一次

12.下面程序的输出结果(B)

#include

main()

{inta,b;

for(a=1,b=1;a<=100;a++)

{if(b>=20)break;

if(b%3==1)

{b+=3;continue;}

b-=5;

}

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

}

A)7B)8C)9D)10

13.以下不能正确进行字符串赋初值的语句是(C)

A)charstr[5]=“good!

”;

B)charstr[]=“good!

”;

C)char*str=“good!

”;

D)charstr[5]={‘g’,’o’,’o’,’d’,’\0’};

14.给出以下定义:

charx[]=“abcdefg”;

chary[]={'a','b','c','d','e','f','g'};

则以下叙述正确的是(C)

A)数组x和数组y等价B)数组x和数组y长度相等

C)数组x的长度大于数组y的长度D)数组x的长度小于数组y的长度

15.下面对函数嵌套的叙述中,正确的是(B)

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

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

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

D)函数定义和函数调用均可以嵌套

 

16.调用一个函数,此函数中没有return语句,下列说法正确的是:

该函数(A)

A)返回一个不确定的值

B)返回若干个系统默认值

C)能返回一个用户所希望的函数值

D)没有返回值

17.以下有关宏替换的叙述不正确的是(A)

A)宏替换不占用运行时间

B)宏名无类型

C)宏替换只是字符替换

D)宏名必须用大写字母表示

18.若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是(C)

A)a,point,*&aB)&*a,&a,*point

C)&a,&*point,pointD)*&point,*point,&a

19.设以下程序的输出结果是(C)。

#defineSQR(x)x*x

main()

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

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

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

}

A)16B)9C)12D)1

20.下面程序段运行的结果是(C)

chara[]=“language”,*p;

p=a;

while(*p!

='u')

{

printf(“%c”,*p-32);

p++;

}

A)LANGUAGEB)languageC)LANGD)langUAGE

 

21.执行下面的程序段后,变量k中的值为(D)

intk=3,s[2];

s[0]=k;k=s[1]*10;

A)30B)20C)10D)不定值

22.以下能正确定义二维数组的是(C)。

A)inta[][3];B)inta[][3]={};

C)inta[][3]={2*3};D)inta[2][3]={{1},{2},{3}};

23.有以下程序

#include

main()

{char*p=“abcde\0fghjik\0”;

printf(“%d\n”,strlen(p));

}

程序运行后的输出结果是(D)

A)15B)12C)6D)5

24.下列程序的输出结果是(C)

#include

structabc

{inta,b,c;};

main()

{structabcs[2]={{1,2,3},{4,5,6}};

intt;

t=s[0].a+s[1].b%s[0].c;

printf(“%d\n”,t);

}

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

25.当执行下面程序输入:

ABC时,输出的结果是(A)。

#include“stdio.h”

#include“string.h”

main()

{charss[10]=“12345”;

strcat(ss,“6789”);

gets(ss);

printf(“%s\n”,ss);

}

A)ABCB)ABC9C)123456ABCD)ABC456789

二.填空题(本题总分20分,每空2分)

1.ASCII代码中,字母A的序号是65,以下程序的输出结果是【6589】。

#include

main()

{charc1=’A’,c2=’Y’;

printf(“%d,%d\n”,c1,c2);

}

2.若x为int型变量,则执行以下语句后x的值是【2】。

x=7;x+=x-=x+x;

3.有inta=3,b=4,c=5;则以下表达式的值是【3】。

!

(a+b)+c-1&&b+c/2

若二维数组a有m列,则计算任一元素a[i][j]在数组中的位置的公式是【i*m+j

】。

4.C语言提供了三种预处理语句,他们是宏定义,【文件包含】和条件编译。

5.以下程序的功能是用选择法对数组a中的整数由小到大进行排序。

voidsort(intb[],intn)

{inti,j,t;

for(i=0;i

for(j=i;j

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

{t=b[i];;b[j]=t;}

}

main()

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

 inti;

sort(a,8);

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

printf(“﹪5d”,a[i]);

printf(“\n”);

}

6.以下程序的功能是先为数组a输入数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将其下标输出,若不存在这样的元素,则输出“Notfound!

”标志。

main()

{inti,x,a[10];

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

scanf(“﹪d”,【8】);

scanf(“﹪d”,&x);

printf(“﹪d”,x);

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

if(【9】)break;

if(【10】)printf(“position:

﹪d\n”,i);

elseprintf(“Notfound!

\n”,x);

}

三.分析程序,写出运行后的结果。

(本题总分10分,每小题5分)

1、下述程序的输出结果是_____s=13_______________。

#include

main()

{ints=10,k;

for(k=7;k>4;k--)

{switch(k)

{case1:

case4:

case7:

s++;break;

case2:

case3:

case6:

break;

case0:

case5:

s+=2;break;

}

}

printf(“s=%d”,s);

}

2、下述程序的输出结果是__________4,5__________。

voidswap(int*a,int*b)

{int*tmp;

tmp=a;

a=b;

b=tmp;

*tmp=4;

}

main()

{inta=3,b=5;

swap(&a,&b);

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

}

四、编程题(本题总分20分,每小题10分)

1、编程从键盘输入一个5行5列的二维数组数据(设数值各不相等),并找出数组中的最大值及其所在的行下标和列下标。

要求格式化打印输出,例如最大值形式:

Max=最大值,row=行标,col=列标。

#include

Voidmain(){

IntI,j,Max,a[5][5],row,col;

Max=0;

For(i=1;i<=5;i++){

For(j=1;j<=5;i++){

Scanf(“%d”,&a[i][j]);

If(a[i][j]>max){

max=a[i][j];

row=I;

col=j;

}

}

}

Printf(“MAX=%D,ROW=%D,COL=%D”,MAX,ROW,COL);

}

2.主函数已有变量定义语句doublea=2.8,intn=4,以及函数调用语句mypow(a,n)用以求a的n次方。

请编写mypow函数。

doublemypow(doublex,inty)

{

intn=0;

doubleans=1.00;

if(y==0)

return1;//注意为0次方时的判断。

else

{

while(n

{

ans*=x;

n++;

}

returnans;

}

}

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

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2