C语言程序设计复习总结思考题.docx

上传人:b****7 文档编号:16699463 上传时间:2023-07-16 格式:DOCX 页数:22 大小:22.31KB
下载 相关 举报
C语言程序设计复习总结思考题.docx_第1页
第1页 / 共22页
C语言程序设计复习总结思考题.docx_第2页
第2页 / 共22页
C语言程序设计复习总结思考题.docx_第3页
第3页 / 共22页
C语言程序设计复习总结思考题.docx_第4页
第4页 / 共22页
C语言程序设计复习总结思考题.docx_第5页
第5页 / 共22页
C语言程序设计复习总结思考题.docx_第6页
第6页 / 共22页
C语言程序设计复习总结思考题.docx_第7页
第7页 / 共22页
C语言程序设计复习总结思考题.docx_第8页
第8页 / 共22页
C语言程序设计复习总结思考题.docx_第9页
第9页 / 共22页
C语言程序设计复习总结思考题.docx_第10页
第10页 / 共22页
C语言程序设计复习总结思考题.docx_第11页
第11页 / 共22页
C语言程序设计复习总结思考题.docx_第12页
第12页 / 共22页
C语言程序设计复习总结思考题.docx_第13页
第13页 / 共22页
C语言程序设计复习总结思考题.docx_第14页
第14页 / 共22页
C语言程序设计复习总结思考题.docx_第15页
第15页 / 共22页
C语言程序设计复习总结思考题.docx_第16页
第16页 / 共22页
C语言程序设计复习总结思考题.docx_第17页
第17页 / 共22页
C语言程序设计复习总结思考题.docx_第18页
第18页 / 共22页
C语言程序设计复习总结思考题.docx_第19页
第19页 / 共22页
C语言程序设计复习总结思考题.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计复习总结思考题.docx

《C语言程序设计复习总结思考题.docx》由会员分享,可在线阅读,更多相关《C语言程序设计复习总结思考题.docx(22页珍藏版)》请在冰点文库上搜索。

C语言程序设计复习总结思考题.docx

C语言程序设计复习总结思考题

《C语言程序设计》复习思考题

一、单选题

题干

答案

设有定义:

longx=-123456L;则以下能够正确输出变量x值的语句是_______。

A.printf(“x=%d\n”,x)

B.printf(“x=%ld\n”,x)

C.printf(“x=?

l\n”,x)

D.printf(“x=%LD\n”,x);

B

下列关于指针定义的描述,___________是错误的。

A.指针是一种变量,该变量用来存放某个变量的地址值的。

B.指针变量的类型与它所指向的变量类型一致。

C.指针变量的命名规则与标识符相同。

D.在定义指针时,标识符前的“*”号表示后面的指针变量所指向的内容。

D

执行下面的程序后,a的值是()。

#defineSQR(X)X*X

main()

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

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

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

A.10

B.1

C.9

D.0

B

设intx=1,y=1;表达式(!

x++||y--)的值是_________

A.0

B.1

C.2

D.-1

B

main()

{intn;

(n=6*4,n+6),n*2;

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

}此程序的输出结果是______________.

A.30

B.24

C.60

D.48

B

设A为存放基本整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为()。

A.P+i*2

B.P+(i-1)*2

C.P+(i-1)

D.P+i

B

若有如下定义,则__________是对数组元素的正确的引用。

inta[10],*p;

p=a;p=a;p=a;p=a;

A.*&a[10]

B.a[11]

C.*(p+10)

D.*p

D

设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________

A.0

B.4

C.-4

D.2

C

以下不能正确定义二维数组的语句是___________

A.inta[2][2]={{1},{2}};

B.inta[][2]={1,2,3,4};

C.inta[2][2]={{1},2,3};

D.inta[2][]={{1,2},{3,4}};

D

程序段___________的功能是将变量u、s中的最大值赋给变量t。

A.if(u>s)t=u;t=s;

B.t=u;if(t)t=s;

C.if(u>s)t=u;elset=s;

D.t=s;if(u)t=u;

C

下列程序段的输出结果是___________。

voidmain()

{intk;

for(k=1;k<5;k++〉

{if(k%2!

=0)

printf("#");

else

printf(“*”);}

}

A.#*#*

B.*#*#

C.##

D.以上都不对

A

设变量定义为inta[3]={1,4,7},*p=&a[2],则*p的值是。

A.&a[2]

B.4

C.7

D.1

C

下列程序执行后输出的结果是()。

intd=1;

fun(intp)

{intd=5;

d+=p++;

printf("%d,",d);}

main()

{inta=3;

fun(a);

d+=a++;

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

A.8,4

B.9,6

C.9,4

D.8,5

A

能正确表示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

D

表达式:

10!

=9的值是()。

A.true

B.非零值

C.0

D.1

D

C语言中,合法的字符型常数是_________。

A.‘A’

B.“A”

C.65

D.A

A

以下()属于C语言的数据类型。

A.复合型

B.双精度型

C.逻辑型

D.集合型

B

以下说法中正确的是()。

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

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

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

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

C

选出下列标识符中不是合法的标识符的是()。

A.hot_do

B.cat1

C._pri

D.2ab

D

下列描述中不正确的是()。

A、字符型数组中可能存放字符串。

B、可以对字符型数组进行整体输入、输出。

C、可以对整型数组进行整体输入、输出。

D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

C

若已定义:

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

A.p+1

B.a+1

C.a++

D.++p

C

设有如下定义:

intx=10,y=3,z;

则语句printf("%d\n",z=(x%y,x/y));的输出结果是()。

A.1

B.0

C.4

D.3

D

定义如下变量和数组:

inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++)printf("%d",x[i][2-i]);的输出结果是()。

A.159

B.147

C.357

D.369

C

读出以下语句的输出结果是()。

intx=10,y=10;

printf(“%d%d\n”,x--,--y);

A.1010

B.99

C.910

D.109

D

两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是()。

scanf(“%x”,&x);

if(x++>5)printf("%d",x);

elseprintf("%d\n",x--);

A.7和5

B.6和3

C.7和4

D.6和4

C

设有如下定义:

char*aa[2]={"abcd","ABCD"};则以下说法中正确的是()。

A)aa数组成元素的值分别是"abcd"和ABCD"

B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

D)aa数组的两个元素中各自存放了字符'a'和'A'的地址

D

设有数组定义:

chararray[]=”China”;则数组所占的空间是________。

A.4个字节

B.5个字节

C.6个字节

D.7个字节

C

以下语句的输出结果是()。

inta=-1,b=4,k;

k=(++a<0)&&!

(b--<=0);

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

A.1,0,4

B.1,0,3

C.0,0,3

D.0,0,4

D

若变量c为char类型,能正确判断出c为小写字母的表达式是_______。

A.’a’<=c<=’z’

B.(c>=’a’)||(c<=’z’)

C.(‘a’<=c)and(‘z’>=c)

D.(c>=’a’)&&(c<=’z’)

D

下列程序的输出结果是()。

char*p1="abcd",*p2="ABCD",str[50]="xyz";

strcpy(str+2,strcat(p1+2,p2+1));

printf("%s",str);

A.xyabcAB

B.abcABz

C.ABabcz

D.xycdBCD

D

已知:

intx;inty[10];下列______是合法的。

A.&x

B.&(x+3)

C.&5

D.&y

A

指出下面正确的输入语句__________。

A.scanf(“a=b=%d”,&a,&b);

B.scanf(“%d,%d”,&a,&b);

C.scanf(“%c”,c);

D.scanf(“%f%d\n”,&f);

B

以下可以作为C语言合法整数的是________。

A.1020B

B.0368

C.0Xffa

D.x2a2

C

在函数中默认存储类型说明符的变量应该是________存储类型。

A.内部静态

B.外部

C.自动

D.寄存器

C

不能把字符串:

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!

";

B

在C程序中有如下语句:

char*func(intx,inty);它是()。

A.对函数func的定义。

B.对函数func的调用。

C.对函数func的原型说明。

D.不合法的。

C

C语言中以追加方式打开一个文件应选择_______________参数。

A.“r”

B.“w”

C.“rb”

D.“a”

D

break语句的正确的用法是()。

A.无论在任何情况下,都中断程序的执行,退出到系统下一层。

B.在多重循环中,只能退出最靠近的那一层循环语句。

C.跳出多重循环。

D.只能修改控制变量。

B

根据C语言的语法规则,下列________个是不合法标识符。

A.do

B.Name

C.R5

D._exam

A

要把高级语言编写的源程序转换为目标程序,需要使用。

A. 编辑程序 

B. 驱动程序 

C. 诊断程序 

D. 编译程序

D

为了避免嵌套的条件分支语句if-else的二义性,C语言规定:

C程序中的else总是与()组成配对关系。

A.缩排位置相同的if

B.在其之前未配对的if

C.在其之前未配对的最近的if

D.同一行上的if

C

以下对二维数组a进行正确初始化的是()

A.inta[2][3]={{1,2},{3,4},{5,6}};

B.inta[][3]={1,2,3,4,5,6};

C.inta[2][]={1,2,3,4,5,6};

D.inta[2][]={{1,2},{3,4}};

B

在以下一组运算符中,优先级最高的运算符是()。

A.<=

B.=

C.+

D.!

D

设m、n、a、b、c、d均为0,执行(m=a==b)||(n=c==d)后,m、n的值是()。

A.0,0

B.0,1

C.1,0

D.1,1

C

下述数据类型中,长度最短的一种数据类型是()。

A.int

B.short

C.float

D.char

D

以下不是C语言规定保留字的是()。

A.float

B.integer

C.signed

D.unsigned

A

为表示关系x≤y≤z,正确的C语言表达式是()。

A.(x<=y)&&(y<=z)

B.(x<=y)AND(y<=z)

C.(x<=y<=z)

D.(x<=y)&(y<=z)

A

若x、i、j、k都是int型变量,则执行下面表达式后x的值为()。

x=(i=4,j=8,k=16)

A.4

B.8

C.16

D.32

C

己知intx=10,y=20,z=30;以下语句执行后x,y,z的值是()。

if(x>y){z=x;x=y;y=z;}

A.x=20,y=30,z=30

B.x=30,y=20,z=10

C.x=10,y=20,z=30

D.x=20,y=10,z=30

C

二、阅读程序题

题干

答案

1、intx=6,y=7;

printf(“%d,”,x++);printf(“%d\n”,++y);

程序的输出结果是__________。

6,8

2、floatf=3.1415927;

printf(“%f,%5.4f,%3.3f”,f,f,f);

则程序的输出结果是__________。

3.141593,3.1416,3.142

3.写出下列程序的运行结果。

#include“stdio.h”

main()

{inta[]={1,2,3,-4,5};

intm,n,*p;

p=&a[0];p=&a[0];

m=*(p+2);

n=*(p+4);

printf(“%d%d%d”,*p,m,n);

}

135

4.写出下列程序的运行结果。

#include

main()

{

inti=0,j=0,a=6;

if((++i>0)||(++j>0))a++;

printf("i=%d,j=%d,a=%d\n",i,j,a);

}

i=0,j=0,a=7

5.写出下列程序的运行结果。

#defines5.5

#definef(x)s*x*x

main()

{

inta=1,b=2;

printf("%4.1f\n",f(a+b));

}

9.5

6、inta=3;

a+=(a<1)?

a:

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

结果是__________。

4

7、main()

{inta[5]={2,4,6,8,10},*p,**k;

p=a;k=&p;

printf("%d,",*(p++));

printf("%d\n",**k);}

程序的输出结果是__________。

2,4

8、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”,b);}

程序的输出结果a的值为__________。

22

9、inty=1,x,*p,a[]={2,4,6,8,10};

p=&a[1];

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

y+=*(p+x);

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

程序的输出结果y的值是__________。

19

10.写出下列程序的运行结果。

#include

main()

{

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

inti,j,k=2;

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

{

printf("%d",m[k][i]);

}

}

369

11.#include

main()

{inta=10,b=4,c=3;

if(a

if(a

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

程序的输出结果是__________。

10,4,3

12.#include

main()

{inty=9;

for(;y>0;y--)

if(y%3==0){printf(“%d”,--y);continue;}

}

程序的输出结果是__________。

852

13.#include

main()

{intx,y;

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

{if(x>=10)break;

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

x-=3;}

printf(“%d”,y);}

程序的输出结果是__________。

6

三、程序填空题

题干

答案

1、求主次对角线之和。

main()

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

intI,j,s1=0,s2=0;

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

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

{if(__________)

s1=s1+a[I][j];

if(__________)

s2=s2+a[I][j];

}

printf(“%d\n%d\n”,s1,s2);

}

I==jI+j==2

2、从键盘上输入10个数,求其平均值。

main()

{inti;

floatf,sum;

for(i=1,sum=0.0;i<11;i++)

{__________;

__________;

}

printf(“average=%f\n”,sum/10);

}

scanf(“%f”,&f)sum+=f

3、下面程序的功能是求1-100之间的能被9除余8的数之和并输出结果,请补充程序。

#include

voidmain()

{

intn,sum=0;

for(n=1;n<=100;n++)

{

if()

sum=sum+n;

}

}

n%9==8printf(“%d”,sum)

4、以下程序定义一个求圆面积的函数,并在主函数中调用该函数,请补充完整程序。

#include"stdio.h"

doublearea(doubler)

{doubles;

returns;

}

voidmain()

{doubles,r;

printf("请输入圆的半径:

");

scanf("%lf”,&r);

s=;

printf("圆的面积为:

%f",s);

}

s=3.14*r*rarea(r)

5、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。

#include

main()

{

FILE*fp;

charc;

fp=__________;

do

{

c=getchar();

fputs(c,fp);

}while(c!

=EOF);

__________;;

}

fopen(“myfile”,w)fclose(fp)

6、下面的程序段功能是统计100-999之间所有满足三个数字之积为24,三个数字之和为12的数的个数,请补充程序。

main()

{

intx,y,z,count=0;

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

for(y=0;y<=9;y++)

for(z=0;z<=9;z++)

{if()

count++;

}

}

(x*y*z==24)&&(x+y+z==12)printf(“%d”,count);

7、学生成绩的字每等级和分数范围如下:

字母等级分数范圈

A90~100

B80~89

C70~79

D60~69

E0~59

其它字母输入错误

输入字母等级之后,输出相应的分数范围。

#include

voidmain()

{

__________;/*空格4*/

scanf("%c",&score);

switch(score)

{

case'A':

printf("A:

90~100\n");break;;

case'B':

printf("B:

80~89\n");break;

case'C':

printf("C:

70~79\n");break;

case'D':

printf("D:

60~69\n");break;

case'E':

printf("E:

0~59\n");break;

__________:

printf("输入错误\n");/*空格5*/

}

}

charscore;default

四、编程题

题干

答案

1、编程序解问题:

输入n,求1+2+3+…+n的和。

#include"stdio.h"

voidmain()

{

intn,s=0,i;

printf("请输入n:

");

scanf("%d",&n);

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

s=s+i;

printf("1+2+3+..+%d=%d\n",n,s);

}

2、三个整数a、b、c,由键盘输入,输出其中最大的数。

include

main()

{intmax(int,int);

inta,b,c;

printf("请输入三个整数:

");

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

printf("max=%d\n",max(max(a,b),c));

}

intmax(intx,inty)

{

if(x>y)returnx;

elsereturny;

}

3、从键盘输入的10个整数中,找出第一个能被7整除的数。

若找到,打印此数后退出循环;若未找到,打印“notexist”。

#include

main()

{intI,a;

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

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

if(a%7==0)

{printf("%d",a);break;}}

if(I==11)

printf("notexist");

}

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

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

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

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