13级C语言复习资料.docx

上传人:b****8 文档编号:10941725 上传时间:2023-02-23 格式:DOCX 页数:44 大小:34.91KB
下载 相关 举报
13级C语言复习资料.docx_第1页
第1页 / 共44页
13级C语言复习资料.docx_第2页
第2页 / 共44页
13级C语言复习资料.docx_第3页
第3页 / 共44页
13级C语言复习资料.docx_第4页
第4页 / 共44页
13级C语言复习资料.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

13级C语言复习资料.docx

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

13级C语言复习资料.docx

13级C语言复习资料

选择题

1.下列叙述中,不属于良好程序设计风格要求的是D。

A.程序应简单、可读性好B.输入数据前要有提示信息

C.程序中要有必要的注释Da.程序的效率第一,清晰第二

2.下列选项中不属于结构化程序设计方法的是D。

A.模块化B.自顶向下C.逐步求精D.可复用

3.结构化程序设计主要强调的是B。

A.程序的可移植性B.程序的易读性

C.程序的执行效率D.程序的规模

4.用C语言编写的代码B。

A.可立即执行B.是一个源程序

C.经过编译即可执行D.经过编译解释才能执行

5.下列叙述中错误的是D。

A.C程序可以有多个程序文件组成

B.C程序可以由一个或多个函数组成

C.一个C函数可以单独作为一个C程序文件存在

D.一个C语言程序只能实现一种算法

6.下列叙述中错误的是A。

A.C语言的每条可执行语句和非执行语句最终都将转换成二进制的机器指令

B.计算机不能立即执行用C语言编写的源程序

C.C语言经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件

D.用C语言编写的程序以ASCII代码形式存放在一个文本文件中

7.算法中对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的B。

A.正当性B.确定性C.可行性D.有穷性

8.对于一个正常运行的C程序,以下叙述中正确的是D。

A.程序的执行总是从程序的第1个函数开始,在程序的最后一个函数中结束

B.程序的执行总是从main函数开始,在程序的最后一个函数中结束

C.程序的执行总是从程序的第1个函数开始,在main函数结束

D.程序的执行总是从main函数开始,在main函数结束

9.以下对C语言的描述中正确的是C。

A.C语言源程序中可以有重名的函数

B.C语言源程序中要求每行只能书写一条语句

C.注释可以出现在C语言源程序中的任何位置

D.在C程序中main函数的位置是固定的

10.C语言中,int类型数据所占的字节数是B。

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

11.以下选项中,合法的一组C语言数值常量是B。

A.2.87E—2B.89.C.0.092ED.467.5e—3

0290xabc0a6012

—0xf4.9e0.77E9

12在C语言中,要求运算量必须是整型数的运算符是A。

A.%=B./=C.%=和/=D./

13.以下正确的字符常量是C。

A.‘\0x41’B.“a”C.‘\b’D.“\0”

14.以下选项中不合法的用户标识符是C。

A._234B.A_3C.B$D.Max

15.以下的赋值表达式是A。

A.x=y=7B.x=52%2.6C.x+y=9D.x=10=6+4

16.以下变量定义不正确的是D。

A.intchar_;B.float_char;C.doubleChar;D.chara-b;

17.以下叙述中错误的是A。

A.用户所定义的标识符允许使用关键字

B.用户所定义的标识符必须以字母或下划线开头

C.用户所定义的标识符应尽量做到“见名知意”

D.用户所定义的标识符中,大小写字母代表不同的标识

18.以下选项中,合法的字符串常量是D。

A.HowareyouB.‘good’C.$abc$D.“abc#”

19.在C语言中,合法的长整形常数是C。

A.4567890B.2345654&C.0LD.279D

20.设a=12,表达式a+=a-+a*=a的值是C。

A.12B.144C.0D.132

21.设有定义“intx=0;”,以下选项的4个表达式中,与其他3个表达式的值不相同的是

C。

A.x+1B.++xC.x++D.x+=1

22.数字字符0的ASCII值为48,若有以下程序:

#include

voidmain()

{

chara=’1’,b=’2’;

printf(“%c,”,b++);

printf(“%d\n”,b-a);

}

程序运行后的输出结果是C。

A.3,2B.2,2C.50,2D.2,50

23.若变量x,y已真确定义并赋值,以下符合C语言语法的表达式是D。

A.x+1=y;B.++x,y=x--;C.x=x+10=x+y;D.(double)x/10

24.关于int、long和short类型数据占用内存大小的叙述中正确的是C。

A.均占4个字节B.由用户自己定义

C.由C语言编译系统决定D.根据数据的大小来决定所占内存的字节数

25.已知“doublea,b;intc;longd;”,则以下4个选项中真确的表达式是C。

A.a+b=a=d++B.(c+d)%(intb)C.c%((int)a/b)D.c=a%d

26.以下合法的C语言赋值语句是D。

A.a=b=58B.a*bC.a=8,b=7D.++i

27.有以下程序,其中%u表示按无符号整数输出:

main()

{

unsignedintx=0xffff;

printf(“%u\n”,x);

}

程序运行后的输出结果是D。

A.—1B.65535

C.32767D.0xfff

28.表达式66!

=199的值是D。

A.trueB.flaseC.0D.1

29.为表示关系x>y>=z应使用的C语言表达式是A。

A.x>y&&y>=zB.x>yANDy>=z

C.x>y>=zD.x>y&y>=z

30.下列运算符的优先级最低的是A。

A.逗号运算符B.关系运算符

C.复合赋值运算符D.逻辑运算符

31.以下关于逻辑运算符两侧运算对象的叙述中正确的是B。

A.只能是整数0或1B.可以是任意合法的表达式

C.只能是关系表达式D.只能是整数0或非0整数

32.设有定义“inta=2,b=3,c=4;”,则以下选项中,值为0的表达式是C。

A.a&&bB.(a>b)&&!

c‖1

C.(!

a==1)&&(!

b==0)D.a‖(b+b)&&(c-a)

33.以下能正确定义且赋初值的语句是B。

A.intx=y=2;B.charc=32;

C.floatx=x+1.1;D.doublex=8.9e1.1

34.以下叙述中正确的是A。

A.调用printf函数时,必须要有输出项

B.调用putchar函数时,必须在之前包含头文件stdio.h

C.在C语言中整数可以以十二进制、八进制或十六进制的形式输出

D.调用getchar函数读入字符时,可以在键盘上输入字符所对应的ASCII码

35.若定义a、b为整型变量,下列不合法的输入语句是A。

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

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

36.下列说法错误的是A。

A.表达式语句由表达式加上分号“;”组成

B.控制语句用于控制程序的流程,以实现程序的各种结构方式

C.把多个语句用花括号“{}”括起来组成的一个复合语句,复合语句内的各条语句都必须以分号“;”结尾,在花括号“}”外必须加分号

D.只有分号“;”组成的语句称为空语句,空语句是什么也不执行的语句

37.若有如下语句:

inta1,a2;

charb1,b2;

scanf(“%d%c%d%c”,&a1,&b1&a2&b2);

如果为a1和a2负数值10和20,为变量b1和b2赋字符x和y。

以下所示的输入形式正确的是A。

A10--x--20--yB10--X20--Y

C10--XD10X

10--Y20Y

38.若有“intx,a,b,c;”,则下列语句中合法的if语句是C。

Aif(a<>b)x++;Bif(a=

Cif(a!

=b)x++;Dif(a=>b)x++;

39.下面程序运行结果是C。

#inclufe

voifdmain()

{

inta=2,b=1,c=3;

if(a

if(b==1)c=0;

elesc+=1;

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

}

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

40.下面程序的运行结果是C。

#include

voidmain()

{

inta=4;

while(--a);

printf(“%d\t”,a-=2);

}

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

41.下面关于break语句的描述,正确的是C。

A.break语句只能用于循环体中

B.break语句可以一次跳到多个嵌套循环体之外

C.在循环结构中可以根据需要使用break语句

D.在循环结构中必须使用break语句

42.对for(表到式1;;表达式3)可以理解为A。

A.for(表到式1;1表达式3)B.for(表到式1;0表达式3)

C.for(表到式1;表达式1;表达式3)D.for(表到式1;表到式3;表达式3)

43.若a为整形变量,则以下循环执行次数是A。

for(a=1;a==2;)printf(“%d”,a++);

A.0B.1C.2D.无限次

44.下面不是无限循环语句是A。

A.for(a=0,b=1;b>++a;b=c++)c=b;

B.for(a=10;;a--);

C.while

(1)a--;

D.for(a=6;a=1;a--)c+=a;

45.下面程序的循环情况是B。

intk=9

while(k>=0)—k;

A.while循环执行9次B.while循环执行10次

C.循环执行无限次D.循环体语句一次也不执行

46.下面程序段的循环情况是A。

intx=10;

do

{

x=x/x;

}while(!

x);

A.循环执行一次B.循环执行两次C.有语法错误D.是死循环

47.下面程序段的运行结果是A。

inta=0;

while(a++<=1);

printf(“%d”,a);

A.1B.2C.无数次D.有语法错误

48.有以下程序段;D

inta,t=1,s=0;

scanf(“%d,&a);

do

{

s+=t;

t-=2;

}while(t!

=a);

为了是程序不陷入死循环,从键盘输入的数据应该是D。

A.任意正偶数B.任意正奇数C.任意负偶数D.任意负奇数

49.下面程序的运行结果是A。

#include

voidmain()

{

intx=9;

for(;x>0;x--);

if(x%3==0)

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

}

A.-1B.741C.0D.852

50.以下关于数组的描述正确的是B

A.数组的大小是固定的,但数组元素的数组类型可以不同

B.数组的大小是可变的,但数组元素的数据类型必须相同

C.数组的大小是可变的,但数组元素的数据类型可以不同

D.数组的大小是固定的,但数组元素的数据类型必须相同

51.引用数组元素是,数组下标允许是C

A.整型变量B.整形表达式

C.整型变量或整型表达式D.任何表达式

52.若定义如下数组“intnum[10];”则对数组num元素正确的引用方法是D

A.num[4.3]B.num(5)

C.num[10]D.num[3-2]

53.下面可以对数组num进行正确初始化的语句是C

A.intnum[5]=(0,0,0,0,0);B.intnum[5]={};

C.intnum[5]={0};D.intnum[5]=0,0,0,0,0;

54.下面可以对二维数组num进行正确的初始化的语句是B

A.intnum[2][]={{0,0,0},{1,1,1}};B.int[][3]={{0,0,0},{1,1,1}};

C.intnum[2][3]={{0,0,0},{1,1},{2}};D.int[][3]={{0,0,0},{}{2}};

55.以下对语句正确理解的是B

intnum[10]={1,2,3,4,5};

A.将5个初值依次赋给num[1]到num[5]

B.将5个初值依次赋给num[0]到num[4]

C.将5个初值依次赋给num[6]到num[10]

D.非法语句

56.下面语句的执行结果是C

charstr[15]="china\nbeijing";

printf("%d",strlen(str));

A.15B.14C.13D.12

57.下面语句的执行结果是C

charstr[15]={'a','b','c','\0'};

printf("%s",strlen(str));

A.'a''b'B.ab..cC.abD.a..b

58.判断字符串a和b是否相等,应该使用C

A.if(a==b)B.if(a=b)C.if(stcmp(a,b))D.if(strcap(a,b))

59.若定义如下数组:

chara[]="abcdef";

charb[]={'a','b','c','d','e','f'};

下面说法正确的是C

A.数组a和数组b的长度想等

B.数组a的长度小于数组b的长度

C.数组a的长度大于数组b的长度

D.不可能比较出数组a和数组b的长度

60.有两个字符数组a、b,以下正确的输入语句是C

A.gets(a,b);B.scanf(“%s%s”,a,b);

C.scanf(“%s%s”,&a,&b);D.gets('a');gets('b');

61.下面的程序段运行结果是D

chara[4],b[]="Good";

a=b;

printf("%s",a);

A.Good!

B.GoodC.GooD.编译出错

62.下面程序的运行结果是B

#include

#include

main()

{

chara[7]="A0\0a0\0";

inti,j;

i=sizeof(a);

j=sizeof(b);

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

}

A.22B.76C.72D.62

63.下面叙述中,正确的是C。

A.函数返回值的类型,由return语句中所返回值的类型决定

B.函数返回值的类型,由主调函数的类型决定

C.函数返回值的类型,由定义函数时指定的函数类型决定

D.函数返回值的类型,由实参决定

64.在函数中声明一个变量时,可以省略的存储类型是A。

A.autoB.registerC.staticDextren

65.C语言中的函数B。

A.可以嵌套定义B.即可以嵌套调用也可以递归调用

C.不可以嵌套调用D.可以嵌套调用,但不可以递归调用

66.下面C语言函数的描述中,正确的是D。

A.函数返回值的类型与其形参的类型应该一致

B.函数必须有返回值

C.函数被定义为void型,该函数体中仍允许使用return语句

D.值传递时,只能把实参传递给形参,而不能把形参传递给实参

67.下面对建立函数目的描述,正确的是A。

A.提高程序的可读性B.提高程序的执行效率

C.减少程序的篇幅D.减少程序文件所占内存

68.以下正确的函数定义形式是B。

A.floatmax(inta;intb);B.floatmax(inta,intb);

C.floatmax(inta,b);D.floatmax(inta,intb)

69.若调用一个函数,此函数中没有return语句,正确的说法是C。

A.没有返回值B.返回若干个系统默认值

C.能返回一个用户所希望的函数值D.返回一个不确定值

70.在C语言中,以下说法正确的是A。

A.实参和与其对应的形参各占用独立的存储单元

B.实参和与其对应的形参占用同一块的存储单元

C.只有当实参与其对应的形参同名师才共占一块存储单元

D.形参是虚拟的,不占存储单元

71.以下说法正确的是C。

A.定义函数时,形参不需要类型说明

B.teturn后边的值不能为表达式

C.如果函数值的类型与返回值类型不一致,以函数值类型为准

D.如果形参与实参的类型不一致,以实参类型为准

72.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是B。

A.地址传递B.单向值传递

C.由用户指定传递方式D.由实参传给形参,再由形参传递给实参

73.若用数组名作为函数调用的实参,传递形参的是C。

A.数组第1个元素的值B.数组中全部元素的值

C.数组的首地址D.数组元素个数

74.以下不正确的说法是D。

A.形式参数是局部变量

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

C.在函数内定义的变量只在本函数范围内有效

D.在函数内的复合语句中定义的变量在本函数范围内有效

75.函数fun((a,b),(j,k,m));调用语句含有实参的个数为B。

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

76.在一个c源程序中定义的全局变量,其作用域为C。

A.所有文件的全部范围B.所有函数的全部范围

C.所在程序的全部范围D.由具体定义的位置和extern说明来决定范围

77.设函数fun定义形式为:

voidfun(charcfloata)

{}

则以下对函数fun的调用语句中,正确的是D。

A.fun("out"7.1);B.fun*(65,16);

C.fun('65',6.9);D.m=fun(‘A’,12.7);

78.以下程序的运行结果是D。

#include

intfun(inta,intb)

{

return(a+b);

}

voidmain()

{

inta=1,b=2,c=3,sum;

sum=fun((a++,b--,a+b),c++);

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

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

79.下面程序的运行结果是B。

#include

intfun2(chara,charb)

{

printf("%c,%c",a,b);

}

chara='A'b='B';

voidfun1()

{

a='C';

b='D';

}

voidmain()

{

fun1();

printf("%c,%c,",a,b);

fun2('e','f');

}

A.A,B,E,FB.C,D,E,FC.A,B,C,DD.C,D,A,B

80.下面程序的运行结果是A。

#include

intfun(chara)

{

if(a>2)

return(fun(a-1)+fun(a-2));

else;

return

(2);

}

voidmain()

{

printf("%d\n",fun(3));

}

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

填空题

1.计算机算法指的是为解决某个特定问题而采取的方法和步骤。

2.c程序是由函数构成的,其中有且只有一个主函数,该函数名为main。

3.c语言源程序文件名的后缀为.C,经过编译后,生成文件的后缀为.OBJ,经过连接后,生成文件的后缀为.EXE。

4.c函数的函数体以{开始,以}结束。

5.结构化程序设计方法的主要原则可以概括为模块化、自顶向下、逐步求精。

6.算法具有5个特性,它们分别是有穷性、确定性、可行性、有零个或多个输入、和有一个或多个输出。

7.C语言中,用关键字int定义基本整形变量,用关键字float定义单精度实型变量,用关键字char定义字符型变量。

8.c语言中字符型变量在内存中占1个字节

9.表达式a=3*2,a*6的值是6,36,表达式3.8-3/2+1.2+7%5的值是6.0

10.执行下面的语句断后a,b,c,d的值分别是4,2,6,12,

a=4;

b=2;

c=--a*b++;

d=a--*++b;

11.求解表达式a=3,b=5,b+=a,c=b*5之后,a,b,c的值分别是3,8,25

12.写出下列字符转义字符的意义:

‘\n’换行,‘\t’横向跳格。

13.已知b=23.4,c=10.7,将b*c的值强制转化为int型的表达式为(int)(b*c)。

14.从程序流程的角度来看,c语言程序分为3种基本结构,它们是选择、顺序、和循环。

15.getchar函数是字符输入函数,它的功能是输入一个字符。

putchar函数是字符输出函数,它的功能是输出一个字符。

使用这两个函数前必须在该函数前或文件开头上包含命令。

Include

16.在printf函数的个是控制字符串中,除格式说明和转义字符外,其它的提示字符在输出时按原样输出。

17.复合语句是将多个语句用{}括起来组成一个句子。

18.已知“charch=‘$’;inti=1,j;”,执行j=!

ch&&i++以后,i的值为1。

19.已有定义“inta=10,b=20;”,要求用printf函数以a=10,b=20的形式输出,完整的输出语句为printf(“a=10,b=20”,a,b);。

20.执行以下程序时输入123456789,则输出结果是12,345。

#inculde

Voidmai

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

当前位置:首页 > 高等教育 > 经济学

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

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