C语言程序设计复习资料.doc

上传人:wj 文档编号:2115170 上传时间:2023-05-02 格式:DOC 页数:12 大小:83KB
下载 相关 举报
C语言程序设计复习资料.doc_第1页
第1页 / 共12页
C语言程序设计复习资料.doc_第2页
第2页 / 共12页
C语言程序设计复习资料.doc_第3页
第3页 / 共12页
C语言程序设计复习资料.doc_第4页
第4页 / 共12页
C语言程序设计复习资料.doc_第5页
第5页 / 共12页
C语言程序设计复习资料.doc_第6页
第6页 / 共12页
C语言程序设计复习资料.doc_第7页
第7页 / 共12页
C语言程序设计复习资料.doc_第8页
第8页 / 共12页
C语言程序设计复习资料.doc_第9页
第9页 / 共12页
C语言程序设计复习资料.doc_第10页
第10页 / 共12页
C语言程序设计复习资料.doc_第11页
第11页 / 共12页
C语言程序设计复习资料.doc_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计复习资料.doc

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

C语言程序设计复习资料.doc

C语言程序设计复习资料

一、选择题

下列各题ABCD四个选项中,只有一个选项是正确的,请将正确选项涂在答题卡的相应位置上,答在试卷上不得分。

1、不合法的整数是(B)。

A)0x35B)43.6C)0532D)-346

2、下列合法的字符常量是(D)。

A)“f”B)xC)65D)‘\Xab’

3、设有整型变量x,单精度变量y=5.5,表达式x=float(y*3+((int)y%4))执行后,x的值为(A)。

A)17B)17.500000C)17.5D)1.5

4、在C语言中,负整数在内存中以(A)形式释放。

A)补码B)BCD码C)反码D)十进制数

5、在C语言中,要求参加运算的数必须是整数的运算符是(C)。

A)/B)!

C)%D)==

6、(D)是C语言中非法的数据类型关键字。

A)floatB)singedC)integerD)Char

7、现已定义整形变量inti=1;执行循环语句while(i++<5);后i的值为(b)。

A)1B)5C)6D)以上三个答案都不正确

8、下列语句的输出结果是(D)。

printf(“%f\n”,(float)(2+4)/2);

A)有语法错误不能通过编译B)3C)3.0D)3.000000

12、定义a为整型,下列表达式a=3>6的运行后,a的值为(A)。

A)0B)1C)3D)表达式错误

13、如果a=1,b=2,c=3,d=4,则条件表达式a>b?

a:

c>d?

c:

d的值为(D)。

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

14、对于条件表达式(M)?

(a++):

(a--),其中的表达式M等价于(C)。

A)M==0B)M==1C)M!

=0D)M!

=1

15、在x值处于-2到2,4到8时值为“真”,否则为“假”的表达式是(D)。

A)(2>x>-2)||(4>x>8)B)((x<=-2)||(x>=2)||((x>4)||(x>=8))

C)(x<2)&&(x>=-2)&&(x>4)&&(x<8)D)(x>-2)&&(x>4)||(x<8)&&(x<2)

16、已知字母a的ASC||的十进制代码为97,则执行下列语句后输出为(C)。

Chara=‘a’;

a--;

printf(“%d,%c\n”,a+‘2’-‘0’,a+‘3’-‘0’);

A)a,cB)a—运算不合法,故有语法错误C)98,cD)格式描述和输出项不匹配,输出无定值

18、C语言中,逻辑“真”等价于(C)。

A)大于零的数B)大于零的整数C)非零的数D)非零的整数

19、下列语句中,符合语法的语句式(D)。

A)a+b=3B)a=7C)a=c+b+3=6;D)a=8,b=a+7;

20、若x为float型变量,则以列程序段结果是(B)。

x=1234.6789;

printf(“%-2.1f”,x);

A)输出格式描述符的域宽度不够,不能输出B)输出为1234.7

C)输出为1234.6D)输出为-1234.6

21、下面函数的功能是(A)。

Intfunl(char*x)

{

char*y=x;

while(*y++);

return(y-x-1);

}

A)求字符串的长度B)比较两个字符串的大小C)将字符串x复制到字符串y

D)将字符串x连接到字符串y后面

22、指针变量a所指的字符串长度为(D)。

Char*a=”\n\”MyNameis\”ZhangLi\”\n”;

A)26B)27C)28D)23

23、若有以下说明和语句,则输出结果是(B)。

Char*sp=”\\\”\n”;

Printf(“%d”,strlen(sp));

A)6B)3C)5D)字符串中有非法自负,输出值不定

24、若有以下的说明语句,则对字符串中字符的不正确引用是(其中0<=i<6)(D).

Char*strp=“string”;

A)*strpB)*(strp+i)C)strp[i]D)strp

25、函数调用:

strcat(strcpy(str1,str2),str3)的功能是(C)。

A)将串str1复制到串str2中后再连接到串str3之后

B)将串str1连接到串str2之后再复制到串str3之后

C)将串str2复制到串str1中后再将串str3连接到串str1之后

D)将串str2连接到串str1之后再将串str1复制到串str3之后

26、若使用下述程序段将整数12和浮点数13.6分别赋给变量a和b,那么输入应该式(B)。

inta;

floatb;

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

A)1213.6B)a=12,b=13.6C)12,13.6D)a=12b=13.6

27、对下面的程序说法正确的是(C)。

main()

{intx+3,y=0,z=0;

if(x=y+z)

printf(“****”);

else

printf(“####”);

}

A)有语法错误,不能通过编译B)输出为****C)输出为####D)通过编译,但是不能运行

28、下面程序的输出是(B)。

main()

{

intx=10,y=3;

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

}

A)0B)1C)3D)不确定的值

29、(D)是不正确的C语言赋值语句。

A)a=a+1;B)i++;C)a*=1,b=8;D)a=3

30、C语言程序的三种基本程序是(A)。

A)顺序结构,选择结构,循环结构B)递归结构,循环结构,转移结构

C)嵌套结构,递归结构,顺序结构D)循环结构,转移结构,顺序结构

33、以下程序段(B)。

intx=1,y=4;

printf(x

”x=%d”:

”y=%d”,x,y);

A)输出控制格式错误B)输出:

x=1C)输出:

y=1D)输出:

y=4

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

else与(B)是正确的。

A)缩排位置相同的ifB)其之前最近的ifC)其之后ifD)同一行上的if

35、下列关于switch语句和break语句的结论中,只有(B)是正确的。

A)break语句是switch语句的一部分

B)在switch语句中可以根据需要使用或不使用break语句

C)在switch语句中必须使用break语句

D)以上三个结论有两个是正确的

36、设I和x都是int类型,则对于for循环语句for(i=0,x=0;i<9;i++),下列哪句话正确(B)。

A)执行8次B)执行9次C)是无限循环D)循环体一次也不执行

40、char(*A)[5],则标识符A的意义时(B)。

A)A是一个指向有5个字符型元素的指针变量

B)A是一个有5个元素的一维数组,每个元素指向字符型的指针变量

C)A是一个指向字符型的函数的指针变量

D)A是一个有5个元素的一维数组,每个元素指向整型变量的指针变量

112、C语言程序的三种基本结构是(A)

A)顺序结构,选择结构,循环结构B)递归结构,循环结构,转移结构

C)嵌套结构,递归结构,顺序结构D)循环结构,转移结构,顺序结构

1.下列合法的字符常量是(D)。

A.“f”B.xC.65D.‘\Xab’

2.下面那个是属于合法的标识符(C)

A.99B.1_sC.abD.@vb

3.在C语言中,要求参加运算的数必须是整数的运算符是(C)。

A./B.!

C.%D.==

4.现已定义整形变量inti=1;执行循环语句while(i++<5);后i的值为(B)。

A.1B.5C.6D.以上三个答案都不正确

5.下列语句的输出结果是(D)。

printf(“%f\n”,(float)(2+4)/2);

A.有语法错误不能通过编译B.3C.3.0D.3.000000

6.设C语言中,int类型数据占2个字节,则long类型数据占(D)个字节。

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

7.现有表达式y=x<1?

1:

(x<10?

2:

3),如x=12,则y等于(C)

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

8.定义a为整型,下列表达式a=3>6的运行后,a的值为(A)。

A.0B.1C.3D.表达式错误

9.表达式a=3,a+1,a*a的值是(B)

A.2B.9C.16D.4

10.下列语句中,符合语法的语句式(D)。

A.a+b=3B.a=7C.a=c+b+3=6;D.a=8,b=a+7;

在c中单精度数据类型的精度是几?

(C)

A.8B.6C.7D.5

5.在C语言中,用(B)表示逻辑值“真”。

A.1B.非0的数C.“a”D.‘\101’

6.表达式2.5+7%3*3(int)(2.5+4.7)%2/4的结果是(D)

A.2.4B.2.75C.3D.2.5

7.表达式!

4||3&&2的结果是(A)

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

8.现有表达式y=x<1?

1:

(x<10?

2:

3),如x=5,则y等于(A)

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

9.若变量已正确定义,语句“if(a>b)k=0;elsek=1;”和其等价的是(D)

A.k=(a>b)?

1:

0B.k=a>b;C.k=a<=b;D.a<=b?

0:

1;

10.设x=3,执行语句y=x++后,x、y分别等于(D)

A.3,3B.1,2C.3,4D.4,3

11.表达式a=3,a=a+1,a*a的值是(C)

A.2B.9C.16D.4

12.函数调用:

strcat(strcpy(str1,str2),str3)的功能是(C)。

A.将串str1复制到串str2中后再连接到串str3之后

B.将串str1连接到串str2之后再复制到串str3之后

C.将串str2复制到串str1中后再将串str3连接到串str1之后

D.将串str2连接到串str1之后再将串str1复制到串str3之后

13.break语句的作用是(B)

A.结束本次循环B.结束所有循环C.结束一条语句D.结束整个程序

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

fun(inta,intb,intc)

{c=a*b;}

main()

{intc=5;

fun(2,3,c);

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

}

A.0B.5C.6D.无法确定

二、填空。

三、5.下述函数的功能是__将数组a的元素由小到大排序_____________________.

voidfunc(inta[],intn)

{inti,j;

for(i=1;i

{for(j=i;j>0&&a[j]

{intt=a[j];

a[j]=a[j-1];

a[j-1]=t;

}

}

}

8.一个C源程序中至少应包括一个main()函数______。

9.在一个C源程序中,注释部分两侧的分界符分别为__/*___和__*/___。

10.在C语言中,输入操作是由库函数_scanf___完成的,输出操作是由库函数_printf____完成的。

11.经过下述赋植后,变量X的数据类型是_整型int______。

Intx=2;

Doubley;

Y=(int)(float)x;

12.C语言的基本数据类型分别为__整_int___型、_字符_char____型、_实float_____型。

13.若a、b和c均是int类型变量,则执行下面表达式后,a值为___6_____,b值为___4____,c值为___2____。

a=(b=4)+(c=2)

14.若a是int型变量,则执行下面表达式后,a的值为___2___。

a=25/3%3

15.若x和n均是int型变量,且x和n的初值均为5,则执行下面表达式后,x的值为__10___,n的值为___6____。

x+=n++

16.若有定义:

iloata=2.5,cntb=7;f=4.7;则执行下面表达式的值为__5.5____。

a+(int)(b/3*(int)(a+c)/2)%4

17.若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为_8.000000________。

18.若有定义:

inte=1,f=4,g=2;floatm=10.5,n=4.0,k;则执行赋值表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后,k的值为___13.700000___________。

19.表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为____int整型___________。

20.表达式pow(2.8,sqrt(double(x)))值的数据类型为__double双精度_____。

21.若s是int型变量,且s=6,则下面表达式的值为______1_______。

s%2+(s+1)%2

22.若a是int型变量,则下面表达式的值为____26_________。

(a=4*5,a*2),a+6

23.若x和a均是int型变量,则执行表达式

(1)后的x值为___12____,执行表达式

(2)后的x值为_____4________。

(1)x=(a=4,6*2)

(2)x=a=4,6*2

24.若有以下定义,则执行表达式y+=y-=m*=y后,y的值为_____-16________

intm=5,y=2;

25.设C语言中,一个int型数据在内存中占两个字节,则int型数据的取值范围为-32768---32767

数组名中存放的是一个地址常量,它代表___数组的首地址_____。

2.表示“x≥y≥z”的C语言表达式是_(x>=y&&y>=z)________。

3.设ch是字符型变量,判断ch为英文字母的c语言表达式是:

(ch>=’A’&&ch<=’Z’)||(ch>=’a’&&ch<=’z’)。

4.已知inta[10];int*px=a,*py=&a[3];那么py与px相隔___6______个字节。

5.If语句中if总是和__最近_______else匹配。

6.从函数的参数来分函数分为_有参函数________、__无参函数______。

7.调用函数时,函数名称必须与__被调用函数____________名称完全一致。

8.形参变量只有在___调用_______时,才分配内存单元。

__调用结束_______时,即刻释放所分配的内存单元。

6.从函数的参数来分函数分为_有参函数________、__无参函数______。

7.在x值处于-2到2,4到8时值为“真”,否则为“假”的表达式是__(x>=-2&&x<=2)||(x>=4&&x<=8)__________。

8.下面函数的功能是___求字符串的长度________________。

Intfunl(char*x)

{

char*y=x;

while(*y++);

return(y-x-1);

}

9.设I和x都是int类型,则对于for循环语句for(i=0,x=0;i<9;i++)执行了___9____次。

10.在C语言中,逻辑值“真”用__非0的数____________来表示。

四、程序运行结果

1.下列程序输出的结果是11,13,14,16,17,19,20。

Main()

{intn;

for(n=10;n<=20;n++)

{if(n%3==0)

Continue;

Printf(“%d”,n);

}

}

2.下列程序段的输出是______5_________。

#definef(a,b,x)a*x+b

printf("%d",f(3,2,1));

3.#include

#defineM3

#defineNM+1

main()

{

printf(“%d\n”,N);}

4.main()

{intarray[5]={2,4,6,810};

int*pointer=array;

printf(”%d”,array[0]);

printf(”%d”,*(array+1));

printf(”%d”,*(pointer+2));

printf(”%d”,*(pioter++));

}

四、程序分析(23分)

2.下面程序的功能是什么?

#include“stdio.h”

main()

{

inta,b,c,temp;

printf(“\n请输入三个数:

”);

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

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

temp=a;

a=c;

c=b;

b=temp;

printf(“\n交换之后a=%d,b=%d,c=%d”,a,b,c);

}

3.下面程序的功能是什么?

#include

prime(inta)

{

inte,i,yes;

yes=1;e=a/2;

i=2;

while((i<=e)&&yes)

if((a%i)==0)yes=0;

elsei++;

returnyes;

}

main()

{

intx;

printf(“输入一个整数给:

”);

scanf(“%d”,&x);

if(prime(x))printf(“YES\n”);

elseprintf(“No\n”);

}

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

#include

voidfun();

voidmain()

{

intx=1;

if(x==1)

{

intx=2;

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

}

voidfun()

{

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

}

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

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

main()

{

char*a[][5]={“how”,”do”,”you”,”do”,”!

”};

char**p;

inti;

p=a;

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

printf(“%s”,p[i]);

}

A)howdoyoudo!

B)howC)howdoyoudoD)hdyd

6.下述程序的输出结果为(D)。

#include

voidmain()

{

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

int*p=a,**q=&p;

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

printf(“%d”,**q);

}

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

五、程序填空。

(27分)

1.下面程序是求100—200间的全部素数。

#include

main()

{

(1)intprime(intn);

for(m=101;m<=200;m=m+2)

if(

(2)prime(m))

{printf(“%d”,m);}

}

intprime(intn)/*判断n是否为素数*/

{intflag=1,i;

for(i=2;i

if(n%i==0)

flag=0;

return(__(3)_flag__);

}

3.下述函数将字符串转换成整数。

字符串中允许出现前导空格符、换行符和制表符,除此之外的其他非数字字符开头作0处理。

此外,若字符串中出现非数字

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

当前位置:首页 > PPT模板 > 商务科技

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

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