c语言设计基础

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include

void main()

{

int k,t,i,a[7];

for(i=0; i<7; i++) /*输入7个整型数据,存入数组a*/

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

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

printf("%4d", a[k]); /*输出原数组中的元素*/

printf("\n");

i=7;

for(k=0; k<=i/2-1; k++) /*逆序存储*/

{ t=a[k]; a[k]=a[i-1-k]; a[i-1-k]=t; }

for(k=0; k<7; k++) /*输出数组*/

printf("%4d", a[k]);

printf("\n");

}

一.选择题(每题2分,共15题,计30分)

1.下列关于C语言用户标识符的叙述中正确的是()

A.用户标识符中可以出现下划线和中划线(减号)

B.用户标识符中不可以出现中划线或空格符,但是可以出现下划线

C.用户标识符中可以出现下划线,但是不可以放在用户标识符的开头

D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.在C语言中,不正确的int类型的常数是()

A.32768 B.0 C.037 D.0xAF

3.字符串”ABC”在内存中占用的字节数是()

A.3 B.4 C.6 D.8

4.运行以下程序,输出是()

main( )

{ int k=-3;

if(k<=0)

printf("****\n");

else

printf("&&&&\n");

}

A.**** B.&&&& C.####&&&& D.有语法错误不能通过编译5.以下程序段的输出结果是()

int i,j,m=0;

for(i=1;i<=15;i+=4)

for(j=3;j<=19;j+=4)

m++;

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

A.12 B.15 C.20 D.25

6.以下叙述正确的是()

A.C语言中不能使用do-while-语句构成的循环

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

C.do-while语句构成的循环,当while后圆括号内的表达式值为非零时结束循环D.do-while语句构成的循环,当while后圆括号内的表达式值为零时结束循环

7.以下程序段的输出结果是()

int x=3;

do {

printf("%3d",x-=2); }while(!(--x));

A.1 B.3 0 C.1 -2 D.死循环

8.合法的数组定义是()

A.int a[ ]= "string";

B.int a[5]={0,1,2,3,4,5};

C.char a="string";

D.char a[]={'0','1','2','3','4','5'};

9.语句printf("%d\n",strlen("ats\n012\1\\");的输出结果是()A.11 B.10 C.9 D.8

10.设指针x指向的整型变量值是25,则printf("%d\n",++*x);的输出量是()A.23 B.24 C.25 D.26

11.设有定义语句”int (*ptr)[ 10 ];”,其中的ptr是()

A.10个指向整型变量的指针

B.指向10个整型变量的函数指针

C.一个指向具有10个元素的一维数组的指针

D.具有10个指针元素的一维数组

12.以下说法正确的是()

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

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

C.C语言程序总是从main()函数开始执行,并在main()中结束

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

13.函数调用语句f((e1,e2),(e3,e4,e5))中参数的个数是()

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

14.函数定义过程中,如果缺省了函数的数据类型,函数默认为()A.void B.float C.int D.无

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

void sub( float x, float *y, float *z)

{ *y = *y-1.0;

*z = *z+x;

}

main( )

{ float a=2.5, b=9.0, *pa,*pb;

pa=&a;

pb=&b;

sub(b-a, pa,pb);

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

}

A.9.000000 B.1.500000 C.8.000000 D.10.500000

二.填空题(每空2分,共15空,计30分)

1.若a为int类型,且值为3,执行完表达式a+=a-=a*a后a的值是______

2.以下程序输出的结果是________

main( )

{ int k=17;

printf("%d,%o,%x",k,k,k);

}

3.若已知a=10,b=20,则表达式!a

4.结构化程序设计规定的三种基本结构是顺序结构,_______结构和循环结构。

5.在C语言中,break语句只能出现在循环结构和________结构中

6.如果在程序中用到“strlen()”函数时,应在程序的开头处打开包含文件,格式是__________

7.有如下的定义,float wr[10],相应元素的上限(下标)值为_____

8.有定义语句:float a[10],*p; p=a; p=p+6; 问指针p一共移动了______字节

9.定义如下:int a[10], *p,*q; p=a; q= &a[7]; q-p相差几个元素________

10.设有定义语句:static int a[3][4]={{1},{2},{3}};则a[1][1]的值为_____

11.以下程序输出的结果是_____

main( )

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

for(i=0;i<3;i++) printf("%d ",x[i][2-i]);

}

12.有以下定义,那么*(*(p+2)+1)的值是_______

int a[3][2]={10,20,30,40,50,60},(*p)[2];

p=a;

13.有以下定义,则p[1][1]的值是_____

int w[3][4]={{0,1},{2,4},{5,8}},(*p)[4]=w;

14.函数具有返回语句return,但是return返回的数据类型与函数的数据类型不一致,这时返回值类型是____________________

15.函数调用时,参数结合一般有两种形式,一种是传值,另一种是________

三.程序分析题(每题4分,共20分)

1.阅读下列程序,写出程序的输出结果

main( )

{ int x=100 , a=10, b=20, ok1=5,ok2=0;

if (a

else if( ok2 ) x=10;

else x= -1;

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

}

运行结果是______

相关文档
最新文档