C语言期末习题整理(带答案)_第1页
C语言期末习题整理(带答案)_第2页
C语言期末习题整理(带答案)_第3页
C语言期末习题整理(带答案)_第4页
C语言期末习题整理(带答案)_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录

考点:简单C语言程序的构成和格式.........................................2考点:switch语句以及用switch语句和break语句构成的选择结构............15

考点:常量、变量和标识符.................................................3考点:while语句和while语句构成的循环...................................17

考点:整形雌...........................................................4考点:do-while语句和do-while语句构成的循环结构........................18

考点:实型辘...........................................................5考点:foi■语句和用for语句构成的循环结构.................................19

考点:字符串............................................................5考点:for循环嵌套.......................................................20

考点:字符型常量........................................................5考点:循环结构的嵌套....................................................21

考点:赋值语句...........................................................6考点:一维数组的定义和一维数组元素的引用................................22

考点:赋值表达式.........................................................7考点:二维数组的定义和二维数组元素的引用................................23

考点:算数表达式.........................................................8考点:全局变量及其作用域和生存期,全局变量及其作用蜴口生存期............25

考点:自加、自减运算符和逗号运算符.......................................9考点:调用函数和被调用函数之间的数据传递................................27

考点:数据输出..........................................................10考点:函数的定义和返回值................................................29

考点:条件表达式构成的选择结构..........................................13考点:指针..............................................................31

考点:if语句和用if语句构成的选择结构....................................13考点:程序分析..........................................................32

考点:关系运算和逻辑运算.................................................14

第1页共33页

C、if(a>0);D.if(b==0)m=l;n=2;

考点:简单C语言程序的构成和格式

5.有以下程序

main()

1.在一个c程序中.(

A,main函数必须出现在所有函数之前inta=0,b=0;

B、main函数可以在任何地方出现a=10;/*给a赋值*/

C、main函数必须出现在所有函数之后b=20;/*给b赋值*/

D、main函数必须出现在固定位置printf("a+b=%d\n",a+b);

2.以下关于函数的叙述中正确的是。}

A、C语言程序将从源程序中第一个函数开始执行程序运行后的输出结果是0

B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行A.a+b=10B、a+b=30C、30D、出错

C、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束6.以下叙述中正确的是。

D、main可作为用户标识符,用以定义任意一个函数A、C程序中注释部分可以出现在程序中任意合适的地方

2.以下说法中正确的是。B、花括号"{"和"}"只能作为函数体的定界符3

A、#define和printf都是C语句C、构成C程序的基本单位是函数,所有函数名都可以由用户命名4

B、#define是C语句,而printf不是D、分号是C语言之间的分隔符,不是语句的一部分5

C、printf是C语句,但#define不是7.以下叙述中错误的是。

D、#definei和prinW都不是C语句A、C语句必须以分号结束

3.若k是int型变量,且有下面的程序片段,程序片段的输出结果是oB、复合语句在语法上被看作一条语句

k=-3C空语句出现在任何位置都不会影响程序运行6

if(k<=0)printf("####")D、赋值表达式末尾加分号就构成赋值语句

elseprintf("&&&&");3.以下关于函数的叙述中不正确的是.

A、####B、&&&&C、####&&&&A.C程序是函数的集合,包括标准库函数和用户自定义函数

D、有语法错误,无输出结果B、在C语言程序中,被调用的函数必须在main函数中定义

4.以下4个选项中,不能看作一条语句的是oC、在C语言程序中,函数的定义不能嵌套

A、{;}B、a=O,b=O,c=O;

3花括号既可以做函数的定界符,也可以表示复合语句.

4一个C程序中必须有且只能有一个由"main"命名的主函数,其他函数由用户自行命名;

1#define只是一个预处理命令,用来做替换,在编译的时候被展开罢了。

5

2printf是一个C标准库函数,函数原型定义在stdio.h。从严格意义上来说,库函数不属于C分号是C语句的必要组成部分。

语言。6在for循环中,循环条件语句为空时,则不判断循环条件,循环将无休止地进行下去,导致了

此循环为死循环。

第2页共33页

D、在C语言程序中,函数的调用可以嵌套A.整型、实型、逻辑型

B、整型、实型、字符型

C、整型、字符型、逻辑型

考点:常量、变量和标识符7

D、整型、实型、逻辑型、字符型

15.下列选项中,合法的C语言关键字是。

8.下列定义变量的语句中错误的是«A、VAR7891011B、cher

A,intJntB、doubleint_C、integerD、default

C、charForD、floatUS$16.以下不能定义为用户标识符的是。

9.以下不合法的用户标识符是。A、MainB、_0

A.j2_KEYB、DoubleC、_intD、sizeof

C、4dD、_8_17.下列叙述中正确的是___。

10.以下4组用户定义标识符中,全部合法的一组是__。A、C语言中既有逻辑类型9也有集合类型1。

A、_mainencludesinB、If-maxturboB、C语言中没有逻辑类型但有集合类型

CtxtREAL3COMDxintk_2_001C、C语言中有逻辑类型但没有集合类型

11.以下定义语句中正确的是。D、C语言中既没有逻辑类型也没有集合类型

A.chara='A'b='B';

B、floata=b=10.0;

考点:整形数据I1

C、inta=10,*b=&a;

D、float*a,b=&a;

12.以下不能定义为用户标识符的是__.18.若有以下定义和语句:

A、scanfB、Voidintu=010,v=0xl0,w=10;

C、_3com_D、int

13.以下有4组用户标识符,其中合法的一组是。8var在Pascal作为程序的保留字,用于定义变量。

A,For-subCaseB,4dDOSize9在C语言中没有逻辑类型,逻辑类型用整型来表示

C、f2_G3IFabcD、WORDVoiddefine10C语言中没有集合类型

14.C语言中最简单的数据类型包括。11整型(INTEGER)数据是不包含小数部分的数值型数据,用字母表示.整型数据只用来表示

整数,以二进制形式存储。

7变量名首字母必须为字母(a-zA-Z),下划线(J,或者美元符号($)开始,不能以数字开头,不①十进制整数,如123,-456,0

能包含除字母、下划线、数字以外的其他字符,并且用户标识符不能与C语言中的32个关键②八进制整数以0开头,如0123表示十进制数83,-011表示十进制数-9。

字同名。③十六进制整数以Ox或0X开头,如0x123表示十进制数291,-0X12表示

十进制数-18.

第3页33页

printf("%d,%d,%d\n",UMW);24.有以下程序

则输出结果是:main()

A、8,16,10B、10,10,10

C、8,8,10D、8,10,10intm=0256,n=256;

在语言中,不正确的类型的常数是。

19.Cintprintf("%o%o\n",m/n);

A、32768£B、0C、037D、OxAF)

20.以下程序的输出结果是。程序运行后的输出结果是____O

main()A、02560400B、0256256

(C、256400D、400400

intk=17;

printf("%d,%o13,%xM\优k,k,k);

考点:实型16数据

)

A、17,021,0x11B、17,17,17

C、17,0x11,021D、17,21,1125.以下选项中,不能作为合法常量的是。

17

21.在C语言中,合法的长整型常数是。A、1.234e04B、1.234e0.4

A、0LB、4962710C、1.234e+4D、1.234e0

C、324562&D、216D26.以下符合C语言语法的实型常量是。

22.C语言中运算对象必须是整型的运算符是A、1.2E0.5B、3.14159E

A、%=B、/C、=D、<=C、.5E-3D、E15

23.以下选项中不属于C语言的类型名称是

A、signedshortint考点:字符串

B、unsigned1234516longint

C、unsignedint

27.若有定义和语句:

D、longshort

chars[10]:s="abcd";printf("%s\n",s);

12C语言中int类型的常数的范围是:・32768〜32767。

13%o读入八进制整数16实型数据也称为浮点数或实数。在C语言中,实数只采用十进制。它有二种形式:十进制小

14%x,%X读入十六进制整数数形式和指数形式。在程序运行过程中可以改变其值的实型量被称为实型变量,实型变量分为单

15Unsigned:如果需声明无符号类型的话就需要在类型前加上unsigned。无符号版本和有符精度(float),双精度(double)和长双精度(longdouble)型。

号版本的区别就是无符号类型能保存2倍于有符号类型的正整数数据,比如16位系统中一个“在C语言中,可以用指数形式将实型常量表示为数值和指数两部分,数值部分不能为空,指

short能存储的数据的范围为・32768〜32767,而unsigned能存储的数据范围则是0〜65535。数部分只能为整数表示.

第4页33页

则结果是(以下U代表空格)____。则输出结果是:。

A、输出abedB、输出aA、2,MB、3,EC、2,E

C、输出abcduuuuuD、编译不通过D、输出项与对应的格式控制不一致,输出结果不确定

28.函数调用:strcat(strcpy(strl,str2),str3)的功能是_____。32.已定义c为字符型变量,则下列语句中正确的是o

A、将串strl复制到串str2中后再连接到串str3之后A、c="97';B、c="97";

B、将串strl连接到串str2之后再复制到串str3之后C、c=97;D、c="aw;

C、将串str2复制到串strl中后再将串str3连接到串strl之后33.数字字符0的ASCH值为48,若有以下程序o

D、将串str2连接到串strl之后再将串strl复制到串str3中main()

29.以下正确定义字符串的语句是____。(

A、charstr[]={'\064'};B、charstr="\x43";chara='l,,b='2";

C、charstr=";D、charstr[]="\O";printf("%c/,b++);

30.有以卜程序printf("%d\n",b-a);

main())

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

chars[]="\nl23\\";A、3,2B、50,2

printf("%d,%d\n",strlen(s),sizeof(s));C、2,2D、2,50

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

执行后输出结果是____。main()

A、赋初值的字符串有错B、6,7{charc='z';

C、5%619D、6,6printf(n%cn,c-25);

)

A、aB、ZC、z-25D、y

考点:字符型常量

35.若变量a是int类型,并执行了语句:a='A'+1.6;,则正确的叙述是____

A、a的值是字符CB、a的值是浮点型

31.若有以下定义和语句C、不允许字符型和浮点型相加D、a的值是字符'A,的ASCII值加上1

,,

charcl='b',c2=e;36.下列程序执行后的输出结果是o

,,,,

printfC%d/%c\n\c2-cl,c2-a+A);main()

(

18strlen是计算字符串的长度,不包括\0。\n是一个字符,123是3个字符,'爆转意字符也intx='f;

表示\。所以一共是5。printf("%cW/A'+Cx-'a'+l));

19sizeof()函数统计字符串所占的字节数。包括‘\0'

第5页共33页

)C、floatf=f+l.l;D、doublex=12.3E2.5

A、GB、HC、ID、J41.以下合法的赋值语句是

37.以下程序的输出结果是A、x=y=100B、d-;

main()C、x+y;D、c=int(a+b);

(inti;42.下列语句中符合C语言语法的赋值语句是

for(i='A';i<T;i++,i++)printf("%c",i+32);A、a=7+b+c=a+7;B、a=7+b++=a+7;

printf('\n");C、a=7+b,b++,a+7D、a=7+b,c=a+7;

)43.请选出合法的C语言赋值语句

A、编译不通过,无输出B、acegA、a=b=58B、i++;

C、acegiD、abcdefghiC、a=58,b=58D、k=int(a+b);

38.有如下程序

#include<stdio.h>

考点:赋值表达式

main()

(

printf("%d\n',NULL);44.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是

A、c=b=a;B、(a=c)||(b=c);

)

程序运行后的输出结果是。C、(a=c)&&(b=c);D、a=c=b;

A、020B、1c、-145.以下选项中非法的表达式是一a

D、NULL没定义,出错A、0<=x<100B,i=j==0

、21

39.设有说明语句:chara='\72';则变量aC、(char)(65+3)Dx+l=x+l

A、包含1个字符B、包含2个字符46.以下程序的输出结果是_____

C、包含3个字符D、说明不合法#include<stdio.h>

main()

(

考点:赋值语句

inta,b,d=241;

a=d/100%9;

40.以下能正确计算定义且赋初值的语句是ob=(-l)&&(-l);

n

ANintnl=n2=10;B、charc=32;printf(%d,%d\n"za,b);}

A、6,1B、2,1

2。在C语言中NULL的ASCII码值为0,而输出函数要求以整型格式输出,故最后的输出数为

0。21C语言中是不允许给表达式赋值的,即等式左边不能为表达式。

第6页共33页

C、6,0D、2,050.若变量a、i已正确定义,且i已正确赋值,合法的语句是。

47.以下循环体的执行次数是A、a==lB、++i;

main()C、a=a++=5;D、a=int(i)24;

(51.若变量已正确定义并赋值,下面符合C语言语法的表达式是。

intij;A、a:=b+lB、a=b=c+2

for(i=0j=l;i<=j+l;i+=2,j—)Cintl8.5%3D、a=a+7=c+b

printf("%d\n",i);52.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第

)三位四舍五入的是

A、3B、2C,1D、0A、x=x*100+0.5/100.0

48.有以下定义语句B、x=(x*100+0.5)/100.0

doublea,b;intw;longc;C、x=(int)(x*100+0.5)/100.0

若各变量已正确赋值,则下列选项中正确的表达式是D、x=(x/100+0.5)*100.0

A、a=a+b=b++22B、w%((int)a+b)2353.当把以下四个表达式用作if语句的控制表达式时,有一个选项含义不同这个选项是o

C、(c+w)%(int)aD、w=a=b;A、K%2B、K%2==1

49.有如下程序C、(K%2)!=0D、!K%2==1

main()

(考点:算数表达式

inta;charc=10;

floatf=100.0;doublex;

a=f/=c*=(x=6.5);54.若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是。

printf("%d%d%3.1f%3.1f\n\a,c,tx);A、++x,y=x—B、x+l=y

、、

)Cx=x+10=x+yDdouble(x)/10

程序运行后输出结果是o

表达式的值是

A、16516.555.3.6-5/225+1.2+5%2o

B、1651.56.5A、4.3B、4.8

C、1651.06.5

D、2651.56.524强制类型转换的格式以D选项为例应为a=(int)i;

25注意计算C语言除法运算中运算对象的数据类型转换。

*相同数据类型的数据、变量进行运算,结果保持原有数据类型。

22等式左边不能为表达式。

*当不同数据类型的数据、变量进行运算时,结果为精度高的数据类型。

23(int)a+b是double类型的不能作%的除数

第7页共33页

C、3.3D、3.8x=1.2;y=(x+3.8)/5.0;

56.设inta=12,则执行完语句a+=a-=a*a后,a的值是。printf("%d\n",d*y);

A、552B、264)

C、144D、-264A、3B、3.2C、0D、3.07

57.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语

言表达式是

0考点:自加、自减运算符和逗号运算符

A、x/y*zB、x*(l/(y*z))

C、x/y*l/zD、x/y/z

58.若有定义:inta=8,b=5,c;,执彳五吾句c二a/b+0.4;后,c的值是___<»65.若执下面程序时从键盘上输入5,

A、1.4B、1C、2.0D、2main()

59.设有定义:floata=2,b=4,h=3;,以下C语言表达式与代数式l/2((a+b)h)计算结果不相(

符的是intx;

A、(a+b)*h/2B、(l/2)*(a+b)*hscanf("%d",&x);

C、(a+b)*h*l/2D、h/2*(a+b)if(x++>5)printf("%d\n",x);

60.假定x和y为double型,表达式x=2,y=x+3/2的值是。elseprintf("%d\n",x");

A、3.500000B、3)

C、2.000000D、3.000000则输出是.

61.若已定义x和y为double类型,则表达式x=l,y=x+3/2的值是A,7B、6C、5D、4

A、1B、2C、2.000000D、2.50000066.有以下程序

62.若有以下程序段main()

intcl=l,c2=2,c3;(

c3=1.0/c2*cl;charal='M',a2='m';

26

则执行后,c3中的值是。printf("%c\n",(al,a2));

A、0B、0.5C、1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论