衡阳师范学院2022年C语言专升本测试卷

本试卷为衡阳师范学院2022年C语言专升本测试卷,题目包括:单项选择题。

覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。

本卷包括如下题型:

一、单项选择题

C语言专升本测试卷

一、单项选择题 (共50题,每题2分,共计100分)

(  C  )
1、若有以下程序段,w和k都是整型变量:
w=k;
LB:if(w==0)
goto LE;
w--;
printf("*") goto LB;
LE;
则不能与上面程序段等价的循环语句是________。
A、for(w=k;w!—0;w--)printf(”*”);
B、for(w=k;W;--w)printf(”*”);
C、w=k;
while(w--!=O)printf(”*”);
D、w=k:
W++;do
{
w--;printf(”*”);)while(w!=O);
(  C  )
2、有以下程序:
void swap(char*x,char*y)
{
char t;
t=*x;
*x=*y;
*y=t;
}
main()
{
char*s1="abe",*s2="123"; swap(s1,s2);
printf("%s,%s\n",s1,s2);
}
程序执行后的输出结果是________。
A、123,abe
B、abc.123
C、1bc,a23
D、321,cba
(  B  )
3、c语言允许函数值类型缺省定义,此时该函数值隐含的类型是________.
A、float
B、int
C、long
D、double
(  A  )
4、设有定义:int a=2,b=3,c=4; ,则以下选项中值为0的表达式是________。
A、(!a==1)&&(!b==0)
B、(a
C、a && b
D、a||(b+b)&&(c-a)
(  A  )
5、以下程序的功能是进行位运算
main()
{
unsigned char a, b;
a=7^3;
b= ~4 & 3;
printf("%d %d\n",a,b);
}
程序运行后的输出结果是________。
A、4 3
B、7 3
C、7 0
D、4 0
(  D  )
6、以下不能定义为用户标识符的是________。
A、scanf
B、Void
C、_3com_
D、int
(  D  )
7、设有宏定义:#define IsDIV(k,n) ((k%n==1)?1:0)且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)&& IsDIV(m,7)为真时所要表达的是________。
A、判断m是否能被5或者7整除
B、判断m是否能被5和7整除
C、判断m被5或者7整除是否余1
D、判断m被5和7整除是否都余1
(  D  )
8、下面( )表达式的值为4
A、11/3
B、11.0/3
C、(float)11/3
D、(int)(11.0/3+0.5)
(  B  )
9、已知char x[]="hello", y[]={ 'h','e','a','b','e' }; 则关于两个数组长度的正确描述是________。
A、相同
B、x大于y
C、x小于y
D、以上答案都不对
(  D  )
10、以下函数 func() 的功能是:使具有 n 个元素的一维数组 b 的每个元素的值都增加 2 ,划线处应填入 _____.
func(int b[ ],int n)
{
int ;
for(i=0;i<n;i++) __________;
}
A、b[i++]
B、b[i]++
C、b[i+=2]
D、b[i]+=2
(  A  )
11、执行下面的程序段后,变量k的值为________。 int k=3,s[2]; s[0]=k; k=s[1]*10;
A、不定值
B、33
C、30
D、10
(  A  )
12、如果文件1包含文件2,文件2中要用到文件3的内容,而文件3中要用到文件4的内容,则可在文件1中用三个 #include命令分别包含文件2、文件3和文件4。在下列关于这几个文件包含顺序的叙述中,正确的一条是________。
A、文件4应出现在文件3之前,文件3应出现在文件2之前
B、文件2应出现在文件3之前,文件3应出现在文件4之前
C、文件3应出现在文件2之前,文件2应出现在文件4之前
D、出现的先后顺序可以任意
(  B  )
13、在下面关于指针的说法中,错误的一条是________。
A、变量的指针就是变量的地址
B、可以将一个整型量或任何其他非地址类型的数据赋给一个指针变量
C、一个指针变量只能指向同一个类型的变量
D、指针变量中只能存放地址(指针)
(  D  )
14、在c语言中,下列运算符优先级最高的是________。
A、>=
B、==
C、!=
D、&&
(  D  )
15、设int b=2; 表达式(b<<2)/(b>>1)的值是________。
A、2
B、4
C、6
D、8
(  A  )
16、设函数中有整型变量a,为保证其在未赋初值的情况下初值为0,应选择的存储类别是________。
A、static
B、register
C、auto
D、auto或register
(  B  )
17、下列程序段执行后x、y和z的值分别是________
int x=10,y=20,z=30; if(x>y)z=x; x=y; y=z;
A、10,20,30
B、20,30,30
C、20,30,10
D、20,30,20
(  A  )
18、在循环结构中,______可以使得同一组语句一次也不执行。
A、当型循环
B、直到型循环
C、都不能实现
D、do-while语句
(  C  )
19、若a和b均是整型变量并已正确赋值,正确的switch语句是________。
A、15
B、50
C、55
D、5
(  B  )
20、下列对c语言字符数组的描述中正确的是________。
A、任何一个一维数组的元素在引用时,其下标可以是整型、实型或字符型常量
B、一维数组的元素实质上就是一个变量,代表内存中的一个存储单元
C、如果要引用数组中的每一个元素,则直接使用该数组名称即使
D、以上都不对
(  D  )
21、下列c语言标识符中,合法的是________。
A、if
B、return
C、23a
D、a23
(  B  )
22、在函数说明时,下列不必要的是________项。
A、函数参数的类型
B、函数参数名字
C、函数的名字
D、返回值表达式
(  D  )
23、如果在一个运算表达式中包含有逻辑运算、关系运算和算术运算,并且其中未用圆括号规定这些运算的先后顺序,那么这样的综合型表达式的运算顺序是______。
A、逻辑→算术→关系
B、关系→逻辑→算术
C、算术→逻辑→关系
D、算术→关系→逻辑
(  B  )
24、设有两个字符串p和q,其中q是p的子串,把q在p中首次出现的位置作为子串q在p中位置的算法称为 (43) 。
A、求子串
B、匹配
C、连接
D、求串长
(  B  )
25、有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是________。
struct node
{
char data;
struct node *next;
}
a,b,*p=&a,*q=&b;
A、3 4 7 5
B、3 5 7 4
C、1 2 3 4
D、1 2 3 5
(  A  )
26、有以下程序
main()
{
int i;
for(i=0;i<3;i++)
switch(i)
{
case 1: printf("%d",i);
case 2: printf("%d",i);
default: printf("%d",i);
}
}
执行后输出的结果是________。
A、011122
B、012
C、012020
D、120
(  C  )
27、下面程序的输出结果是________。
#include<stdio.h>
main() {
char a[]='a','b','c','d','f','g',*p;
p=a;
printf("%c\n",*p+4);
}
A、a
B、b
C、e
D、f
(  D  )
28、char型常量在内存中存放的是________。
A、二进制代码值
B、十进制代码值
C、十六进制代码值
D、ASCⅡ代码值
(  A  )
29、执行下列程序段后输出的结果是________
{
int x,y,z=1;
for(x=1,y=-1;x<y;x++,y--) z++;
printf("%d\n",z);
}
A、1
B、2
C、5
D、6
(  A  )
30、程序运行过程中常使用参数在函数(过程)间传递信息,引用调用传递的是实参的________。
A、地址
B、类型
C、名称
D、值
(  A  )
31、通常适用于从被调用函数中将一个值传回主调函数的参数传递方式是________。
A、利用返回值数据传递方式
B、利用形参与实参传递数据的方式
C、利用全局变量传递数据的方式
D、以上都不对
(  B  )
32、关于c语言中的全局变量,下列描述中正确的是________。
A、全局变量的作用域一定比局部变量的作用域范围大
B、静态类别变量的生存周期贯穿于整个程序的运行期间
C、函数的形参都属于全局变量
D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值
(  C  )
33、若给定条件表达式(m)?(a++):(a--)则下列选项中和表达式m等价的是________。
A、(M==0)
B、(M==1)
C、(M!=0)
D、(M!=1)
(  D  )
34、关于数组的定义与初始化,下列哪一项是错误的( )
A、int arr[5] = {1,2,3,4,5};
B、int arr[] = {1,2,3,4,5};
C、int arr[5] = { 1,2,3};
D、int arr[5] = {1,2,3,4,5,6};
(  B  )
35、关于二进制的说法中,正确的是________。
A、所有的信息只能用二进制代码来表示
B、计算机一般都使用二进制代码,用它的某种信息编码方式来表示信息
C、ASCII是计算机用来表示文字符号的唯一一种二进制代码
D、汉字在计算机内使用汉字国标码来表示,不使用二进制编码
(  B  )
36、有如下定义
struct person
{
char name[9];
int age;
}
;
struct person class[10] = {"john",17, "paul",19, "mary",18, "adam",16};
根据上述定义,能输出字母a的语句是______。
A、printf("%c\n",class[3].name);
B、printf("%c\n",class[3].name[0]);
C、printf("%c\n",class[4].name[1]);
D、printf("%c\n",class[4].name[0]);
(  D  )
37、以下选项中不属于c语言类型的是______。
A、signed short int
B、unsigned char
C、singed long
D、long short
(  B  )
38、以下选项中合法的字符常量是______。
A、"B"
B、'\010'
C、68
D、D
(  A  )
39、以下关于逻辑运算符两侧运算对象的叙述中正确的是________。
A、可以是任意合法的表达式
B、只能是整数 0 或非 0 整数
C、可以是结构体类型的数据
D、只能是整数 0 或 1
(  D  )
40、以下叙述中正确的是________。
A、while 循环的循环体至少执行 1 次
B、while 循环的循环控制条件比 do-while 循环的循环控制条件复杂
C、do-while 循环体不能是复合语句
D、do-whil 循环的循环体至少执行 1 次
(  D  )
41、有以下程序
#include <string.h>
main(int argc,char *argv[])
{
int i,len=0;
for(i=1;i<argc;i++) len+=strlen(argv[i]);
printf("%d\n",len);
}
程序编译连接后生成的可执行文件是ex1.exe,若运行时输入带参数的命令行是:ex1 abcd efg 10↙则运行的结果是______。
A、22
B、17
C、12
D、9
(  B  )
42、c语言源程序的基本单位是________。
A、过程
B、函数
C、子程序
D、标识符
(  D  )
43、c语言中函数调用的方式有________。
A、函数调用作为语句一种
B、函数调用作为函数表达式一种
C、函数调用作为语句或函数表达式两种
D、函数调用作为语句、函数表达式或函数参数三种
(  C  )
44、下面的程序中( )错误(每行程序前面的数字是行号)。
1 #include<stdio.h>
2 main()
3 {
4 float a[3]={0.0};
5 int i;
6 for(i=0;i<3;i++) scanf("%d",a[i]);
7 for(i=1;i<3;i++) a[0]=a[0]+a[i];
8 printf("%f\n",a[0]);
9 }
A、没
B、第4行
C、第6行
D、第8行
(  A  )
45、以下不符合c 语言语法的赋值语句是________。
A、a=1,b=2
B、++j;
C、a=b=5;
D、y=(a=3,6*5);
(  B  )
46、下面语句中( )是c 语言的正确赋值语句。
A、a=1,b=2
B、I++;
C、a=b=5
D、y=int(x);
(  D  )
47、一个c语言程序是由____构成。
A、语句
B、行号
C、数据
D、函数
(  D  )
48、执行下列程序段后,m 的值是________.
int w=2,x=3,y=4,z=5,m;
m=(w
A、4
B、3
C、5
D、2
(  C  )
49、判断两个字符串是否相等,正确的表达方式是
A、s1==s2
B、s1=s2
C、strcmp(s1,s2)==0
D、strcmp(s1,s2)=0
(  A  )
50、在 C语言中,为了结束由 while 语句构成的循环,while 后一对圆括号中表达式的值应该为()。
A、0
B、1
C、TRUE
D、非 0
相关标签:
  • C语言
  • 衡阳师范学院
  • 专升本测试卷