宁波工程学院历年计算机C语言期末
本试卷为宁波工程学院历年计算机C语言期末,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
计算机C语言期末
一、单项选择题 (共50题,每题2分,共计100分)
( C )
1、有以下程序
#include <stdio.h>
int main()
{
int a = 1, b = 2, c = 3, d = 0;
if (a == 1 && b++ == 2)
if (b != 2 || c-- != 3)
printf("%d,%d,%d\n", a, b, c);
else
printf("%d,%d,%d\n", a, b, c);
else
printf("%d,%d,%d\n", a, b, c);
}
程序运行后的输出结果是________。
( B )
2、有以下结构体说明和变量的定义,且指针p指向变量a’指针q指向变量b,则不能把结点b连接到结点a之后的语句是________。
struct node
{
char data;
struct node*next;
}
a,b,*p=&a,*q=&b;
( C )
3、下列能正确进行字符串赋值的是________。
( A )
4、有以下程序:
double f(double x);
main()
{
double a=0;
int i;
for(i=0;i<30;i+=10)a+=f((double)i);
printf("%5.0f\n",a);
}
double f(double x)
{
return x*x+1;
}
程序运行后的输出结果是________。
( C )
5、下面正确的字符常量是________。
( D )
6、表达式3.6-5/2+1.2+5%2的值是________。
( D )
7、以下4个选项中,不能看作一条语句的是________。
( A )
8、若程序中定义了以下函数 double myadd(double a,double b)
{
return (a+b);
}
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是________。
( A )
9、有定义语句:int x, y; 若要通过scanf("%d,%d",&x,&y); 语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是________。
( C )
10、若有以下程序
#include <stdio.h>
void f(int n);
main()
{
void f(int n);
f(5);
}
void f(int n)
{
printf("%d\n",n);
}
则以下叙述中不正确的是________。
( C )
11、下列四组选项中,正确的c语言标识符是________。
( D )
12、若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是: ( )
( C )
13、若 x=0 , y=3 , z=3, 以下表达式值为 0 的是________。
( D )
14、执行下列程序后的输出结果是 _________.
#include <stdio.h>
void main( )
{
int k=4,a=3,b=2,c=1;
printf("%d\n",k<a?k:c<b?c:a);
}
( D )
15、若有说明int a[3][4]; 则a数组元素的非法引用是________。
( C )
16、以下描述中正确的是________。
( C )
17、下面各选项中,属于非法的c整型常量的是________。
( A )
18、下面关于形参与实参的说法,正确的是________。
( A )
19、执行完语句int [] x= new int [25]; 后,则下列哪项说法是正确的
( A )
20、下列关于宏操作的叙述错误的是________。
( A )
21、以下函数不能用于向文件写入数据的是________。
( A )
22、下列各循环语句中,不是死循环的是________。
( D )
23、若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元 int *p p=______malloc(sizeof(int)); 则应填入______。
( A )
24、在c语言中,若函数调用时实参是数组名,则传递给对应形参的是______。
( D )
25、在c 语言程序中,在函数内部定义的变量称为________。
( B )
26、用高级程序设计语言编写的程序,________。
( A )
27、设有定义:int k=0; 以下选项的四个表达式中与其他三个表达式的值不相同的是______。
( C )
28、如果要限制一个变量,命名其只能为本文件所用,必须通过( )来实现。
( A )
29、if语句的基本形式是:if(表达式)语句,以下关于"表达式"值的叙述中正确的是______。
( C )
30、以下正确的程序段是________。
( B )
31、以下程序的运行结果是________。
#include <stdio.h>
#define MIN(x,y) (x)<(y) ? (x):(y)
main() {
int i=10,j=15,k;
k=10*MIN(i,j);
printf("%d\n",k);
}
( B )
32、有以下程序:
struct stu
{
char num[10];
float score[3];
};
main()
{
struct stu s[3]={{"20021",90,95,85}, {"20022",95,80,75}, {"20023",100,95,90}},*p=s;
int i;
float sum=0;
for(i=0;i<3;i++ ){
sum=sum+p->score[i];
}
printf("%6.2f\n",sum);
}
程序运行后的输出结果是________。
( B )
33、执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是________。
main()
{
char s[100];
int c, i;
scanf("%c",&c);
scanf("%d",&i);
scanf("%s",s);
printf("%c,%d,%s\n",c,i,s);
}
( B )
34、下面程序的运行结果是
#include<stdio.h>
main()
{
char a[]="morning",t;
int i,j=0;
for(i=1;i<7;i++) {
if(a[j]<a[i]) {
j=i;
t=a[j];
a[j]=a[7];
a[7]=a[j];
}
}
printf("%s", a);
}
( C )
35、下列选项中,表示字符串末尾的结束标志是________。
( C )
36、下列选项中,关于main()函数叙述不正确的是________。
( D )
37、以下的 for 循环次数是多少次? for(x=0,y=0;(y!=123)|| (x<4);x++) ;
( A )
38、对于类型相同的两个指针变量之间,不能进行的运算是________。
( D )
39、设有下面的程序段:char s[]="china"; char *p=s; 则下列叙述正确的是____。
( D )
40、以下叙述中正确的是________。
( C )
41、下面说法正确的是________。
( A )
42、以下关于 c 语言数据类型使用的叙述中错误的是________。
( C )
43、下列程序段的输出结果为________。 int a=7,b=9,t; t=a*=a>b?a:b; printf("%d",t);
( C )
44、下面四个选项中,均是不合法的用户标识符的选项是________。
( A )
45、若使用一维数组名作函数实参,则以下正确的说法是________。
( D )
46、若变量已正确定义,执行语句scanf("%d,%d,%d ",&k1,&k2,&k3);
时,___是正确的输入
( A )
47、c语言的if语句中,用作判断的表达式为____
( D )
48、下列哪个数组定义是正确的________。
( C )
49、以下程序的输出结果是________。
#include<stdio.h>
main( )
{
int i;
for(i=1;i<5;i++)
{
if(i%2)printf(''+''); else continue;
printf(''-'')
}
printf('' $ \n'');
}
( A )
50、设有以下语句, 若 0
相关标签:
- C语言
- 宁波工程学院
- 期末