C语言期末考试样题_c语言期末考试样题

2020-02-27 其他范文 下载本文

C语言期末考试样题由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言期末考试样题”。

------------------

一、选择题(每小题1分,共30分)1. 以下叙述正确的是()。

A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句 C)C语言本身没有输入输出语句

D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 2.一个C语言程序的基本单位是()A)函数

B)子程序

C)过程 D)命令 3.一个C语言的语句必须使用的结束符号是()

A),B)。

C):

D);

4.下列选项中,可以作为C语言标识符的是()

A)3stu B)#stu C)stuD)stu.3 5.设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为()

A)float B)char C)int D)double 6.下列叙述正确的是()

A)赋值语句中的“=”是表示左边变量等于右边表达式 B)赋值语句中左边的变量值不一定等于右边表达式的值 C)赋值语句是由赋值表达式加上分号构成的 D)x+=y;不是赋值语句

7.若x为int型变量,则执行x=6;x+=x-=x*x;语句后,x的值为()

A)36

B)-60

C)60

D)-24 8.若有a=2,b=3,c=4,则表达式a= =3和a=3的值分别为()

A)0和0 B)1和3 C)3和3 D)0和3

9.使条件表达式(year%4==0&&year%100!=0)||(year%400==0)结果为假的值是()

A)1950

B)2000 C)1996 D)2004 10. 若x、i、j、k都是int型变量,则计算下面表达式后,x的值为()。x=(i=4,j=16,k=32)A)4 B)16 C)32 D)52 11. 逻辑运算符两侧运算对象的数据类型()

A)只能是0和1 B)只能是0或非0正数 C)只能是整型或字符型数据 D)可以是任何类型的数据

12. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是()

A)A%2==1 B)!(A%2==0)C)!(A%2)D)A%2 13.语句while(!E);中的表达式!E等价于()。

A)E==0 B)E!=1 C)E!=0 D)E==1 14.下面程序段的运行结果是()a=1;b=2;c=2 while(a

x=x*x;} while(!x);A)是死循环 B)循环执行二次

C)循环执行一次 D)有语法错误 16.以下正确的函数原形说明语句是()

A)void fun(int x);

B)float fun(void y);C)double fun(x);

D)int(char ch);17.在C语言中,形参必须是()

A)常量

B)变量

C.)数值

D)表达式 18.C语言的函数()

A)可以嵌套调用,不能递归调用

B)可以嵌套定义

C)既可以嵌套调用,也可以递归调用

D)不可以嵌套调用 19.合法的数组定义是()

A)int a[ ]=”string”;

B)int a[5]={0,1,2,3,4,5};C)char a=”string”;

D)char a[ ]={0,1,2,3,4,5};20.表达式strlen(“string”)+strlen(“C”)的运算结果为()

A)9

B)10

C)7

D)8 21.若有定义和语句:char s[10];s=“abcd”;printf(“%sn”,s);则结果是()(以下u代表空格)

A)abcd

B)a C)abcd u u u u u

D)编译不通过

正确形式char s[10] =“abcd”;22.若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是()

A)p+1 B)a+1

C)a++

D)++p 23.若有int x, *pb;则正确的赋值表达式是

A)pb=&x

B)pb=x;C)*pb=&x;D)*pb=*x 24.设有程序段:char s[ ]=”china”;char *p;p=s;则下面叙述正确的是()

A)s和p完全相同 错,s是字符数组,p是指向字符串的指针

B)数组s中的内容和指针变量p中的内容相等 错,s内容与p指向的字符串内容相等才对

C)*p与s[0]相等

D)s数组长度和p所指向的字符串长度相等 错,字符串长度大于数组 25.下面对结构变量的叙述中错误的是()

A)相同类型的结构变量间可以相互赋值 B)通过结构变量,可以任意引用它的成员

C)结构变量中某个成员与这个成员类型相同的简单变量间可相互赋值 D)结构变量与简单变量间可以赋值 26.若有结构类型定义如下:

struct bd {

int x;

float y;}r,*p=&r;那么,对r中的成员x的正确引用是()

A)(*p).r.x B)(*p).x

C)p->r.x D)p.r.x 27.在一个函数里不能说明()

A)全局变量

B)静态变量

C)局部变量

D)静态局部变量 28.以下关于文件包含的说法中错误的是()

A)文件包含是指一个源文件可以将另一个源文件的全部内容包含进来。B)文件包含处理命令的格式为

#include “包含文件名” 或 #include C)一条包含命令可以指定多个被包含文件

D)文件包含可以嵌套,即被包含文件中又包含另一个文件。29.下列语句中,将C定义为文件型指针的是()

A)FILE c;

B)FILE *c;

C)file c;

D)file *c;30.下面对typedef的叙述中不正确的是()

A)用typedef可以定义各种类型名,但不能用来定义变量 B)用typedef可以增加新类型

C)用typedef只是将已存在的类型用一个新的标识符来代表 D)使用typedef有利于程序的通用和移植

二、写出下列程序的运行结果(每小题3分,共24分)1.以下程序的输出结果是 x=3 换行x>3。

#include “stdio.h” main(){ int x=3;switch(x)

{ case 1:

case 2:printf(“x

case 3:printf(”x=3n“);

case 4:

case 5:printf(”x>3n“);break;

default:printf(”x unknown“);

} }

2.以下程序的输出结果是 x=4。

#include

void main(){ int i,j,x=0;for(i=0;i

3.以下程序的输出结果是 20,f1()换行30,f2(),换行10,main()。

#include ”stdio.h“ static int x=20;void f1(int x){ x+=10;printf(“%d,f1()n”,x);} void f2(){ x+=10;printf(“%d,f2()n”,x);} void main(){ int x=10;f1(x);f2();printf(“%d,main()n”,x);

} 4.以下程序的输出结果是。

#include #define S ‘ ’ void main(){ int n=5,i,j;

for(i=1;i

5.以下程序的输出结果是 5,9,9,9。

#include void main(){ static int a[]={5,7,9};

int *p=a;++p;printf(“%d %d %d %dn”,*a,*(a+2),*(p+1),p[1]);} 6.下面程序的运行结果是()

#include “stdio.h” void main(){ char a[]=“ab12cd34ef”;int i,j;for(i=j=0;a[i];i++)if(a[i]>=’a’&&a[i]

7.下面程序的运行结果是(110 100)

#include “stdio.h” void main(){ int *p,i;

i=100;

p=&i;

i=*p+10;

printf(“%d %dn”,*p);}

8.下面程序的运行结果是()

void main(){ struct cmplx{ int x;int y;}cnum[2]={1,3,2,7};printf(“%dn”,cnum[0].y/cnum[0].x*cnum[1].x);}

三、程序填空:(根据题意,将空缺的语句补上。每空3分,共30分)1.以下程序对输入的两个整数,按从大到小顺序输出。请填空。main(){ int x,y,z;scanf(“%d,%d”,&x,&y);if((1)){ z=x;(2)} printf(“%d,%dn”,x,y);}

2..以下程序完成的功能是求1+2+3+„+10的累加和,并进行累加和的输出打印。变量sum是存放累加值的。

#include ”stdio.h“ main(){(3)i=1,sum=0;for(;i

} 3.下面程序的功能是用函数递归调用的方法定义函数int f(int m,int n)求m。请填空。

int f(int m,int n){ int s;if((5))s=1;else s=(6);return(s)} 4.以下程序的功能是求数组num中小于零的数据之和。请填空。

#include void main(){ int num[20]={10,20,1,-20,23,-21,2,-2,-2,11,-21,22,12,-2,-234,-90,22,90,-45,20};int sum=0,i;for(i=0;i

四、编写程序(n

《C语言期末考试样题.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
C语言期末考试样题
点击下载文档
相关专题 c语言期末考试样题 试样 期末考 语言 c语言期末考试样题 试样 期末考 语言
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文