宁波工程学院历年计算机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语言
- 宁波工程学院
- 期末