C语言期末复习资料.docx

上传人:b****6 文档编号:2995345 上传时间:2022-11-17 格式:DOCX 页数:16 大小:23.29KB
下载 相关 举报
C语言期末复习资料.docx_第1页
第1页 / 共16页
C语言期末复习资料.docx_第2页
第2页 / 共16页
C语言期末复习资料.docx_第3页
第3页 / 共16页
C语言期末复习资料.docx_第4页
第4页 / 共16页
C语言期末复习资料.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C语言期末复习资料.docx

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

C语言期末复习资料.docx

C语言期末复习资料

C语言期末考试复习资料

一选择题

1.C语言源程序的基本单位是()。

A过程B函数C子程序D标识符

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

main()

{inta=7,b=5;

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

}

A5B1C0D不确定值

3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?

a++:

b++,a+b)的值是()。

A7B8C9D2

4、C程序的执行特点是

A、从程序的main函数开始,到程序的最后一个函数结束

B、从程序的第一个函数开始,到程序的最后一个函数结束

C、从程序的main函数开始,到程序的main函数结束

D、从程序的第一个函数开始,到程序的main函数结束

5、字符型(char)数据在微机内存中的存储形式是________

A、EBCDIC码B、ASCII码C、补码D、反码

6、以下不合法的用户标识符是

A、W32_KERB、doubleC、ASA4D、_10_

7.设a为int型变量,执行下列赋值语句后,a的取值分别是()。

a=125.534;a=(int)125.521%4;a=5<<2;

A125,31,1B125,1,20C125,31,20D125.534,2,20

8.设有如下程序段,下面描述中正确的是()。

intk=10;while(k=0)k=k-1;

A循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次

9.以下程序的输出结果为()。

inti;

voidprt()

{for(i=5;i<8;i++)printf("%c",'*');

printf("\t");

}

main()

{for(i=5;i<=8;i++)prt();

}

A***B************C******D***

10、设a=9,b=6,c=7,d=10,m=4,n=4,执行(m==a>b)&&(n==c>d)后n的值为________A、2B、3C、1D、0

11、表达式2.6-5/2+1.4+7%2的值是

A、4.3B、4.8C、3.3D、3

12、在以下一组运算符中,优先级最高的运算符是________

A、&&B、=C、<=D、!

13..在C语言程序中,以下说法正确的是( )。

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

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

C函数的定义和函数的调用都不可以嵌套

D函数的定义和函数的调用都可以嵌套

14.以下函数调用语句中含有()个实参。

func((e1,e2),(e3,e4,e5));

A2B3C5D语法错误

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

#defineADD(x)x*x

main()

{inta=4,b=6,c=7,d=ADD(a+b)*c;

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

}

Ad=70Bd=80Cd=140Dd=700

/*a+b*a+b*c

=4+6*4+6*7

*/

16、设有以下定义

inta=0;

doubleb=1.25;

charc=’E’;

#defineW2

则下面语句中错误的是

A、a++B、b++C、c++D、W++

17、设有定义:

inta, int*pa=&a;

以下scanf函数语句中能正确为变量a读入数据的是

A、scanf(”%d”,a);B、scanf(”%d”,a);

C、scanf(”%d”,&a);D、scanf(”%d”,*a);

18、假定所有变量均已正确说明,下列程序段运行后x的值是________

inta,b,c,x;

a=b=0;x=35;

if(b)

x=3;

else

x=4;

A、35B、4C、34D、3

19.已知职工记录描述如下,在TurboC中,系统为变量w分配()字节的空间。

structworker

{intno;

charname[20];

charsex;

union

{intday;intmonth;intyear;}birth;

}w;

A29B20C25D6

20.设有以下定义,值为5的枚举常量是()。

enumweek{sun,mon=4,tue,wed,thu,fri,sat}w;

AtueBsatCfriDthu

21.下面选项中正确的赋值语句是(设chara[5],*p=a;)()。

Ap="abcd";Ba="abcd";C*p="abcd";D*a="abcd";

22.设有以下程序段,则值为6的表达式是()。

structst{intn;structst*next;};

staticstructsta[3]={5,&a[1],7,&a[2],9,0},*p;

p=&a[0];

Ap++->nB++p->nCp->n++D(*p).n++

23、指向某变量的指针,其含义是指向该变量的

A、值B、地址C、名D、一个标志

24、设变量c为char类型,能正确判断出c为小写字母的表达式是

A、’a’<=c<=’z’B、(c>=’a’)||(c<=’z’)

C、(c.>=’a’)&&(c<=’z’)D、以上都不是

25、循环语句while和do-while的主要区别是

A、do-while循环体至少要无条件执行一次,while循环体可以一次都不执行

B、while的循环控制条件比do-while的循环控制条件更严格

C、do-while允许从外部跳转到循环体内

D、do-while的循环体不能是复合语句

26、当执行以下程序段时

x=8;

do{x=x*x;}while(!

x);

A、循环体将执行一次B、循环体将执行两次

C、循环体将执行无限次D、系统将提示有语法错误

27、设有定义:

inta[10];以下对a数组元素正确引用的是

A、a[10]B、a[3,5]C、a(5)D、a[10-10]

28、若用数组名作为函数的实参,传递给形参的是

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

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

29、C语言允许函数类型缺省定义,此时函数值隐含的类型是

A、floatB、intC、longD、double

30、若有语句:

char *line[5];,以下叙述中正确的是

 A)定义line是一个数组,每个数组元素是一个基本类型为char的指针变量

 B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组

 C)定义line是一个指针数组,语句中的*号称为间址运算符

 D)定义line是一个指向字符型函数的指针

31、若有定义“intx[5]={1,2,3,4,6};int*p=&x[1];”,则以下表达式中值为4的是

A)*(p+2)

B)*(p+1)

C)p+1

D)*p+2

32、下列字符数组初始化语句中,正确的是

A)charc[3][11]={"China","Guanzhou","University"};

B)charc[4][10]={"China","Guanzhou","University"};

C)charc[3][10]={"China","Guanzhou","University"};

D)charc[4][11]={"China,Guanzhou,University"};

33、有以下程序

voidmain()

{inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3];int*q=p+2;

printf("%d\n",*p+*q);

}

程序运行后的输出结果是

A)16B)10C)8D)6

34、[多选题]以下程序段执行后,a的值为1的是

A)inta=0,b=1,c;b=c;b=a;c=a;

B)inta=0,b=1;a=a+b;b=a-b;a=a-b;

C)inta=0,b=1,c;c=a;a=b;b=c;

D)inta=0,b=1,c;c=a;b=a;b=c;

35、[多选题]以下叙述中正确的是

A)在一个函数内定义的变量只在本函数范围内有效

B)在不同的函数中可以使用相同名字的变量

C)在一个函数内的复合语句中定义的变量在本函数范围内有效

D)函数中的形式参数是局部变量

36、[多选题]以下不能对数组a进行正确初始化的语句是

A)inta[]={};

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

C)inta[6]={0,1,2,3,4};

D)inta[]={1};

37、[多选题]下述对C语言字符数组的描述正确的是

A)不可以用关系运算符对字符数组中的字符串进行比较

B)字符数组可以存放字符串

C)字符数组中的字符串可以整体输入、输出

D)可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

二、填空题

1、在C语言中没有逻辑型数据,以______代表”真”,以_____代表”假”。

2、设x、y、z和k都是int型变量,则执行表达式x=(y=40,z=13,k=48)后,x的值为____________。

3、C的字符常量是用______________括起来的一个ASCII码字符。

4、能正确表示a和b同时为正或同时为负的表达式是__________________。

5、设x=4.5,a=7,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是______________。

6、C语言程序设计的基本单位是。

7、下面程序段中while循环语句执行次。

n=11;

  while(n=0)++n;

8、设二进制x的值是11001101,y的值是00001111,可通过运算,使得x中的低4位不变,高4位清零。

9、有以下语句段:

intn1=15,n2=30;

printf(’’”,n1,n2);

要求按以下格式输出n1,n2的值,每个输出行从第一列开始,请填空。

n1=15

n2=30

10、设intb=3;则表达式b<<2的值是。

11.有一个3*4矩阵,求其中的最大元素。

max_value(

(1))

{inti,j,max;

max=array[0][0];

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

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

if(array[i][j]>max)

max=array[i][j];

(2);

}

main()

{inta[3][4],i,j;

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

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

(3);

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

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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