c语言题库模拟题.docx

上传人:b****0 文档编号:12472569 上传时间:2023-04-19 格式:DOCX 页数:132 大小:64.71KB
下载 相关 举报
c语言题库模拟题.docx_第1页
第1页 / 共132页
c语言题库模拟题.docx_第2页
第2页 / 共132页
c语言题库模拟题.docx_第3页
第3页 / 共132页
c语言题库模拟题.docx_第4页
第4页 / 共132页
c语言题库模拟题.docx_第5页
第5页 / 共132页
点击查看更多>>
下载资源
资源描述

c语言题库模拟题.docx

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

c语言题库模拟题.docx

c语言题库模拟题

模拟一

字符串"\\\'efg\'\\"的长度是:

(C).

A、3

B、11

C、7

D、5

设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的

数据类型为(A)。

A、double

B、不确定

C、int

D、float

下列语句的结果是(B)。

main()

{intj;

j=3;

printf("%d,",++j);

printf("%d",j++);

}

A、3,3

B、4,4

C、3,4

D、4,3

逻辑表达式!

(2-1)&&x||0的值是(B)

A、1

B、0

C、3

D、2

inta=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为(C)。

A、3

B、2

C、1

D、不一定

执行语句for(i=1;i++<4;);后变量i的值是(B)。

A、3

B、5

C、4

D、不定

以下正确的描述是(A).

A、只能用continue语句来终止本次循环

B、switch语句中不能出现continue语句

C、在循环中break语句不能独立出现

D、goto语句只能用于退出多层循环

下面合法的语句定义是(A).

A、chara[]={'0','1','2','3','4','5'};

B、inta[]="string";

C、inta[5]={0,1,2,3,4,5};

D、chara="string";

chara[10];不能将字符串"abc"存储在数组中的是(B)。

A、inti;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;

B、a="abc";

C、strcpy(a,"abc");

D、a[0]=0;strcat(a,"abc");

在C语言中,一维数组的定义方式为:

类型说明符数组名(B)。

A、[整型常量]或[整型表达式]

B、[正整型常量表达式]

C、[整型表达式]

D、[常量表达式]

在定义全局变量和局部静态变量的同时赋值,变量的初始化在(C)时确定的.

A、运行

B、编辑

C、编译

D、调试

关于建立函数的目的,以下正确的说法是(A)。

A、提高程序的可读性

B、减少程序文件所占内存

C、减少程序的篇幅

D、提高程序的执行效率

以下函数调用语句中实参的个数是(D)。

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

A、3

B、5

C、语法错误

D、2

设有宏定义#defineSUB(x,y)(x)*y,且a=3,b=4,则SUB(a++,b++)的值为(D).

A、13

B、16

C、20

D、12

变量p为指针变量,若p=&a,下列写法不正确的是(A)。

A、*(p++)==a++

B、&*p==&a

C、(*p)++==a++

D、*&a==a

下列程序正确的运行结果为(C).

#include

main()

{

unionu

{char*name;

intage;

intincome;

}s;

s.name="WANGLING";

s.age=28;

s.income=1000;

printf("%d\n",s.age);

}

A、8

B、28

C、1000

D、不确定

定义my_file为文件型指针变量,使用fopen只读方式打开一个已存在的二进制文件,以下正

确的调用形式为(C).

A、my_file=fopen("my.dat","r");

B、my_file=fopen("my.dat","rb+");

C、my_file=fopen("my.dat","rb");

D、my_file=fopen("my.dat","r+");

若i=3,则printf("%d",-i++);输出的值为-4。

格式字符%x用来以八进制形式输出整数.错

设u=1,v=2,w=3,则逻辑表达式u||v-w&&v+w的值为0.错

已知a=4,b=2,c=3,d=5,表达式a>b?

a:

c

c:

d的值为3.错

break语句能够终止当前进行的多层循环.错

break语句不能终止正在进行的多层循环.对

若有定义和语句:

inta[3][3]={{3,5},{8,9},{12,35}},i,sum=0;

for(i=0;i<3;i++)sum+=a[i][2-i];则sum=21.对

二维数组在内存中存贮时,是按行的顺序进行存储的。

C语言中引用数组元素的方括号可以用花括号代替.错

每次调用函数时,都要对静态局部变量重新进行初始化.错

在程序中的第二个函数之后定义了某全局变量,则该程序的所有函数均可使用它.错

在C程序中,函数既可以嵌套定义,也可以嵌套调用。

在定义宏时,在宏名与带参数的括弧之间不应加空格.对

数组名与指针变量是相互等价的.错

两个类型相同的结构体变量,可以互相赋值.对

C语言中,在打开文件时,必须说明文件的使用方式,"r+"用于打开一个不存在的文件.错

设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为_____.

【参考答案】

1

1.0

1.

在C语言中,long类型数据占_____个字节,short类型数据占_____个字节.

【参考答案】

4

【参考答案】

2

intx=2,y=3,z=4;则表达式x+y>z&&y==z的值为_____.

【参考答案】

0

intx=2,y=3,z=4;则表达式x+y&&(x=y)的值为_____.

【参考答案】

1

C语言中,二维数组在内存中的存放方式为按_____优先存放.

【参考答案】

函数调用时的实参和形参之间的数据是单向的_____传递.

【参考答案】

结构体是不同数据类型的数据集合,作为数据类型,必须先说明结构体_____,再说明结构体变量.

【参考答案】

类型

调用fopen函数打开一文本文件,在"使用方式"这一项中,为输入而打开需填入_____.

【参考答案】

r+

r

模拟二

以下程序段char*alp[]={"ABC","DEF","GHI"};

intj;puts(alp[1]);

的输出结果是(D)。

A、D

B、A

C、B

D、DEF

下列表达式中,可作为C合法表达式的是(D)。

A、3.0%2

B、3=2=1=0

C、[3,2,1,0]

D、(3,2,1,0)

下面程序的正确输出结果是(A).(规定用U表示空格)

main()

{

floatx=5.783,y=-10.2345;

printf("x=%-8.2f,y=%-8.2f\n",x,y);

}

A、x=5.78UUUU,y=-10.23UU

B、x=5.78,y=-10.23

C、5.78,-10.23

D、x=UUUU5.78,y=UU-10.23

当x为偶数或奇数时(0除外),其值都为0的表达式是:

(C)

A、(x/2*2-x)==0

B、x%2==0

C、!

x!

=0

D、!

(x%2)

下列运算符优先级最低的是(A).

A、=

B、+

C、!

D、&&

设有如下程序段:

intk=10;

while(k==0)

k--;

则下述说明中正确的是(A).

A、循环体一次也不执行

B、循环体执行一次

C、死循环

D、循环体执行10次

从循环体内某一层跳出,继续执行循环外的语句是(C)。

A、continue语句

B、空语句

C、break语句

D、return语句

以下对一维整型数组a的正确说明是(D)。

A、inta(10);

B、intn;scanf("%d",&n);inta[n];

C、intn=10,a[n];

D、#defineSIZE10(换行)inta[SIZE];

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

A、intn=5,a[n];

B、inta[]={1,2};

C、chars[10]="test";

D、char*a[3];

下面叙述中不正确的是(C).

A、可以对字符型数组进行整体输入和输出.

B、不可以对浮点型数组进行整体输入和输出.

C、可以对整型数组进行整体输入和输出.

D、字符型数组可以存放字符串.

函数定义时的参数为形参,调用函数时所用的参数为实参,则下列描述正确的是(C).

A、实参与形参是双向传递

B、形参可以是表达式

C、形参和实参可以同名

D、实参类型一定要在调用时指定

以下错误的描述是:

函数调用可以(D)。

A、出现在执行语句中

B、做为一个函数的实参

C、出现在一个表达式中

D、做为一个函数的形参

以下不正确的说法是:

C语言规定(C)。

A、实参可以是常量,变量或表达式

B、实参可以为任何类型

C、形参可以是常量,变量或表达式

D、形参应与其对应的实参类型一致

下列形式,不属于编译预处理命令的是(D).

A、#ifdefM

B、#undefM

C、#if(M>1)

D、while(M>1)

下面判断正确的是(D)。

A、charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]="abc";

B、charstr[10]={"china"};等价于charstr[10];str[]={"china"};

C、char*a="china";等价于char*a;*a="china";

D、char*s="china";等价于char*s;s="china";

若有以下结构体定义:

structexample

{intx;

inty;

}v2;

则(D)是正确的引用或定义.

A、example.x=10;

B、structv2;v2.x=10;

C、examplev2;v2.x=10;

D、structexamplev2={10,3};

若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数

feof(fp)的值为(D)。

A、-1

B、1

C、一个非0值

D、0

如果有一个字符串,其中第十个字符为'\n',则此字符串的有效字符为9个。

格式字符%o用来以十六进制形式输出整数.错

已知a=3,b=4,c=5,则逻辑表达式!

(a>b)&&!

c||1的值为1.对

已知x=2,y=2,执行分支语句if(x==y)y=1;elsey=-1;后,y=-1.错

continue语句对于while和do-while循环来说,意味着转去计算While表达式.对

在do-while循环中,根据情况可以省略while.错

对于字符数为n个的字符串,其占用的内存为n+1个字节空间.对

puts函数用来输出一个字符.错

引用数组元素时,下标可以是整型表达式或整型常量.对

函数调用结束后,静态局部变量所占用的空间被释放.错

在一个函数中定义的静态局部变量可以被另一个函数调用.错

当全局变量与局部变量同名时,在局部变量的作用域范围之内,全局变量起作用.错

计算机编译系统对宏定义在编译时进行语法检查.错

若定义intarray[5],*p;则赋值语句p=array;是正确的.对

共同体变量所占的内存长度等于最长的成员的长度。

C语言中,打开一个文件就意味着产生了一个文件.错

设x的值为15,n的值为2,则表达式x%=(n+=3)运算后x的值是_____.

【参考答案】

0

已知a=-13,b=6,a%b的十进制数值为_____.

【参考答案】

-1

已知a=12,写出表达式0

【参考答案】

0

已知i=5,写出语句a=(i>5)?

0:

1;执行后整型变量a的值是_____.

【参考答案】

1

C语言中,数组名是一个不可变的_____常量,不能对它进行加减和赋值运算.

【参考答案】

指针

地址

C语言中一个函数由函数首部和_____两部分组成.

【参考答案】

函数体

设有以下共用体类型说明和变量定义,则变量c在内存所占字节数是_____。

unionstud{shortintnum;charname[10];floatscore[5];doubleave;}c;

【参考答案】

20

在C语言中,关闭文件即是文件指针不再指向该_____.

【参考答案】

文件

模拟三

sizeof(float)是(C)。

A、一个浮点表达式

B、一个不合法的表达式

C、运算结果是一个整型表达式。

D、一种函数调用

下列数据中属于"字符串常量"的是(B)。

A、'A'

B、"ABC"

C、ABC

D、'ABC'

用下面的scanf函数输入数据,使得i=10,k=15选择正确的键盘输入方法(B).

(用"[CR]"表示回车,U表示空格)

main()

{inti,k;

scanf("i=%d,k=%d",&i,&k);

}

A、i=10[CR]k=15[CR]

B、i=10,k=15[CR]

C、10U15[CR]

D、10,15[CR]

逻辑表达式3<2||-1&&4>3-!

0的值为:

(A)

A、1

B、3

C、0

D、2

下列运算符中是C语言关系运算符的是(C)。

A、&

B、~

C、!

=

D、!

语句while(!

E);中的表达式!

E等价于(D)。

A、E==1

B、E!

=0

C、E!

=1

D、E==0

以下正确的描述是(A).

A、只能在循环体内和switch语句内使用break语句

B、continue语句的作用是终止整个循环的执行

C、从多层嵌套的外层循环中退出时,只能使用goto语句

D、在循环体内使用break和continue语句的作用相同

下面各语句中,能正确进行赋字符串操作的语句是(B).

A、chars1[5][]={"ABCDE"};

B、chars2[6]={'A','B','C','D','E'};

C、charst[][]={"ABCDE"};

D、chars[5]={'A','B','C','D','E'};

若有说明:

inta[3][4]={0};则下面正确的叙述是(A)。

A、数组a中每个元素均可得到初值0

B、只有元素a[0][0]可得到初值0

C、数组a中各元素都可得到初值,但其值不一定为0

D、此说明语句不正确

若有说明inta[3][4];则a数组元素的非法引用是(B)。

A、a[1][3]

B、a[0][4]

C、a[0][2*1]

D、a[4-2][0]

执行下面程序后,输出结果是(D)。

main()

{inta,b,c;

a=45,b=27,c=0;

c=max(a,b);

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

}

intmax(intx,inty)

{intz;

if(x>y)z=x;

elsez=y;

return(z);

}

A、72

B、18

C、27

D、45

以下正确的描述是:

在C语言程序中(B)。

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

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

C、函数的定义和函数的调用均可以嵌套

D、函数的定义和函数的调用均不可以嵌套

在C语言的函数中,下列正确的说法是(B)。

A、形参可以是常量和变量

B、可以有也可以没有形参

C、数组名不能作形参

D、必须有形参

设有宏定义#definePI3.14和#defineS(r)PI*r*r,则S

(2)的值为(B).

A、6.28

B、12.56

C、3.14

D、9.42

inta[10]={1,2,3,4,5,6,7,8};int*p;p=&a[5];p[-3]的值是(D)。

A、4

B、2

C、不一定

D、3

若有以下程序段,则使用错误的选项是(C).

structstudent

{

intnum;

intage;

};

structstudentstu[3]={{1001,20},{1002,19},{1004,20}};

main();

{

structstudent*p;

p=stu;

;

}

A、(*p).num

B、(p++)->num

C、p=&stu.age

D、p++

若以"a+"方式打开一个已存在的文件,则以下叙述正确的是(A)。

A、文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作

B、以上各种说法皆不正确

C、文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作

D、文件打开时,原有文件内容被删除,只可作写操作

#define和printf都不是C语句。

格式字符%x用来以十六进制形式输出整数.对

语句if(a>b)printf("%d",a);elseprintf("%d",b);可以用条件表达式a>b?

a:

b取代.错

逻辑表达式-5&&!

8的值为1.错

循环结构中的continue语句是使整个循环终止执行错

for循环语句不能用于循环次数未知的情况下.错

引用数组元素时,数组元素下标必须是整型常量.错

数组的首地址一定是第一个数组元素的地址.对

数组整体不参加数据处理(即不参加各种运算),参加数据处理的只能是数组的元素.对

数组名作为函数调用时的实参,实际上传递给形参的是数组全部元素的值.错

在主函数中,必须要对被调用函数进行类型说明,否则在编译时会出现错误.错

在一个函数中定义的静态局部变量不能被另外一个函数所调用.对

计算机编译系统对宏定义在编译时进行语法检查.错

指向某一变量的指针,就是该变量的内存地址.对

对于不同类型的数据,若想合成一个有机的整体,可以引用结构体进行定义。

在打开文件时,必须说明文件的使用方式,"r"表示以只读方式打开一个文件.对

intx=2;z=x++-1;则x的值为_____.

【参考答案】

3

设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为_____.

【参考答案】

2.5

设x=62,表达式x>=60&&x<70||x==1的值为_____.

【参考答案】

1

c语言表达式5>2>7>8的值是_____.

【参考答案】

0

字符串比较的库函数是_____,只写函数名即可.【参考答案】

strcmp

从函数的形式上看,函数分为无参函数和_____两种类型.

【参考答案】

有参函数

设有以下共用体类型说明和变量定义,则变量a在内存所占字节数是_____。

unionstud{charnum[6];floats[4];doubleave;}a,*p;

【参考答案】

16

在C语言中,根据要处理的文件存储的编码形式,可以把文件分为ASCII文件和_____文件.

【参考答案】

二进制

模拟四

下列数据中,为字符串常量的是(D)。

A、'A'

B、Howdoyoudo.

C、$abc

D、"house"

以下所列的C语言常量中,错误的是(B)。

A、0xFF

B、1.2e0.5

C、2L

D、'\72'

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

main()

{floatx=3.6;

inti;

i=(int)x;

printf("x=%f,i=%d\n",x,i);

}

A、x=3.600000,i=4

B、x=3i=3.600000

C、x=3,i=3

D、x=3.600000,i=3

若k是整型,则以下程序段的执行结果是:

(B)

k=-3;

if(k<=0)printf("####")

elseprintf("&&&&");

A、####

B、有语法错误,无结果

C、&&&&

D、####&&&&

若x=2,y=3则x||y的结果是(C)。

A、3

B、0

C、1

D、2

针对下列程序段回答问题(B).

for(t=1;t<=100;t++)

{

scanf("%d",&x);

if(x<0)continue;

printf("%3d",t);

}

A、x>=0时什么也不输出

B、最多允许输出100个非负整数

C、printf函数永远也不执行

D、当x<0时整个循环结束

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

main()

{intnum=0;

while(num<=2){num++;printf("%d,",num);}}

A、0,1,2

B、1,2,3,

C、1,2,3,4,

D、1,2,

选择正确的输入语句()。

:

(其中:

charstring[20];)使得string的内容为"Iamstudent".D

A、scanf("%s",string);

B、scanf("%c",&string);

C、scanf("%s",&string);

D、gets(string);

对以下说明语句inta[10]={6,7,8,9,10};的正确理解是(B)。

A、将5个初值依次赋给a[6]至a[10]

B、将5个初值依次赋给a[0]至a[4]

C、因为数组长度与初值的个数不相同,所以此语句不正确

D、将5个初值依次赋给a[1]至a[5]

以下标识符中可以作为用户函数名的是(D).

A、struct

B、int

C、union

D、go_to

以下叙述错误的是(B).

A、函数调用可以出现在一个表达式中

B、函数调用可以作为一个函数的形参

C、函数调用可以作为一个函数的实参

D、函数允许递归调用

若用数组名作为函数的实参,传递给形参的是(B)。

A、数组第一个元素的值

B、数组的首地址

C、数组元素的个数

D、数组中全部元素的值

在C语言程序中(B)。

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

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

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

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

下列说法中正确的是(B).

A、函数调用不占运行时间,只占编译时间.

B、宏替换不占运行时间,只占编译时间.

C、有参数的宏定义,就是函数.

D、在定义宏时,宏名与带参数的括弧之间可以加空格.

若有说明:

int*p,m=5,n;以下正确的程序段是(D)。

A、scanf("%d",&n);*p=n;

B、p=&n;scanf("%d",*p)

C、p=&n;scanf("%d",&p);

D、p=&n;scanf("%d",p);

对于下述定义,不正确的叙述是(B).

uniondata

{inti;

charc;

floatf;

}a,b;

A、变量a的地址和它的各成员地址都是相同的

B、可以在定义时对a初始化

C、变量a所占内存的长度等于成员f的长度

D、不能对变量a赋值

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

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

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

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