C语言Word下载.docx
《C语言Word下载.docx》由会员分享,可在线阅读,更多相关《C语言Word下载.docx(39页珍藏版)》请在冰点文库上搜索。
,i+++j,i,j);
之后,其输出结果为:
( )。
∙∙A、7,4,4
∙B、7,3,4
∙C、8,4,4
∙D、7,3,5
∙8、若有下列程序段
char
x[80];
scanf(“%s”,x);
printf(“%s”,x);
从键盘上输入字符串“zhangsan”,则输出结果为( )。
∙∙A、zhang
∙B、zhangsan
∙C、zhangsan
∙D、san
∙9、C语言中转义字符“反斜杠线”的表示方法正确的是( )。
∙∙A、”\”
∙B、\\
∙C、\\\
∙D、’\’
∙10、对宏定义的不正确描述( )
∙∙A、宏定义是用宏名代替一个字符串。
∙B、#define的作用范围,是整个源文件有效。
∙C、宏名可以在其它宏定义中引用,可以层层替换。
∙D、用双引号扩起来的字符串,即使与宏名相同,也不进行置换。
∙11、在说明语句:
int*f( );
中,标识符f代表的是( )
∙∙A、一个用于指向函数的指针变量
∙B、一个用于指向一维数组的行指针
∙C、一个用于指向整型数据的指针变量
∙D、一个返回值为指针型的函数名
∙12、下面浮点型常量中,哪些是错误的( )
∙∙A、constfloat=2E-1
∙B、constfloatc=2.1e3
∙C、constdoubled=32.1
∙D、constdoublef=2.1e0.5
∙13、正确描述文件包含预处理的含义( )
∙∙A、执行文件
∙B、C源文件
∙C、一条包含命令可以包含多个文件
∙D、目标文件
∙14、对break语句的正确描述( )。
∙∙A、break语句可以带参数,也可以不带
∙B、break语句不能用于循环语句之外的语句
∙C、break语句在while语句中,立即终止执行while语句
∙D、break语句与continue语句功能相同
∙15、如果输入信息为:
1234567则执行语句:
scanf("
%2d%2d"
&
x,&
y);
之后,x,y的值为( )
∙∙A、x为1234567,y为0
∙B、x为2,y为3
∙C、x为12,y为67
∙D、x为12,y为34
∙16、以下说法正确的是( )。
∙∙A、(int)x+y?
和(int)(x+y)是完全等价的表达式
∙B、C语言不允许类型的混合运算
∙C、'
x'
+5是一个错误的表达式
∙D、强制类型转换时,类型说明符必须加括号
∙17、设:
intg=2;
下列表达式的值,哪一个等于1?
∙∙A、g^=g
∙B、~g&
1
∙C、~g&
g
∙D、g>
∙18、以下描述正确的是( )。
∙∙A、只能用continue语句中来终止本次循环
∙B、goto语句只能用于退缩出多层循环。
∙C、在循环语句中break语句不独立出现
∙D、switch语句中不能出现continue语句
∙19、执行下面程序之后,m的值为( )。
#include<
stdio.h>
main(){static="
"
int="
a[2][3]="
{{1,2,3},{4,5,6}};
m;
="
m="
*(*(a+1)+1);
%d"
m);
return="
0;
}<
div="
style="
margin:
0px;
padding:
font-size:
14px;
font-family:
PingFangSC-Light,"
helveticaneue"
"
hiraginosansgb"
arial,"
microsoftyaheiui"
microsoftyahei"
simsun,sans-serif;
>
∙∙A、5
∙B、25
∙C、1
∙D、4
∙20、使用宏定义时,对宏定义不正确概念的描述( )。
∙∙A、宏名就是变量
∙B、根据宏名来实现忠实的替换
∙C、宏名可以是大写或者小写
∙D、宏名常用大写字母表示
∙21、若运行时给变量输入12,则以下程序的运行结果是( )。
main()
{intx,y;
scanf("
x);
y=x>
12?
x+10:
x-12;
printf("
%d\n"
y);
}
∙∙A、22
∙B、10
∙C、12
∙D、0
∙22、下面的四个选项中,均不是合法的用户标识符的选项是()。
∙∙A、BM_0Do
∙B、_123tempINT
∙C、float2ab_A
∙D、b-agotoint
∙23、若有说明 int(*p)[3];
则以下正确的描述( )
∙∙A、(*p)[3]与*p[3]等价。
∙B、p是一个指针数组。
∙C、p是一个指针,它只能指向一个包含3个int类型元素的数组。
∙D、p是一个指针,它可以指向一个一维数组中的任意元素。
∙24、假设 intx[]={1,3,5,7,9,11},*ptr;
ptr=x;
以下那些是对数组元素的正确引用( )
∙∙A、*(ptr--)
∙B、x[6]
∙C、*(ptr++)
∙D、*(--ptr)
∙25、移位运算符”<
<
”的含义( )
∙∙A、从一个变量移动到另一个变量
∙B、移位运算符”<
”可以适合任意类型的数据
∙C、按二进位移位运算,限定为整型数据和字符型数据
∙D、按二进位移位运算,限定为整型数据
∙26、在“文件包含”预处理语句的使用形式中,当#include后面的文件名用"
括起时,寻找被包含文件的方式是( )。
∙∙A、仅仅搜索源程序所在目录
∙B、直接按照系统设定的标准方式搜索目录
∙C、先在源程序所在目录搜索,再按照系统设定的标准方式搜索
∙D、仅仅搜索当前目录
∙27、已知ch是字符型变量,下面不正确的赋值语句是( )。
∙∙A、ch='
7'
+'
9'
;
∙B、ch='
a+b'
∙C、ch=5+9
∙D、ch='
\0'
∙28、定义一个结构体类型拟包含两个成员,其中成员变量info用来存放整型数据,成员变量link是指向自身结构体的指针。
则下面的定义正确的是( )。
∙∙A、structnode{intinfo;
structnodelink;
};
∙B、structnode{intinfo;
node*link;
∙C、structnode{intinfo;
structnode*link;
∙D、structnode{intinfo;
struct*link;
∙29、在C语言程序中,表达式5%2的结果是( )。
∙∙A、1
∙B、3
∙C、2.5
∙D、2
∙30、设i,j,k均为int型变量,k初值为0,执行完下面的for循环后,k的值为( )。
∙∙A、8
∙C、9
∙D、7
∙31、语句int(*ptr)();
的含义是( )。
∙∙A、ptr是指向一维数组的指针变量
∙B、ptr是指向int型数据的指针变量
∙C、ptr是指向函数的指针,该函数返回一个int型数据
∙D、ptr是一个函数名,该函数的返回值是指向int型数据的指针
∙32、下面有关for循环的正确描述是( )。
∙∙A、for循环只能用于循环次数已经确定的情况
∙B、for循环是先执行循环体语句,后判断表达式
∙C、for循环的循环体可以包括多条语句,但必须用花括号括起来
∙D、在for循环中,不能用break语句跳出循环体
∙33、设intx=1,y=1;
表达式(!
x++||y--)的值是( )。
∙∙A、0
∙B、1
∙C、-1
∙34、对于int*p;
inta[];
p=a;
的合法运算( )
∙∙A、++p;
相当于a[1];
∙B、a++;
∙C、p=a;
p++;
相当于a++;
∙D、若p中的地址为100则p++;
运算后,则其值为100
∙35、有输入语句:
scanf(“a=%d,b=%d,c=%d”,&
a,&
b,&
c);
为使变量a,b,c的值分别为1,3,2,从键盘上输入数据的正确形式应当是( )
∙∙A、1,3,2〈回车〉
∙B、a=1b=3c=a<
回车>
∙C、a=1,b=3,c=2〈回车〉
∙D、132〈回车〉
∙36、对宏定义的不正确描述( )。
∙∙A、#define的作用范围,是整个源文件有效
∙B、用双引号扩起来的字符串,即使与宏名相同,也不进行置换。
∙C、宏定义是用宏名代替一个字符串
∙D、宏名可以在其它宏定义中引用,可以层层替换
∙37、若有定义:
int(*p)[4];
则标识符p( )。
∙∙A、是一个指向整型变量的指针
∙B、定义不合法
∙C、是一个指针数组名
∙D、是一个指针,它指向一个含有四个整型元素的一维数组
∙38、执行语句"
x=(a=3,b=a--)"
后,x,a,b的值依次为( )。
∙∙A、3,3,2
∙B、3,2,3
∙C、3,2,2
∙D、2,3,2
∙39、宏定义#definePI3.1416中,定义PI为()。
∙∙A、单精度数
∙B、字符串
∙C、双精度数
∙D、常量
∙40、设fp为指向某二进制文件的指针,且已经读到此文件末尾,则函数feof(fp)的返回值为()。
∙∙A、非0值
∙B、NULL
∙C、0
∙D、EOF
41、下面四个选项中,均是合法的浮点数的选项是( )。
∙A、123e
1.2e-.4
+2e-1
∙B、-.60
12e-4
-8e5
∙C、+1e+1
5e-9.4
03e2
∙D、-e3
.8e-4
5.e-0
42、以下描述正确的是( )
∙A、break语句只能用于if语句。
∙B、continue语句只能用于switch语句。
∙C、switch语句中不能出现continue语句。
∙D、continue语句只结束本次循环。
43以下程序段的作用是( )。
inta[]={4,0,2,3,1},i,j,t;
for(i=1;
i<
5;
i++)
{t=a[i];
j=i-1;
while(j>
=0&
&
t>
a[j])
{a[j+1]=a[j];
j--;
a[j+1]=t;
∙A、对数组a进行选择排序(降序)
∙B、对数组a进行插入排序(升序)
∙C、对数组a进行插入排序(降序)
∙D、对数组a进行选择排序(升序)
二、判断,共10题/每题2.0分/共20.0分:
∙41、函数的实参传递到形参有两种方式值传递和地址传递。
( )
∙∙A、正确
∙B、错误
∙42、在多层循环中,一个break语句只向外跳一层。
∙43、在对数组全部元素赋初值时,不可以省略行数,但能省略列数。
∙44、在函数中,只有当实参和与其对应的形参同名时才共占用存储单元。
∙45、不允许把一个数值或字符赋予指针变量。
∙46、程序中若要使用数学函数应该包含头文件”math.h”。
∙47、直接访问就是直接利用变量的地址进行存取直接访问。
∙∙A、错误
∙B、正确
∙48、C语言的三种循环不可以互相嵌套。
∙49、语句int(*ptr)( );
的含义是指向函数的指针,该函数返回一个int型数据。
∙50、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来。
44、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志’\0’。
∙A、正确
46、一个C源程序可由一个或多个函数组成。
∙A、错误
∙1、假设 intx[]={1,3,5,7,9,11},*ptr;
∙∙A、*(ptr++)
∙C、*(--ptr)
∙D、*(ptr--)
∙2、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为( )。
∙B、register
∙C、auto
∙D、extern
∙3、对于int*p;
∙C、若p中的地址为100则p++;
∙D、p=a;
∙4、正确描述文件包含预处理的含义( )
∙∙A、C源文件
∙B、一条包含命令可以包含多个文件
∙C、执行文件
∙5、以下描述正确的是( )
∙∙A、continue语句只能用于switch语句。
∙B、switch语句中不能出现continue语句。
∙C、continue语句只结束本次循环。
∙D、break语句只能用于if语句。
∙6、移位运算符”<
∙∙A、按二进位移位运算,限定为整型数据
∙B、从一个变量移动到另一个变量
∙D、移位运算符”<
∙7、执行语句"
∙∙A、3,2,3
∙B、3,3,2
∙C、2,3,2
∙D、3,2,2
∙8、在“文件包含”预处理语句的使用形式中,当#include后面的文件名用"
∙∙A、直接按照系统设定的标准方式搜索目录
∙B、仅仅搜索源程序所在目录
∙C、仅仅搜索当前目录
∙D、先在源程序所在目录搜索,再按照系统设定的标准方式搜索
∙9、下面有关for循环的正确描述是( )。
∙∙A、for循环的循环体可以包括多条语句,但必须用花括号括起来
∙B、for循环只能用于循环次数已经确定的情况
∙C、for循环是先执行循环体语句,后判断表达式
∙10、执行下面程序之后,m的值为( )。
user-select:
text!
important;
∙∙A、25
∙B、5
∙11、凡是函数中未指定存储类别的局部变量,隐含的存储类别为( )。
∙∙A、extern
∙B、static
∙D、register
∙12、如果inta=0x3;
intb=0x2;
执行运算:
a<
=b;
则x的结果是( )。
∙B、11
∙D、48
∙13、以下描述正确的是( )。
∙∙A、switch语句中不能出现continue语句
∙D、只能用continue语句中来终止本次循环
∙14、若fp已正确定义为一个文件指针,d1.dat为二进制文件,为“读”而打开此文件的语句是()。
∙∙A、fp=fopen("
d1.dat"
"
rb"
);
∙B、fp=fopen("
r+"
∙C、fp=fopen("
w"
∙D、fp=fopen("
r"
∙15、对宏定义的不正确描述( )
∙∙A、#define的作用范围,是整个源文件有效。
∙C、宏定义是用宏名代替一个字符串。
∙D、宏名可以在其它宏定义中引用,可以层层替换。
∙16、有输入语句:
∙B、132〈回车〉
∙D、a=1b=3c=a<
∙17、以下说法正确的是( )。
∙B、强制类型转换时,类型说明符必须加括号
∙C、C语言不允许类型的混合运算
∙D、'
∙18、若有定义:
∙∙A、定义不合法
∙B、是一个指针,它指向一个含有四个整型元素的一维数组
∙C、是一个指向整型变量的指针
∙D、是一个指针数组名
∙19、若有说明 int(*p)[3];
∙B、p是一个指针,它可以指向一个一维数组中的任意元素。
∙D、p是一个指针数组。
∙20、下面四个选项中,均是合法的浮点数的选项是( )。
∙∙A、123e
∙B、-e3
∙D、-.60
∙21、一个C程序的执行是从( )。
∙∙A、本程序的main函数开始,到本程序文件的最后一个函数结束
∙B、本程序的main函数开始,到main函数结束
∙C、本程序的第一个函数开始,到本程序最后一个函数结束
∙D、本程序的第一个函数开始,到本程序main函数结束
∙22、如果输入信息为:
∙B、x为12,y为34
∙D、x为2,y为3
∙23、定义一个结构体类型拟包含两个成员,其中成员变量info用来存放整型数据,成员变量link是指向自身结构体的指针。
∙∙A、structnode{intinf