常熟理工学院c语言题库本二.docx
《常熟理工学院c语言题库本二.docx》由会员分享,可在线阅读,更多相关《常熟理工学院c语言题库本二.docx(26页珍藏版)》请在冰豆网上搜索。
常熟理工学院c语言题库本二
下面选项中,不能用作C语言标识符的是(C)。
A._00B.C.D.
下面合法的标识符是(A)。
A.B.-321C.cfD.
可以将高级语言编写的源程序转换为目标程序的软件是(D)。
A.汇编程序B.解释程序C.编辑程序D.编译程序
C语言程序中可以对程序进行注释,注释部分必须用符号(C)括起来。
A.“{”和“}”B.“[”和“]”
C.“/*”和“*/”D.“*/”和“/*”
已有预处理命令“<>”和声明“4,y;”,下面语句中语法正确的是(C)。
A.(2=1);B.((x)%2);
C.
(1);D.
(1);
下列运算符中,优先级最低的是(D)。
A.*B.C.+D.=
逻辑“异或”运算可描述为当且仅当a、b两个操作数中只有一个为真时才为真,其他情况下均为假。
下面能够正确表示逻辑“异或”运算的表达式是(D))。
A.abB.ab
C.()!
(ab)D.(ab)!
()
下面关于和语句的叙述中正确的是(B)。
A.和语句都可以出现在语句中
B.和语句都可以出现在循环语句的循环体中
C.在语句允许出现和语句
D.执行循环语句中的和语句都将立即终止循环
在(e)语句中的e与下面条件表达式等价的是(D)。
A.0B.1C.1D.0
已有函数的定义“(){("'s!
");}”,则调用函数的正确形式是(B)。
A.;B.();C.();D.
(1);
设有下列程序段:
2;
f2()
{3;…}
1;
f1()
{3;…}
关于程序段中各变量的属性,下面叙述中错误的是(D)。
A.x是全局变量,函数f1可以访问,函数f2不能访问
B.y是全局变量,函数f1和函数f2都可以访问
C.z是动态变量,函数f1可访问,函数f2不可访问
D.d是静态变量,函数f1和函数f2都可以访问
已知某编译系统中类型数据的长度是16位,该类型数据的最大值是(A)。
A.32767B.32768C.127D.65535
设7,12,则下列表达式值为3的是(D)。
A.(5)B.(5)
C.5D.()-(5)
已有定义“a[]={5,4,3,2,1}4;”,下列对a数组元素的引用中错误的是(B)。
A.a[]B.a[a[0]]C.a[2*2]D.a[a[i]]
己有声明“0,*p,*q;”,下列正确的语句是(C)。
A.;B.;C.;D.;
C语言中,结构体类型变量在程序执行期间(A)。
A.所有成员一直驻留在内存中
B.只有一个成员驻留在内存中
C.部分成员驻留在内存中
D.没有成员驻留在内存中
若有定义和声明{,,,,b1};;,则下列语句中正确的是(B)。
A.;B.;
C.;D.;
在文件包含预处理语句#的使用形式中,当之后的文件名用双引号括起来时,寻找被包含文件的方式是(C)。
A.仅搜索当前目录
B.仅搜索源程序所在的目录
C.先在源程序所在目录搜索,再按系统设定的标准方式搜索
D.直接按系统设定的标准方式搜索目录
已有定义“a[2][3]={0};*[0];”,下面表达式中有语法错误的是(A)。
A.a[0]=1B.p[0]=1C.*1D.a[0][0]=1
下面关于C语言数据文件的叙述中正确的是(D)。
A.文件由码字符序列组成,C语言只能读写文本文件
B.文本由二进制数据序列组成,C语言只能读写二进制文件
C.文件由记录序列组成,可按数据的存放形式分为文本文件和二进制文件
D.文件由数据流序列组成,可按数据的存放形式分为文本文件和二进制文件
下面选项中,不能用作C语言标识符的是(C)。
A.B._10C.D.
下面合法的标识符是(A)。
A.B.-412C.akD.
C语言源程序的三种基本结构是顺序结构、(B)结构和循环结构。
A.递归B.选择C.转移D.嵌套
已有定义“1.23456;i;”,欲将x中的数值保留小数点后两位,第三位进行四舍五入运算,能实现该功能的表达式是(A)。
A.*100+0.5,100.0B.(x*100+0.5)/100.0
C.(()x*100+0.5)00.0D.(100+0.5)/100.0
下面定义符号常量p为3.14中正确的是(D)。
A.p3.14;B.p(3.14)
C.3.14D.p3.14
表达式等价于(A)。
A.0B.1C.x0D.1
下面关于语句和语句的叙述中错误的是(D)。
A.语句和语句都可以实现算法的选择结构
B.语句和语句都能实现多路(两路以上)选择
C.语句可以嵌套使用
D.语句不能嵌套使用
下面关于循环语句、、的叙述中正确的是(A)。
A.三种循环语句都可能出现无穷循环
B.三种循环语句中都可以缺省循环终止条件表达式
C.三种循环语句的循环体都至少被无条件地执行一次
D.三种循环语句的循环体都必须放入一对花括号中
在C语言中和循环的主要区别是(C)。
A.的循环控制条件比的循环控制条件严格
B.允许从外部转到循环体内
C.的循环体至少无条件执行一次
D.的循环体不能是复合语句
若已定义一个有返回值的函数,则下面关于调用该函数的叙述中错误的是(A)。
A.函数调用可以作为一个函数形参
B.函数调用可以出现在表达式中
C.函数调用可以作为一个函数实参
D.函数调用可以作为独立的语句存在
设有下列程序段:
2;
f2()
{3;…}
1;
f1()
{3;…}
关于程序段中各变量的属性,下面叙述中错误的是(D)。
A.x是全局变量,函数f1可以访问,函数f2不能访问
B.y是全局变量,函数f1和函数f2都可以访问
C.z是动态变量,函数f1可访问,函数f2不可访问
D.d是静态变量,函数f1和函数f2都可以访问
若有代数式
,则不正确的C语言表达式是(C)。
A.*y*6B.6*x*
C.6*x**cD.x**6
已有定义“f;”,则下面正确的表达式是(D)。
A.(f)B.(f)C.()D.()
已有定义“a[2][3]”,下面选项中(A)正确地引用了数组a中的基本元素。
A.a[1>2][!
1]B.a[2][0]C.a[1]D.a
已有定义“3,c,*,*;”,则下列语句中错误的是(C)。
A.0;B.,;C.;D.**a
定义一个结构体变量时,系统分配给它的内存是(A)。
A.各成员所需内存总和
B.成员中所占内存最多的容量
C.结构中第一个成员所占内存的容量
D.结构中最后一个成员所占内存的容量
已有枚举类型定义“{E,F,7,H,I};”,下面表达式中除(D)外,其他表达式的机内值均等于10。
A.'\'-1B.C.010+2D.03
下面关于宏的叙述正确的是(A)。
A.宏定义没有数据类型限制
B.宏名必须用大写字母表示
C.宏定义必须位于源程序中所有语句之前
D.宏调用比函数调用耗费时间
设有声明语句“b[3][3]={1,2,3,4,5,6,7,8,9};”,下面语句中不能输出数组元素b[1][2]的值6的是(C)。
A.("",*(*
(1)+2))B.("",*([2][0]-1));
C.("",*
(1)[2]);D.("",*(b[1]+2));
如果要用()函数打开一个新的二进制文件,该文件要既能读也能写,则文件打开方式应为(A)。
A.""B.""C.""D.""
下面选项中,不能用作C语言标识符的是(C)。
A.B.C.D._02
下面合法的标识符是(A)。
A.B.-523C.nbD.
下面叙述中正确的是(B)。
A.C程序的基本组成单位是语句
B.简单C语句必须以分号结束
C.C程序中的每一行只能写一条语句
D.C程序必须在一行内写完
用C语言编写的源程序中,(A)是必不可少的。
A.名为的函数定义B.<>
C.变量定义D.注释部分
C源程序中的命令与是在(A)阶段被处理的。
A.预处理B.编译C.连接D.执行
已有定义“3,4,5;”,则下列表达式中值为0的是(D)。
A.B.a(1)
一元二次方程20有两个相异实根的条件是
且b2-4>0,下面选项中正确的表达式是(C)。
A.0,b*4*a*c>0B.0*4*a*c>0
C.*4*a*c>0D.*4*a*c>0
下面关于语句的说法中正确的是(B)。
A.语句的循环体至少会被执行1次
B.语句的循环体至少会被执行1次
C.语句的循环体至少会被执行1次
D.在C语言中只能用、或语句实现循环结构
下面叙述中正确的是(C)。
A.语句只能用于语句体中
B.语句的作用是:
使程序的执行流程跳出包含它的所有循环
C.语句只能用在循环体内和语句体内
D.在循环体内使用语句和语句的作用相同
对于C语言函数,下列叙述中正确的是(A)。
A.函数的定义不能嵌套,但函数调用可以嵌套
B.函数的定义可以嵌套,但函数调用不能嵌套
C.函数的定义和调用都不能嵌套
D.函数的定义和调用都可以嵌套
设有下列程序段:
2;
f2()
{3;…}
1;
f1()
{3;…}
关于程序段中各变量的属性,下面叙述中错误的是(D)。
A.x是全局变量,函数f1可以访问,函数f2不能访问
B.y是全局变量,函数f1和函数f2都可以访问
C.z是动态变量,函数f1可访问,函数f2不可访问
D.d是静态变量,函数f1和函数f2都可以访问
表达式“'A'+4*25.0-'b'”的正确结果是(B)。
A.67B.67.0C.不确定D.67L
存储字符串"\\\'\376"需要的字节数是(D)。
A.11B.13C.6D.7
若有数组a和b的声明“a[]=""[]={'a','b','c','d','e','f'};”则数组a和数组b的长度分别是(A)。
A.7,6B.6,7C.6,6D.7,7
己有声明“a[10]={0,1,2,3,4,5,6,7,8,9},*;”,则不能表示数组a中元素的是(D)。
A.*pB.a[6]C.*aD.p[a]
C语言中,下列属于构造类型的是(D)。
A.整型B.实型C.指针类型D.结构体类型
若有枚举类型定义“{A1,A2,A3,A4=6,A5,A6};”,则枚举常量A2和A6代表的值分别是(B)。
A.1,6B.1,8C.2,6D.2,8
下面叙述错误的是(C)。
A.宏替换不占用程序运行时间B.宏名无类型
C.宏名必须用大写字母表示D.宏替换只是字符替换
已有定义“a[2][3]={1,2,3,4,5,6};”,则下列表达式中不能正确引用值为5的数组元素的是(C)。
A.*(a[0]+4)B.*(a[1]+1)
C.*(*(3)+1)D.*(*4)
若只允许对数据文件做一次打开文件操作,修改其中的数据,则打开文件语句应为“("",(B));”。
A.""B.""C.""D."r"
以下叙述中正确的是
A)程序设计的任务就是编写程序代码并上机调试
B)程序设计的任务就是确定所用数据结构
C)程序设计的任务就是确定所用算法
D)以上三种说法都不完整
以下选项中,能用作用户标识符的是
A)
B)8_8
C)_0_
D)
阅读以下程序
()
{;;
(“请输入2个数:
”);
(“”);
(“\n”);
}
该程序编译时产生错误,其出错原因是
A)定义语句出错,是关键字,不能用作用户自定义标识符
B)定义语句出错,不能用作用户自定义标识符
C)定义语句无错,不能作为输入函数使用
D)定义语句无错,不能输出的值
表达式:
()(()9/2)-(9)%2的值是
A)0
B)3
C)4
D)5
若有定义语句:
10;,则表达式的值为
A)-20
B)-10
C)0
D)10
有以下程序
()
{10;
(“,”);
(“\n”2*b);
}
程序运行后的输出结果是
A)0,0
B)1,0
C)3,2
D)1,2
设有定义:
123;,以下语句中执行效果与其它三个不同的是
A)(a>b);
B)(a>b){;}
C)(a>b);
D)(a>b){;}
有以下程序
()
{0;
(1<3)
(k)
{:
2:
;
4:
2;
}
(“\n”);
}
程序运行后的输出结果是
A)3
B)5
C)7
D)9
以下程序段中,与语句:
>b?
(b>c?
1:
0):
0;功能相同的是
A)((a>b)(b>c))1;
0;
B)((a>b)(b>c)1;
0;
C)(a<)0;
(b<)1;
D)(a>b)1;
(b>c)1;
0;
20)有以下程序
()
{s[]={“012”}0;
(0[i]0)
(s[i]>=’a’[i]<=’z’);
(“\n”);
}
程序运行后的输出结果是
A)0
B)2
C)3
D)5
有以下程序
()
{20;
(>2);
(“\n”);
}
程序运行后的输出结果是
A)02
B)13
C)57
D)12
有以下定义语句,编译时会出现编译错误的是
A)’a’;
B)’\n’;
C)’’;
D)’\x2d’;
有以下程序
()
{c12;
c1=’A’+’8’-‘4’;
c2=’A’+’8’-‘5’;
(“\n”12);
}
已知字母A的码为65,程序运行后的输出结果是
A)E,68
B)D,69
C)
D)输出无定值
有以下程序
(p)
{2;
;(“”);}
()
{1;
(a);(“\n”);}
程序运行后的输出结果是
A)32
B)12
C)21
D)22
以下函数拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能
-2147483647
(x[]n)
{;
(0<)<""/>
{;
(
;
}
造成错误的原因是
A)定义语句;中未赋初值
B)赋值语句;中,不应给赋值
C)语句(
D)赋值语句;放错了位置
有以下程序
()
{12,*,*,*r;
;
(“\n”,*p,*q);
}
程序运行后的输出结果是
A)1,2,1,2
B)1,2,2,1
C)2,1,2,1
D)2,1,1,2
若有定义语句:
a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是
A)
B)q[i][i]
C)[i]
D)[2][1]
有以下程序
()
{[][20]={“*”,“*!
”},*[1];
(“,”(p))(“\n”);
}
程序运行后的输出结果是
A)9*
B)9*
C)10*
D)10*
有以下程序
()
{a[]={2,3,5,4};
(0<4)
(2)
{0(a[i]%2)
{0[i];
1[i];
};
1[i[=0;
}
(0<4)(“”[i]);(“\n”);
}
A)3344
B)2050
C)3040
D)0304
结构化程序设计语言编写的程序由三种结构组成:
顺序结构、分支结构和。
一个完整的C程序可以有多个函数,其中有且只能有一个名为的函数。
数学式
所对应的C语言表达式为(m,1/3.0)。
在调用函数("d:
\\","r")时,若d盘根目录下不存在文件,则函数的返回值是。
执行下面程序段中的语句“k=A*1;”后k的值是。
B2
A1
k=A*1;
已有定义“c;”,则表达式*值的类型为。
C语言有效的预处理命令总是以开头。
已有定义“a[10],*3;”,则数组a的最后一个元素是p[]。
已有定义“12;a;”,则执行语句“5;”后,a的值为。
若要声明一个类型名,使得定义语句s等价于*s,则声明语句是。
程序设计语言的发展经历了几个阶段:
机器语言、汇编语言和。
一个C程序总是从函数开始执行的。
已有定义“5,10;”,则计算的库函数调用形式是。
已有定义“'a';”,则表达式'a'+'A'的值为字符的编码。
表示“x≥y≥z”的C语言表达式是x>。
C语言有效的预处理命令总是以开头。
常量'\n'的数据类型是。
已有定义“b[10],*,*q;[5];”,则表达式的值是。
在文件中,以符号常量作为文本文件(字符流文件)的结束标记,代表的值是。
若要声明一个类型名,使得定义语句s等价于*s,则声明语句是。
结构化程序设计语言编写的程序由三种结构组成:
顺序结构、和循环结构。
C语言中除复合语句外的其它所有语句都以结束。
已有定义“10,5;”,则计算的库函数调用形式是。
C语言有效的预处理命令总是以开头。
已有定义“1;2;3;4;”,则表达式“”值的类型为。
用定义一个长度为10的整型数组的语句是。
执行下面程序段中的语句“k=A*1;”后k的值是。
B2
A1
k=A*2;
已有定义“a[][4]={1,2,3,4,5,6,7,8,9};”,则数组a第一维的大小是。
程序中已使用预处理命令“<>”,为使语句“("","r");”能正常执行,在该语句之前必须有定义;。
执行“(",",a,b,c,d);”后在屏幕上将输出个整数。
C语言中除复合语句外的其它所有语句都以( 分号 )结束。
数学式
所对应的C语言表达式为(m,( 1/3.0 ))。
判断字符变量c是英文字母的表达式是( c>='a'<='z'c>='A'<='Z' )。
一个C程序在运行时,如果没有发生任何异常情况,则只有在执行了( )函数的最后一条语句或该函数中的语句后,程序才会终止运行。
已有定义“3;”,则执行语句
“("",(2*3.14159*r));”时输出( 8 )。
若二维数组a有n列,则在存储该数组时,a[i][j]之前有( i* )个数组元素。
已有定义“1[10]="",2[10]="a\\0";”,则执行语句“("",((1,2)));”的输出结果是( 3 )。
结构类型的每个成员的数据类型可以是基本数据类型,也可以是( 构造 )类型。
若已有定义“{A,B,C};”,则执行语句“("\n",2);”后输出结果是( 2 )。
已知数据文件是通过执行下列程序建立的,若在另一个程序运行时需要从该数据文件中正确读取数据,则正确的读文件库函数的函数名是( )。
<>
()
{*=("","");
x=25.0;
(,(),1,);
();
0;
}
C语言没有提供用于数据输入及输出的语句,所有的输入与输出都是通过系统提供的( )来实现的。
已有定义“3.14159;n;”,则计算表达式“n=x*100+0.5,100.0”后x的值是( )。
已有定义“;b;”执行语句“("",,);”时如果从键盘输入的数据是“110”,则变量b得到的值是( )。
若一个函数不需要形参,则在定义该函数时,应使形式参数表为空或放置一个( )。
若在某个C编译系统中,如果一个变量能正确存储的数据范围为整数-32768~32767,则该变量在内存中占( )字节。
系统库函数和在被调用执行时都可以读取从键盘输入的一串数字字符,其中函数()具有将读取的数字字符串转换为整型数的功能。
已有定义“a[3][2]={{6,5},{4,3},{2,1}},*[1];”则执行语句“("\n",*
(2));”后的输出结果是( )。
若程序中已经声明了一个结构类型以及结构变量,则访问该结构变量成员的形式是( )。
若已有定义“{A,B,C};”,则执行语句“("\n",1);”后输出结果是( )。
下列程序段的输出是( )。
*a[2]={"",""},**;
(",",*()+1);
("\n",**1);
结构化程序设计语言编写的程序由三种结构组成:
顺序结构、分支结构和( 循环结构 )。
已有定义“n;”,则数学公式“
”对应的C语言表达式是( 3.0/4*n*(4*(n,2)-1) )。
已有定义“23;”,则执行表达式“(m>n)(>0)”后m的值为( 2 )。
变量的值在函数调用结束后仍然保留,以便下一次调用该函数时使用,可以将局部变量定义为( )类型。
数学式
所对应的C语言表达式为( (a**b)/() )。
若有表达式为(x)(y),其中代表运算符,x、y代表操作数。
若是“+”运算符,且x和y均为常量时,不能同时为( 字符串 )常量。
已有定义“*"\n";2,3;”,则语句“(s,a,b);”的输出结果是( 2,3 )。
使用()函数计算结构的长度的表达式是( () )。
若已有定义“{A,B,C};”,则执行语句“("\n",1);”后输出结果是( 2 )。
下列程序段的输出是( 713 )。
F(x)x-2
D(x)x*F(x)
("",D(3),D(D(3)));
题目:
本程序的功能是:
以每行5个的格式输出2~2000之间满足下列条件的数:
(1)该数是素数;
(2)从个位开始依次去掉一位数字后的数仍然是素数。
例如,233是素数,23和2仍然是素数,则233满足条件。
改正程序中的错误。
注意:
不能增加、删除语句,但可以调换语句的位置。
【含有错误的程序代码】
(1)<>
(2)(n)/*判断n是否为素数的函数*/
(3){i;
(4)(2<1)
(5)(0)
(6)0;
(7)1;
(8)}
(9