常熟理工学院 c语言题库.docx

上传人:b****5 文档编号:8102380 上传时间:2023-01-28 格式:DOCX 页数:22 大小:31.69KB
下载 相关 举报
常熟理工学院 c语言题库.docx_第1页
第1页 / 共22页
常熟理工学院 c语言题库.docx_第2页
第2页 / 共22页
常熟理工学院 c语言题库.docx_第3页
第3页 / 共22页
常熟理工学院 c语言题库.docx_第4页
第4页 / 共22页
常熟理工学院 c语言题库.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

常熟理工学院 c语言题库.docx

《常熟理工学院 c语言题库.docx》由会员分享,可在线阅读,更多相关《常熟理工学院 c语言题库.docx(22页珍藏版)》请在冰豆网上搜索。

常熟理工学院 c语言题库.docx

常熟理工学院c语言题库

下面选项中,不能用作C语言标识符的是(C)。

A._00B.printC.&bD.FOR

下面合法的标识符是(A)。

A.IFB.-321C.cfD.int

可以将高级语言编写的源程序转换为目标程序的软件是(D)。

A.汇编程序B.解释程序C.编辑程序D.编译程序

C语言程序中可以对程序进行注释,注释部分必须用符号(C)括起来。

A.“{”和“}”B.“[”和“]”

C.“/*”和“*/”D.“*/”和“/*”

已有预处理命令“#include<>”和声明“intx=4,y;”,下面语句中语法正确的是(C)。

A.if(x%2=1)y=x;B.if(sqrt(x)%2)y=x;

C.if(x==1)y=x;D.if(x==1)y=&x;

下列运算符中,优先级最低的是(D)。

A.*B.!

=C.+D.=

逻辑“异或”运算可描述为当且仅当a、b两个操作数中只有一个为真时才为真,其他情况下均为假。

下面能够正确表示逻辑“异或”运算的表达式是(D))。

A.a||bB.a&&b

C.(a&&b)&&!

(a||b)D.(a||b)&&!

(a&&b)

下面关于continue和break语句的叙述中正确的是(B)。

A.continue和break语句都可以出现在switch语句中

B.continue和break语句都可以出现在循环语句的循环体中

C.在switch语句允许出现continue和break语句

D.执行循环语句中的continue和break语句都将立即终止循环

在while(e)语句中的e与下面条件表达式等价的是(D)。

A.e==0B.e==1C.e!

=1D.e!

=0

已有函数fun的定义“voidfun(void){printf("That'sgreat!

");}”,则调用fun函数的正确形式是(B)。

A.fun;B.fun();C.fun(void);D.fun

(1);

设有下列程序段:

staticinty=2;

voidf2()

{staticfloatd=3;…}

intx=1;

voidf1()

{intz=3;…}

关于程序段中各变量的属性,下面叙述中错误的是(D)。

A.x是全局变量,函数f1可以访问,函数f2不能访问

B.y是全局变量,函数f1和函数f2都可以访问

C.z是动态变量,函数f1可访问,函数f2不可访问

D.d是静态变量,函数f1和函数f2都可以访问

已知某编译系统中singedint类型数据的长度是16位,该类型数据的最大值是(A)。

A.32767B.32768C.127D.65535

设k=7,x=12,则下列表达式值为3的是(D)。

A.x%=(k%=5)B.x%=(k-k%5)

C.x%=k-k%5D.(x%=k)-(k%=5)

已有定义“inta[]={5,4,3,2,1},i=4;”,下列对a数组元素的引用中错误的是(B)。

A.a[--i]B.a[a[0]]C.a[2*2]D.a[a[i]]

己有声明“inta=0,b=l,*p,*q;”,下列正确的语句是(C)。

A.a=p;B.b=q;C.p=&a;D.p=&q;

C语言中,结构体类型变量在程序执行期间(A)。

A.所有成员一直驻留在内存中

B.只有一个成员驻留在内存中

C.部分成员驻留在内存中

D.没有成员驻留在内存中

若有定义和声明typedefenum{green,red,yellow,blue,b1ack}color;colorflower;,则下列语句中正确的是(B)。

A.green=red;B.flower=red;

C.color=red;D.enum=red;

在文件包含预处理语句#include的使用形式中,当之后的文件名用双引号括起来时,寻找被包含文件的方式是(C)。

A.仅搜索当前目录

B.仅搜索源程序所在的目录

C.先在源程序所在目录搜索,再按系统设定的标准方式搜索

D.直接按系统设定的标准方式搜索目录

已有定义“inta[2][3]={0};*p=a[0];”,下面表达式中有语法错误的是(A)。

A.a[0]=1B.p[0]=1C.*p=1D.a[0][0]=1

下面关于C语言数据文件的叙述中正确的是(D)。

A.文件由ASCII码字符序列组成,C语言只能读写文本文件

B.文本由二进制数据序列组成,C语言只能读写二进制文件

C.文件由记录序列组成,可按数据的存放形式分为文本文件和二进制文件

D.文件由数据流序列组成,可按数据的存放形式分为文本文件和二进制文件

下面选项中,不能用作C语言标识符的是(C)。

A.FORB._10C.&hD.print

下面合法的标识符是(A)。

A.IFB.-412C.akD.char

C语言源程序的三种基本结构是顺序结构、(B)结构和循环结构。

A.递归B.选择C.转移D.嵌套

已有定义“floatx=;inti;”,欲将x中的数值保留小数点后两位,第三位进行四舍五入运算,能实现该功能的表达式是(A)。

A.i=x*100+,x=i/B.x=(x*100+/

C.x=((int)x*100+/D.x=(x/100+/

下面定义符号常量p为中正确的是(D)。

A.#definep;B.#definep

C.#definep=D.#definep

表达式!

x等价于(A)。

A.x==0B.x==1C.x!

=0D.x!

=1

下面关于if语句和switch语句的叙述中错误的是(D)。

A.if语句和switch语句都可以实现算法的选择结构

B.if语句和switch语句都能实现多路(两路以上)选择

C.if语句可以嵌套使用

D.switch语句不能嵌套使用

下面关于循环语句for、while、do_while的叙述中正确的是(A)。

A.三种循环语句都可能出现无穷循环

B.三种循环语句中都可以缺省循环终止条件表达式

C.三种循环语句的循环体都至少被无条件地执行一次

D.三种循环语句的循环体都必须放入一对花括号中

在C语言中while和do-while循环的主要区别是(C)。

A.while的循环控制条件比do-while的循环控制条件严格

B.do-while允许从外部转到循环体内

C.do-while的循环体至少无条件执行一次

D.do-while的循环体不能是复合语句

若已定义一个有返回值的函数,则下面关于调用该函数的叙述中错误的是(A)。

A.函数调用可以作为一个函数形参

B.函数调用可以出现在表达式中

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

D.函数调用可以作为独立的语句存在

设有下列程序段:

staticinty=2;

voidf2()

{staticfloatd=3;…}

intx=1;

voidf1()

{intz=3;…}

关于程序段中各变量的属性,下面叙述中错误的是(D)。

A.x是全局变量,函数f1可以访问,函数f2不能访问

B.y是全局变量,函数f1和函数f2都可以访问

C.z是动态变量,函数f1可访问,函数f2不可访问

D.d是静态变量,函数f1和函数f2都可以访问

若有代数式

,则不正确的C语言表达式是(C)。

A.x/b/c*y*6B.6*x*y/b/c

C.6*x*y/b*cD.x*y/c/b*6

已有定义“inti;floatf;”,则下面正确的表达式是(D)。

A.(intf)%iB.int(f)%iC.int(f%i)D.(int)f%i

已有定义“inta[2][3]”,下面选项中(A)正确地引用了数组a中的基本元素。

A.a[1>2][!

1]B.a[2][0]C.a[1]D.a

已有定义“intm=3,c,*a=&m,*b=&c;”,则下列语句中错误的是(C)。

A.a=b=0;B.a=&c,b=a;C.&a=&b;D.*b=*a

定义一个结构体变量时,系统分配给它的内存是(A)。

A.各成员所需内存总和

B.成员中所占内存最多的容量

C.结构中第一个成员所占内存的容量

D.结构中最后一个成员所占内存的容量

已有枚举类型定义“enumletter{E,F,G=7,H,I};”,下面表达式中除(D)外,其他表达式的机内值均等于10。

A.'\xb'-1B.F+IC.010+2D.0xf-3

下面关于宏的叙述正确的是(A)。

A.宏定义没有数据类型限制

B.宏名必须用大写字母表示

C.宏定义必须位于源程序中所有语句之前

D.宏调用比函数调用耗费时间

设有声明语句“intb[3][3]={1,2,3,4,5,6,7,8,9};”,下面语句中不能输出数组元素b[1][2]的值6的是(C)。

A.printf("%d",*(*(b+1)+2))B.printf("%d",*(&b[2][0]-1));

C.printf("%d",*(b+1)[2]);D.printf("%d",*(b[1]+2));

如果要用fopen()函数打开一个新的二进制文件,该文件要既能读也能写,则文件打开方式应为(A)。

A."wb+"B."ab+"C."rb+"D."ab"

下面选项中,不能用作C语言标识符的是(C)。

A.printB.INTC.&aD._02

下面合法的标识符是(A)。

A.FORB.-523C.nbD.if

下面叙述中正确的是(B)。

A.C程序的基本组成单位是语句

B.简单C语句必须以分号结束

C.C程序中的每一行只能写一条语句

D.C程序必须在一行内写完

用C语言编写的源程序中,(A)是必不可少的。

A.名为main的函数定义B.#include<>

C.变量定义D.注释部分

C源程序中的命令#include与#define是在(A)阶段被处理的。

A.预处理B.编译C.连接D.执行

已有定义“inta=3,b=4,c=5;”,则下列表达式中值为0的是(D)。

A.a&&bB.a<=bC.a||b&&cD.!

(!

c||1)

一元二次方程ax2+bx+c=0有两个相异实根的条件是

且b2-4ac>0,下面选项中正确的表达式是(C)。

A.a!

=0,b*b-4*a*c>0B.a!

=0||b*b-4*a*c>0

C.a&&b*b-4*a*c>0D.!

a&&b*b-4*a*c>0

下面关于语句的说法中正确的是(B)。

A.while语句的循环体至少会被执行1次

B.do-while语句的循环体至少会被执行1次

C.for语句的循环体至少会被执行1次

D.在C语言中只能用do、do-while或for语句实现循环结构

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

A.break语句只能用于switch语句体中

B.continue语句的作用是:

使程序的执行流程跳出包含它的所有循环

C.break语句只能用在循环体内和switch语句体内

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

对于C语言函数,下列叙述中正确的是(A)。

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

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

C.函数的定义和调用都不能嵌套

D.函数的定义和调用都可以嵌套

设有下列程序段:

staticinty=2;

voidf2()

{staticfloatd=3;…}

intx=1;

voidf1()

{intz=3;…}

关于程序段中各变量的属性,下面叙述中错误的是(D)。

A.x是全局变量,函数f1可以访问,函数f2不能访问

B.y是全局变量,函数f1和函数f2都可以访问

C.z是动态变量,函数f1可访问,函数f2不可访问

D.d是静态变量,函数f1和函数f2都可以访问

表达式“'A'+4*'b'”的正确结果是(B)。

A.67B.67.0C.不确定D.67L

存储字符串"\\\'abc\376"需要的字节数是(D)。

A.11B.13C.6D.7

若有数组a和b的声明“staticchara[]="abcdef",b[]={'a','b','c','d','e','f'};”则数组a和数组b的长度分别是(A)。

A.7,6B.6,7C.6,6D.7,7

己有声明“inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;”,则不能表示数组a中元素的是(D)。

A.*pB.a[6]C.*aD.p[a]

C语言中,下列属于构造类型的是(D)。

A.整型B.实型C.指针类型D.结构体类型

若有枚举类型定义“enumvari{A1,A2,A3,A4=6,A5,A6};”,则枚举常量A2和A6代表的值分别是(B)。

A.1,6B.1,8C.2,6D.2,8

下面叙述错误的是(C)。

A.宏替换不占用程序运行时间B.宏名无类型

C.宏名必须用大写字母表示D.宏替换只是字符替换

已有定义“inta[2][3]={1,2,3,4,5,6};”,则下列表达式中不能正确引用值为5的数组元素的是(C)。

A.*(a[0]+4)B.*(a[1]+1)

C.*(*(a+3)+1)D.*(*a+4)

若只允许对数据文件做一次打开文件操作,修改其中的数据,则打开文件语句应为“fp=fopen("",(B));”。

A."w+"B."r+"C."a+"D."r"

以下叙述中正确的是

A)程序设计的任务就是编写程序代码并上机调试

B)程序设计的任务就是确定所用数据结构

C)程序设计的任务就是确定所用算法

D)以上三种说法都不完整

以下选项中,能用作用户标识符的是

A)void

B)8_8

C)_0_

D)unsigned

阅读以下程序

#include

main()

{intcase;floatprintF;

printf(“请输入2个数:

”);

scanf(“%d%f”,&case,&pjrintF);

printf(“%d%f\n”,case,printF);

}

该程序编译时产生错误,其出错原因是

A)定义语句出错,case是关键字,不能用作用户自定义标识符

B)定义语句出错,printF不能用作用户自定义标识符

C)定义语句无错,scanf不能作为输入函数使用

D)定义语句无错,printf不能输出case的值

表达式:

(int)((double)9/2)-(9)%2的值是

A)0

B)3

C)4

D)5

若有定义语句:

intx=10;,则表达式x-=x+x的值为

A)-20

B)-10

C)0

D)10

有以下程序

#include

main()

{inta=1,b=0;

printf(“%d,”,b=a+b);

printf(“%d\n”,a=2*b);

}

程序运行后的输出结果是

A)0,0

B)1,0

C)3,2

D)1,2

设有定义:

inta=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是

A)if(a>b)c=a,a=b,b=c;

B)if(a>b){c=a,a=b,b=c;}

C)if(a>b)c=a;a=b;b=c;

D)if(a>b){c=a;a=b;b=c;}

有以下程序

#include

main()

{intc=0,k;

for(k=1;k<3;k++)

switch(k)

{default:

c+=k

case2:

c++;break;

case4:

c+=2;break;

}

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

}

程序运行后的输出结果是

A)3

B)5

C)7

D)9

以下程序段中,与语句:

k=a>b?

(b>c?

1:

0):

0;功能相同的是

A)if((a>b)&&(b>c))k=1;

elsek=0;

B)if((a>b)||(b>c)k=1;

elsek=0;

C)if(a<=b)k=0;

elseif(b<=c)k=1;

D)if(a>b)k=1;

elseif(b>c)k=1;

elsek=0;

20)有以下程序

#include

main()

{chars[]={“012xy”};inti,n=0;

for(i=0;s[i]!

=0;i++)

if(s[i]>=’a’&&s[i]<=’z’)n++;

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

}

程序运行后的输出结果是

A)0

B)2

C)3

D)5

有以下程序

#include

main()

{intn=2,k=0;

while(k++&&n++>2);

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

}

程序运行后的输出结果是

A)02

B)13

C)57

D)12

有以下定义语句,编译时会出现编译错误的是

A)chara=’a’;

B)chara=’\n’;

C)chara=’aa’;

D)chara=’\x2d’;

有以下程序

#include

main()

{charc1,c2;

c1=’A’+’8’-‘4’;

c2=’A’+’8’-‘5’;

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

}

已知字母A的ASCII码为65,程序运行后的输出结果是

A)E,68

B)D,69

C)E,D

D)输出无定值

有以下程序

#include

voidfun(intp)

{intd=2;

p=d++;printf(“%d”,p);}

main()

{inta=1;

fun(a);printf(“%d\n”,a);}

程序运行后的输出结果是

A)32

B)12

C)21

D)22

以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能

#defineMIN-47

intfindmax(intx[],intn)

{inti,max;

for(i=0;i

{max=MIN;

if(max

returnmax;

}

造成错误的原因是

A)定义语句inti,max;中max未赋初值

B)赋值语句max=MIN;中,不应给max赋MIN值

C)语句if(max

D)赋值语句max=MIN;放错了位置

有以下程序

#include

main()

{intm=1,n=2,*p=&m,*q=&n,*r;

r=p;p=q;q=r;

printf(“%d,%d,%d,%d\n”,m,n,*p,*q);

}

程序运行后的输出结果是

A)1,2,1,2

B)1,2,2,1

C)2,1,2,1

D)2,1,1,2

若有定义语句:

inta[4][10],*p,*q[4];且0≤i<4,则错误的赋值是

A)p=a

B)q[i]=a[i]

C)p=a[i]

D)p=&a[2][1]

有以下程序

#include

#include

main()

{charstr[][20]={“One*World”,“One*Dream!

”},*p=str[1];

printf(“%d,”,strlen(p));printf(“%s\n”,p);

}

程序运行后的输出结果是

A)9,One*World

B)9,One*Dream

C)10,One*Dream

D)10,One*World

有以下程序

#include

main()

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

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

switch(i%2)

{case0:

switch(a[i]%2)

{case0:

a[i]++;break;

case1:

a[i]--;

}break;

case1:

a[i[=0;

}

for(i=0;i<4;i++)printf(“%d”,a[i]);printf(“\n”);

}

A)3344

B)2050

C)3040

D)0304

 

结构化程序设计语言编写的程序由三种结构组成:

顺序结构、分支结构和。

一个完整的C程序可以有多个函数,其中有且只能有一个名为的函数。

数学式

所对应的C语言表达式为(m,1/。

在调用函数fopen("d:

\\","r")时,若d盘根目录下不存在文件,则函数的返回值是。

执行下面程序段中的语句“k=A*A+1;”后k的值是。

#defineB2

#defineAB+1

k=A*A+1;

已有定义“floatm;doublen;inta;longb;charc;”,则表达式m+n*a/m+b/n+c值的类型为。

C语言有效的预处理命令总是以开头。

已有定义“inta[10],*p=a+3;”,则数组a的最后一个元素是p[]。

已有定义“intn=12;doublea;”,则执行语句“a=n/=5;”后,a的值为。

若要声明一个类型名STR,使得定义语句STRs等价于char*s,则声明语句是。

程序设计语言的发展经历了几个阶段:

机器语言、汇编语言和。

一个C程序总是从函数开始执行的。

已有定义“doublea=5,b=10;”,则计算ab的库函数调用形式是。

已有定义“charch='a';”,则表达式ch=ch-'a'+'A'的值为字符的编码。

表示“x≥y≥z”的C语言表达式是x>=y。

C语言有效的预处理命令总是以开头。

常量'\n'的数据类型是。

已有定义“intb[10],*p=b,*q;q=&b[5];”,则表达式q-p的值是。

在文件中,以符号常量EOF作为文本文件(字符流文件)的结束标记,EOF代表的值是。

若要声明一

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

当前位置:首页 > 工作范文 > 行政公文

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

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