C语言 题库.docx

上传人:b****5 文档编号:8008646 上传时间:2023-01-27 格式:DOCX 页数:100 大小:51.18KB
下载 相关 举报
C语言 题库.docx_第1页
第1页 / 共100页
C语言 题库.docx_第2页
第2页 / 共100页
C语言 题库.docx_第3页
第3页 / 共100页
C语言 题库.docx_第4页
第4页 / 共100页
C语言 题库.docx_第5页
第5页 / 共100页
点击查看更多>>
下载资源
资源描述

C语言 题库.docx

《C语言 题库.docx》由会员分享,可在线阅读,更多相关《C语言 题库.docx(100页珍藏版)》请在冰豆网上搜索。

C语言 题库.docx

C语言题库

 该变量已正确定义为整型,则表达式n=i=2,++i,i++[<3>]。

已知字母A的ASCII值为65,下列程序运行后的输出结果是[<67g>]

main()

{chara,b;

a='A'+'5'-'3';b=a+'6'-'2';

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

}

下列isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。

请填空。

intisprime(inta)

{inti;

for(i=2;i<=a/2;i++)

if(a%i==0)[];

[

(1)>];

}

设有定义:

floatx=123.4567;,则执行下列语句后的输出结果是[<123.460000>]

printf("%f\n",(int)(x*100+0.5)/100.0);

若有定义:

inta=4,b=5,c=6;接着顺序执行下列语句后,变量b中的值是[<1>]。

c=(a-=(b-5));

c=(a%3)+(b=1);

若a的值为1,则表达式!

a||++a的值是[<1>]。

下列程序的功能是:

求出数组x中各相临两个元素的和依次存放到数组a中,然后输出。

请填空。

main()

{intx[10],a[9],i;

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

scanf("%d",&x[i]);

for([];i<10;i++)

a[i-1]=x[i]+[];

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

printf("%d",a[i]);

printf("\n");

}

设有定义语句:

inta[][3]={{0},{1},{3}},则数组元素a[1][2]是[<0>]

下列程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行4个输出,请填空。

main()

{inta[10],b[10],i;

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

scanf("%d",&a[i]);

for(i=1;i<10;i++)

[];

for(i=1;i<10;i++)

{printf("%d",b[i-1]);

if(i%4==0)printf("\n");

}

}

下面程序将二维数组a的行和列互换后存放到一个二维数组b中,请填空。

main()

{inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;

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

{

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

[]

}

}

}

下列叙述中错误的是()。

算法正确的程序最终一定会结束。

算法正确的程序可以有零个输出。

算法正确的程序可以有零个输入。

算法正确的程序对于相同的输入一定有相同的结果。

~B

下列叙述中错误的是()。

C程序必须由一个或一个以上的函数组成。

函数调用可以作为一个独立的语句存在。

若函数有返回值,必须通过return语句返回。

函数形参的值也可以传回给对应的实参。

~D

C语言源程序名的后缀是()。

.exe

.c

.obj

.cp

~B

下列叙述中错误的是()。

用户定义的标示符允许使用关键字。

用户定义的标示符应做到“见名知意”。

用户定义的标示符必须以字母或下划线开头。

用户定义的标示符中大、小写字母代表不同标示。

~A

下列关于函数的叙述正确的是()。

每个函数都可以被其他的函数调用(包含main函数)。

每个函数都可以被单独编译。

每个函数都可以单独运行。

在一个函数内部可以定义另一个函数。

~B

下列不合法的用户标示符是()。

j2_key

_int

4d

_8_

~C

下列定义变量的语句中错误的是()。

int_int;

doubleint_;

charfor;

floatus$;

~D

按照C语言规定的用户标示符命名规则,不能出现在标示符中的是()。

大写字母

连字符

数字字符

下划线

~B

对于一个正常运行的C程序,下列叙述正确的是()。

程序的执行总是起止于main函数。

程序的执行总是从第一个函数开始,结束于main函数

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

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

~A

下列叙述正确的是()。

C语言程序从源程序中第一个函数开始执行

可以在程序中由用户指定一个函数作为主函数,程序将从此开始执行

C语言规定必须用main作为主函数名,程序从此开始执行,在次结束

main可作为用户标示符,可以命名任意一个函数作为主函数

~C

下列叙述正确的是()。

C程序中的注释只能出现在程序的开始位置

C程序书写格式严格,要求一行只能写一个语句

C程序书写格式自由,一行可以写多条语句

用C语言编写的程序只能放在一个程序文件中

~C

下列不合法的数值常量是()。

011

1e1

8.0e0.5

0xabc

~C

可在C程序中用作用户标识符的一组是()。

and_2007

datey-m-d

hidr.tom

casebig1

~A

下列关于long、int和short类型数据占用内存大小的叙述正确的是()。

均占4个字节

根据数据的大小来决定所占内存的字节数

由用户自己定义

由C语言编译系统决定

~D

设变量已正确定义并赋值,以下正确的表达式是()。

x=y*5=x+z

int(15.8%3)

x=y+z+3,++y

x=25%5.0

~C

设有定义:

intk=1;floatf=7;则下列选项中错误的表达式是()。

k=k>=k

-k++

k%int(f)

k>=f>=m

~C

表达式3.6-5/2+1.2+5%2的值是()。

4.3

4.8

3.3

3.8

~D

下列叙述中错误的是()。

C程序中的#include和#define行均不是C语句

除逗号运算符外,赋值运算符的优先级最低

C程序中,j++;是赋值语句

C程序中,+、-、*、%是算术运算符,可用于整型数和实型数的运算

~D

下列选项中,当x为大于1的奇数时,值为0的表达式是()。

x%2==1

x/2

x%2!

=0

x%2==0

~D

下列叙述中错误的是()。

C语句必须以分号结束

复合语句在语法上被看作一条语句

空语句出现在任何位置都不会影响程序运行

赋值表达式加上分号就构成赋值语句

~C

下列正确定义且赋初值的语句是()。

intn1=n2=10;

charc=32;

floatf=f+1.1;

doublex=12.3E2.5

~B

若变量已正确定义并赋值,下列合法的语句是()。

x=y==5

x=n%2.5

x+n=i

x=5=1+4

~A

以下定义正确的是()。

inta=b=0;

charA=65+1,b='b';

floata=1,"b=&a,"c=&b;

doublea=0.0;b=1.1;

~B

有下列程序:

*main()

*{chara1='M',a2='m';

*printf("%c\n",(a1,a2));

*}

下列叙述正确的是()。

程序输出M

程序输出m

格式说明符不足,编译出错

程序运行时产生出错信息

~B

有下列程序:

*main()

*{intx,y,z;

*x=y=1;

*z=x++,y++,++y;

*printf("%d,%d,%d\n",x,y,z);

*}

*程序运行的结果是()。

2,3,3

2,3,2

2,3,1

2,2,1

~C

设有定义:

intk=0;下列选项的4个表达式中与其他3个表达式的值不同的是()。

k++

k=k+1

++k

k+1

~A

在C语言中,以下说法不正确的是()。

在C程序中,整数和实数都能被准确无误的表示出来

在C程序中,任何一个变量名都代表存储器的一个位置

静态变量的生存周期与整个程序的运行期相同

C语言中,任何变量都必须先声明才能进行引用

~A

若有以下定义和语句:

*inta=010,b=0x10,c=10;

*printf("%d,%d,%d\n",a,b,c);

*则输出结果是()。

8,10,10

10,10,10

8,8,10

8,16,10

~D

设C语言中,float类型数据占4个字节,则double类型数据占()个字节。

1

2

8

4

~C

以下正确的实型常量()。

E3.4

-12345

2.2e0.8

4

~B

设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是()。

0~255

0~65535

-32768~32767

-256~255

~B

设a和b均为int型变量,且a=6,b=11,则能使值为3的表达式是()。

b%(a%4)

b%(a-a%5)

b%a-a%5

(b%a)-(a%4)

~D

已定义变量a为整型,则不能正确表示9

!

(9

a==10||a==11||a==12||a==13

a>9&&a<14

!

(a<=9)&&!

(a>=14)

~A

以下程序运行的结果是()。

*#include

*main()

*{inta=3,b=4,c=8,d=4,m=1,n=3;

*printf("%d\n",(m=a>b)&&(n=c>d))

*}

0

1

2

3

~A

能正确表示“当x的取值范围在[1,10]和[100,110]范围内为真,否则为假”的表达式是()。

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

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

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

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

~C

若有定义:

inta=4,b=5;floatx=3.4,y=2.1;则下面表达式的值为()。

*(float)(a+b)/2+(int)x%(int)y

5.5

55

5.500000

55.00000

~C

若a为int型变量,则执行以下语句后,a的值为()。

*a=5;a+=a-=a*a;

25

-40

40

-14

~B

若已定义x和y为整型变量,且x=7,则表达式y=2.3+x/2的值是()。

6

5

5.0

6.0

~B

有以下程序:

*main()

*{inty=1,x=2,z=3;

*printf("%d,%d\n",(++x,y++),z+2);

*}

*执行后的输出结果是()。

3,5

2,5

3,3

1,5

~D

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

*main()

*{inta=1,b=2;

*printf("%d,%d\n",--a,++b);

*}

1,2

1,3

0,2

0,3

~D

C语言程序的执行是()。

从程序的主函数开始,到程序的主函数结束

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

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

从程序的第一个函数开始,到程序的主函数结束

~A

下面说法正确的是()。

一个C程序可以有多个函数

一个C语言的函数中只允许有一对花括号

C语言一个语句可以写在一行内,也可以写在多行内

在对C程序进行编译时,可以发现注释行中的拼写错误

~C

以下说法正确的是()。

C程序是以函数为基本单位的,整个程序由函数组成

C语言程序的一条语句可以写在不同的行上

C程序的注释行对程序运行不起作用,所以注释应该尽可能少写

C程序的每个语句都以分号结束

~C

以下标示符不是关键字的是()。

break

char

Switch

return

~C

若要求定义具有10个int型元素的一维数组a,则下列定义语句中错误的是()。

#defineN10

*inta[N]

#definen5

*inta[2*n]

inta[5+5]

intn=10,a[n]

~D

下设有如下程序段

*chars[20]="Beijing",*p;

*p=s;

*则执行p=s;语句后,以下叙述正确的是()。

可以用*p表示s[0]

s数组中元素的个数和p所指字符串长度相等

s和p都是指针变量

数组s中的内容和指针变量p中的内容相同

~A

下列数组定义中错误的是()。

intx[][3]={0};

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

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

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

~B

有以下程序:

*main()

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

*for(i=0;i<3;i++)printf("%d",t[2-i][i]);

*}

*程序执行后的输出结果是()。

753

357

369

751

~B

若有定义语句:

inta[3][6];,按内存中的存放顺序,a数组的第10元素是()。

a[0][4]

a[1][3]

a[0][3]

a[1][4]

~B

以下错误的定义语句是()。

intx[][3]={{0},{1},{1,2,3}};

intx[4][3]={{1,2,3},{1,2,3},{1,2,3}};

intx[4][]={{1,2,3},{1,2,3},{1,2,3}};

intx[][3]={1,2,3,4};

~C

以下不正确的定义语句是()。

doublex[5]={1.0,2.0,3.0,4.0,5.0};

inty[5]={0,1,2,3,4,5}};

charc[]={'1','2','3','4','5'};

charc2[]={'a','b','c'};

~B

若有以下定义,则正确引用数组元素的是()。

*inta[5],*p=a;

*&a[5]

*a+2

*(p+5)

*(a+2)

~D

若有说明:

inta[][3]={0,0};则不正确的叙述是()。

数组a的每个元素的初值都是0

数组a的第一维大小为1

数组a的行数为1

只有元素a[0][0]和a[0][1]初值为0,其余元素得不到初值0

~D

下列二维数组初始化语句中,不正确的是()。

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

intb[3][5]={0,0,0};

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

intb[3][2]={(1,2),(3,4),(5,6)};

~D

有以下程序:

*main()

*{intaa[5][5]={{1,2,3,4},{5,6,1,8},{5,9,10,2},{1,2,5,6}};

*ints=0,i;

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

*s+=aa[i][2];

printf("%d",s);

*}

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

26

19

10

20

~B

*以下程序的输出结果是[<4>]。

*#include

*main()

*{

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

*p=a;p++;

*printf("%d",*p);

*}

*以下程序的输出结果是[<35>]。

*#include

*voidswap(int*a,int*b)

*{

*int*t;

*t=a;a=b;b=t;

*}

*main()

*{

*inti=3,j=5,*p=&i,*q=&j;

*swap(p,q);printf("%d%d",*p,*q);

*}

*下面程序段的运行结果是[<68>]。

*charstr[]="ABCD",*p=str;

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

设已有定义:

floatx;,则下列对指针变量p进行定义且赋初值的语句中正确的是()。

float*p=1024;

int*p=(float)x;

floatp=&x;

float*p=&x;

~D

设有定义语句int(*f)(int);,则以下叙述正确的是()。

f是基类型为int的指针变量

f是指向函数的指针变量,该函数具有一个int类型的形参

f是指向int类型一维数组的指针变量

f是函数名,该函数的返回值是其类型为int类型的地址

~B

设有定义:

intn1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是()。

*p=*q

p=q

*p=&n1;

p=*q

~A

在16位编译系统上,若有定义inta[]={10,20,30},*p=&a;,当执行p++;后,下列说法错误的是()。

p向高地址移了一个字节

p向高地址移了一个存储单元

p向高地址移了两个字节

p与n+1等价

~A

若有定义语句:

intk[2][3],*pk[3];,则下列语句中正确的是()。

pk=k;

pk[0]=&k[1][2];

pk=k[0];

pk[1]=k;

~B

若有定义:

char(*p)[6];则标识符p()。

是一个指向字符型变量的指针

是一个指针数组名

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

定义不合法

~C

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

#include

voidmain()

{charstr[]="abc",*p=str;

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

}

67

0

字符'C'的地址

字符'C'

~B

若有以下定义,则对a数组元素的正确引用是()。

inta[5],*p=a;

*&a[5]

*a+1

*(p+5)

*(a+2)

~D

若变量a和b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句[]。

~~~2

*执行下列程序时,输入1234567,则输出结果是[<1234>]。

*#include

*main()

*{inta=1,b;

*scanf("%2d%2d",&a,&b);printf("%d%d\n",a,b);

*}

数字字符0的ASC||值为48,运行下列程序的输出结果是()。

main()

{chara='1',b='2';

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

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

}

3,2

50,2

2,2

2,50

~C

下列不合法的字符常量是()。

'\018'

'\"'

'\\'

'\xcc'

~A

下列能正确定义字符串的语句是()。

charstr[]={'\064'};

charstr="kx43";

charstr='';

charstr[]="\0";

~D

下列合法的字符型常量是()。

'\x13'

'\081'

'65'

"\n"

~A

已知大写字母A的ASC||码是65,小写字母a的ASC||码是97。

下列不能将变量c中的大字字母转换为对应小写字母的语句是()。

c=(c-'A')%26+'a'

c=c+32

c=c-'A'+'a'

c=('A'+C)%26-'a'

~D

已知字符'A'的ASC||码值是65,字符变量c1的值是'A',c2的值是'D'。

执行语句printf("%d,%d",c1,c2-2);后,输出结果是()。

A,B

A,68

65,66

65,68

~C

下列正确的字符串常量是()。

"\\\"

'abc'

OlympicGames

""

~D

要求通过while循环不断读入字符,当读入字母N时结束循环。

若变量已正确定义,下列正确的程序段是()。

while((ch=getchar())!

='N')printf("%c",ch);

while(ch=getchar()!

='N')printf("%c",ch);

while(ch=getchar()=='N')printf("%c",ch);

while((ch=getchar())=='N')printf("%c",ch);

~A

有以下程序段()。

charch;intk;

ch='a';k=12;

printf("%c,%d,",ch,ch,k);

printf("k=%d\n",k);

已知字符a的ASC||十进制代码为97,则执行上述程序段后输出结果是

因变量类型与格式描述符的类型不匹配输出无定值

输出项与格式描述符个数不符,输出为零值或不定值

a,97,12k=12

a,97,k=12

~D

有定义语句:

intb;charc[10];,则正确的输入语句是()。

scanf("%d%s",&b,&c);

scanf("%d%s",&b,c);

scanf("%d%s",b,c);

scanf("%d%s",b,&c);

~B

设有定义:

inta;floatb;,执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876543.0,a和b的值分别是()。

876和543.000000

87和6.000000

87和543.000000

76和543.000000

~B

设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。

下面的输入形式中正确的是()(注:

□代表空格字符)。

10□X□20□Y

10□X20□Y

10□X20Y

10X20□Y

~A

有下列程序段:

intj;floaty;charname[50];

scanf("%2d%f%s",&j,&y,name);

当执行上述程序段,从键盘上输入555667777abc后,y的值为()。

55566.0

566.0

7777.0

566777.0

~B

以下选项中不是字符常量的是()。

'\v'

'\x2a'

'a'

"\0"

~D

以下选项中非法的字符常量是()。

'\\'

'\020"

'\xAA'

'0'

~B

在执行完下面的C语句段之后,则B的值是()。

chara='A';

intb;

B=((34&&56)&&(a<'b'));

0

1

TRUE

FALSE

~B

若变量已正确定义,以下正确的程序段是(

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

当前位置:首页 > 总结汇报 > 学习总结

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

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