新疆农业大学2022年C语言期末预测卷

本试卷为新疆农业大学2022年C语言期末预测卷,题目包括:单项选择题,判断题,填空题,程序分析题,编程题。

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

C语言期末预测卷

一、单项选择题 (共20题,每题2分,共计40分)

(  B  )
1、执行下列程序后,变量a,b,e的值分别是________。 int x--5,y=4;
int a,b,e;
a=(--x==y++)?x;
++y;
b=++x;
c=y;
A、a=5,b=5,c=5
B、a=4,b=5,c=5
C、a=5,b=6,c=5
D、a=1,b=5,C=6
(  B  )
2、若有定义语句int b=2;则表达式(b<<2)/(3||b)的值是________。
A、4
B、8
C、0
D、2
(  B  )
3、以下正确的描述是________.
A、continue语句的作用是结束整个循环的执行
B、只能在循环体内和switch语句体内使用break语句
C、在循环体内使用break语句或continue语句的作用相同
D、从多层循环嵌套中退出时,只能使用goto语句
(  D  )
4、以下程序的输出结果是________。
main( )
{
int x=11,y=11;
printf("%d%d\\n",x--,--y);
}
A、11,11
B、10,10
C、10,11
D、11,10
(  D  )
5、以下不正确的 c 语言标识符是______。
A、ABC
B、abc
C、a_bc
D、ab.c
(  C  )
6、在c语言中,以下一组运算符中,优先级最高的运算符是______。
A、<=
B、=
C、%
D、&&
(  C  )
7、设有如下定义:
struct sk
{
int n;
float x;
} data,*p;
若要使p指向data中的n域,正确的赋值语句是________。
A、p=&datn;
B、*p=datn;
C、p=(struct sk*)&datn;
D、p=(struct sk*)datn;
(  D  )
8、下列描述中,正确的一条是______。
A、关系表达式的值是一个逻辑值,即“真”或“假”,可以赋给一个逻辑变量
B、在C语言中,判断一个量是否为:真”时,以0代表“假”,以1代表“真”.
C、设a=3、b=4、c=5,则表达式!(x=&&(y=&&0的值为0
D、一个数组的各个数组元素可属于不同的数据类型
(  C  )
9、若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是________。
A、abs(x-y)<10
B、x-y>-10&&x-y<10
C、!(x-y)<-10||!(y-x)>10
D、(x-y)*(x-y)<100
(  D  )
10、已知英文字母a的十进制ascii码值为65,那么a的十进制ascii码值为______。
A、98
B、100
C、89
D、97
(  C  )
11、顺序执行下列程序语句后,则b的值是 string a="hello"; string b=a.substring(0,2);
A、Hello
B、hello
C、He
D、null
(  D  )
12、下列是多行注释的符号是________。
A、//
B、/
C、/*
D、/**/
(  A  )
13、下面程序的输出结果是_______。
f1(int x)
{
int y;
y=x+x;
return(y);
}
f2(int a ,int b)
{
int z;
z=f1(a*b);
return(z);
}
main( )
{
int a=2,b=5,c;
c=f2(a,b);
printf("%d",c);
}
A、20
B、7
C、4
D、10
(  D  )
14、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=3则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为______。
A、0
B、1
C、2
D、3
(  A  )
15、有以下程序
main()
{
int a=15,b=21,m=0;
switch(a%3)
{
case 0:m++;
break;
case 1:m++;
switch(b%2)
{
default:m++;
case 0:m++;
break;
}
}
printf("%d\n",m);
}
程序运行后的输出结果是______。
A、1
B、2
C、3
D、4
(  A  )
16、以下描述错误的是________。
A、实参数可以与形参个数不一致。
B、C程序中,函数可以直接或间接地调用自己。
C、函数调用时,函数名必须与所调用的函数名字完全一致
D、函数声明语句中的类型必须与函数返回值得类型一致。
(  C  )
17、以下能对一维数组a进行正确初始化的语句是________。
A、int a[10]=(0,0,0,0,0)
B、int a[10]={};
C、int a[]={0};
D、int a[10]={10*1};
(  C  )
18、若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为______。
A、*(a+j*n+i)
B、*(a+i*n+j)
C、*(*(a+i)+j)
D、*(*a+i)+j
(  B  )
19、为了避免在嵌套的条件语句if-else 中产生二义性,c 语言规定: else子句总是与配对________。
A、缩排位臵相同的if
B、其之前最近的没有else配对的if
C、其之后最近的if
D、同一行上的if
(  A  )
20、结构体类型的定义允许嵌套是指()。
A、成员是已经或正在定义的结构体型
B、成员可以重名
C、结构体型可以派生
D、定义多个结构体型

二、判断题 (共10题,每题2分,共计20分)

(   F  )
1、在 c 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。( ) 
(   F  )
2、当#include后面的文件名用双引号""括起,仅搜索当前目录。 
(   T  )
3、c语言约定'\0'不计入字符串的长度。 
(   T  )
4、函数调用时,如果把数组名作实参,则形参数组元素的值发生变化时,实参数组元素的值同时发生变化。 
(   T  )
5、当函数的类型为int型时,vc++允许省略函数声明。 
(   T  )
6、if(a=5) 是允许的。 
(   F  )
7、在循环中使用break语句或者continue语句,其作用是相同的。 
(   T  )
8、c语言在判断一个表达式是否为真时,以非0值代表"真",以0值代表"假" 
(   F  )
9、在switch 语句中必须使用break 语句 
(   F  )
10、c语言中允许嵌套定义函数。 

三、填空题 (共5题,每题4分,共计20分)

1、局部变量的作用域是从______的位置起,到函数结束止。
2、在定义函数时函数名后面括号中的变量名称为________。
3、已知char str[]="student",则strlen(str)的值为________。
4、开发一个c程序要经过编辑、编译、()和运行4个步骤、
5、执行下列的程序段后,正确的结果是_____________。
int i=5;
while( i = 1)i -- ;
printf("%d", i );

四、程序分析题 (共4题,每题5分,共计20分)

1、以下sum函数的功能是计算下列级数之和。 s=1+x+x2/2!+x3/3!+........+xn/n! 请给函数中的各变量正确赋初值。 double sum( double x, int n )
{
int i;
double a,b,s;
________
for( i=1;i<=n;i++)
{
a=a*x;
b=b*i;
s=s+a/b;
}
return s;
}
2、以下程序的输出结果是_____________。
main()
{
int a;
printf("%d\n",(a=3*4,a*5,a+5));
}
3、下列程序段的运行结果是_____。
char s1[20]="abcdef", s2[5]="abc";
strcpy(s1,s2);
printf("%c", s1[5]);
4、以下程序的输出结果是_____________。
main()
{
float x;
printf("%.4f\n",(x=2*4,x+0.5));
}

五、编程题 (共3题,每题0分,共计50分)

1、编写函数
void del(char *s,char c),其功能是在 s 所指字符串中删除与变量 c 相同的 字符,并设计主函数实现: (1)从键盘输入字符串和指定被删除的字符;
(2)调用 del()函数实现删除操作;
(3)输出删除后的字符串。 说明:不允许使用除 gets和 puts之外的任何字符串处理库函数。
2、编写程序:求1+2!+3!+...+20!的和。
3、给定N个职员的信息,包括姓名、基本工资、浮动工资和支出,要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出)。
输入格式:
输入在一行中给出正整数N。随后N行,每行给出一位职员的信息,格式为“姓名 基本工资 浮动工资 支出”,中间以空格分隔。其中“姓名”为长度小于10的不包含空白字符的非空字符串,其他输入、输出保证在单精度范围内。
输出格式:
按照输入顺序,每行输出一位职员的姓名和实发工资,间隔一个空格,工资保留2位小数。
输入样例:
3
zhao 240 400 75
qian 360 120 50
zhou 560 150 80
输出样例:
zhao 565.00
qian 430.00
zhou 630.00
相关标签:
  • C语言
  • 新疆农业大学
  • 期末预测卷