【期末高分题集】[北京交通大学]《C语言程序设计》考核必备02

奥鹏期末考核

62080–《C语言程序设计》2022年北京交通大学期末复习题集

单选题:
(1)若w=1,x=2,y=3,z=4;,则条件表达式wx?w:yz?y:z的结果为______。( )
A.4
B.3
C.2
D.1
答案问询微信:424329

(2)在C程序中,若对函数类型未加说明,则函数的隐含类型为( )。
A.int
B.double
C.void
D.char
答案问询微信:424329

(3)C语言允许函数值类型缺省定义,此时该函数值隐含的类型是______。
A.float型
B.int型
C.long型
D.double型
答案问询微信:424329

(4)已知:char c='A';int i=1,j;,执行语句j=!c,则i和j的值是______。( )
A.1,1
B.1,0
C.2,1
D.2,0
答案问询微信:424329

(5)数组int**a[3][4]占据多大空间
A.64
B.12
C.48
D.128
答案问询微信:424329

(6)有以下程序,执行后输出得结果是_____。mian( ){ char *p[10]={“abc”, “aabdfg”, “dcdbe”, “abbd”, “cd” }; Printf(“%dn”,strlen(p[3]));}
A.2
B.3
C.4
D.5
答案问询微信:424329

(7)若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是____。
A.1
B.2.0
C.2
D.2.5
答案问询微信:424329

(8)已知int a=4;执行语句a+=a-=(a-2)*(a-2);后,a的值是_______。
A.0
B.6
C.-24
D.-60
答案问询微信:424329

(9)调用strlen("abcdefg")的返回值是______。
A.4
B.5
C.8
D.9
答案问询微信:424329

(10)以下程序段 x = -1; do { x=x*x;} while(!x); 正确的说法是______。
A.死循环
B.循环一次
C.循环两次
D.有语法错
答案问询微信:424329

(11)若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值_______。
A.不定值
B.4
C.3
D.1
答案问询微信:424329

(12)不合法的八进制数是()
A.0
B.028
C.077
D.01
答案问询微信:424329

(13)C语言源程序文件经过C编译程序编译连接之后生成一个后缀为()的文件。
A.”.c”
B.“.obj”
C.“.exe”
D.“.bas”
答案问询微信:424329

(14)执行以下程序段后, x, y和z的值分别是______。int x=10,y=20,z=30;if(xy) z=x; x=y; y=z;
A.10,20,30
B.20,30,30
C.20,30,10
D.20,30,20
答案问询微信:424329

(15)已知:int a,*p=,则下列函数调用中错误的是______。( )
A.scanf("%d",&a);
B.scanf("%d",p);
C.scanf("%d",*p);
D.printf("%d",a);
答案问询微信:424329

(16)以下可作为函数 fopen 中第一个参数的正确格式是______。
A.c:userfile.txt
B."c:userfile.txt"
C."c:\user\file.txt"
D.c:userfile.txt
答案问询微信:424329

(17)已定义c为字符型变量,则下列语句中正确的是______。
A.c=''97''
B.c="97";
C.c=97;
D.c="a";
答案问询微信:424329

(18)下面说法错误的是______。
A.整型变量可以存放字符型数据
B.字符型变量可以存放任意整型常量的值
C.变量必须限定以后使用
D.字符串的长度不等于它占的字节数
答案问询微信:424329

(19)C语言中最简单的数据类型包括()。
A.整型、实型、逻辑型
B.整型、实型、字符型
C.整型、字符型、逻辑型
D.整型、实型、逻辑型、字符型
答案问询微信:424329

(20)已知int m,n,i=2;执行语句m=-i++;n=++i;后,m和n的值分别是_____。
A.-3 4
B.-2 4
C.-3 3
D.-2 3
答案问询微信:424329

(21)在C语言中,while语句中的条件为()时,结束该循环。
A.0
B.1
C.true
D.非0
答案问询微信:424329

(22)设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为_____。
A.EOF
B.非0值
C.0
D.NULL
答案问询微信:424329

(23)C语言程序从main()函数开始执行,所以这个函数要写在____。
A.程序文件的开始
B.程序文件的最后
C.它所调用的函数的前面
D.程序文件的任何位置
答案问询微信:424329

(24)若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,()是正确的输入。
A.2030,40
B.20 30 40
C.20, 30 40
D.20, 30,40
答案问询微信:424329

(25)已知: int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+2 ;则值为 3 的表达式是______。
A.(*p)++
B.*p++
C.*++p
D.++*p
答案问询微信:424329

(26)若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是____。
A.*p
B.a[10]
C.*a
D.a[p-a]
答案问询微信:424329

(27)二进制语言是属于面向_____的语言。
A.机器
B.过程
C.问题
D.对象
答案问询微信:424329

(28)C语言是_______语言。
A.高级
B.中级
C.机器
D.汇编
答案问询微信:424329

(29)设n=3;则执行 ++n语句后,n的值为_____。( )
A.5
B.4
C.3
D.2
答案问询微信:424329

(30)若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为 4 的表达式是_____。
A.a[4]
B.a[a[2]+1]
C.a[a[2]]
D.a[3]+1
答案问询微信:424329

(31)若有输入语句scanf( %d%d%d, 则不能使x值为5, y值为6, z值为7的输入是______。
A.5,6 ,7回车
B.5 6 7回车
C.5 6 回车 7回车
D.5回车,6回车,7回车
答案问询微信:424329

(32)下面程序的结果是什么?Int i=3,j=4;i?i++:j++;printf(“%d %dn”,i,j);
A.3 3
B.4 4
C.3 4
D.4 3
答案问询微信:424329

(33)在下列选项中,不正确的赋值语句是( )。
A.++t;
B.n1=(n2=(n3=0));
C.k=i=j;
D.a=b+c=1;
答案问询微信:424329

(34)下面合法的C语言字符常量是( )。
A.'t'
B."A"
C.65
D.A
答案问询微信:424329

(35)表达式: 10!=9的值是( )。
A.true
B.非零值
C.0
D.1
答案问询微信:424329

(36)C语言提供的合法的数据类型关键字是( )。
A.Double
B.short
C.integer
D.Char
答案问询微信:424329

(37)若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( )。
A.a0
B.!a
C.a=0
D.a
答案问询微信:424329

(38)为表示关系x≥y≥z,应使用C语言表达式( )。
A.(x=y)=z)
B.(x=y)AND(y=z)
C.(x=y=z)
D.(x=y) =z)
答案问询微信:424329

(39)C语言程序的基本单位是( )。
A.程序行
B.语句
C.函数
D.字符
答案问询微信:424329

(40)设 int a=12,则执行完语句a+=a-=a*a后,a的值是( )。
A.552
B.264
C.144
D.-264
答案问询微信:424329

(41)执行下面程序中的输出语句后,输出结果是( )。#includestdio.hvoid main(){int a; printf("%dn",(a=3*5,a*4,a+5));}
A.65
B.20
C.15
D.10
答案问询微信:424329

(42)表达式5!=3的值是( )。
A.T
B.非零值
C.0
D.1
答案问询微信:424329

(43)若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是( )。
A.0
B.2
C.1.5
D.1
答案问询微信:424329

(44)下列程序执行后的输出结果是( )。 #include stdio.h { int a=5,b=60,c; if (ab) {c=a*b;printf("%d*%d=%dn",b,a,c);} else {c=b/a;printf("%d/%d=%dn",b,a,c);} }
A.60/5=12
B.300
C.60*5=300
D.12
答案问询微信:424329

多选题:
(1)关于文件的打开方式描述正确的是:______。
A.r:打开只读文件
B.a+:打开或建立用于更新数据的文件,数据追加到文件尾
C.a:打开或建立一个把数据追加到文件尾的文件
D.r+:打开用于更新数据的文件
答案问询微信:424329

(2)C语言程序中,下列___________标识符是合法。
A.scanf
B.if
C.float
D._3d
E.str_2
F.AB
G.5a
H.His.age
答案问询微信:424329

(3)以下不正确的叙述是______。
A.C语言的主函数是无参函数
B.C语言的主函数最多允许有1个参数
C.C语言的主函数最多允许有2个参数
D.C语言的主函数可以有2个以上参数
答案问询微信:424329

(4)下列_________数据类型属于C语言提供的基本数据类型。
A.数组类型
B.指针类型
C.整型
D.结构体类型
E.空类型
F.字符型
G.实型
H.共用体类型
答案问询微信:424329

(5)下列说法中错误的是______。
A.不允许设置参数的默认值
B.设置参数的默认值只能在定义函数时设置
C.设置参数的默认值时,应该设置右边的参数
D.设置参数的默认值时,应该全部参数都设置
答案问询微信:424329

(6)关于宏定义的说法正确的是:
A.p宏名一般习惯用大写字母表示,以便与变量名相区别/p
B.使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
C.宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
D.宏定义不是C语句,不必在行末加分号
答案问询微信:424329

(7)以下说法不正确的是______。
A.定义函数时,形参的类型说明可以放在函数体内
B.return后边的值不能为表达式
C.如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
D.如果形参与实参的类型不一致,以实参类型为准
答案问询微信:424329

(8)在C语言中,正确的int类型的常数是:______。
A.0
B.32768
C.037
D.0xaf
答案问询微信:424329

(9)下列关于#include命令的叙述中,正确的是______。
A.一个#include命令中只能指定一个被包含文件
B.一个#include命令中可以指定多个被包含文件
C.一个被包含文件中又可以包含另一个被包含文件
D.#include命令中,文件名可以用双引号或尖括号括起来
答案问询微信:424329

(10)在动态存储区中主要存放以下数据______。
A.函数形式参数
B.自动变量
C.函数调用时的现场保护和返回地址
D.全局变量
答案问询微信:424329

(11)不与while(x)语句中的x等价的是_____。
A.x= =0
B.x= =1
C.x!=1
D.x!=0
答案问询微信:424329

(12)在文件操作中,用于检测和设置文件状态的函数有______。
A.文件结束检测函数feof()
B.读写文件出错检测函数ferror()
C.文件出错和结束标志文件函数才clearerr()
D.文件关闭函数fclose()
答案问询微信:424329

(13)关于实参和形参的说法正确的是______。
A.在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B.实参可以是变量、常量或表达式
C.实参与形参的类型应相同或赋值兼容
D.实参变量对形参变量的数据传递是“值传递”
答案问询微信:424329

(14)以下对C语言函数的有关描述中,错误的是:______。
A.调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B.函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.程序中有调用关系的所有函数必须放在同一个源程序文件中
答案问询微信:424329

(15)关于静态局部变量的说明正确的是______。
A.静态局部变量存储在静态存储区
B.静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
C.若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
D.虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
答案问询微信:424329

(16)以下对一维数组a进行初始化,错误的语句是______。
A.int a[10]=(0,0,0,0,0);
B.int a[10]={};
C.int a[10]={0};
D.int a[2]={10,9,8}
答案问询微信:424329

(17)以下正确的C语言标识符是_____。
A.ABC
B.abc
C.a_bc
D.ab.c
答案问询微信:424329

(18)函数调用可以______。
A.出现在一个表达式中
B.出现在执行语句中
C.作为一个函数的实参
D.作为一个函数的形参
答案问询微信:424329

(19)已知:int x;,则下面的说明指针变量pb的语句______不是正确的。
A.int pb=&x;
B.int *pb=x;
C.int *pb=&x;
D.*pb=*x
答案问询微信:424329

(20)带参宏定义与函数的区别是:______。
A.函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
B.函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
C.宏不存在类型问题,宏名和参数都不存在类型问题
D.调用函数只能得到一个返回值,而使用宏可设法得到几个结果
答案问询微信:424329

(21)内存中供用户使用的存储空间可分为:______。
A.程序区
B.静态存储区
C.动态存储区
D.数据存储区
答案问询微信:424329

(22)下列字符中能构成标识符的是______。
A.数字字符
B.连接符
C.下划线字符
D.大写字母
答案问询微信:424329

(23)以下______是正确的转义字符。( )
A.‘\'
B.‘’
C.‘81'
D.‘'
答案问询微信:424329

(24)设有如下定义:int (*ptr)();则以下叙述中不正确的是______。
A.ptr是指向一维数组的指针变量
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指向int型数据的指针
答案问询微信:424329

(25)已知:int x,a,b;下列选项中正确的if语句是______。
A.if(a=b) x++;
B.if(a=b) x++;
C.if(a-b) x++;
D.if(x) x++;
答案问询微信:424329

(26)下列说法不正确的是______。
A.C程序由符号构成
B.C程序由标识符构成
C.C程序由函数构成
D.C程序由C语句构成
答案问询微信:424329

(27)以下可以定义为用户标识符的有( )。
A.scanf
B.short
C._3com_
D.int
答案问询微信:424329

(28)以下选项中不是 C语言合法整数的是( )。
A.10110
B.0386
C.0Xffa
D.x2a2
答案问询微信:424329

(29)设有以下定义int a=0;double b=1.25;char c='A';#define d 2则下面语句中正确的是( )。
A.a++;
B.b++;
C.c++;
D.d++;
答案问询微信:424329

(30)以下不符合C 语言语法的实型常量是( )。
A.1.2E0.5
B.3.14.159E
C..5E-3
D.E15
答案问询微信:424329

(31)变量已正确定义, 则不正确的赋值语句是( )。
A.x1=26.8%3
B.x=3*x+x
C.x3=0x12
D.x4=1+2=3;
答案问询微信:424329

(32)以下正确的if语句形式是( )。
A.if (xy
B.if (x==y) x+=y;
C.if (x!=y) scanf("%d",
D.if (xy) {x++;y++;}
答案问询微信:424329

(33)以下 4 个选项中 , 可以看作是一条语句的有( )。
A.{;}
B.a=0,b=0,c=0;
C.if(a0);
D.if(b==0) m奥鹏期末考核=1;n=2;
答案问询微信:424329

(34)以下对 C语言中的函数描述不正确的有( )。
A.可以嵌套定义 , 不可以嵌套调用
B.不可以嵌套定义 , 可以嵌套调用
C.可以嵌套定义 , 也可以嵌套调用
D.嵌套定义和嵌套调用都不允许
答案问询微信:424329

(35)下列选项中是 C语言合法标志符的有( )。
A.good_morning
B.main
C.stdio.h
D.8abc
答案问询微信:424329

(36)在定义 int a[2][3]; 之后 , 对 a 的引用正确的有( )。
A.a[0][2]
B.a[1,3]
C.a[12][!1]
D.a[2][0]
答案问询微信:424329

(37)以下叙述正确的是( )。
A.预处理命令行都必须以 "#" 开始
B.在程序中凡是以"#" 开始的语句行都是预处理命令行
C.C 程序在执行过程中对预处理命令行进行处理
D.#define ABCD是正确的宏定义
答案问询微信:424329

(38)以下描述正确的是( )。
A.使用 while和 do-while 循环时,循环变量初始话的操作应在循环体语句之前完成
B.while 循环是先判断表达式, 后执行循环语句
C.do-while和 for 循环均是先执行循环语句, 后判断表达式
D.for,while和do-while循环中的循环体均可以由空语句构成
答案问询微信:424329

判断题:
(1)在程序运行过程中,其值不能被改变的量称为常量( )
答案问询微信:424329

(2)c语言中,每个函数都必须要有一个且只有一个main函数。
答案问询微信:424329

(3)switch语句中,多个case可以共用一组执行语句。( )
答案问询微信:424329

(4)自增运算符和自减运算符只能用于变量,不能用于常量或表达式 。( )
答案问询微信:424329

(5)字符型变量用来存放字符常量,可以存放多个字符。( )
答案问询微信:424329

(6)使用符号常量的好处是:一,含义清楚,二,在需要改变一个常量时能做到“一改全改”( )
答案问询微信:424329

(7)break是结束本次循环,而continue是结束所有的循环。
答案问询微信:424329

(8)下列程序段的输出结果是hello main(){ char b[]="Hello,you";b[5]=0;printf("%s n", b ); }
答案问询微信:424329

(9)若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是4。
答案问询微信:424329

(10)使用printf和scanf函数时,必须添加#include stdio.h命令。( )
答案问询微信:424329

(11)C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
答案问询微信:424329

(12)表达式a=a+b可以写成a+=b。
答案问询微信:424329

(13)宏定义就是用宏名代替一个字符串,也就是简单的置换,不作对性检查。
答案问询微信:424329

(14)在C语言中,不区分字母的大小写。( )
答案问询微信:424329

(15)在使用C语言库函数时,要用预编译命令“#include”将有关的头文件包括到用户源文件中。( )
答案问询微信:424329

(16)在定义数组变量时,可以不指定数组的长度。
答案问询微信:424329

(17)free函数只能释放malloc()函数分配的存储空间。
答案问询微信:424329

(18)C语言中,函数的隐含存储类别是extern
答案问询微信:424329

(19)‘ a’和“a”在内存中所占字节数相同。( )
答案问询微信:424329

(20)假定x和y为double型,则表达式x=2,y=x+3/2的值是3。
答案问询微信:424329

(21)数据结构指的是数据的组织形式,数组就是一种数据结构( )
答案问询微信:424329

(22)指向不同类型数组的两个指针能进行有意义的比较。
答案问询微信:424329

(23)在C语言中,变量不区分大小写。
答案问询微信:424329

(24)对于二维数组a[2][3],则a[1]表示是第二行的首地址。
答案问询微信:424329

(25)逻辑运算符的优先级比算术运算符高。
答案问询微信:424329

(26)模运算符要求两侧均应为整型数据。( )
答案问询微信:424329

(27)函数的实参可以是常量,变量或表达式。( )
答案问询微信:424329

(28)文件指针用于指向文件,文件只有被打开后才有对应的文件指针。( )
答案问询微信:424329

(29)C 语言的书写格式不会影响程序的可读性。( )
答案问询微信:424329

(30)条件表达式不能取代一般if 的语句。( )
答案问询微信:424329

(31)break 则是结束整个循环过程,不再判断执行循环的条件是否成立。( )
答案问询微信:424329

(32)C 语言允许用字符串的方式对数组作初始化赋值。( )
答案问询微信:424329

(33)文件指针用于指向文件,文件只有被打开后才有对应的文件指针。( )
答案问询微信:424329

(34)C 语言标准输入操作中 ,gets() 函数一次只可读取一个字符。( )
答案问询微信:424329

(35)条件表达式不能取代一般 if 的语句。( )
答案问询微信:424329

(36)如果函数定义出现在函数调用之前,可以不必加函数原型声明。( )
答案问询微信:424329

程序设计题:
(36)如果函数定义出现在函数调用之前,可以不必加函数原型声明。( )
答案问询微信:424329

(36)如果函数定义出现在函数调用之前,可以不必加函数原型声明。( )
答案问询微信:424329

(36)如果函数定义出现在函数调用之前,可以不必加函数原型声明。( )
答案问询微信:424329

(36)如果函数定义出现在函数调用之前,可以不必加函数原型声明。( )
答案问询微信:424329


(36)如果函数定义出现在函数调用之前,可以不必加函数原型声明。( )
答案问询微信:424329

(36)如果函数定义出现在函数调用之前,可以不必加函数原型声明。( )
答案问询微信:424329

(36)如果函数定义出现在函数调用之前,可以不必加函数原型声明。( )
答案问询微信:424329

(36)如果函数定义出现在函数调用之前,可以不必加函数原型声明。( )
答案问询微信:424329

提供优质的教育资源

公众号: 超前自学网