C语言程序设计期末试题附答案
C语言程序设计可以作为系统设计语言,编写工作系统应用程序。以下是由阳光网小编整理关于C语言程序设计期末试题的内容,希望大家喜欢!
C语言程序设计期末试题附答案(一)
1若a、b均为int型变量,且a=100,则以下的for循环是死循环.
for (b=100;a!=b;++a,b++) printf("----\n");
执行语句:for(i=1;i++<4;++i);后;变量i的值是5。
2以下程序的运行结果是【 】
main()
{int x,y,z;
x=1;y=2;z=3;
x=y--<=x||x+y!=z;
printf("%d,%d",x,y);
}
3以下程序的运行结果是【 】
main()
{int x,y,z;
x=1;y=1;z=0;
x=x||y&&z;
printf("%d,%d",x,x&&!y||z);
}
4以下程序的运行结果是【 】
main()
{int a,b,c;
int s,w=0,t;
a=-1;b=3;c=3;
if(c>0)s=a+b;
if(a<=0)
{if(b>0)
if(c<=0)w=a-b;
}
else if(c>0)w=a-b;
else t=c;
printf("%d,%d,%d\n",s,w,t);
}
5阅读下面程序:
main()
{ int s, t, a, b;
scanf("%d%d",&a, &b);
s=1;
t=1;
if(a>0) s=s+1;
if(a>b) t=s+t;
else if (a==b) t=5;
else t=2*s;
printf("s=%d, t=%d", s, t);
}
6为了使输出结果t=4, 输入量a和b应满足的条件是【 】
7下面程序的功能是在输入的一批整数中求出最大者,输入0结束循环。
#include <stdio.h>main()
{ int a,max=0;
scanf("%d",&a)
while(【 】){ if (max<a) max=a;}
scanf("%d",&a);
}
printf("%d",max);
}
8执行下面的程序段后,k值是【 】。
k=1; n=263;
do { k*=n%10; n/=10; } while(n);
9等差数列的第一项a=2,公差d=3,下面程序的功能是在前n项和中,输出能被4整除的所有的和。请填空。
#include <stdio.h>
main()
{ int a,d,sum;
a=2;d=3;sum=0;
do
{ sum+=a;
a+=d;
if (【 】) printf("%d\n",sum);
} while(sum<200);
}
10鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,请填空。
for(x=1;x<=29;x++)
{ y=30-x;
if (【 】) printf("%d,%d\n",x,y);
}
11写出下面程序的运算结果【 】。
# include <stdio.h>
main ( )
{ int a=14, b=63;
while (a!=b)
{while (a>b) a-=b;
while (a<b) b-=a;
}
printf ("%d\n",a);
}
12下列程序的输出为【 】。
#include <stdio.h>
main()
{
int i,j,x=0;
for(i=0;i<3;i++)
{ if(i%3==2) break;
x++;
for(j=0;j<4;j++)
{ if(j%2) break;
x++;
}
x++;
}
printf("x=%d\n",x);
}
C语言程序设计期末试题及答案(二)
1.一个C语言程序是由( ) 组成的。
A.主程序 B.子程序 C.函数 D.过程
2.转换说明符%x的输出形式是( )。
A.十进制 B.八进制 C.十六进制 D.二进制
3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “ ------------“) ;的正确说法是( ) 。
A.循环体只执行一次 B.死循环
C.循环体一次也不执行 D.输出-----------
4.若x、y、z均为int 型变量,则执行下列语句后的z值为 ( )。
x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;
A.1 B.4 C.2 D.3
5.下面标识符中,合法的用户标识符为( )。
A.P#Ad B.12a C.char D._int
6. ‘A’ + 3 的结果是( )。
A.’A’ B.’D’的ASCⅡ码 C.65 D.3
7.语句char str[20];说明str是一个字符串,最多能表示 ( ) 。
A.20个字符 B.19个字符 C.18个字符 D.21个字符
8.将int 型变量n转换成float型变量的'方法是 ( )。
A.float n B.(float)n C.float(n) D.21个字符
9.以下不正确的描述是 ( )。
A. 使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成
B. while循环是先判断表达式后执行循环体语句
C. do-while和for循环均是先执行循环体语句,后判断表达式
D. for、while、do-while循环中的循环体均可以由空语句构成
10.在循环中使用break 语句的功能是( )。
A. 使程序的执行跳出break所在的那一重循环
B. 使程序执行结束
C. 跳出包含此break语句的所有循环
D. 终止本次循环,继续下次循环
11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是( )。
A.*pz B.a C.px D.&a
12.若指针 px为空指针,则 ( )。
A.px指向不定 B.px的值为零
C.px的目标为零 D.px的地址为零
13.对于语句int *px[10],以下说法正确的是( ) 。
A. px是一个指针,指向一个数组,数组的元素是整数型。
B. px是一个数组,其数组的每一个元素是指向整数的指针。
C. A和B均错,但它是C语言的正确语句。
D. C语言不允许这样的语句。
14.具有相同基类型的指针变量P和数组变量Y,下列写法中不合法的是 ( ) 。
A.P = Y B.*P = Y[i]
C.P + &Y[i] D.P = &Y
15.已知static int a[]={5,4,3,2,1},*p[]={a+3,a+2,a+1,a},**q=p,则表达式 *(p[0]+1)+**(q+2)的值是( )。
A.5 B.4 C.6 D.7
16.已知for(;n>=1;n--),下列语句实现将S2所指字符数组中前n个字符复制到S1所指字符数组中,其中代码不正确的是( )。
A.*S1++=*S2++ B.S1[n-1]=S2[n-1]
C.*(S1+n-1)=*(S2+n-1) D.*(++S1)=*(++S2)
17.调用函数的实参与被调用函数的形参应该有如下关系( ) 。
A.只要求实参和形参个数相等 B.只要求形参和实参顺序相同
C.只要求实参和形参数据类型相同 D.上述三点均需具备
18.联合体成员的数据类型 ( )。
A.相同 B.可以不同也可以相同
C.长度一样 D.是结构体变量
19.由系统分配和控制的标准输出文件为( ) 。
A.键盘 B.磁盘 C.打印机 D.显示器
20.C语言标准库函数fread(fd,buffer,n)的功能是( )。
A.从文件fd中读取长度不超过n个字节的数据送入buffer指向的内存区域
B.从文件fd中读取长度不超过n-1个字节的数据送入buffer指向的内存区域
C.从文件fd中读取长度不超过n个字符送入buffer指向的内存区域
D.从文件fd中读取长度不超过n-1个字符送入buffer指向的内存区域
【C语言程序设计期末试题附答案】相关文章: