C语言期末复习题

2019-05-27 19:16

C语言期末复习题

一、单项选择题

1.一个C程序的执行是从

A)本程序的main函数开始,到main函数结束

B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 2.下面四个选项中,均是不合法的用户标识符的选项的是 A) A p_o do B)float lao _A C) b-a goto int D) _123 temp INT 3.判断字符型变量c1是否为数字字符的正确表达式为 A)?0?<=c1<=?9? B)(c1>=0)&&(c1<=9) C) (?0?>=c1)||(?9?<=c1) D) (c1>=?0?)&&(c1<=?9?) 4.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 A)2.500000 B)2.750000 C)3.500000 D)0.000000 5.在C语言中,要求运算数必须是整型的运算符是 A)/ B)++ C)!= D)%

6. 若有定义:

double a[] = { 2.1,3.6,9.5}; double b = 6.0;

则下列错误的赋值语句是:

A) b = a[2]; B) b = a + a[2]; C) a[1] = b; D) b = a[0] + 7;

7.若定义x为双精度型变量,则能正确输入x值的语句是 。 A)scanf(“%f”,x); B)scanf(“%f”,&x); C)scanf(“%lf”,&x); D)scanf(“%lf”, x); 8.以下不正确的说法是 。

A)实参可以是常量,变量或表达式 B)形参可以是常量,变量或表达式

C)实参可以为任意类型 D)如果形参和实参的类型不一致,以形参类型为准 9.下面程序段的运行结果是 。

char *s=”Nanjing” ; s+=3 ; printf(“%s”,s); A)jing B)字符j C)字符j的地址 D)不确定 10.下面程序段 int k=2;

while (k!=0) {printf(“%d”,k);k--;}

第1页/ 共14页

则下面描述中正确的是 。

A)while循环执行2次 B)循环是无限循环

C)循环题语句一次也不执行 D)循环体语句执行一次 11.若有说明:int *p,m=5,n;以下程序段正确的是 。 A)p=&n ; B)p = &n ; scanf(“%d”,&p); scanf(“%d”,*p); C)scanf(“%d”,&n); D)p = &n ; *p=n ; *p = m ;

12.若要对a进行自增运算,则a应具有下面说明 。 A)int a[3][2]; B)char *a[ ]={“12”,”ab”}; C)char (*a) [3] D)int b[10], *a=b;

13.若以下定义和赋值语句:int s[2][3]={0},(*p)[3];p=s;则对数组s的第i行第j列(假设i、j已经正确说明并赋值)元素的合法引用为: A)*(*(p+i)+j) B)*(p[i])+j C)(p+i)+j D)(*p+i)[j] 14.下面程序的运行结果是 。

#iunclude void main ( ) { struct complx { int x; int y ;

} cnum[2]={1,3,2,7} ;

printf(“%d\\n”,cnum[0].y/cnum[0].x*cnum[1].x) ; } A)0 B)1 C)2 D)6 15.函数rewind的作用是 。

A)使位置指针重新返回文件的开头 B)将位置指针指向文件中所要求的特定位置 C)使位置指针指向文件的末尾 D)使位置指针自动移至下一个字符位置

16.

二、基础知识填空

1.在C语言中,没有专门的输入输出的语句,其输入输出都是用函数来完成的,格式化输入操作是由库函数 [1] 完成的。

2.三种基本程序结构是循环结构、选择结构和 [2] 。

a2?b23.数学表达式的C语言表达式是 [3]

x?y4. 设有数组定义: char array []=\则数组 array所占的内存空间为 [4] 5.x,y,z是整型变量,写出x,y,z三个变量中至少有两个为正数的逻辑表达式是: [5] 。

6.用continue语句只能用在循环语句的循环体内,其作用是: [6] 。 7.若有定义语句:int a[4]={1,2,3,4},*p;p=a;则++(*p)的值是 [7] 。 8.若有#define ADD(x) x+x

第2页/ 共14页

int m=1,n=2,k=3,sum ; sum = ADD(m+n)*k ; 则sum的值为 [8] 9.若有定义:

struct num{ int a ;

int b ; float f ;

} n = {1,3,5.0} ;

struct num *pn = &n ;

则表达式(*pn).a+pn->f的值是 [9] 。

10.若执行fopen函数时发生错误,则函数的返回值是 [10] 。

三、程序阅读题

1.输入100,200回车后,下面程序执行结果是 #include

void swap(int *,int *); int main() {

int a, b, *pa=&a, *pb=&b; scanf(“%d,%d”,&a,&b); swap (pa,pb);

printf(“a=%d,b=%d\\n”,a,b); return 0; }

void swap (int *p1,int *p2) {

int *p; p=p1; p1=p2; p2=p; }

2.若运行以下程序时,输入2473↙,则程序的运行结果是 。 #include int main ( ) {

int c;

while ((c=getchar( )) !=?\\n?) switch (c-?2?)

{

case 0 :

case 1 : putchar (c+4) ;

case 2 : putchar (c+4) ; break ; case 3 : putchar (c+3) ;

default : putchar (c+2) ; break ; }

printf(“\\n”); return 0; }

第3页/ 共14页

3.输入6,下面程序的执行结果是: #include

unsigned long int fact (unsigned int ); int main()

{ unsigned int n,fac; scanf(\ fac=fact (n);

printf(\ return 0; }

unsigned long int fact (unsigned int n) {

unsigned int result; if(n==0||n==1) result=1; else

result=n*fact(n-1); return result; }

4.下面程序的输出结果是 。 #include int fun(int); int main()

{ int i,a=5,sum; for(i=0;i<3;i++) sum=fun(a);

printf(\ return 0; }

int fun(int a) {

int b=0;

static int c=3; b++; c++;

return(a+b+c); }

5.下面程序运行的结果是 #include

void copy_string(char *,char *); int main() {

char a[]=\ char b[]=\ copy_string(a,b);

第4页/ 共14页

printf(\return 0 ; }

void copy_string(char *from,char *to) {

for(;*from!='\\0';from++,to++) *to=*from; *to='\\0'; }

6.下面程序执行的结果是 #include

void inv(int [], int ); int main()

{ int i,a[10]={3,7,9,11,0,6,7,5,4,2}; inv(a,10);

for(i=0;i<10;i++)

printf(\

printf(\return 0; }

void inv(int x[], int n) { int t,i,j,m=(n-1)/2; i=0; j=n-1;

for(;i<=m;i++,j--)

{ t=x[i]; x[i]=x[j]; x[j]=t; } }

7.写出下面程序的运行结果 。 #include struct man {

char name[20] ; int age ;

} person[ ] = { “liming”, 22, “wanghua”, 21,”zhangping”,20 } ; int main ( )

{ int old = 0 ;

struct man *p=person, *q ; for ( ; p<=&person[2]; p++)

if (oldage) { q=p ; old=p->age; } printf(“%s %d\\n”,q->name,q->age) ; return 0; }

8.输入9,5回车后,下面程序执行结果是 #include

void swap(int *,int *); int main() {

第5页/ 共14页


C语言期末复习题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:35KV电气设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: