衡阳师范学院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;
则不能与上面程序段等价的循环语句是________。
( 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);
}
程序执行后的输出结果是________。
( B )
3、c语言允许函数值类型缺省定义,此时该函数值隐含的类型是________.
( A )
4、设有定义:int a=2,b=3,c=4; ,则以下选项中值为0的表达式是________。
( A )
5、以下程序的功能是进行位运算
main()
{
unsigned char a, b;
a=7^3;
b= ~4 & 3;
printf("%d %d\n",a,b);
}
程序运行后的输出结果是________。
( D )
6、以下不能定义为用户标识符的是________。
( D )
7、设有宏定义:#define IsDIV(k,n) ((k%n==1)?1:0)且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)&& IsDIV(m,7)为真时所要表达的是________。
( D )
8、下面( )表达式的值为4
( B )
9、已知char x[]="hello", y[]={ 'h','e','a','b','e' }; 则关于两个数组长度的正确描述是________。
( D )
10、以下函数 func() 的功能是:使具有 n 个元素的一维数组 b 的每个元素的值都增加 2 ,划线处应填入 _____.
func(int b[ ],int n)
{
int ;
for(i=0;i<n;i++) __________;
}
( A )
11、执行下面的程序段后,变量k的值为________。 int k=3,s[2]; s[0]=k; k=s[1]*10;
( A )
12、如果文件1包含文件2,文件2中要用到文件3的内容,而文件3中要用到文件4的内容,则可在文件1中用三个 #include命令分别包含文件2、文件3和文件4。在下列关于这几个文件包含顺序的叙述中,正确的一条是________。
( B )
13、在下面关于指针的说法中,错误的一条是________。
( D )
14、在c语言中,下列运算符优先级最高的是________。
( D )
15、设int b=2; 表达式(b<<2)/(b>>1)的值是________。
( A )
16、设函数中有整型变量a,为保证其在未赋初值的情况下初值为0,应选择的存储类别是________。
( B )
17、下列程序段执行后x、y和z的值分别是________ int x=10,y=20,z=30; if(x>y)z=x; x=y; y=z;
( A )
18、在循环结构中,______可以使得同一组语句一次也不执行。
( C )
19、若a和b均是整型变量并已正确赋值,正确的switch语句是________。
( B )
20、下列对c语言字符数组的描述中正确的是________。
( D )
21、下列c语言标识符中,合法的是________。
( B )
22、在函数说明时,下列不必要的是________项。
( D )
23、如果在一个运算表达式中包含有逻辑运算、关系运算和算术运算,并且其中未用圆括号规定这些运算的先后顺序,那么这样的综合型表达式的运算顺序是______。
( B )
24、设有两个字符串p和q,其中q是p的子串,把q在p中首次出现的位置作为子串q在p中位置的算法称为 (43) 。
( B )
25、有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是________。
struct node
{
char data;
struct node *next;
}
a,b,*p=&a,*q=&b;
( 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);
}
}
执行后输出的结果是________。
( C )
27、下面程序的输出结果是________。
#include<stdio.h>
main() {
char a[]='a','b','c','d','f','g',*p;
p=a;
printf("%c\n",*p+4);
}
( D )
28、char型常量在内存中存放的是________。
( A )
29、执行下列程序段后输出的结果是________
{
int x,y,z=1;
for(x=1,y=-1;x<y;x++,y--) z++;
printf("%d\n",z);
}
( A )
30、程序运行过程中常使用参数在函数(过程)间传递信息,引用调用传递的是实参的________。
( A )
31、通常适用于从被调用函数中将一个值传回主调函数的参数传递方式是________。
( B )
32、关于c语言中的全局变量,下列描述中正确的是________。
( C )
33、若给定条件表达式(m)?(a++):(a--)则下列选项中和表达式m等价的是________。
( D )
34、关于数组的定义与初始化,下列哪一项是错误的( )
( B )
35、关于二进制的说法中,正确的是________。
( B )
36、有如下定义
struct person
{
char name[9];
int age;
}
;
struct person class[10] = {"john",17, "paul",19, "mary",18, "adam",16};
根据上述定义,能输出字母a的语句是______。
( D )
37、以下选项中不属于c语言类型的是______。
( B )
38、以下选项中合法的字符常量是______。
( A )
39、以下关于逻辑运算符两侧运算对象的叙述中正确的是________。
( D )
40、以下叙述中正确的是________。
( 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↙则运行的结果是______。
( B )
42、c语言源程序的基本单位是________。
( D )
43、c语言中函数调用的方式有________。
( 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 )
45、以下不符合c 语言语法的赋值语句是________。
( B )
46、下面语句中( )是c 语言的正确赋值语句。
( D )
47、一个c语言程序是由____构成。
( D )
48、执行下列程序段后,m 的值是________. int w=2,x=3,y=4,z=5,m; m=(w
( C )
49、判断两个字符串是否相等,正确的表达方式是
( A )
50、在 C语言中,为了结束由 while 语句构成的循环,while 后一对圆括号中表达式的值应该为()。
相关标签:
- C语言
- 衡阳师范学院
- 专升本测试卷