C程序设计期末考试习题库仅供参考.docx

上传人:b****5 文档编号:6085037 上传时间:2023-01-03 格式:DOCX 页数:67 大小:41.14KB
下载 相关 举报
C程序设计期末考试习题库仅供参考.docx_第1页
第1页 / 共67页
C程序设计期末考试习题库仅供参考.docx_第2页
第2页 / 共67页
C程序设计期末考试习题库仅供参考.docx_第3页
第3页 / 共67页
C程序设计期末考试习题库仅供参考.docx_第4页
第4页 / 共67页
C程序设计期末考试习题库仅供参考.docx_第5页
第5页 / 共67页
点击查看更多>>
下载资源
资源描述

C程序设计期末考试习题库仅供参考.docx

《C程序设计期末考试习题库仅供参考.docx》由会员分享,可在线阅读,更多相关《C程序设计期末考试习题库仅供参考.docx(67页珍藏版)》请在冰豆网上搜索。

C程序设计期末考试习题库仅供参考.docx

C程序设计期末考试习题库仅供参考

选择练习题

1、C语言中最简单的数据类型包括()。

A、整型,实型,逻辑型B、整型,实型,字符型

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

2、C语言中,运算对象必须是整型数的运算符是()。

A、%B、/C、%和/D、*

3、为表示关系x<y<z,应使用C语言表达式()。

A、(x<y﹞&&(y<z﹞B、(x<y﹞AND(y<z﹞

C、(x<y<z﹞D、(x<y﹞&(y<z﹞

4、C语言程序的基本单位是()。

A、程序行B、语句C、函数D、字符

5、C语言的程序一行写不下时,可以()。

A、用逗号换行B、用分号换行

C、用回车符换行D、在任意一空格处换行

6、下述标识符中,()是合法的用户标识符。

A、A&BB、voidC、_studentD、ab*

7、在C语言中,字符型数据在内存中以()形式存放。

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

8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为()。

A、autoB、externC、staticD、Register

9、以下关于switch语句和break语句的描述中,只有()是正确的。

A、在switch语句中必须使用break语句

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

C、break语句只能用于switch语句中

D、break语句是switch语句的一部分

10、C语言规定:

调用一个函数时,实参变量和形参变量之间的数据传递是()。

A、地址传递B、值传递

C、由实参传给形参,并由形参传回给实参D、由用户指定传递方式

11、下述C语言转义符中()是非法的。

A、'\b'B、'\037'C、'\0xf'D、'\''

12、为了要计算s=10!

(10的阶乘),则以下对s的定义正确的是()。

A、intsB、unsignedsC、shortsD、longs

13、判断变量ch中的字符是否为大写字母,最简单的正确表达式是()。

A、ch>='A'&&ch<='z'B、A<=ch<=Z

C、'A'<=ch<='z'D、ch>=A&&ch<=z

14、在C语言中,能表示无符号长整型常数的是()。

A、OLB、4962710UC、912374uD、2UL

15、能正确表示C语言的字符常量的是()。

A、'\0x41'B、''A''C、'\0'D、''\0''

16、C语言中逻辑表达式的值为()。

A、0或1B、非零值或零值C、true或falseD、'true'或'false'

17、C语言提供的基本数据类型关键字是()。

A、integerB、FLOATC、unsignedD、Double

18、若定义语句:

intb[]={1,2,3,4,5},*P=b;则表达式*p++的值是()。

A、1B、2C、b[0]的地址D、b[1]的地址

19、在下列选项中,不正确的表达式是()。

A、a>bB、c--,++b,a+=1C、a=c+b>n-m=kD、p++

20、若有以下定义:

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

charcl='b',c2='2';

则数值不为2的表达式是()。

A、a[1]B、'd'-clC、a['3'-c2]D、c2-0

21、右有定义:

inta,*p=&a;*pp=&p;则与a=100;等价的语句是()。

A、**p=100;B、**pp=100;C、&*p=100;D、*pp=100;

22、若有以下定义:

char*s[5]={''BOY'',''BOX'',''BELL'',''BYE''};

intk=1

则puts(s[k++]);的输出是()。

A、BOYB、BOXC、BELLD、B

23、标准库函数fgets(s,n,f)的功能是()。

A、从文件f中读取长度为n的字符串,存入指针,所指的内存

B、从文件f中读取长度不超过n-1的字符串,存入指针,所指的内容

C、从文件f中读取n个字符串,存入指针s所指的内存

D、从文件f中读取长度为n-1的字符串,存入指针s所指的内存

24、设有说明int(*ptr)[M];其中标识符ptr是()。

A、M个指向整型变量的指针

B、指向M个整型变量的函数指针

C、一个指向其有M个整型元素的一组数组的指针

D、具有M个指针的一维指针数组,每个元素都只能指向整型变量

25、下述对C语言字符数组的描述中错误的是()。

A、字符数组可以存放字符串

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

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

D、不可以用关系运算符对字符组中的字符串进行比较

26、有如下定义:

char*aa[2]={''abed'',''ABCE''};则以下说法正确的是()。

A、aa数组元素的值分别是''bed''和''ABCD''

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

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

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

27、以下程序的输出结果是()。

main()

{inti=010,j=10,k=ox10;

printf(''%d,%d,%d\n'',i,j,k);

A、8,10,16B、8,10,10C、10,10,10D、10,10,16

28、以下程序的输出结果是()。

#include<stdio.h>

main()

{printf(''%d\n'',NULL);}

A、不确定的值(因变量无定义)B、0C、-1D、1

29、以下程序的输出结果是()。

main()

{charc1='6',c2='0';

printf(''%d,%d,%d\n'',c1,c2,c1-c2);

A、因输出格式不合法,输出出错信息B、54,48,6

C、6.0,7D、6,0,6

30、指针s所指字符串的长度为()。

char*s=''\t\''Name\\abcd\n'';

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

31、设有说明int(*p)[M];其中标识符p是()。

A、M个指向整型变量的指针

B、指向M个整型变量的函数指针

C、一个指向其有M个整型元素的一组数组的指针

D、具有M个指针的一维指针数组,每个元素都只能指向整型变量

32、下述对C语言字符数组的描述中错误的是()。

A、字符数组可以存放字符串

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

C、可以在赋值语句中通过赋值运算符''=''对字符数组整体赋值

D、不可以用关系运算符对字符组中的字符串进行比较

33、TurboC中,对于以下程序()。

main()

{intx,y;

y=creat(&x);

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

creat(inta)

{returna++;}

A、编译时会给出错信息

B、顺利进行编译、连接、执行;不报任何错误

C、顺利通过编译、连接、但不能执行

D、顺利通过编译,但连接出错

34、设有如下定义:

intx=10,y=4,z;

则语句:

printf(''%d\n'',z=(x%y,x/y));

的输出结果是()。

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

35、下述程序段的输出结果是()。

main()

{intx=10,y=10;

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

A、10,10B、11,11C、11,10D、10,11

36、定义如下变量和数组:

intj;

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

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

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

printf(''%d'',x[i][2-i]);

A、159B、147C、357D、369

37、若要求在if后一对圆括号中表示a不等于0的关系,则不能正确表示这一关系的表达式为()。

A、a<>0B、!

aC、a=0D、a

38、若m,y,z均为int型变量,则执行下面语句后m值是()。

m=1;x=2;y=3;z=4;

m=(m<x.﹚?

m:

x;

m=(m<y﹚?

m:

y;

m=(m<z=?

m:

z;

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

39、若有定义:

inta=7;floatx=2.5,y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值是()。

A、2.500000B、2.750000C、3.500000D、0.000000

40、如下说法不正确的是()。

A、c>a+b等效于c>(a+b)

B、若a,b均为真,则a||b为真

C、表达式'c'&&'d'的值为0

D、逻辑运算符!

比逻辑运算符||的优先级高

41、putchar()函数可以向终端输出一个()。

A、整型变量表达式值B、字符

C、字符串D、实型变量值

42、表达式18/4*sqrt(4.0)/8值的数据类型为()。

A、intB、floatC、doubleD、不确定

43、若已定义a为整型变量:

a=-2L;

printf(''%d\n'',a);

则以上语句()。

A、赋值不合法B、输出值为-2C、输出为不确定值D、输出值为2

44、设有如下定义:

char*aa[2]={''abcd'',''ABCD''};

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

A、aa数组元素的值分别是''abcd''和''ABCD''

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

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

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

45、若int类型数据占两个字节,则以下语句的输出为()。

intk=-1;

printf(''%d,%u\n'',k,k);

A、-1,-1B、-1,32767C、-1,32768D、-1,65535

46、已知字母a的ASCII码十进制值为97,则执行以下语句后的输出为()。

chara='a';

a--;

printf(''%d,%c\n'',a+'2'-'0',a+'3'-'0');

A、b,cB、a—运算不合法,故有语法错

C、98,cD、格式描述和输出项不匹配,输出无定值

47、下面语句中()是C语言的正确赋值语句。

A、a=1,b=2B、I++;C、a=b=5D、y=int(x);

48、设有以下说明语句

structstu

{inta;

floatb;

}stutype;

则下面的叙述不正确的是()。

A、struct是结构体类型的关键字B、structstu是用户定义的结构体类型

C、stutype是用户定义的结构体类型名D、a和b都是结构体成员名

49、能正确表示:

当x的取值范围在[1,10]或[100,110]内为真,否则为假的表达式是()。

A、(x>=1)&&(x<=10)&&(x>=100)&&(x<=110)

B、(x>=1)||(x<=10)||(x>=100)||(x<=110)

C、(x>=1)&&(x<=10)||(x>=100)&&(x<=110)

D、(x>=1)||(x<=10)&&(x>=100)&&(x<=110)

50、设n为整型变量,则循环语句for(n=10;n>0;n--)的循环次数为()。

A、10B、9C、11D、12

51、在对文件进行操作时,若要求文件的位置指针回到文件的开头,则应当调用的库函数是()。

A、fopen()B、fseek()C、fclose()D、rewind()

52、下列哪个数组定义是正确的()。

A、inta[5.5];B、INTa[10];C、inta[n];D、inta[3+2];

53、一个变量的指针就是()。

A、变量的地址B、变量的值C、变量的名称D、变量的类型

54、有说明语句:

int*fun();其意义是()。

A、函数fun返回一个int值B、函数fun返回一个指向int型变量的指针

C、函数fun是一个指向函数的指针D、函数fun返回一个int值

55、下列正确的说法是()。

A、宏替换是在程序运行时进行的

B、函数调用是在程序编译时进行的

C、宏替换时,如果实参是表达式,应先求表达式的值,再替换

D、函数调用时,如果实参是表达式,应先求表达式的值,再替换

56、对于数学式

/2a,下面正确的C语言表达式是()。

A、sqr(x)/2aB、sqr(x)/2*aC、sqrt(x)/(2*a)D、sqrt(x)/2*a

57、若int类型数据占2字节,则以下语句的输出为()。

intk=32768;

printf(''%d,%u\n'',k,k);

A、-1,65535B、-1,32767C、-1,-1,D、-32768,32768

58、如果有定义char**s;,那么()是正确的赋值语句。

A、*s=''Hello'';B、s=''Hello'';C、*s='A';D、**s==''Hello’’;

59、下面程序中()有错误。

1)#include<stdio.h>

2)main()

3){

4)inta[3]={0,0,0};

5)inti;

6)for(i=0;i<3;i++﹚scanf(''%D'',&a[i]);

7)for(i=1;i<3;i++﹚a[0]=a[0]+a[i];

8)printf(''%d\n'',a[0]);}

A、第4行B、第6行C、第7行D、第8行

60、下面程序的运行结果()。

main()

{unsigneda=3,b=10;

printf(''%d\n''a<<2|b>>1=;

}

A、3B、10C、13D、14

61、已定义x为float型变量。

x=213.82631;

Printf(''%-4.2f\n'',x);

则以上程序()。

A、输出格式描述符的域宽不够,不能输出B、输出为213.83

C、输出为213.82D、输出为-213.82

62、设已定义整型变量K,则下面的程序输出为()。

k=017;s=111;

printf(''%d'',++k);

printf(''%x\n'',s++);

A、156fB、1670C、1571D、166f

63、不能正确表示a*b/c*d的C语言表达式是()。

A、a*b/c*dB、a/(c*d)*bC、a*b/c/dD、a*b/(c*d)

64、下列()表达式不满足;当x的值为偶数时值为“真”,为奇数时值为“假”。

A、x%2==0B、!

x%2!

=0C、x/2*2-x==0D、!

(x%2)

65、设已定义k为int型变量,则下面while循环执行()次。

k=10;

while(k=0)k=-1;

A、执行10次B、无限循环C、一次也不执行D、执行一次

66、说明语句int(*p);的含义是()。

A、p是一个指向一个一维数组的指针变量

B、p是指针变量,它指向一个整型数据的指针

C、p是一个指向函数的指针,该函数返回一个整型值

D、p是一个返回指针值的函数,该指针指向整型数据

67、用高级语言编写的程序称之为()。

A、源程序B、目标程序C、汇编程序D、命令程序

68、设有如下枚举类型定义:

enumlanguage{Basic=3,Assembly,Ada=100,COBOL,Fortran};

枚举量Fortran的值为()。

A、4B、7C、102D、103

69、有以下程序的输出结果为()。

main()

{chara=0x95,b,c;

b=(a&0xf)<<4;

c=(a&0xf0)>>4;

a=b|c;

printf(''%x\n'',a);

}

A、24B、59C、34D、56

70、下述程序段的输出结果是()。

inta=3;b=4;

intc=a^b>>3;

printf(''%d'',c)

A、3B、4C、5D、6

71、下面程序段中调用fun函数传送实参a和b;

main()

{chara[10],b[10];

fun(a,b);

}

则在fun函数首部中,对形参错误的定义是()。

A、fun(chara[10],b[10]){…}B、fun(chara1[],chara2[]){…}

C、fun(charp[10],charq[10]){…}D、fun(char*s1,char*s2){…}

72、若有以下定义:

main()

{int(*a)(),*b(),w[10],c;

fun(int*c){…}

}

对fun函数的正确调用语句是()。

A、a=fun;a(w);B、fun(*a)(&c);

C、b=fun;*b(w);D、fun(b);

73、设int型变量在内存中占用两个字节存储单元,定义如下结构体:

structstudent

{charname[10];

charsex;

intage;

struct

{intyear;

intmonth;

intday;

}birth;

}stul;

则表达式sizeof(stul)的值是()。

A、5B、8C、2D、26

75、下述程序段的运行结果是()。

#include

main()

{intm=7,n=4;

floata=38.4,b=0.4,x;

x=m/2+n*a/b+1/2;

printf(''%f\n'',x);

}

A、22B、387.000000C、27D、26

76、下面程序的运行结果是()。

main()

{intcl=2,c2=0;

while(!

c2--)

printf(''%d%d'',cl--,c2);

}

A、陷入死循环B、不输出任何内容

C、输出2-1D、输出20

77、下面程序的运行结果是()。

intm=4,n=6;

max(intx,inty)

{intmax;

max=x>y?

x:

y;

return(max);

}

main()

{intm=10;

printf(''%d\n'',max(m,n));

}

A、4B、10C、6D、5

78、下面程序的运行结果是()。

fun(intp)

{intk=1;

statict=2;

k=k+1;

t=t+1;

return(p*k*t);

}

main()

{intx=4;

fun(x);

printf(''%d\n'',fun(x));

}

A、4B、32C、30D、16

79、阅读下面的程序:

main()

{charch;

scanf(''%c'',&ch);

if(ch>='a'&&ch<='z')

ch=ch-32;

printf(''%c'',ch);

}

若输入字符为:

e,则程序运行结果为()。

A、EB、AC、eD、z

80、下面程序的运行结果是()。

main()

{staticinta[3][3]={{3,2,1},(4,5,6),{-2,9,1}};

inti,j,sum=0;

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

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

{if(i==j)

sum=sum+a[iJ[j]];

}

printf(''sum=%d'',sum);

}

A、sum=10B、sum=9C、9D、10

81、下面程序的运行结果是()。

#include

#include

main()

{char*sl=''AbcDeG'';

char*s2=CdEg'';

s1+=2;

s2+=2;

printf(''%d\n'',strlen(sl)-strlen(s2));

}

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

82、下面程序的运行结果是()。

inta=1,k=10;

fun(intx,inty)

{staticintm=1;

m=m+a;

return(m+x*y);

}

main()

{inta=5,b;

b=fun(a,k);

b=fun(a,k);

printf(''%d'',b);

}

A、20B、30C、40D、53

83、当执行下面程序且输入aboy时,输出的结果是()。

#include

#include

main()

{charss[81]=''ABOY'',hh[81],*pt;

scanf(''%s'',hh);

pt=strcat(ss,hh);

puts(pt);

printf(''%s\n'',hh);

}

A、ABOYaB、ABOYaboy

aaboy

C、ABOYaboyaD、ABOYaboyaboy

84、下述程序的运行结果是()。

#include

voidfun(intx)

{

putchar('0'+(x%10));

fun(x/10);

}

main()

{

printf(''\n'');

fun(1234);

}

A、4321B、321C、21D、1

85、阅读程序:

#include

main()

{inta[10]={1,2,3,4,5,6,7,8,9,0},*P;

p=a;

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

当前位置:首页 > 求职职场 > 简历

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

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