C语言.docx

上传人:b****1 文档编号:2298806 上传时间:2023-05-03 格式:DOCX 页数:39 大小:30.87KB
下载 相关 举报
C语言.docx_第1页
第1页 / 共39页
C语言.docx_第2页
第2页 / 共39页
C语言.docx_第3页
第3页 / 共39页
C语言.docx_第4页
第4页 / 共39页
C语言.docx_第5页
第5页 / 共39页
C语言.docx_第6页
第6页 / 共39页
C语言.docx_第7页
第7页 / 共39页
C语言.docx_第8页
第8页 / 共39页
C语言.docx_第9页
第9页 / 共39页
C语言.docx_第10页
第10页 / 共39页
C语言.docx_第11页
第11页 / 共39页
C语言.docx_第12页
第12页 / 共39页
C语言.docx_第13页
第13页 / 共39页
C语言.docx_第14页
第14页 / 共39页
C语言.docx_第15页
第15页 / 共39页
C语言.docx_第16页
第16页 / 共39页
C语言.docx_第17页
第17页 / 共39页
C语言.docx_第18页
第18页 / 共39页
C语言.docx_第19页
第19页 / 共39页
C语言.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言.docx

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

C语言.docx

C语言

一、单选,共40题/每题2.0分/共80.0分:

∙1、以下叙述正确的是(  )。

∙∙A、在C程序中,main函数必须位于程序的最前面

∙B、本程序的main函数开始,到本程序文件的最后一个函数结束

∙C、在C程序的每一行只能写一条语句

∙D、C语言程序至少有一个main函数

得分:

0.0

∙2、凡是函数中未指定存储类别的局部变量,隐含的存储类别为(  )。

∙∙A、static

∙B、extern

∙C、register

∙D、auto

得分:

0.0

∙3、执行intx=2;x*=x+5;后a的值为(  )

∙∙A、7

∙B、9

∙C、5

∙D、14

得分:

0.0

∙4、以下关于运算符优先顺序的描述中正确的是(  )。

∙∙A、逻辑运算符<关系运算符<算术运算符<赋值运算符

∙B、算术运算符<关系运算符<赋值运算符<逻辑运算符

∙C、赋值运算符<逻辑运算符<关系运算符<算术运算符

∙D、关系运算符<算术运算符<赋值运算符<逻辑运算符

得分:

0.0

∙5、一个C程序的执行是从(  )。

∙∙A、本程序的main函数开始,到main函数结束

∙B、本程序的第一个函数开始,到本程序最后一个函数结束

∙C、本程序的第一个函数开始,到本程序main函数结束

∙D、本程序的main函数开始,到本程序文件的最后一个函数结束

得分:

2.0

∙6、以下叙述中错误的是(  )

∙∙A、do_while循环语句和while循环语句的程序执行方式都是相同的

∙B、循环语句嵌套必须是同类型的语句

∙C、循环语句嵌套可以是同类型的语句,也可以不同类型

∙D、循环体中不能再有循环语句

得分:

0.0

∙7、假定inti=3,j=4;执行语句:

printf("%d,%d,%d\n",i+++j,i,j);之后,其输出结果为:

(  )。

∙∙A、7,4,4

∙B、7,3,4

∙C、8,4,4

∙D、7,3,5

得分:

0.0

∙8、若有下列程序段

char  x[80];

scanf(“%s”,x);

printf(“%s”,x);

从键盘上输入字符串“zhangsan”,则输出结果为(  )。

∙∙A、zhang

∙B、zhangsan

∙C、zhangsan

∙D、san

得分:

2.0

∙9、C语言中转义字符“反斜杠线”的表示方法正确的是(  )。

∙∙A、”\”

∙B、\\

∙C、\\\

∙D、’\’

得分:

0.0

∙10、对宏定义的不正确描述(  )

∙∙A、宏定义是用宏名代替一个字符串。

∙B、#define的作用范围,是整个源文件有效。

∙C、宏名可以在其它宏定义中引用,可以层层替换。

∙D、用双引号扩起来的字符串,即使与宏名相同,也不进行置换。

得分:

0.0

∙11、在说明语句:

int*f(  );中,标识符f代表的是(  )

∙∙A、一个用于指向函数的指针变量

∙B、一个用于指向一维数组的行指针

∙C、一个用于指向整型数据的指针变量

∙D、一个返回值为指针型的函数名

得分:

0.0

∙12、下面浮点型常量中,哪些是错误的(  )

∙∙A、constfloat=2E-1

∙B、constfloatc=2.1e3

∙C、constdoubled=32.1

∙D、constdoublef=2.1e0.5

得分:

0.0

∙13、正确描述文件包含预处理的含义(  )

∙∙A、执行文件

∙B、C源文件

∙C、一条包含命令可以包含多个文件

∙D、目标文件

得分:

0.0

∙14、对break语句的正确描述(  )。

∙∙A、break语句可以带参数,也可以不带

∙B、break语句不能用于循环语句之外的语句

∙C、break语句在while语句中,立即终止执行while语句

∙D、break语句与continue语句功能相同

得分:

0.0

∙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

得分:

0.0

∙16、以下说法正确的是(  )。

∙∙A、(int)x+y?

和(int)(x+y)是完全等价的表达式

∙B、C语言不允许类型的混合运算

∙C、'x'+5是一个错误的表达式

∙D、强制类型转换时,类型说明符必须加括号

得分:

0.0

∙17、设:

intg=2; 下列表达式的值,哪一个等于1?

(  )。

∙∙A、g^=g

∙B、~g&1

∙C、~g&g

∙D、g>g

得分:

0.0

∙18、以下描述正确的是(  )。

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

∙B、goto语句只能用于退缩出多层循环。

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

∙D、switch语句中不能出现continue语句

得分:

2.0

∙19、执行下面程序之后,m的值为(  )。

#includemain(){static=""int=""a[2][3]="{{1,2,3},{4,5,6}};"m;=""m="*(*(a+1)+1);"printf("%d",m);=""return=""0;}<=""div=""style="margin:

0px;padding:

0px;font-size:

14px;font-family:

PingFangSC-Light,"helveticaneue","hiraginosansgb",arial,"microsoftyaheiui","microsoftyahei",simsun,sans-serif;">

∙∙A、5

∙B、25

∙C、1

∙D、4

得分:

0.0

∙20、使用宏定义时,对宏定义不正确概念的描述(  )。

∙∙A、宏名就是变量

∙B、根据宏名来实现忠实的替换

∙C、宏名可以是大写或者小写

∙D、宏名常用大写字母表示

得分:

2.0

∙21、若运行时给变量输入12,则以下程序的运行结果是(  )。

main()

{intx,y;

scanf("%d",&x);

y=x>12?

x+10:

x-12;

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

}

∙∙A、22

∙B、10

∙C、12

∙D、0

得分:

0.0

∙22、下面的四个选项中,均不是合法的用户标识符的选项是()。

∙∙A、BM_0Do

∙B、_123tempINT

∙C、float2ab_A

∙D、b-agotoint

得分:

0.0

∙23、若有说明 int(*p)[3]; 则以下正确的描述(  )

∙∙A、(*p)[3]与*p[3]等价。

∙B、p是一个指针数组。

∙C、p是一个指针,它只能指向一个包含3个int类型元素的数组。

∙D、p是一个指针,它可以指向一个一维数组中的任意元素。

得分:

0.0

∙24、假设 intx[]={1,3,5,7,9,11},*ptr;ptr=x;以下那些是对数组元素的正确引用(  )

∙∙A、*(ptr--)

∙B、x[6]

∙C、*(ptr++)

∙D、*(--ptr)

得分:

0.0

∙25、移位运算符”<<”的含义(  )

∙∙A、从一个变量移动到另一个变量

∙B、移位运算符”<<”可以适合任意类型的数据

∙C、按二进位移位运算,限定为整型数据和字符型数据

∙D、按二进位移位运算,限定为整型数据

得分:

0.0

∙26、在“文件包含”预处理语句的使用形式中,当#include后面的文件名用""括起时,寻找被包含文件的方式是(  )。

∙∙A、仅仅搜索源程序所在目录

∙B、直接按照系统设定的标准方式搜索目录

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

∙D、仅仅搜索当前目录

得分:

0.0

∙27、已知ch是字符型变量,下面不正确的赋值语句是(  )。

∙∙A、ch='7'+'9';

∙B、ch='a+b';

∙C、ch=5+9

∙D、ch='\0';

得分:

0.0

∙28、定义一个结构体类型拟包含两个成员,其中成员变量info用来存放整型数据,成员变量link是指向自身结构体的指针。

则下面的定义正确的是(  )。

∙∙A、structnode{intinfo;structnodelink;};

∙B、structnode{intinfo;node*link;};

∙C、structnode{intinfo;structnode*link;};

∙D、structnode{intinfo;struct*link;};

得分:

0.0

∙29、在C语言程序中,表达式5%2的结果是(  )。

∙∙A、1

∙B、3

∙C、2.5

∙D、2

得分:

2.0

∙30、设i,j,k均为int型变量,k初值为0,执行完下面的for循环后,k的值为(  )。

∙∙A、8

∙B、10

∙C、9

∙D、7

得分:

0.0

∙31、语句int(*ptr)();的含义是(  )。

∙∙A、ptr是指向一维数组的指针变量

∙B、ptr是指向int型数据的指针变量

∙C、ptr是指向函数的指针,该函数返回一个int型数据

∙D、ptr是一个函数名,该函数的返回值是指向int型数据的指针

得分:

0.0

∙32、下面有关for循环的正确描述是(  )。

∙∙A、for循环只能用于循环次数已经确定的情况

∙B、for循环是先执行循环体语句,后判断表达式

∙C、for循环的循环体可以包括多条语句,但必须用花括号括起来

∙D、在for循环中,不能用break语句跳出循环体

得分:

0.0

∙33、设intx=1,y=1;表达式(!

x++||y--)的值是(  )。

∙∙A、0

∙B、1

∙C、-1

∙D、2

得分:

0.0

∙34、对于int*p;inta[];p=a;的合法运算(  )

∙∙A、++p;相当于a[1];

∙B、a++;

∙C、p=a;p++;相当于a++;

∙D、若p中的地址为100则p++;运算后,则其值为100

得分:

2.0

∙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〈回车〉

得分:

0.0

∙36、对宏定义的不正确描述(  )。

∙∙A、#define的作用范围,是整个源文件有效

∙B、用双引号扩起来的字符串,即使与宏名相同,也不进行置换。

∙C、宏定义是用宏名代替一个字符串

∙D、宏名可以在其它宏定义中引用,可以层层替换

得分:

2.0

∙37、若有定义:

int(*p)[4];则标识符p(  )。

∙∙A、是一个指向整型变量的指针

∙B、定义不合法

∙C、是一个指针数组名

∙D、是一个指针,它指向一个含有四个整型元素的一维数组

得分:

0.0

∙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

得分:

0.0

∙39、宏定义#definePI3.1416中,定义PI为()。

∙∙A、单精度数

∙B、字符串

∙C、双精度数

∙D、常量

得分:

0.0

∙40、设fp为指向某二进制文件的指针,且已经读到此文件末尾,则函数feof(fp)的返回值为()。

∙∙A、非0值

∙B、NULL

∙C、0

∙D、EOF

得分:

2.0

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

得分:

2.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、错误

得分:

2.0

∙42、在多层循环中,一个break语句只向外跳一层。

(  )

∙∙A、正确

∙B、错误

得分:

2.0

∙43、在对数组全部元素赋初值时,不可以省略行数,但能省略列数。

(  )

∙∙A、正确

∙B、错误

得分:

0.0

∙44、在函数中,只有当实参和与其对应的形参同名时才共占用存储单元。

∙∙A、正确

∙B、错误

得分:

0.0

∙45、不允许把一个数值或字符赋予指针变量。

(  )

∙∙A、正确

∙B、错误

得分:

2.0

∙46、程序中若要使用数学函数应该包含头文件”math.h”。

(  )

∙∙A、正确

∙B、错误

得分:

2.0

∙47、直接访问就是直接利用变量的地址进行存取直接访问。

(  )

∙∙A、错误

∙B、正确

得分:

0.0

∙48、C语言的三种循环不可以互相嵌套。

(  )

∙∙A、正确

∙B、错误

得分:

0.0

∙49、语句int(*ptr)(  );的含义是指向函数的指针,该函数返回一个int型数据。

∙∙A、正确

∙B、错误

得分:

2.0

∙50、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来。

∙∙A、错误

∙B、正确

得分:

0.0

44、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志’\0’。

(  )

∙A、正确

∙B、错误

46、一个C源程序可由一个或多个函数组成。

∙A、错误

∙B、正确

∙1、假设 intx[]={1,3,5,7,9,11},*ptr;ptr=x;以下那些是对数组元素的正确引用(  )

∙∙A、*(ptr++)

∙B、x[6]

∙C、*(--ptr)

∙D、*(ptr--)

得分:

2.0

∙2、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为(  )。

∙∙A、static

∙B、register

∙C、auto

∙D、extern

得分:

2.0

∙3、对于int*p;inta[];p=a;的合法运算(  )

∙∙A、++p;相当于a[1];

∙B、a++;

∙C、若p中的地址为100则p++;运算后,则其值为100

∙D、p=a;p++;相当于a++;

得分:

2.0

∙4、正确描述文件包含预处理的含义(  )

∙∙A、C源文件

∙B、一条包含命令可以包含多个文件

∙C、执行文件

∙D、目标文件

得分:

2.0

∙5、以下描述正确的是(  )

∙∙A、continue语句只能用于switch语句。

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

∙C、continue语句只结束本次循环。

∙D、break语句只能用于if语句。

得分:

2.0

∙6、移位运算符”<<”的含义(  )

∙∙A、按二进位移位运算,限定为整型数据

∙B、从一个变量移动到另一个变量

∙C、按二进位移位运算,限定为整型数据和字符型数据

∙D、移位运算符”<<”可以适合任意类型的数据

得分:

0.0

∙7、执行语句"x=(a=3,b=a--)"后,x,a,b的值依次为(  )。

∙∙A、3,2,3

∙B、3,3,2

∙C、2,3,2

∙D、3,2,2

得分:

2.0

∙8、在“文件包含”预处理语句的使用形式中,当#include后面的文件名用""括起时,寻找被包含文件的方式是(  )。

∙∙A、直接按照系统设定的标准方式搜索目录

∙B、仅仅搜索源程序所在目录

∙C、仅仅搜索当前目录

∙D、先在源程序所在目录搜索,再按照系统设定的标准方式搜索

得分:

2.0

∙9、下面有关for循环的正确描述是(  )。

∙∙A、for循环的循环体可以包括多条语句,但必须用花括号括起来

∙B、for循环只能用于循环次数已经确定的情况

∙C、for循环是先执行循环体语句,后判断表达式

∙D、在for循环中,不能用break语句跳出循环体

得分:

2.0

∙10、执行下面程序之后,m的值为(  )。

#includemain(){static=""int=""a[2][3]="{{1,2,3},{4,5,6}};"m;=""m="*(*(a+1)+1);"printf("%d",m);=""return=""0;}<=""div=""style="margin:

0px;padding:

0px;font-size:

14px;font-family:

PingFangSC-Light,"helveticaneue","hiraginosansgb",arial,"microsoftyaheiui","microsoftyahei",simsun,sans-serif;user-select:

text!

important;">

∙∙A、25

∙B、5

∙C、1

∙D、4

得分:

0.0

∙11、凡是函数中未指定存储类别的局部变量,隐含的存储类别为(  )。

∙∙A、extern

∙B、static

∙C、auto

∙D、register

得分:

2.0

∙12、如果inta=0x3;intb=0x2;执行运算:

a<<=b;则x的结果是(  )。

∙∙A、1

∙B、11

∙C、0

∙D、48

得分:

0.0

∙13、以下描述正确的是(  )。

∙∙A、switch语句中不能出现continue语句

∙B、goto语句只能用于退缩出多层循环。

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

∙D、只能用continue语句中来终止本次循环

得分:

0.0

∙14、若fp已正确定义为一个文件指针,d1.dat为二进制文件,为“读”而打开此文件的语句是()。

∙∙A、fp=fopen("d1.dat","rb");

∙B、fp=fopen("d1.dat","r+");

∙C、fp=fopen("d1.dat","w");

∙D、fp=fopen("d1.dat","r");

得分:

0.0

∙15、对宏定义的不正确描述(  )

∙∙A、#define的作用范围,是整个源文件有效。

∙B、用双引号扩起来的字符串,即使与宏名相同,也不进行置换。

∙C、宏定义是用宏名代替一个字符串。

∙D、宏名可以在其它宏定义中引用,可以层层替换。

得分:

0.0

∙16、有输入语句:

scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a,b,c的值分别为1,3,2,从键盘上输入数据的正确形式应当是(  )

∙∙A、1,3,2〈回车〉

∙B、132〈回车〉

∙C、a=1,b=3,c=2〈回车〉

∙D、a=1b=3c=a<回车>

得分:

2.0

∙17、以下说法正确的是(  )。

∙∙A、(int)x+y?

和(int)(x+y)是完全等价的表达式

∙B、强制类型转换时,类型说明符必须加括号

∙C、C语言不允许类型的混合运算

∙D、'x'+5是一个错误的表达式

得分:

0.0

∙18、若有定义:

int(*p)[4];则标识符p(  )。

∙∙A、定义不合法

∙B、是一个指针,它指向一个含有四个整型元素的一维数组

∙C、是一个指向整型变量的指针

∙D、是一个指针数组名

得分:

2.0

∙19、若有说明 int(*p)[3]; 则以下正确的描述(  )

∙∙A、(*p)[3]与*p[3]等价。

∙B、p是一个指针,它可以指向一个一维数组中的任意元素。

∙C、p是一个指针,它只能指向一个包含3个int类型元素的数组。

∙D、p是一个指针数组。

得分:

0.0

∙20、下面四个选项中,均是合法的浮点数的选项是(  )。

∙∙A、123e        1.2e-.4      +2e-1

∙B、-e3          .8e-4        5.e-0

∙C、+1e+1        5e-9.4        03e2

∙D、-.60        12e-4        -8e5

得分:

2.0

∙21、一个C程序的执行是从(  )。

∙∙A、本程序的main函数开始,到本程序文件的最后一个函数结束

∙B、本程序的main函数开始,到main函数结束

∙C、本程序的第一个函数开始,到本程序最后一个函数结束

∙D、本程序的第一个函数开始,到本程序main函数结束

得分:

0.0

∙22、如果输入信息为:

1234567则执行语句:

scanf("%2d%2d",&x,&y);之后,x,y的值为(  )

∙∙A、x为1234567,y为0

∙B、x为12,y为34

∙C、x为12,y为67

∙D、x为2,y为3

得分:

2.0

∙23、定义一个结构体类型拟包含两个成员,其中成员变量info用来存放整型数据,成员变量link是指向自身结构体的指针。

则下面的定义正确的是(  )。

∙∙A、structnode{intinf

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2