山西师范大学2022年C语言程序设计专升本试题
本试卷为山西师范大学2022年C语言程序设计专升本试题,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言程序设计专升本试题
一、单项选择题 (共50题,每题2分,共计100分)
( B )
1、当变量c的值不为2、4、6时,值也为"真"的表达式是________。
( A )
2、有以下函数: char fun(char*p)
{
return p;
}
该函数的返回值是________。
( A )
3、下列字符数组初始化语句中,不正确的是________。
( D )
4、c语言中,下列不合法的字符常量是________。
( C )
5、下面正确的字符常量是________。
( D )
6、若int i=10;
执行下列程序后,变量i的正确结果是________。 switch (i)
{
case 0: i+=1;
case 10: i+=1;
case 11: i+=1;
default: i+=1;
}
( B )
7、设有如下程序段: int i=0, sum=1;
do
{
sum+=i++;
}
while(i<6);
printf("%d\n", sum);
上述程序段的输出结果是________。
( C )
8、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f的数据类型是________。
( C )
9、设有定义:int k=1,m=2; float f=7; ,则以下选项中错误的表达式是________。
( C )
10、设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是________。
( C )
11、设有说明 int (*ptr)[m]; 其中 ptr 是______。
( D )
12、若有以下说明和语句: int c[4][5],(*p)[5]; p=c; 能够正确引用c数组元素的是________。
( B )
13、若需要利用形参直接访问实参,则应把形参变量说明为( )参数。
( B )
14、下列可用于c语言用户标识符的一组是________。
( C )
15、以下关于c语言数据类型的叙述中正确的是________。
( D )
16、下列不属于逻辑运算符的是________。
( A )
17、在下列原型所示的c++函数中,按"传值"方式传递参数的是________。
( B )
18、一条计算机指令中,通常应包含______。
( D )
19、如果在一个运算表达式中包含有逻辑运算、关系运算和算术运算,并且其中未用圆括号规定这些运算的先后顺序,那么这样的综合型表达式的运算顺序是______。
( B )
20、设有两个字符串p和q,其中q是p的子串,把q在p中首次出现的位置作为子串q在p中位置的算法称为 (43) 。
( C )
21、有以下程序
main()
{
char s[]="\n123\\";
printf("%d,%d\n",strlen(s),sizeof(s));
}
执行后输出结果是________。
( D )
22、有以下程序:
#include <stdio.h>
#include <string.h>
main(int argc,char *argv[]) {
int i,len=0;
for(i=1;i<argc;i+=2) len+=strlen(argv[i]);
prinff("%d\n",len);
}
此程序经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行: ex abed efg h3 k44 则执行后的输出结果时________。
( D )
23、若有说明语句 char a[ ]="it is mine"; char *p="it is mine"; 则以下不正确的叙述是________。
( C )
24、下列字符数组长度为5的是________。
( B )
25、以下程序运行后的输出结果是______。
main ()
{
int y=18,i=0,j,a[8];
do
{
a[i]=y%2;
i++;
y=y/2;
}
while(y>=1);
for(j=i-1;j>=0;j--)printf("%d",a[j]);
printf("\n");
}
( D )
26、以下关于排序算法的叙述中,正确的是________。
( B )
27、有以下程序
main()
{
int i=10,j=1;
printf("%d,%d\n",i--,++j);
}
执行后输出的结果是________。
( A )
28、设有循环语句"for(i=1;i>0;i++) i++; ",其循环执行的次数是________。
( C )
29、以下说法错误的是________。
( B )
30、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为________。
( B )
31、对于以下递归函数f,调用 f(3) 的返回值是________。 int f(int n)
{
if(n) return f(n-1) + n;
else return n;
}
( A )
32、以下关于逻辑运算符两侧运算对象的叙述中正确的是________。
( B )
33、算法具有五个特性,以下选项中不属于算法特性的是______。
( B )
34、有以下程序
main()
{
int i, j;
for(i=1;i<4;i++)
{
for(j=i;j<4;j++) printf("%d*%d=%d ",i,j,i*j);
printf("\n");
}
}
程序运行后的输出结果是______。
( B )
35、c语言中,数组名代表________。
( B )
36、若有定义语句:double x[5]= {1.0,2.0,3.0,4.0,5.0 }, *p=x;
则错误引用x数组元素的是______。
( C )
37、若有定义:int a=1,b=2,c=3,d=4,m=2,n=2; 则执行(m=a>b)&&(n=c>d)后 n 的值是________。
( B )
38、下面选项中合法的字符常量是________。
( A )
39、先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是________。
( D )
40、以下程序的运行结果是________。
main()
{
int i=1,sum=0;
while(i<10) sum=sum+1;
i++;
printf("i=%d,sum=%d",i,sum);
}
( A )
41、设有如下定义:
struct sk
{
int a;
float b;
}
data,*p;
若要使p指向data中的a域,正确的赋值语句是________。
( B )
42、下面程序输出的结果为________。
#include <stdio.h>
int main()
{
int s=3;
switch(s)
{
case 5: printf("我");
break;
case 4: printf("是");
case 3: printf("好");
case 2: printf("学");
break;
default: printf("生");
}
}
( C )
43、c语言规定,在一个源程序中,main函数的位置________。
( A )
44、设n 为整型变量,则循环语句for(n=10;n > 0;n--) 的循环次数为________。
( D )
45、对于数学式x /2a,下面正确的c 语言表达式是________。
( C )
46、下列语句的输出结果是()。
printf("%d\n",(int)(2.5+3.0)/3);
( A )
47、下列数组说明中,正确的是()。
( A )
48、以下语句中,循环次数不为 10 次的语句是()。
( B )
49、若执行 fopen 函数时发生错误,则函数的返回值是()。
( A )
50、执行下面语句后的输出为____
int i= -1;
if (i < =0)printf("****\n");
else printf("%%%%\n");
相关标签:
- C语言
- 山西师范大学
- 专升本试题